包含从一个实体到另一个实体遍历图谱所需的所有实体和关系的对象。路径可受用于连接实体的关系类型和数量的限制。例如,请求实体 a
和实体 c
之间的路径的查询将返回包含 a-b
和 b-c
以及实体 a
、b
和 c
之间关系的 Path
。
使用查询 MATCH q = (a)-->()-->(c) RETURN q LIMIT 1
从 knowledgeGraphService.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"
}
]
}]
构造函数
属性概述
可以设置、检索或侦听任何属性。请参阅使用属性主题。
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
GraphObject[] | 实体和关系的数组,其中第一个元素是路径的起始实体,最后一个元素是该路径的结束实体,中间元素是连接两者的实体和关系。 更多详情 | Path |
属性详细信息
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
path GraphObject[]
-
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | 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() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
如果存在指定的句柄组,则返回 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");