使用MCP+Neo4j零代码构建自己的知识图谱
0 ihunter 2025/07

使用MCP+Neo4j零代码构建自己的知识图谱

一、环境准备

1. 安装依赖

  • Neo4j:安装并启动 Neo4j 数据库(推荐使用 Neo4j 4.x 或以上版本)。

  • Python 环境:确保已安装 Python 3.7+。

  • mcp-knowledge-graph:通过 pip 安装该项目。

bash
pip install mcp-knowledge-graph

2. 配置 Neo4j 连接

  • 修改 mcp-knowledge-graph 的配置文件(默认路径:~/.mcp/config.yaml),设置 Neo4j 的连接信息:

yaml
neo4j: uri: "bolt://localhost:7687" user: "neo4j" password: "your_password"

二、构建知识图谱的步骤

1. 初始化知识图谱

  • 使用 mcp-knowledge-graph 提供的命令行工具初始化知识图谱:

bash
mcp init
  • 该命令会创建一个本地知识图谱存储路径(默认为 ~/.mcp/graph/)。

2. 导入自然语言数据

  • 通过自然语言描述实体和关系,mcp 会自动解析并生成知识图谱。例如:

bash
mcp add "John is a Person born in New York. He works at Google and is friends with Alice."
  • 解析结果:实体:Person: John, Location: New York, Company: Google, Person: Alice关系:John -[:BORN_IN]-> New York, John -[:WORKS_AT]-> Google, John -[:FRIENDS]-> Alice

3. 自动化构建知识图谱

  • 批量导入文本:将自然语言文本保存为 .txt 文件(例如 data.txt),使用以下命令批量导入:

bash
mcp import data.txt
  • 支持的文本格式:每行描述一个实体或关系,例如:

The Eiffel Tower is located in Paris. Paris is the capital of France.

4. 验证知识图谱

  • 使用 mcp query 命令验证知识图谱内容:

bash
mcp query "Find all people and their locations."
  • 输出示例:

cypher
MATCH (p:Person)-[:BORN_IN]->(l:Location) RETURN p.name, l.name

三、可视化与查询

1. 通过 Neo4j 浏览器查看

  • 打开 Neo4j 浏览器(默认地址:http://localhost:7474),输入用户名和密码。

  • 输入 Cypher 查询语句查看知识图谱:

cypher
MATCH (n) RETURN n LIMIT 25

2. 使用 mcp 自带的查询工具

  • 通过 mcp query 命令直接查询:

bash
mcp query "Find all companies where John works."
  • 输出示例:

cypher
MATCH (p:Person {name: "John"})-[:WORKS_AT]->(c:Company) RETURN c.name

3. 可视化工具集成

  • Neo4j Bloom:使用 Neo4j 官方的可视化工具(需单独安装)。

  • 在线工具:通过 https://graphviz.org 导出为 .dot 文件并可视化:

bash
mcp export --format=dot > graph.dot

四、高级功能

1. 持久化存储

  • mcp-knowledge-graph 默认将知识图谱存储为 JSON 文件(路径:~/.mcp/graph/entities.json),支持跨会话持久化。

  • 修改配置文件中的 storage_path 可自定义存储路径。

2. 自定义实体类型

  • 在配置文件中定义自定义实体类型(例如 Movie、Book):

yaml
entities: - type: Movie properties: - title - release_year

3. 结合 AI 模型增强

  • 使用 mcp-neo4j-cypher 将自然语言转换为复杂 Cypher 查询:

bash
mcp cypher "Show me the friends of John who work in the same company."
  • 输出示例:

cypher
MATCH (j:Person {name: "John"})-[:WORKS_AT]->(c:Company)<-[:WORKS_AT]-(f:Person)-[:FRIENDS]->(j) RETURN f.name

五、典型应用场景

1. 企业知识管理

  • 场景:记录员工技能、部门关系、项目合作。

  • 操作

bash
mcp add "Alice is a Data Scientist in the Research Department. She collaborated with Bob on the AI Project."

2. 电商推荐系统

  • 场景:分析用户购买行为与商品关系。

  • 操作

bash
mcp add "User1001 bought ProductA and ProductB. ProductA is related to ProductC."

3. 社交网络分析

  • 场景:挖掘用户之间的社交关系。

  • 操作

bash
mcp add "Mike is friends with Sarah and Tom. Sarah is married to David."

六、常见问题与解决方案

1. 无法连接 Neo4j

  • 解决:检查 config.yaml 中的 uri、user 和 password 是否正确,并确保 Neo4j 服务已启动。

2. 自然语言解析错误

  • 解决:优化输入文本的语法,例如使用明确的主谓宾结构(如 "X is a Y")。

3. 性能问题

  • 解决:为频繁查询的实体添加索引:

cypher
CREATE INDEX ON :Person(name)

七、总结

通过 mcp-knowledge-graph �� Neo4j 的结合,您无需编写复杂代码即可快速构建知识图谱。以下是关键优势:

  1. 无代码操作:通过自然语言描述实体和关系。

  2. 自动化解析:自动将文本转换为图结构。

  3. 灵活扩展:支持自定义实体类型和复杂查询。

  4. 高效查询:结合 Neo4j 的高性能图数据库。

收藏 有帮助 没帮助

上篇: 2025 年最适合小白的 Python 入门学习路线全解析
下篇: 没有了

相关主题
 IT博客索引
 AI软件索引
 猜你喜欢
热门
焦点
视点
头条