返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 21:01 |阅读模式 打印 上一主题 下一主题

ingFang SC", system-ui, -apple-system, "system-ui", "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;margin-bottom: 0px;">

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;" title="null"/>

ingFang SC";font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在当今数据驱动的世界里,知识图谱已成为一种强大的工具,能够捕获和查询不同实体之间复杂的ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(1, 155, 252);">关系

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);">一张示例知识图谱,以圆形代表节点,箭头代表关系。图中突出显示了实例数据和组织原则。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;margin: 0.1em auto 0.5em;border-radius: 4px;" title="null"/>

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

ingFang SC";font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">本文将详细介绍我的实践经验,展示如何仅通过与 AI 助手的对话,就为一所学校(特别是建模其考试安排和课程信息)构建一个全面的教育系统知识图谱。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(1, 155, 252);">什么是模型上下文协议 (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-LsSfhttps://astral.sh/uv/install.sh|sh

Windows:

powershell-ExecutionPolicyByPass-c"irmhttps://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 工具

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

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

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

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

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

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

指示 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 从中提取信息并转换成了图谱元素。

原始考试安排 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是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ