497 lines
12 KiB
YAML
497 lines
12 KiB
YAML
basePath: /
|
|
definitions:
|
|
models.CreateEdgeRequest:
|
|
properties:
|
|
id:
|
|
description: 边的唯一标识
|
|
example: edge_123
|
|
type: string
|
|
label:
|
|
description: 边的显示标签
|
|
example: 包含
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
description: 自定义属性
|
|
type: object
|
|
source:
|
|
description: 源节点ID
|
|
example: node_1
|
|
type: string
|
|
target:
|
|
description: 目标节点ID
|
|
example: node_2
|
|
type: string
|
|
type:
|
|
description: 边的类型(可选,默认为关系类型)
|
|
example: CONTAINS
|
|
type: string
|
|
required:
|
|
- id
|
|
- label
|
|
- source
|
|
- target
|
|
type: object
|
|
models.CreateNodeRequest:
|
|
properties:
|
|
id:
|
|
description: 节点唯一标识
|
|
example: node_123
|
|
type: string
|
|
label:
|
|
description: 节点显示标签
|
|
example: 人工智能
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
description: 自定义属性
|
|
type: object
|
|
type:
|
|
description: 节点类型
|
|
example: 概念
|
|
type: string
|
|
x:
|
|
description: X坐标(可选)
|
|
example: 100
|
|
type: number
|
|
"y":
|
|
description: Y坐标(可选)
|
|
example: 200
|
|
type: number
|
|
required:
|
|
- id
|
|
- label
|
|
- type
|
|
type: object
|
|
models.DeleteResponse:
|
|
properties:
|
|
id:
|
|
description: 被删除的实体ID(可选)
|
|
example: node_123
|
|
type: string
|
|
message:
|
|
description: 消息
|
|
example: 节点已成功删除
|
|
type: string
|
|
success:
|
|
description: 是否成功
|
|
example: true
|
|
type: boolean
|
|
type: object
|
|
models.Edge:
|
|
properties:
|
|
id:
|
|
type: string
|
|
label:
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
type: object
|
|
source:
|
|
type: string
|
|
style:
|
|
additionalProperties: true
|
|
type: object
|
|
target:
|
|
type: string
|
|
type:
|
|
type: string
|
|
type: object
|
|
models.EdgeResponse:
|
|
properties:
|
|
id:
|
|
description: 边的ID
|
|
example: edge_123
|
|
type: string
|
|
label:
|
|
description: 边的显示标签
|
|
example: 包含
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
description: 自定义属性
|
|
type: object
|
|
source:
|
|
description: 源节点ID
|
|
example: node_1
|
|
type: string
|
|
target:
|
|
description: 目标节点ID
|
|
example: node_2
|
|
type: string
|
|
type:
|
|
description: 边的类型
|
|
example: CONTAINS
|
|
type: string
|
|
type: object
|
|
models.ErrorResponse:
|
|
properties:
|
|
error:
|
|
type: string
|
|
message:
|
|
type: string
|
|
type: object
|
|
models.GraphData:
|
|
properties:
|
|
edges:
|
|
items:
|
|
$ref: '#/definitions/models.Edge'
|
|
type: array
|
|
nodes:
|
|
items:
|
|
$ref: '#/definitions/models.Node'
|
|
type: array
|
|
type: object
|
|
models.NeighborResponse:
|
|
properties:
|
|
edges:
|
|
items:
|
|
$ref: '#/definitions/models.Edge'
|
|
type: array
|
|
nodes:
|
|
items:
|
|
$ref: '#/definitions/models.Node'
|
|
type: array
|
|
type: object
|
|
models.Node:
|
|
properties:
|
|
id:
|
|
type: string
|
|
label:
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
type: object
|
|
style:
|
|
additionalProperties: true
|
|
type: object
|
|
type:
|
|
type: string
|
|
x:
|
|
type: number
|
|
"y":
|
|
type: number
|
|
type: object
|
|
models.NodeResponse:
|
|
properties:
|
|
id:
|
|
example: "1"
|
|
type: string
|
|
label:
|
|
example: 人工智能
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
type: object
|
|
type:
|
|
example: 概念
|
|
type: string
|
|
type: object
|
|
models.SearchResponse:
|
|
properties:
|
|
count:
|
|
type: integer
|
|
results:
|
|
items:
|
|
$ref: '#/definitions/models.Node'
|
|
type: array
|
|
type: object
|
|
models.UpdateNodeRequest:
|
|
properties:
|
|
label:
|
|
description: 节点显示标签
|
|
example: 机器学习
|
|
type: string
|
|
properties:
|
|
additionalProperties: true
|
|
description: 自定义属性(更新)
|
|
type: object
|
|
type:
|
|
description: 节点类型
|
|
example: 工具
|
|
type: string
|
|
x:
|
|
description: X坐标
|
|
example: 150
|
|
type: number
|
|
"y":
|
|
description: Y坐标
|
|
example: 250
|
|
type: number
|
|
type: object
|
|
host: localhost:3001
|
|
info:
|
|
contact: {}
|
|
description: 知识图谱后端服务,提供图数据查询、节点搜索等功能
|
|
title: 知识图谱 API
|
|
version: 1.0.0
|
|
paths:
|
|
/api/edges:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: 在知识图谱中创建一个新边(关系)
|
|
parameters:
|
|
- description: 边创建请求
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/models.CreateEdgeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 创建成功
|
|
schema:
|
|
$ref: '#/definitions/models.EdgeResponse'
|
|
"400":
|
|
description: 请求错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"404":
|
|
description: 源节点或目标节点未找到
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"409":
|
|
description: 边已存在
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 创建边
|
|
/api/edges/{id}:
|
|
delete:
|
|
description: 从知识图谱中删除指定的边
|
|
parameters:
|
|
- description: 边ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 删除成功
|
|
schema:
|
|
$ref: '#/definitions/models.DeleteResponse'
|
|
"404":
|
|
description: 边未找到
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 删除边
|
|
/api/graph:
|
|
get:
|
|
description: 获取知识图谱的全部节点和边数据
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 成功
|
|
schema:
|
|
$ref: '#/definitions/models.GraphData'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 获取图数据
|
|
/api/graph/stats:
|
|
get:
|
|
description: 获取知识图谱的节点数、边数等统计信息
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 成功
|
|
schema:
|
|
additionalProperties: true
|
|
type: object
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 获取图统计信息
|
|
/api/nodes:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: 在知识图谱中创建一个新节点
|
|
parameters:
|
|
- description: 节点创建请求
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/models.CreateNodeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 创建成功
|
|
schema:
|
|
$ref: '#/definitions/models.Node'
|
|
"400":
|
|
description: 请求错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"409":
|
|
description: 节点已存在
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 创建节点
|
|
/api/nodes/{id}:
|
|
delete:
|
|
description: 从知识图谱中删除指定节点及其相关的所有边
|
|
parameters:
|
|
- description: 节点ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 删除成功
|
|
schema:
|
|
$ref: '#/definitions/models.DeleteResponse'
|
|
"404":
|
|
description: 节点未找到
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 删除节点
|
|
get:
|
|
description: 根据节点 ID 获取知识图谱中的节点详细信息
|
|
parameters:
|
|
- description: 节点 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 成功
|
|
schema:
|
|
$ref: '#/definitions/models.NodeResponse'
|
|
"400":
|
|
description: 请求错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"404":
|
|
description: 节点未找到
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 获取节点详情
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: 更新知识图谱中指定节点的信息
|
|
parameters:
|
|
- description: 节点ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: 节点更新请求
|
|
in: body
|
|
name: request
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/models.UpdateNodeRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 更新成功
|
|
schema:
|
|
$ref: '#/definitions/models.Node'
|
|
"400":
|
|
description: 请求错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"404":
|
|
description: 节点未找到
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 更新节点
|
|
/api/nodes/{id}/neighbors:
|
|
get:
|
|
description: 根据节点 ID 获取其所有邻居节点及关联边
|
|
parameters:
|
|
- description: 节点 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 成功
|
|
schema:
|
|
$ref: '#/definitions/models.NeighborResponse'
|
|
"400":
|
|
description: 请求错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"404":
|
|
description: 节点未找到
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 获取节点邻居
|
|
/api/search:
|
|
get:
|
|
description: 根据关键词搜索知识图谱中的节点
|
|
parameters:
|
|
- description: 搜索关键词
|
|
in: query
|
|
name: q
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: 成功
|
|
schema:
|
|
$ref: '#/definitions/models.SearchResponse'
|
|
"400":
|
|
description: 请求错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
"500":
|
|
description: 内部错误
|
|
schema:
|
|
$ref: '#/definitions/models.ErrorResponse'
|
|
summary: 搜索节点
|
|
swagger: "2.0"
|