@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
TypeScript
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;
}