【Mac 实战】简单知识图谱搭建步骤详解(Neo4j + py2neo)

【Mac 实战】简单知识图谱搭建步骤详解(Neo4j + py2neo)

目录

一、Neo4j图数据库

1、neo4j 安装 - mac brew版

2、neo4j 快速入门

3、neo4j 基本操作

(1)增操作

(2)查操作

(3)改操作

(4)删操作

4、安装py2neo

二、数据预处理

1、数据清洗

2、知识建模

(1)识别实体

(2)识别实体属性

(3)识别关系

三、搭建知识图谱


博主的数据集是用的自己的数据集,大家练习时可以在网上找一个数据量小的数据集练手。

一、Neo4j图数据库

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

1、neo4j 安装 - mac brew版

(1)安装neo4j

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



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





(2)登录neo4j



【1】在登录页面填写信息:Connect URL:输入 neo4j://localhost:7687Authentication type:保持为 "Username / Password"Username:输入 neo4jPassword:首次连接时输入默认密码 neo4j点击蓝色的 Connect​ 按钮



【2】首次连接成功后,系统会强制要求修改默认密码:当前密码:neo4j设置一个新的安全密码(请务必记住)



【3】测试连接

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

2、neo4j 快速入门

【1】我们点击左边栏的星星图标,在Example Graphs中选择Movie Graph,点击运行,就会弹出一个关于电影图谱的教程





【2】创建图谱

点击灰色代码框,创建图谱的代码会自动复制到代码框



点击运行,即可看到创建的电影图谱





【3】查找

下面是一些关于查找的语句:查找名叫Tom Hanks的演员查找标题为Cloud Atlas的电影查找10个人查找在20世纪90年代上映的电影







【4】询问



后续还有一些查询语句教程不一一列举了,感兴趣的同学可以自行运行。

3、neo4j 基本操作

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

下面我们建立一个简单的图谱,包含两种节点和一种关系:

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

【1】创建节点

【2】创建关系
(2)查操作

【1】查找所有餐厅





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





【3】查找供应可乐的所有餐厅





因为前面没有创建这么多关系,下面只做操作语法展示



【4】多跳查询 - 查找与MC销售同类产品的其他餐厅

因为前面没有创建这么多关系,这里只做操作语法展示

【5】路径查询 - 查找两家餐厅通过共同产品产生的关联

(3)改操作

【1】更新节点属性

【2】新增节点属性

【3】更新关系属性
(4)删操作

【1】删除关系

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

【3】删除所有节点
通过以上麦当劳的例子,我们可以看到Neo4j的操作非常直观:CREATE/ MERGE: 对应SQL的INSERT,用于创建节点和关系。MATCH: 对应SQL的SELECT ... FROM,是查询的起点,用于定位图形中的模式。WHERE: 对应SQL的WHERE,用于过滤结果。SET: 对应SQL的UPDATE,用于更新属性。DELETE/ DETACH DELETE: 对应SQL的DELETE,用于删除元素。

Neo4j的核心优势在于通过MATCH子句描述关联模式,例如(餐厅)-[供应]->(产品),这使得查询复杂的关系网络变得简单和高效。
4、安装py2neo

py2neo 是 Python 连接和操作 Neo4j 图数据库的主要工具库,适用于需要处理复杂关系数据的应用场景。

二、数据预处理

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

1、数据清洗

数据质量要求:补全缺失值:对于明显缺失的信息(如设备型号),可以标记为【缺失】或根据上下文推断。格式标准化:将日期统一为【YYYY-MM-DD】格式。去除重复值:删除重复的条目
2、知识建模

我们需要从业务角度理解数据,设计出合理的图谱结构。(1)识别实体

实体是知识图谱中的【节点】。在我的数据集中,可以识别出以下主要实体类型:订单记录:核心实体,每一笔订单就是一个销售事件。产品:订单中的商品。例如,“生日蛋糕”、“马卡龙”、“手冲咖啡”。数据中【产品名称】和【产品类别】是其属性。配方标准:制作产品的依据和标准。数据中【配方名称】、【配料序号】、【制作要点】等是其属性。客户反馈:客户对订单或产品的评价与建议。促销活动:与订单关联的营销方案。门店:订单发生的背景。

(2)识别实体属性

属性是描述实体的键值对。订单记录​ 的属性:下单时间、订单描述、订单金额、是否加急、订单状态、支付方式、配送地址。产品​ 的属性:产品名称、产品类别、规格、单价、保质期、产品编号。配方标准​ 的属性:配方名称、配料序号、制作步骤、所需时间、适用产品。客户反馈​ 的属性:反馈内容、评分。促销活动​ 的属性:活动名称、折扣力度、适用条件。门店​ 的属性:门店地址、营业时间、联系电话。

(3)识别关系

关系是连接实体的边,是图谱价值的体现。门店​ -- 提供 --> 产品订单记录​ -- 产生于 --> 门店订单记录​ -- 包含 --> 产品订单记录​ -- 触发 --> 促销活动订单记录​ -- 收到 --> 客户反馈产品​ -- 依据 --> 配方标准配方标准​ -- 适用于 --> 产品

三、搭建知识图谱

下面代码为简化后的模板代码,需要根据自己的数据集进行修改后再运行。



运行后效果如下图:

Read more

知网AIGC检测不通过?这7款工具帮你稳过

知网AIGC检测不通过?这7款工具帮你稳过

知网AIGC检测不通过?这7款工具帮你稳过 答辩前三天,导师发来消息:“知网AIGC检测没过,AI率47%,重新改。” 那一刻我是真的慌。因为这论文我改了两个多月,哪知道知网AIGC检测这么严。后来我用比话降AI(www.bihuapass.com)处理了一遍,AI率降到12%,顺利过了答辩。 这篇文章是我踩坑之后总结的经验,专门针对知网AIGC检测不通过的情况,推荐7款亲测有效的工具。 为什么知网AIGC检测这么难过 知网的AIGC检测和其他平台不太一样,它有几个特点: 检测维度更多:不只看词汇,还看句式结构、逻辑关联、表达习惯。你的论文写得太"规整",反而容易被判定为AI生成。 对学术文本敏感:文献综述、理论分析这些部分最容易中招,因为这些内容本来就比较规范,很容易被误判。 算法经常更新:2026年的检测算法又升级了,以前能过的现在可能过不了。 我室友就是典型案例。她的论文是自己写的,但文献综述部分太规范了,结果那一段AI率高达80%。 7款知网降AI工具实测 我和室友们测了十几款工具,最后筛选出这7款效果最好的: 排名工具价格(元/

B站直播场控机器人终极使用指南:打造智能自动化直播间

B站直播场控机器人终极使用指南:打造智能自动化直播间 【免费下载链接】Bilibili-MagicalDanmaku【神奇弹幕】哔哩哔哩直播万能场控机器人,弹幕姬+答谢姬+回复姬+点歌姬+各种小骚操作,目前唯一可编程机器人 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-MagicalDanmaku 想要实现B站直播间的全自动管理吗?神奇弹幕场控机器人能够帮你完成弹幕互动、礼物答谢、智能点歌等多种功能,让你的直播变得更加高效和专业。无论你是新手主播还是经验丰富的UP主,这个工具都能为你节省大量时间精力。 🚀 快速入门:从零配置直播机器人 项目获取与部署 git clone https://gitcode.com/gh_mirrors/bi/Bilibili-MagicalDanmaku 核心架构概览 功能模块主要用途项目路径主控制台程序核心界面mainwindow/服务层功能逻辑实现services/音乐系统智能点歌播放order_player/网页组件丰富界面功能www/ 程序主界面功能齐全,操作便捷

小米智能家居集成升级与配置完全指南:解决7类连接问题的9个实战方案

小米智能家居集成升级与配置完全指南:解决7类连接问题的9个实战方案 【免费下载链接】ha_xiaomi_homeXiaomi Home Integration for Home Assistant 项目地址: https://gitcode.com/GitHub_Trending/ha/ha_xiaomi_home 问题诊断:为什么你的小米设备总在Home Assistant里"罢工"? 当你兴冲冲地将小米智能设备接入Home Assistant,却发现设备频繁离线、控制指令延迟或功能缺失时,可能正遭遇以下三类核心问题:控制链路断裂(表现为命令无响应)、状态同步异常(APP显示正常但HA数据滞后)、功能映射错误(部分按钮或传感器失效)。本章节将通过"症状-原因"对照表帮你快速定位问题根源。 设备连接问题自查清单 症状可能原因排查方法设备显示"未响应"网络分区/云服务鉴权失败检查路由器DHCP分配,

FaceFusion与主流框架对比:Stable Diffusion、DeepFaceLive谁更强?

FaceFusion、Stable Diffusion 与 DeepFaceLive:谁才是人脸生成的终极答案? 在虚拟主播一夜爆红、AI换脸视频席卷社交平台的今天,我们正站在一个人脸数字化的奇点上。无论是电影工业中悄然替换演员面孔,还是直播镜头里实时变身“数字分身”,背后都离不开几类关键技术的支撑。其中, FaceFusion 、 Stable Diffusion 和 DeepFaceLive 成为了开发者圈内热议的三大代表方案——它们看似都在“换脸”,实则走着截然不同的技术路线。 有人用 FaceFusion 精修每一帧影视画面,追求像素级的真实感;有人靠 Stable Diffusion 输入一句提示词就生成一张从未存在过的明星写真;还有人通过 DeepFaceLive 在直播中毫秒级切换身份,仿佛拥有无限人格面具。这三者究竟有何本质区别?当精度、创意与速度不可兼得时,又该如何抉择? 要理解这些工具的本质差异,得先看清楚它们解决的是哪一类问题。 FaceFusion 的目标很纯粹: 把A的脸,完美地贴到B的身体上,且看不出痕迹 。它不关心你想要什么风格,也不需要输入一段文