Mac 下使用 Neo4j 与 py2neo 搭建知识图谱实战
一、Neo4j 图数据库
Neo4j 是一个高性能的、原生的图数据库。它不采用传统的行和列的表格结构,而是使用节点和关系的图结构来存储和管理数据。
1. Neo4j 安装(macOS Homebrew 版)
(1)安装 Neo4j
安装了 Homebrew 后直接在终端输入以下命令即可:
brew install neo4j
安装后,Neo4j 浏览器可通过 http://localhost:7474 访问。
(2)登录 Neo4j
- 在登录页面填写信息:
- Connect URL:输入
neo4j://localhost:7687 - Authentication type:保持为 "Username / Password"
- Username:输入
neo4j - Password:首次连接时输入默认密码
neo4j - 点击蓝色的 Connect 按钮
- Connect URL:输入
- 首次连接成功后,系统会强制要求修改默认密码:当前密码
neo4j,设置一个新的安全密码(请务必记住)。 - 测试连接:连接成功后,在顶部的命令行中输入 Cypher 查询语句进行测试。
2. Neo4j 快速入门
- 点击左边栏的星星图标,在 Example Graphs 中选择 Movie Graph,点击运行,会弹出一个关于电影图谱的教程。
- 创建图谱:点击灰色代码框,创建图谱的代码会自动复制到代码框,点击运行即可看到创建的电影图谱。
- 查找:支持查找特定演员、电影标题、特定数量的人或特定年代上映的电影等。
- 询问:后续还有更多查询语句教程,感兴趣的同学可以自行运行。
3. Neo4j 基本操作
接下来以【麦当劳】为背景,用 Neo4j 的 Cypher 查询语言演示基本增删改查操作。
建立一个简单的图谱,包含两种节点和一种关系:
- 节点类型 1:餐厅
- 属性:名称,地址,开业年份
- 节点类型 2:产品
- 属性:名称,价格,类别
- 关系类型:供应
- 属性:自何时起供应
(1)增操作
- 创建节点:使用
CREATE或MERGE语句。 - 创建关系:在节点之间建立关联。
(2)查操作
- 查找所有餐厅:匹配所有餐厅节点。
- 查找特定餐厅供应的所有产品:通过关系路径查询。
- 查找供应可乐的所有餐厅:过滤条件查询。
- 多跳查询:查找与 MC 销售同类产品的其他餐厅。
- 路径查询:查找两家餐厅通过共同产品产生的关联。


