Memokit
API 参考

关系 API

创建和管理实体之间的关系

关系 API

关系 API 允许您创建和管理实体之间的关系,构建知识图谱。

关系对象

字段类型描述
idstring唯一关系标识符
sourceIdstring源实体 ID
targetIdstring目标实体 ID
typestring关系类型
metadataobject自定义元数据
createdAtstringISO 8601 时间戳

关系类型

常见关系类型(您可以自定义):

类型描述示例
WORKS_FOR雇佣关系张三 WORKS_FOR 科技公司
KNOWS人际关系张三 KNOWS 李四
LOCATED_IN地理位置科技公司 LOCATED_IN 北京
PART_OF隶属/层级关系工程部 PART_OF 科技公司
CREATED创作/创建关系张三 CREATED 项目 X
RELATED_TO一般关联主题 A RELATED_TO 主题 B

创建关系

创建两个实体之间的新关系。

POST /v1/relations

请求体

字段类型必需描述
sourceIdstring源实体 ID
targetIdstring目标实体 ID
typestring关系类型
metadataobject自定义元数据

请求示例

curl -X POST https://api.memokit.dev/v1/relations \
  -H "Authorization: Bearer mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "sourceId": "ent_zhang123",
    "targetId": "ent_tech456",
    "type": "WORKS_FOR",
    "metadata": {
      "startDate": "2023-01-15",
      "role": "高级工程师"
    }
  }'

响应

{
  "id": "rel_abc123",
  "sourceId": "ent_zhang123",
  "targetId": "ent_tech456",
  "type": "WORKS_FOR",
  "metadata": {
    "startDate": "2023-01-15",
    "role": "高级工程师"
  },
  "createdAt": "2024-01-15T10:30:00Z"
}

列出关系

获取分页的关系列表。

GET /v1/relations

查询参数

参数类型必需描述
sourceIdstring按源实体过滤
targetIdstring按目标实体过滤
typestring按关系类型过滤
pagenumber页码(默认:1)
limitnumber每页数量(默认:20,最大:100)

请求示例

curl -X GET "https://api.memokit.dev/v1/relations?sourceId=ent_zhang123" \
  -H "Authorization: Bearer mk_your_api_key"

响应

{
  "items": [
    {
      "id": "rel_abc123",
      "sourceId": "ent_zhang123",
      "targetId": "ent_tech456",
      "type": "WORKS_FOR",
      "source": {
        "id": "ent_zhang123",
        "name": "张三",
        "type": "PERSON"
      },
      "target": {
        "id": "ent_tech456",
        "name": "科技公司",
        "type": "ORGANIZATION"
      },
      "createdAt": "2024-01-15T10:30:00Z"
    },
    {
      "id": "rel_def456",
      "sourceId": "ent_zhang123",
      "targetId": "ent_li789",
      "type": "KNOWS",
      "source": {
        "id": "ent_zhang123",
        "name": "张三",
        "type": "PERSON"
      },
      "target": {
        "id": "ent_li789",
        "name": "李四",
        "type": "PERSON"
      },
      "createdAt": "2024-01-14T15:20:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2,
    "totalPages": 1
  }
}

获取关系

通过 ID 获取特定关系。

GET /v1/relations/:id

路径参数

参数类型描述
idstring关系 ID

请求示例

curl -X GET https://api.memokit.dev/v1/relations/rel_abc123 \
  -H "Authorization: Bearer mk_your_api_key"

响应

{
  "id": "rel_abc123",
  "sourceId": "ent_zhang123",
  "targetId": "ent_tech456",
  "type": "WORKS_FOR",
  "source": {
    "id": "ent_zhang123",
    "name": "张三",
    "type": "PERSON"
  },
  "target": {
    "id": "ent_tech456",
    "name": "科技公司",
    "type": "ORGANIZATION"
  },
  "metadata": {
    "startDate": "2023-01-15",
    "role": "高级工程师"
  },
  "createdAt": "2024-01-15T10:30:00Z"
}

删除关系

永久删除一个关系。

DELETE /v1/relations/:id

路径参数

参数类型描述
idstring关系 ID

请求示例

curl -X DELETE https://api.memokit.dev/v1/relations/rel_abc123 \
  -H "Authorization: Bearer mk_your_api_key"

响应

{
  "success": true,
  "id": "rel_abc123"
}

错误码

错误码描述
RELATION_NOT_FOUND指定的关系不存在
SOURCE_ENTITY_NOT_FOUND源实体不存在
TARGET_ENTITY_NOT_FOUND目标实体不存在
INVALID_RELATION_TYPE关系类型无效

本页目录