Skip to content

API 参考: 知识图谱 (Graph)

知识图谱端点。节点和边的增删查、关系遍历、全文搜索、批量同步。

图谱以 {id} (appId) 为单位隔离。底层使用 MongoDB 的 graph_nodesgraph_edges 集合。

列出图谱统计

GET /v1/graph

查询参数

参数类型说明
app_idstring可选,按图谱 ID 过滤

请求示例

bash
curl https://api.invoratec.cn/v1/graph \
  -H "X-API-Key: claw_xxxx"

响应

返回各图谱的节点和边统计信息。


获取指定图谱统计

GET /v1/graph/{id}/stats

路径参数

参数类型说明
idstring图谱 ID (appId)

请求示例

bash
curl https://api.invoratec.cn/v1/graph/my-graph/stats \
  -H "X-API-Key: claw_xxxx"

添加节点

POST /v1/graph/{id}/nodes

权限要求: write

使用 upsert 逻辑:如果已存在相同 externalId 的节点,自动更新。

路径参数

参数类型说明
idstring图谱 ID

请求体

字段类型必填说明
typestring节点类型 (如 Device, Room, Employee)
namestring节点名称
externalIdstring外部系统ID,用于去重。默认为 name 的下划线形式
propertiesobject自定义属性键值对

请求示例

bash
curl -X POST https://api.invoratec.cn/v1/graph/my-graph/nodes \
  -H "X-API-Key: claw_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "Device",
    "name": "冷水机-01",
    "externalId": "CW-001",
    "properties": {
      "floor": "B1",
      "power": "500kW"
    }
  }'

响应 (201 Created)

返回创建/更新后的节点文档。

错误

状态码说明
400typename 缺失
403缺少 write 权限

查询节点

GET /v1/graph/{id}/nodes

路径参数

参数类型说明
idstring图谱 ID

查询参数

参数类型说明
object_typestring按节点类型过滤
namestring按名称模糊匹配
limitinteger返回上限,默认 100

请求示例

bash
curl "https://api.invoratec.cn/v1/graph/my-graph/nodes?object_type=Device&limit=50" \
  -H "X-API-Key: claw_xxxx"

响应

json
{
  "nodes": [
    {
      "appId": "my-graph",
      "objectType": "Device",
      "externalId": "CW-001",
      "name": "冷水机-01",
      "properties": { "floor": "B1", "power": "500kW" }
    }
  ],
  "total": 1
}

添加关系 (边)

POST /v1/graph/{id}/edges

权限要求: write

路径参数

参数类型说明
idstring图谱 ID

请求体

字段类型必填说明
fromstring起始节点名称或 externalId
tostring目标节点名称或 externalId
relationstring关系类型 (如 LOCATED_IN, REPORTS_TO)
propertiesobject关系的自定义属性

请求示例

bash
curl -X POST https://api.invoratec.cn/v1/graph/my-graph/edges \
  -H "X-API-Key: claw_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "冷水机-01",
    "to": "机房-B1",
    "relation": "LOCATED_IN",
    "properties": { "since": "2024-01-01" }
  }'

响应 (201 Created)

返回创建的边文档。

错误

状态码说明
400fromtorelation 缺失
403缺少 write 权限

全文搜索

在图谱中搜索节点,可同时返回相邻节点的信息。

POST /v1/graph/{id}/search

路径参数

参数类型说明
idstring图谱 ID

请求体

字段类型必填说明
querystring搜索关键词
object_typestring按节点类型过滤
limitinteger返回上限,默认 20
includeNeighborsboolean是否返回相邻节点,默认 true

请求示例

bash
curl -X POST https://api.invoratec.cn/v1/graph/my-graph/search \
  -H "X-API-Key: claw_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "冷水机",
    "object_type": "Device",
    "limit": 20,
    "includeNeighbors": true
  }'

响应

返回匹配的节点列表及其相邻节点和关系。


关系遍历

从指定节点出发,沿关系路径遍历图谱。

POST /v1/graph/{id}/traverse

路径参数

参数类型说明
idstring图谱 ID

请求体

字段类型必填说明
startNodestring起始节点名称
relationstring限定关系类型,不填遍历所有关系
depthinteger遍历深度,默认 1,最大 3
directionstring方向:outgoing/incoming/both(默认 both

请求示例

bash
curl -X POST https://api.invoratec.cn/v1/graph/my-graph/traverse \
  -H "X-API-Key: claw_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "startNode": "冷水机-01",
    "relation": "LOCATED_IN",
    "depth": 2,
    "direction": "both"
  }'

响应

返回遍历到的节点和关系路径。

错误

状态码说明
400startNode 缺失

批量同步

从外部系统批量导入节点和关系。使用 upsert 逻辑,可安全重复执行。

POST /v1/graph/{id}/sync

权限要求: write

路径参数

参数类型说明
idstring图谱 ID

请求体

字段类型必填说明
nodesarray节点数组,每个元素包含 type, name, externalId, properties
edgesarray边数组,每个元素包含 from, to, relation, properties

请求示例

bash
curl -X POST https://api.invoratec.cn/v1/graph/my-graph/sync \
  -H "X-API-Key: claw_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "nodes": [
      { "type": "Device", "name": "冷水机-01", "externalId": "CW-001", "properties": { "power": "500kW" } },
      { "type": "Room", "name": "机房-B1" }
    ],
    "edges": [
      { "from": "冷水机-01", "to": "机房-B1", "relation": "LOCATED_IN" }
    ]
  }'

响应

json
{
  "success": true,
  "nodesWritten": 2,
  "edgesWritten": 1
}

错误

状态码说明
403缺少 write 权限

智航云 AI 中台 — 开发者平台