266 lines
5.5 KiB
Markdown
266 lines
5.5 KiB
Markdown
# Neo4j 连接测试
|
||
|
||
## 接口地址
|
||
|
||
```
|
||
POST /neo4j/check
|
||
```
|
||
|
||
## 请求参数
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| host | string | 是 | Neo4j 主机 |
|
||
| port | int | 是 | Neo4j 端口(默认 7687) |
|
||
| username | string | 是 | 用户名(默认 neo4j) |
|
||
| password | string | 是 | 密码 |
|
||
| database | string | 否 | 数据库名(默认 neo4j) |
|
||
| name | string | 否 | 数据库名称,用于保存记录 |
|
||
| uri | string | 否 | Neo4j 连接地址(bolt://host:port) |
|
||
| description | string | 否 | 数据库描述 |
|
||
|
||
## 请求示例
|
||
|
||
```json
|
||
{
|
||
"host": "localhost",
|
||
"port": 7687,
|
||
"username": "neo4j",
|
||
"password": "password",
|
||
"database": "neo4j",
|
||
"name": "My Neo4j Database"
|
||
}
|
||
```
|
||
|
||
## 返回参数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| success | bool | 是否连接成功 |
|
||
| message | string | 消息 |
|
||
| version | string | Neo4j 版本 |
|
||
| databases | array | 数据库列表 |
|
||
| databaseId | string | 数据库记录 ID(新增) |
|
||
| name | string | 数据库名称(新增) |
|
||
| description | string | 数据库描述(新增) |
|
||
|
||
## 返回示例
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"message": "connection successful",
|
||
"version": "5.14.0",
|
||
"databases": ["neo4j", "system"],
|
||
"databaseId": "abc-123-def",
|
||
"name": "Neo4j-neo4j",
|
||
"description": "Neo4j neo4j@localhost:7687"
|
||
}
|
||
```
|
||
|
||
> **说明**:连接成功时,后端会自动检查数据库记录是否存在,不存在则创建并返回 `databaseId`、`name` 和 `description`。前端可使用这些信息进行后续保存图谱操作。
|
||
|
||
---
|
||
|
||
# Neo4j 获取图谱概览数据(核心接口)
|
||
|
||
获取所有标签(Labels)和关系类型(Relationship Types)的统计信息,用于前端图谱可视化。
|
||
|
||
## 接口地址
|
||
|
||
```
|
||
POST /neo4j/graphs
|
||
```
|
||
|
||
## 请求参数
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| uri | string | 是 | Neo4j 连接地址,如 bolt://localhost:7687 |
|
||
| username | string | 是 | 用户名 |
|
||
| password | string | 是 | 密码 |
|
||
| database | string | 否 | 数据库名(默认 neo4j) |
|
||
|
||
## 请求示例
|
||
|
||
```json
|
||
{
|
||
"uri": "bolt://localhost:7687",
|
||
"username": "neo4j",
|
||
"password": "password",
|
||
"database": "neo4j"
|
||
}
|
||
```
|
||
|
||
## 返回参数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| success | bool | 是否成功 |
|
||
| graphs | object | 图谱数据 |
|
||
|
||
### graphs 对象
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|
|
||
| labels------|------| | array | 标签列表 |
|
||
| relationshipTypes | array | 关系类型列表 |
|
||
|
||
### labels 数组项
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| name | string | 标签名称 |
|
||
| count | int | 该标签的节点数量 |
|
||
|
||
### relationshipTypes 数组项
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| name | string | 关系类型名称 |
|
||
| count | int | 该关系的数量 |
|
||
|
||
## 返回示例
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"graphs": {
|
||
"labels": [
|
||
{"name": "User", "count": 1523},
|
||
{"name": "Order", "count": 856},
|
||
{"name": "Product", "count": 2341},
|
||
{"name": "Category", "count": 45},
|
||
{"name": "Review", "count": 5678}
|
||
],
|
||
"relationshipTypes": [
|
||
{"name": "KNOWS", "count": 2341},
|
||
{"name": "BOUGHT", "count": 5678},
|
||
{"name": "BELONGS_TO", "count": 2341},
|
||
{"name": "HAS_REVIEW", "count": 5678},
|
||
{"name": "LOCATED_IN", "count": 1523}
|
||
]
|
||
}
|
||
}
|
||
```
|
||
|
||
## 前端使用说明
|
||
|
||
前端使用 ECharts 力导向图谱展示:
|
||
- `labels` 生成图谱节点,count 决定节点大小
|
||
- `relationshipTypes` 生成图谱边
|
||
- 建议返回至少 5-10 个关系类型以便生成丰富图谱
|
||
|
||
---
|
||
|
||
# Neo4j 获取节点详情
|
||
|
||
## 接口地址
|
||
|
||
```
|
||
POST /neo4j/nodes
|
||
```
|
||
|
||
## 请求参数
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| uri | string | 是 | Neo4j 连接地址,如 bolt://localhost:7687 |
|
||
| username | string | 是 | 用户名 |
|
||
| password | string | 是 | 密码 |
|
||
| database | string | 否 | 数据库名 |
|
||
| label | string | 是 | 节点标签名 |
|
||
| limit | int | 否 | 返回数量限制,默认 10 |
|
||
|
||
## 请求示例
|
||
|
||
```json
|
||
{
|
||
"uri": "bolt://localhost:7687",
|
||
"username": "neo4j",
|
||
"password": "password",
|
||
"label": "User",
|
||
"limit": 10
|
||
}
|
||
```
|
||
|
||
## 返回参数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| success | bool | 是否成功 |
|
||
| message | string | 消息 |
|
||
| nodes | array | 节点数据列表 |
|
||
|
||
## 返回示例
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"message": "success",
|
||
"nodes": [
|
||
{"id": "1", "name": "张三", "email": "zhangsan@example.com"},
|
||
{"id": "2", "name": "李四", "email": "lisi@example.com"}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
# Neo4j 获取关系详情
|
||
|
||
## 接口地址
|
||
|
||
```
|
||
POST /neo4j/relationships
|
||
```
|
||
|
||
## 请求参数
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
|------|------|------|------|
|
||
| uri | string | 是 | Neo4j 连接地址 |
|
||
| username | string | 是 | 用户名 |
|
||
| password | string | 是 | 密码 |
|
||
| database | string | 否 | 数据库名 |
|
||
| relationship_type | string | 是 | 关系类型名 |
|
||
| limit | int | 否 | 返回数量限制,默认 10 |
|
||
|
||
## 请求示例
|
||
|
||
```json
|
||
{
|
||
"uri": "bolt://localhost:7687",
|
||
"username": "neo4j",
|
||
"password": "password",
|
||
"relationship_type": "KNOWS",
|
||
"limit": 10
|
||
}
|
||
```
|
||
|
||
## 返回参数
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
|------|------|------|
|
||
| success | bool | 是否成功 |
|
||
| message | string | 消息 |
|
||
| relationships | array | 关系数据列表 |
|
||
|
||
## 返回示例
|
||
|
||
```json
|
||
{
|
||
"success": true,
|
||
"message": "success",
|
||
"relationships": [
|
||
{
|
||
"startId": "1",
|
||
"endId": "2",
|
||
"startLabels": ["User"],
|
||
"endLabels": ["User"],
|
||
"since": "2020-01-01"
|
||
}
|
||
]
|
||
}
|
||
```
|