跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

基于 Neo4j 和 py2neo 的知识图谱搭建指南

在 Mac 环境下使用 Homebrew 安装 Neo4j 图数据库的步骤,演示了 Neo4j 的基本 Cypher 操作(增删改查),并讲解了如何使用 py2neo 连接数据库。内容涵盖数据清洗、实体与关系识别等知识建模流程,提供了构建知识图谱的完整技术路径与代码示例。

战神发布于 2026/4/6更新于 2026/9/1080 浏览
基于 Neo4j 和 py2neo 的知识图谱搭建指南

一、Neo4j 图数据库

Neo4j 是一个高性能的、原生的图数据库。它不采用传统的行和列的表格结构,而是使用节点和关系的图结构来存储和管理数据。

1、Neo4j 安装 - Mac Brew 版

安装了 Homebrew 直接在终端输入以下命令即可安装。

安装后,Neo4j 浏览器可通过 http://localhost:7474 访问。

登录 Neo4j
  1. 在登录页面填写信息:Connect URL:输入 neo4j://localhost:7687。
  2. Authentication type:保持为 "Username / Password"。
  3. Username:输入 neo4j。
  4. Password:首次连接时输入默认密码 neo4j。
  5. 点击蓝色的 Connect 按钮。

首次连接成功后,系统会强制要求修改默认密码。设置一个新的安全密码。

测试连接

连接成功后,在顶部的命令行中输入 Cypher 查询语句,例如:

RETURN "Hello World";

2、Neo4j 快速入门

  1. 点击左边栏的星星图标,在 Example Graphs 中选择 Movie Graph,点击运行,查看电影图谱教程。
  2. 创建图谱:点击灰色代码框,创建图谱的代码会自动复制到代码框,点击运行即可看到创建的电影图谱。
  3. 查找:支持按演员名、电影标题、时间范围等条件查询。

3、Neo4j 基本操作

以【麦当劳】为背景,用 Neo4j 的 Cypher 查询语言演示基本增删改查操作。

建立简单的图谱,包含两种节点和一种关系:

  • 节点类型 1:餐厅
    • 属性:名称,地址,开业年份
  • 节点类型 2:产品
    • 属性:名称,价格,类别
  • 关系类型:供应
    • 属性:自何时起供应
(1)增操作

创建节点

CREATE (r:餐厅 {名称:'麦当劳', 地址:'某街道', 开业年份:1955}) RETURN r;

创建关系

MATCH (r:餐厅 {名称:'麦当劳'}), (p:产品 {名称:'汉堡'})
CREATE (r)-[:供应 {自何时起供应:'1955'}]->(p);
(2)查操作

查找所有餐厅

MATCH (r:餐厅) RETURN r;

查找特定餐厅供应的所有产品

MATCH (r:餐厅 {名称:'麦当劳'})-[s:供应]->(p:产品) RETURN p;

多跳查询

MATCH (r1:餐厅)-[:供应]->(p:产品)<-[:供应]-(r2:餐厅)
WHERE r1 <> r2 RETURN r1, r2;
(3)改操作

更新节点属性

MATCH (r:餐厅 {名称:'麦当劳'}) SET r.地址 = '新地址' RETURN r;

新增节点属性

MATCH (r:餐厅 {名称:'麦当劳'}) SET r.评分 = 5.0 RETURN r;

更新关系属性

MATCH ()-[s:供应]->() SET s.自何时起供应 = '2023' RETURN s;
(4)删操作

删除关系

MATCH ()-[s:供应]->() DELETE s;

删除节点(必须先删除其所有关系)

MATCH (n:餐厅) DETACH DELETE n;

删除所有节点

MATCH (n) DETACH DELETE n;

Neo4j 的核心优势在于通过 MATCH 子句描述关联模式,这使得查询复杂的关系网络变得简单和高效。

4、安装 py2neo

py2neo 是 Python 连接和操作 Neo4j 图数据库的主要工具库。

pip install py2neo

二、数据预处理

数据预处理包括数据清洗、实体识别等步骤,目的是将原始数据转换为适合构建知识图谱的格式。

1、数据清洗

  • 补全缺失值:对于明显缺失的信息,可以标记为【缺失】或根据上下文推断。
  • 格式标准化:将日期统一为【YYYY-MM-DD】格式。
  • 去除重复值:删除重复的条目。

2、知识建模

从业务角度理解数据,设计出合理的图谱结构。

(1)识别实体

实体是知识图谱中的【节点】。主要实体类型包括:

  • 订单记录:核心实体,每一笔订单就是一个销售事件。
  • 产品:订单中的商品。
  • 配方标准:制作产品的依据和标准。
  • 客户反馈:客户对订单或产品的评价与建议。
  • 促销活动:与订单关联的营销方案。
  • 门店:订单发生的背景。
(2)识别实体属性

属性是描述实体的键值对。例如订单记录的属性包括下单时间、订单金额、支付方式等;产品的属性包括产品名称、规格、单价等。

(3)识别关系

关系是连接实体的边。例如:

  • 门店 -- 提供 --> 产品
  • 订单记录 -- 产生于 --> 门店
  • 订单记录 -- 包含 --> 产品
  • 产品 -- 依据 --> 配方标准

三、搭建知识图谱

使用 py2neo 连接数据库并执行写入操作。

from py2neo import Graph

# 连接 Neo4j
graph = Graph("bolt://localhost:7687", auth=("neo4j", "your_password"))

# 执行 Cypher 语句
result = graph.run("MATCH (n) RETURN n LIMIT 10")
print(result.data())

请根据实际数据集修改上述代码逻辑。

目录

  1. 一、Neo4j 图数据库
  2. 1、Neo4j 安装 - Mac Brew 版
  3. 登录 Neo4j
  4. 测试连接
  5. 2、Neo4j 快速入门
  6. 3、Neo4j 基本操作
  7. (1)增操作
  8. (2)查操作
  9. (3)改操作
  10. (4)删操作
  11. 4、安装 py2neo
  12. 二、数据预处理
  13. 1、数据清洗
  14. 2、知识建模
  15. (1)识别实体
  16. (2)识别实体属性
  17. (3)识别关系
  18. 三、搭建知识图谱
  19. 连接 Neo4j
  20. 执行 Cypher 语句

更多推荐文章

查看全部
  • C++ 模板进阶:非类型参数与特化
  • Spring Cloud OpenFeign 优雅实现远程调用
  • 大模型入门指南:从基本原理到应用实践
  • Altera FPGA Avalon MM 总线接口规范简介
  • Arduino BLDC 基于 6.5 寸轮毂电机的智能动态跟随机器人底盘
  • 大模型前沿论文精选:AIOS、FlashFace、SDXS 等 9 篇
  • AI 时代数据库的融合与智能化演进
  • Transformer 核心原理深度解析与 PyTorch 实战
  • MyLesson 微信小程序前台开发实战(一)
  • 深入解析大型语言模型:LLM 的定义、原理与应用
  • Windows 11 环境下 Python 3.12.5 安装与配置实战
  • 选择排序详解:直接、树形与堆排序实战
  • 从零开始学习 Python 自动化测试开发指南
  • AI 大模型入门教程:从零基础到精通
  • 算法题解:旋转链表(Rotate List)
  • Mistral 发布开源多模态模型 Pixtral Large,Le Chat 助手新增多项功能
  • Ollama 本地部署与运行大型语言模型指南
  • 深度学习八大经典神经网络架构详解与实战指南
  • 写给一周岁儿子的信:关于成长与爱的期许
  • GitHub Copilot 学生身份认证与激活指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online