支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


无需代码!MCP + Neo4j 如何颠覆知识图谱构建?

发布日期:2025-05-22 08:46:59 浏览次数: 1552 作者:活水智能
推荐语

利用AI助手和图数据库,无需编码即可构建知识图谱。
核心内容:
1. 知识图谱在数据驱动世界中的重要性
2. 利用MCP协议和AI助手简化知识图谱构建过程
3. 实操案例:通过对话为学校构建教育系统知识图谱

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

点击上方↗️活水智能关注 + 星标?

作者:Manjunath Janardhan

编译:活水智能

 

在当今数据驱动的世界里,知识图谱已成为一种强大的工具,能够捕获和查询不同实体之间复杂的关系

一张示例知识图谱,以圆形代表节点,箭头代表关系。图中突出显示了实例数据和组织原则。
一张示例知识图谱,以圆形代表节点,箭头代表关系。图中突出显示了实例数据和组织原则。

传统上构建知识图谱需要大量的编码知识,但现在情况正在发生变化。本文将介绍一种简化的构建方法,将 Anthropic 的 Claude AI 助手与 Neo4j 图数据库结合起来。借助模型上下文协议 (Model Context Protocol, MCP),这一过程完全无需编写任何代码。

本文将详细介绍我的实践经验,展示如何仅通过与 AI 助手的对话,就为一所学校(特别是建模其考试安排和课程信息)构建一个全面的教育系统知识图谱。

什么是模型上下文协议 (Model Context Protocol, MCP)?

模型上下文协议 (MCP) 是一项新兴标准,它允许 AI 模型与外部工具和数据源进行交互。借助 MCP,像 Claude 这样的 AI 助手能够在数据库等系统上直接执行命令,这极大地扩展了它们处理特定任务的能力,使其不再局限于自身的训练数据。

简单来说,MCP 让 Claude 能够直接访问并与你的 Neo4j 数据库交互。

前提条件

要按照此方法进行操作,你需要:

  1. 1. Docker Desktop:用于在容器中运行 Neo4j。
  2. 2. Neo4j 数据库:可以是 Docker 容器版或云实例。
  3. 3. UV 包管理器:一个快速的 Python 包管理器,用于安装本方法所需的软件依赖。

MacOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

4. Claude for Desktop

5. MCP 插件配置:用于连接 Claude 到 Neo4j;使用 Neo4j 提供的 mcp-neo4j-cypher 工具 (https://github.com/neo4j-contrib/mcp-neo4j/tree/main/servers/mcp-neo4j-cypher)。

设置 MCP 配置

成功实现此方法的关键在于正确设置 MCP 配置。我使用的配置如下:

"neo4j": {
    "command""/Users/<username>/.local/bin/uvx", # **请替换此路径**
    "args": [
        "mcp-neo4j-cypher",
        "--db-url",
        "bolt://localhost",
        "--username",
        "neo4j",
        "--password",
        "password"
    ]
}

此配置通过 Bolt 协议将 Claude 连接到本地运行的 Neo4j 实例。请务必将配置中的 /Users/<username>/.local/bin/uvx 替换为你系统中 uvx 可执行文件的完整路径,并根据你的实际数据库设置调整 --db-url--username 和 --password 参数。

在此获取云配置和 MCP 插件的详细信息(https://github.com/neo4j-contrib/mcp-neo4j/tree/main/servers/mcp-neo4j-cypher)。

验证设置

启动 Claude for Desktop 后,你将看到以下由 Neo4j 提供的新功能工具:

  1. 1. get-neo4j-schema:用于检索 Neo4j 数据库的模式 (schema)。
  2. 2. read-neo4j-cypher:用于从图数据库中查询信息。
  3. 3. write-neo4j-cypher:用于更新数据库中的图数据。

这些工具会出现在你的 Claude for Desktop 界面中,表明 MCP 已成功与 Neo4j 集成。

我的已安装 MCP 工具列表,其中包括 Neo4j 工具
我的已安装 MCP 工具列表,其中包括 Neo4j 工具

案例研究:构建教育系统知识图谱

为了展示此方法的强大之处,我决定构建一个教育系统——具体来说,是 Brainiacs 辅导中心 4B 班第二学期的考试安排和课程信息(https://brainiacstutoring.co.za/product-category/grade4/)。

第一步:创建基本模式 (schema)

第一步是建立图数据库的基本结构。通过与 Claude 对话,我说明了需要建模的实体和关系:

  • • 学校 (School):Brainiacs 辅导中心
  • • 年级 (Grade):四年级,B班
  • • 科目 (Subjects):数学、英语、科学等
  • • 考试 (Exams):安排了具体日期的考试
  • • 主题/内容 (Topics):每个科目的具体课程章节

我没有编写查询语句,只是简单地向 Claude 解释了我的需求,然后它就生成并执行了相应的 Neo4j Cypher 命令来构建这个结构。

指示 Claude 生成模式并分析文档
指示 Claude 生成模式并分析文档

第二步:添加实体和关系

建立模式后,我需要从我的学校文档中提取实际数据来填充数据库。Claude 分析了我分享的考试安排和课程文档,然后自动创建了:

  • • 带有正确名称的学校节点 (School node)
  • • 带有班级和学期信息的年级节点 (Grade node)
  • • 各科目的科目节点 (Subject nodes)
  • • 带有日期、时间和星期几的考试节点 (Exam nodes)
  • • 代表课程章节的主题/内容节点 (Topic nodes)
  • • 有意义地连接所有这些实体的关系 (Relationships)

所有这些都是通过自然对话完成的。我完全无需亲手编写任何 Cypher 查询语句!

通过分析文档自动创建图模型
通过分析文档自动创建图模型

要使用某个工具,你需要授权给它,可以选择授权一次或针对整个对话授权。在本例中,由于我正在更新数据库,所以需要注意,Claude 对我配置的数据库拥有完整的写入权限。

在被要求时授权
在被要求时授权

接着,Claude 从文档中提取信息,并使用 Cypher 语句在数据库中创建节点,包括:

  • • 年级 (Grade)
  • • 科目 (Subject(s))
  • • 考试 (Exam)
  • • 主题/内容 (Topics)

它会迭代处理每个主题/内容并单独创建。(注意:如果指示它从列表中创建,效率会更高。)

Claude 还会创建插入的节点之间的关系,这样我们就能从原始 PDF 文档中得到一个完整的图结构。

第三步:查询知识图谱

数据库填充完成后,我可以通过用普通英语向 Claude 提问来查询。例如,当我问“英语考试是什么时候?考哪些内容?”,Claude 就自动生成并运行了相应的 Cypher 查询,返回了以下信息:

英语考试:

  • • 日期: 2025年3月4日,星期二
  • • 时间: 上午11点至中午12点

英语考试内容:

  1. 1. 第6单元 — 交流
  2. 2. 第7单元 — 地点和方向
  3. 3. 第8单元 — 休息一下
  4. 4. 第9单元 — 打破纪录
  5. 5. 语法 — 包含在这些单元里的所有主题
  6. 6. 未见过的文章 (Unseen Passage)
  7. 7. 未见过的诗歌 (Unseen Poem)
  8. 8. 图片描述 (Picture Description)

在幕后,Claude 执行了类似以下的 Cypher 查询:

// 查询英语考试的时间安排
MATCH (subject:Subject {name: 'English'})-[:HAS_EXAM]->(exam:Exam)
RETURN exam.date AS Date, exam.day AS Day, exam.startTime AS StartTime, exam.endTime AS EndTime

// 查询英语考试的主题/内容
MATCH (subject:Subject {name: '
English'})-[:INCLUDES_TOPIC]->(topic:Topic)
RETURN topic.name AS Portion

这些复杂的 Cypher 查询语句,正是 Claude 根据我的自然语言提问自动生成并执行的,我完全无需关心查询细节。

Claude 的输出结果
Claude 的输出结果

以下是一些原始文档,Claude 从中提取信息并转换成了图谱元素。

原始考试安排 PDF
原始考试安排 PDF
考试内容 PDF
考试内容 PDF

知识图谱可视化

此方法的一个强大之处在于 Claude 能够创建图结构的可视化效果。通过我们的对话,Claude 生成并执行了代码来可视化:

  1. 1. 显示节点类型和关系的结构模式图。
显示节点类型和关系的结构模式图
显示节点类型和关系的结构模式图
显示节点类型和关系的结构模式图
显示节点类型和关系的结构模式图

2. 年级-科目-考试关系的图表示。

年级-科目-考试关系的图表示
年级-科目-考试关系的图表示

3. 显示各科目主题/内容数量的柱状图。

显示各科目主题/内容数量的柱状图
显示各科目主题/内容数量的柱状图

全程无需代码的 MCP 方法的核心优势

完成这个项目后,我发现将 Claude 与 MCP 结合用于 Neo4j 具有以下几个显著优势:

  1. 1. 易用性:图数据库操作对非开发人员更加友好,无需编程基础即可上手。
  2. 2. 速度:构建复杂数据库的速度显著加快。
  3. 3. 自然语言接口:可以使用日常语言查询数据库。
  4. 4. 自动化文档:Claude 自动为数据库结构生成文档。
  5. 5. 内置可视化:无需额外工具即可获得有用的可视化效果。
  6. 6. 敏捷迭代:通过对话即可轻松修改和扩展数据库。

局限性与注意事项

尽管此方法功能强大,但也存在一些值得注意的局限性:

  1. 1. 复杂查询:复杂的查询模式可能仍需要手动优化才能获得最佳性能。
  2. 2. 安全性:需要注意 MCP 配置中数据库凭据的安全问题。
  3. 3. 性能:对于大型数据库,专门的工具可能提供更好的性能。
  4. 4. 验证:始终需要验证大型语言模型 (LLM) 的操作,包括数据提取、数据创建、查询结果和生成的代码。作为你所在领域和用例的专家,最终结果的准确性和可靠性仍需你来把控并负责。

总结

Claude、MCP 和 Neo4j 的结合代表着图数据库技术走向民主化的重要一步。通过消除编码障碍,此方法为更广泛的受众开启了强大的知识图谱构建能力。

无论你是构建课程关系的教育工作者,还是绘制复杂网络的科研人员,抑或是可视化组织结构的业务分析师,这种对话驱动的方法都让图数据库比以往任何时候都更易于使用。

我期待看到这种方法的未来发展,以及通过 AI 辅助的对话驱动开发,能够进一步简化哪些复杂数据库任务。

 



学习资源

若要了解更多知识图谱或图数据库相关教学,你可以查看公众号的其他文章:


活水智能,成立于北京,专注通过AI教育、AI软件及高质量社群,持续提升知识工作者的生产力。

  • 10+ 人气AI课程:线下工作坊与实操训练,聚焦最新AI应用。

  • 2600+深度成员社群:知识星球汇聚大厂程序员、企业高管、律师、创业者等各领域精英。

  • 城市分舵:北/上/广/深/杭/成/渝等城市均有线下组织,连接志同道合的伙伴。

? 近期开课:

? 福利群开放加入

每周独家AI新知、专属优惠券、干货方法论、同学交流心得,更有不定期赠书活动,等你来参与!

??????

图片

 点击阅读原文,立即入群

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询