Path

AMD: require(["geoscene/rest/knowledgeGraph/Path"], (Path) => { /* code goes here */ });
ESM: import Path from "@geoscene/core/rest/knowledgeGraph/Path";
类: geoscene/rest/knowledgeGraph/Path
继承于:Path Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.25
beta

包含从一个实体到另一个实体遍历图谱所需的所有实体关系的对象。路径可受用于连接实体的关系类型和数量的限制。例如,请求实体 a 和实体 c 之间的路径的查询将返回包含 a-bb-c 以及实体 abc 之间关系的 Path

使用查询 MATCH q = (a)-->()-->(c) RETURN q LIMIT 1knowledgeGraphService.executeQuery() 返回的路径对象的结构示例,该查询返回带有中间实体的路径。

KnowledgeGraphModule.executeQuery(
 knowledgeGraph, //graph
 {
   //query returning path from `a` to `c` with any intermediary entity
   openCypherQuery: "MATCH q = (a)-->()-->(c) RETURN q LIMIT 1",
  }).then((queryResult) => {
    //do something with the result
   //console.log(queryResult.ResultRows)
});
//sample output from the above query
[{
 "declaredClass": "geoscene.rest.knowledgeGraph.Path",
 "path": [
     {// entity `a`
      "declaredClass": "geoscene.rest.knowledgeGraph.Entity",
      "properties": {
       "name": "ABC Contractors",
       "CompanyType": "Construction",
     },
     "typeName": "Company",
     "id": "C1234"
   },
   { //relationship `a-b`
     "declaredClass": "geoscene.rest.Relationship.Relationship",
     "originID": "C1234",
     "destinationID": "S444",
     "properties": {
        "contract_expiration_date": "2025-05-26",
        "contact_person": "Jon Doe"
     },
     "typeName": "supplied_by",
     "id": "SB001"
   },
   { //entity `b`
    "declaredClass": "geoscene.rest.knowledgeGraph.Entity",
     "properties": {
       "objectid": 1,
       "shape": {
         "declaredClass": "geoscene.geometry.Point",
         "cache": {},
         "hasM": false,
         "hasZ": false,
         "latitude": 53.589000000000009,
         "longitude": -0.9633,
         "type": "point",
         "extent": null,
         "spatialReference": {
           "wkid": 4326
         },
         "x": -0.9633,
         "y": 53.589000000000009
       },
       "Employee_Count": 400,
       "Name": "Quality Metal Supply",
     },
     "typeName": "Supplier",
     "id": "S444",
   },
   { //relationship `b-c`
     "declaredClass": "geoscene.rest.Relationship.Relationship",
     "originID": "S444",
     "destinationID": "P789",
     "properties": {
       "frequency": "2 weeks",
       "quantity": 125000,
     },
     "typeName": "buys_part",
     "id": "BP456"
   },
   {// entity `c`
     "declaredClass": "geoscene.rest.knowledgeGraph.Entity",
     "properties": {
       "Name": "steel plate",
       "width": "15cm",
       "height": "10cm"
     },
     "typeName": "Part",
     "id": "P789"
   }
 ]
}]

构造函数

new Path(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

类的名称。

更多详情
Accessor
GraphObject[]

实体关系的数组,其中第一个元素是路径的起始实体,最后一个元素是该路径的结束实体,中间元素是连接两者的实体和关系。

更多详情
Path

属性详细信息

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

实体关系的数组,其中第一个元素是路径的起始实体,最后一个元素是该路径的结束实体,中间元素是连接两者的实体和关系。

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

addHandles(handleOrHandles, groupKey)inherited

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

hasHandles(groupKey){Boolean}inherited

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息