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

Python 结合 Neo4j 构建知识图谱入门实战

综述由AI生成Python 结合 Neo4j 图数据库构建知识图谱,通过 Cypher 语言定义节点与关系,利用 Python 驱动批量写入数据。文章涵盖环境配置、基础语法及可视化展示,演示了如何从结构化数据生成人物关系网络,为后续 AI 应用打下基础。

云间漫步发布于 2026/4/10更新于 2026/5/1911 浏览
Python 结合 Neo4j 构建知识图谱入门实战

什么是知识图谱与 Neo4j?

在动手写代码前,先理清两个核心概念。

知识图谱 (Knowledge Graph)

别被名字吓到,本质就是把事物(节点)和联系(关系)画成网。Excel 思维是罗列数据,图谱思维是链接数据。比如 (张三)--[朋友]-->(李四)。它由实体、关系、属性三要素组成:

  • 实体 (Entity/Node):比如'周杰伦'、'昆凌'。
  • 关系 (Relationship):比如'夫妻'、'代言'。
  • 属性 (Property):比如周杰伦的'年龄:40+'。

Neo4j

如果说 SQL 是关系型数据库霸主,Neo4j 就是图数据库王者。原生支持图存储,查询关联数据极快。查询语言 Cypher 类似 SQL 但更直观。 我们用 Python 处理数据,喂给 Neo4j,形成可视化图谱。

环境搭建

推荐用 Neo4j Desktop,免费且图形化友好。 下载安装后,点击 New Project,Add Local DBMS。设置密码并启动。状态灯变绿后,浏览器访问 http://localhost:7474,默认用户 neo4j。

Cypher 初体验

在浏览器输入框敲一行代码感受下。

CREATE (p1:Person {name: '孙悟空', title: '齐天大圣'})
CREATE (p2:Person {name: '唐僧', title: '师傅'})
CREATE (p1)-[:PROTECT {role: '保镖'}]->(p2)
RETURN p1, p2

你会看到圆圈和连线,这就是最简单的图谱。

Python 构建知识图谱

实际工作中靠 Python 批量写入。 安装驱动:pip install neo4j。 新建 build_graph.py,编写连接类。这里用 MERGE 关键字保证节点不重复创建。

from neo4j import GraphDatabase

class KnowledgeGraph:
    def __init__(self, uri, user, password):
        self.driver = GraphDatabase.driver(uri, auth=(user, password))

    def close(self):
        self.driver.close()

    def create_node_and_relationship(self, person1, relation, person2):
        with self.driver.session() as session:
            query = """
            MERGE (p1:Character {name: $name1})
            MERGE (p2:Character {name: $name2})
            MERGE (p1)-[r:RELATION {type: $rel}]->(p2)
            RETURN p1, p2, r
            """
            session.run(query, name1=person1, name2=person2, rel=relation)
            ()

     ():
         .driver.session()  session:
            session.run()
            ()

 __name__ == :
    URI = 
    USER = 
    PASSWORD =   

    data = [
        (, , ),
        (, , ),
        (, , ),
        (, , ),
        (, , ),
        (, , ),
        (, , ),
        (, , )
    ]

    kg = KnowledgeGraph(URI, USER, PASSWORD)
    :
        kg.clear_data()
        ()
         p1, rel, p2  data:
            kg.create_node_and_relationship(p1, rel, p2)
        ()
     Exception  e:
        ()
    :
        kg.close()
print
f"成功构建:{person1} --[{relation}]--> {person2}"
def
clear_data
self
with
self
as
"MATCH (n) DETACH DELETE n"
print
"数据库已清空!"
if
"__main__"
"bolt://localhost:7687"
"neo4j"
"123456"
# 请修改为你的密码
"唐僧"
"师徒"
"孙悟空"
"唐僧"
"师徒"
"猪八戒"
"唐僧"
"师徒"
"沙僧"
"孙悟空"
"师兄弟"
"猪八戒"
"孙悟空"
"师兄弟"
"沙僧"
"孙悟空"
"结拜兄弟"
"牛魔王"
"牛魔王"
"夫妻"
"铁扇公主"
"铁扇公主"
"母子"
"红孩儿"
try
print
"开始构建知识图谱..."
for
in
print
"\n图谱构建完成!"
except
as
print
f"发生错误:{e}"
finally

运行脚本,控制台会输出构建日志。

可视化展示

回到 Neo4j Browser,输入 MATCH (n) RETURN n。点击播放,你将看到错综复杂的人物关系网。可以拖拽节点,查看关系类型,感受力导向图的物理效果。

总结

从 0 到 1 完成了知识图谱构建。理解了图数据库区别,学会安装 Neo4j Desktop,掌握 Python 连接并写入数据的核心代码。有了图谱不仅能看,还能让 AI 理解。后续可探索结合 BERT 模型实现智能问答系统。

目录

  1. 什么是知识图谱与 Neo4j?
  2. 知识图谱 (Knowledge Graph)
  3. Neo4j
  4. 环境搭建
  5. Cypher 初体验
  6. Python 构建知识图谱
  7. 可视化展示
  8. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Python 3.12 日志核心:深入理解 LogRecord 机制
  • 树中所有节点到其他节点的距离之和
  • JavaAI 实战指南:老项目重构与全栈开发效率提升
  • C++ 笔试算法实战:打怪模拟、字符串分类与连通分量
  • C++ 算法实战:字符串处理与链表相交问题解析
  • 前端开发基础:HTML、CSS 与 JavaScript 入门梳理
  • 软件研发中的任务分解与需求管理
  • VSCode 集成 GitHub Copilot 使用指南
  • 回溯算法核心原理与 Java 实现详解
  • Flexbox 自适应布局实战:左右与上下布局技巧
  • 日语语法:から和ので的用法区别与注意事项
  • C++ 查找字符串中第一个只出现一次的字符
  • KaiwuDB 3.1.0 在 Ubuntu 22.04 部署实战:TLS 配置与性能基线
  • AI 变现误区解析:为何掌握工具不等于拥有商业能力
  • C++ 二叉搜索树详解与实现
  • C++ 多线程同步实战:原子操作 atomic 详解
  • 时空数据与大模型:基础模型的愿景、挑战与机遇及应用
  • 知识图谱增强大模型 GraphRAG 全面综述:架构、应用与未来方向
  • FPGA 组成原理:IO 资源架构与实现细节
  • iRobotCAM 机器人离线编程软件在激光加工中的应用优势

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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