UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

179 lines (177 loc) • 6.76 kB
import type DataModel from "./DataModel.js"; import type ServiceDefinition from "./ServiceDefinition.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; export interface KnowledgeGraphProperties extends Partial<Pick<KnowledgeGraph, "url">> {} /** * The knowledge graph associated with the [knowledgeGraphService](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraphService/). This is a graph database that stores entities and relationships. * * @since 4.25 * @see [fetchKnowledgeGraph()](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraphService/#fetchKnowledgeGraph) * @see [Hosted Knowledge Graph Service](https://developers.arcgis.com/rest/services-reference/enterprise/kgs-hosted-server.htm) for information on the structure knowledge graph services on ArcGIS Enterprise and the REST API * @example * //fetch the knowledge graph * const KnowledgeGraphModule = await $arcgis.import("@arcgis/core/rest/knowledgeGraphService.js"); * const url = "https://<web server hostname>/server/rest/admin/services/<serviceName>/KnowledgeGraphServer"; * KnowledgeGraphModule.fetchKnowledgeGraph(url) * .then((kg) => { * //do something with result * console.log(kg) * }); * @example * //sample result returned from fetchKnowledgeGraph() * { * "url":"https://myHostName.domain.com/arcgis/rest/services/Hosted/myServiceName/KnowledgeGraphServer" * { * "dataModel": { * "declaredClass": "esri.rest.knowledgeGraph.DataModel", * "timestamp": {}, * "spatialReference": { * "latestWkid": 0, * "wkid": 4326, * "vcsWkid": 0, * "latestVcsWkid": 0 * }, * "strict": false, * "entityTypes": [ * { * "declaredClass": "esri.rest.knowledgeGraph.EntityType", * "name": "company", * "alias": "Company", * "role": "Regular", * "strict": false, * "properties": [ * { * "declaredClass": "esri.rest.knowledgeGraph.GraphProperty", * "name": "Name", * "alias": "Name", * "fieldType": "esriFieldTypeString", * "geometryType": "esriGeometryNull", * "hasM": false, * "hasZ": false, * "nullable": true, * "editable": true, * "required": false, * "defaultVisibility": true, * "systemMaintained": false, * "role": "esriGraphPropertyRegular", * "defaultValue": null * }, * { * "declaredClass": "esri.rest.knowledgeGraph.GraphProperty", * "name": "id", * "alias": "ID", * "fieldType": "esriFieldTypeOID", * "geometryType": "esriGeometryNull", * "hasM": false, * "hasZ": false, * "nullable": false, * "editable": false, * "required": true, * "defaultVisibility": true, * "systemMaintained": true, * "role": "esriGraphPropertyRegular", * "defaultValue": null * } * ], * "fieldIndexes": [ * { * "declaredClass": "esri.rest.knowledgeGraph.FieldIndex", * "name": "esri__id_idx", * "unique": true, * "ascending": true, * "description": "", * "fieldNames": [ * "id" * ] * }, * { * "declaredClass": "esri.rest.knowledgeGraph.FieldIndex", * "name": "esri__name_idx", * "unique": true, * "ascending": true, * "description": "", * "fieldNames": [ * "name" * ] * } * ] * } * ], * "relationshipTypes": [ * { * "declaredClass": "esri.rest.knowledgeGraph.RelationshipType", * "name": "employed_bu", * "alias": "Employed By", * "role": "Regular", * "strict": false, * "properties": [ * { * "declaredClass": "esri.rest.knowledgeGraph.GraphProperty", * "name": "id", * "alias": "id", * "fieldType": "esriFieldTypeGUID", * "geometryType": "esriGeometryNull", * "hasM": false, * "hasZ": false, * "nullable": false, * "editable": false, * "required": true, * "defaultVisibility": true, * "systemMaintained": true, * "role": "esriGraphPropertyRegular", * "defaultValue": null * }, * { * "declaredClass": "esri.rest.knowledgeGraph.GraphProperty", * "name": "start_date", * "alias": "Start Date", * "fieldType": "esriFieldTypeGUID", * "geometryType": "esriGeometryNull", * "hasM": false, * "hasZ": false, * "nullable": false, * "editable": false, * "required": true, * "defaultVisibility": true, * "systemMaintained": false, * "role": "esriGraphPropertyRegular", * "defaultValue": null * } * ], * "fieldIndexes": [ * { * "ascending": true, * "description": "index on id field", * "fieldNames": ["id"], * "name": "esri_id_idx", * "unique": "true", * } * ], * "originEntityTypes": [ * "Person" * ], * "destinationEntityTypes": [ * "Company" * ] * } * ] * } * } * } */ export default class KnowledgeGraph extends JSONSupport { constructor(properties?: KnowledgeGraphProperties); /** * The [data model](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraph/DataModel/) of the knowledge graph service. * The data model defines the types of entities and relationships that can exist in the knowledge graph * and the properties that can exist for each type of entity and relationship. */ get dataModel(): DataModel; /** * The [service definition](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraph/ServiceDefinition/) of the knowledge graph service. * The service definition outlines the capabilities of the knowledge graph such as search indexes, operations allowed etc. */ get serviceDefinition(): ServiceDefinition; /** The url to a hosted knowledge graph. See [ArcGIS Hosted Knowledge Graph](https://developers.arcgis.com/rest/services-reference/enterprise/kgs-hosted-server.htm) for more information on knowledge graph services. */ accessor url: string; }