知识图谱实战(二):Neo4j 构建与导入(完整代码)
知识图谱实战(二):Neo4j 构建与导入(完整代码)
《知识图谱(一)数据采集》产出了三元组 CSV,这篇把它变成真正的"图":安装 Neo4j 图数据库、用 Cypher 建节点和关系、把 triples.csv 批量导入、浏览器里可视化。照做就能看到一张能查询的知识图谱。
前言
三元组(华为 - 创始人 - 任正非)存在 Excel 里只是表格,存进图数据库才是知识图谱。图数据库专门为"实体+关系"设计:查询"和华为直接相关的所有实体"“任正非和贵州有什么关系"这类问题,一条 Cypher 就出来,比关系型数据库 JOIN 快得多、直观得多。
Neo4j 是使用最广的开源图数据库,这篇从安装到导入到可视化全走一遍。
一、Neo4j 是什么(先建立概念)
| 概念
|
图数据库
|
关系型数据库(MySQL)
存储
|
节点(实体)+ 关系(边)
|
表 + 行
| |
查询
|
Cypher(MATCH 模式匹配)
|
SQL(JOIN)
| |
擅长
|
关系密集型查询(人脉、供应链、图谱)
|
事务、报表
| |
适合
|
知识图谱、社交网络、推荐
|
订单、账务
|
图数据三要素:节点(Node)、关系(Relationship)、属性(Property)。关系有方向(华为 → 创始人 → 任正非),这是图的核心。
二、安装与启动(两种方式)
方式一:Docker(推荐,一条命令)
<span leaf=""><span>:: 需先装 Docker Desktop(见 《Docker 容器化实战》)</span></span>
方式二:Windows 直接运行
-
Neo4j 官网下载 Community 版 zip,解压到
D:\neo4j(路径别带中文); -
管理员终端进入
D:\neo4j\bin,执行neo4j.bat console启动; -
首次启动后浏览器打开
http://localhost:7474,默认账号neo4j,首次登录必须改密码。
启动成功的标志:浏览器能打开 Neo4j Browser(可以执行 Cypher 的界面)。端口说明:7474 是浏览器界面,7687 是程序连接(bolt)端口。
三、Cypher 手动建图(先理解语法)
在 Neo4j Browser 的输入框逐条执行:
<span leaf=""><span>// 1. 建两个节点(MERGE:不存在才建,重复执行不报错)</span></span>
CREATE 无条件新建(会重复);MERGE 去重(推荐)。第三条查询执行后,浏览器右侧会出现可视化图谱:两个圆点一条箭头。
四、批量导入三元组(完整代码)
用 Python 驱动把 《知识图谱(一)数据采集》生成的 triples.csv 批量导入:
<span leaf=""><span>pip</span> install neo4j</span>
<span leaf=""><span># import_kg.py — 读取 triples.csv 批量导入 Neo4j(完整可运行)</span></span>
运行验证:python import_kg.py,期望逐条打印"导入: …",结束时提示完成;浏览器 Neo4j Browser 里执行 MATCH (n) RETURN n LIMIT 50,能看到节点和连线组成的图谱——这就是你采集数据构建出来的知识图谱。
五、可视化与基础查询
Neo4j Browser 自带可视化,常用验证查询:
<span leaf="">// 全部实体和关系(数据多时加 LIMIT)</span>
图谱一眼能看出:哪些实体是"枢纽”(连接的边多),哪些关系类型最多——论文/汇报里截图就是很好的配图。
六、常见坑
| 坑
|
解决
浏览器打不开 7474
|
Docker 方式确认容器在跑(docker ps);zip 方式确认 neo4j.bat console 窗口没关
| |
登录被拒
|
首次登录必须改默认密码;Docker 方式密码在 NEO4J_AUTH 里定义
| |
导入报认证错
| AUTH
里的密码要和浏览器登录的一致
| |
节点重复建
|
用 MERGE 别用 CREATE;实体名做归一化(《知识图谱(一)数据采集》)
| |
关系方向反了
|
三元组顺序 (head→tail) 与 Cypher -> 方向对应,导入代码里已固定
|
七、总结
-
一句话:Neo4j 把三元组变成节点和关系,浏览器就能看到、Cypher 就能查;
-
到这一步,“采集 → 构建"已完成,下一篇《知识图谱(三):图查询调用与 GraphRAG》讲怎么把图谱用起来(API 调用 + 和 LLM 结合);
-
接单角度:企业图谱项目(人事/供应链/文档)都落在"Neo4j 建图 + 查询"上,这篇就是建图的标准流程。
觉得有用点个赞收藏,下一篇见。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/geek/post/20260823/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1%E5%AE%9E%E6%88%98%E4%BA%8CNeo4j-%E6%9E%84%E5%BB%BA%E4%B8%8E%E5%AF%BC%E5%85%A5%E5%AE%8C%E6%95%B4%E4%BB%A3%E7%A0%81/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com