Neo4j Desktop 2 简介
Neo4j Desktop 是 Neo4j 官方推出的图形化数据库管理工具,专为开发者和数据科学家设计。它提供了一个一体化的开发环境,集成了数据库实例管理、查询编辑、数据可视化和扩展管理。
核心优势
- 本地开发友好:支持在本地机器上快速创建和测试图数据库实例,无需配置复杂的服务器环境。
- 多版本管理:可同时管理多个 Neo4j 数据库版本,方便不同项目的隔离测试。
- 插件生态系统:内置插件市场,轻松安装常用扩展。
- 项目管理:以项目为单位组织数据库、查询和配置,保持环境整洁。
适用场景
- 图数据库开发:为应用程序开发提供本地图数据库环境。
- 本地测试:在部署到生产环境前进行数据模型测试和查询验证。
- 教育与学习:学习 Cypher 查询语言和图数据库概念。
环境准备与安装
Java 环境要求
Neo4j Desktop 对 Java 环境有特定要求,安装前请确认:
- 桌面版:建议 JDK SE14 以上,通常不需要手动配置环境和路径。
- 社区版:JDK 版本不宜过高(SE15 以下),可能需要手动配置环境变量和路径。如需下载历史版本,可前往官网注册后免费下载。
下载安装
访问 Neo4j 官网下载页面,选择对应的操作系统版本进行安装。

根据提示填写信息即可自动下载安装包。也可以直接访问官网主页,向下滚动找到对应操作系统的安装包链接。

目前最新版本为 2.0.5,旧版本如 1.6 的教程较多,但建议使用较新版本以获得更好的体验。初次使用可能会遇到一些常见问题,例如如何创建项目、运行项目或确定用户名等,下文将详细说明。

创建并管理本地图数据库
新建数据库实例
启动 Neo4j Desktop 后,点击创建一个新项目。

填写项目名称与密码后点击创建。注意,这里 database user 默认为 neo4j,但登录时使用的用户名实际上是 Instance name(实例名称)还是 database user,取决于具体设置,通常建议记住创建的实例名。
启动与停止数据库
项目默认状态为关闭(STOPPED),点击启动按钮即可运行。

启动时会弹出弹窗,若需继续操作可将其隐藏。此时可以在 database 面板中查看数据库,默认只有 neo4j 一个实例。点击 create database 可以创建多个知识图谱实例。

点击 connect 可以进入查询编辑器(Query)或探索视图(Explore)。
构造知识图谱的方法
查询编辑器基础操作
在查询编辑器中输入 Cypher 语句来构建和操作图数据。
创建节点
// 创建人物节点
CREATE (p:Person {name: 'Alice', age: 30, occupation: 'Engineer'})
// 批量创建多个节点
CREATE
(p1:Person {name: 'Bob', age: 25}),
(p2:Person {name: 'Charlie', age: 35}),
(c:Company {name: 'Tech Corp', industry: 'Technology'})
创建关系
// 先匹配节点,然后创建关系
MATCH
(a:Person {name: 'Alice'}),
(b:Person {name: 'Bob'})
CREATE (a)-[:FRIENDS_WITH {since: '2023-01-01'}]->(b)
// 创建节点和关系同时进行
CREATE
(alice:Person {name: 'Alice'})-[:WORKS_AT {position: 'Developer'}]->(company:Company {name: 'Neo4j Inc'})
添加或更新属性
// 添加属性
MATCH (p:Person {name: 'Alice'})
SET p.email = '[email protected]'
// 更新多个属性
MATCH (p:Person {name: 'Bob'})
SET p.age = 26, p.department = 'Engineering'
// 添加标签
MATCH (p:Person {name: 'Charlie'})
SET p:Employee:Manager
查询操作
MATCH 基础查询
// 查询所有人物
MATCH (p:Person)
RETURN p
// 查询特定属性
MATCH (p:Person)
WHERE p.age > 25
RETURN p.name, p.age
// 查询关系和路径
MATCH (p1:Person)-[r:FRIENDS_WITH]->(p2:Person)
RETURN p1.name, p2.name, r.since
复杂查询示例
// 查找朋友的朋友(两步以内)
MATCH (p:Person {name: 'Alice'})-[:FRIENDS_WITH*2]->(friendOfFriend)
RETURN friendOfFriend.name
// 聚合查询
MATCH (p:Person)
RETURN p.occupation, COUNT(*) as count, AVG(p.age) as avgAge
// 路径查询
MATCH path = (start:Person)-[:FRIENDS_WITH|WORKS_AT*1..3]->(end)
WHERE start.name = 'Alice'
RETURN path
导入外部数据
支持通过 CSV 文件导入节点和关系。

按照向导配置映射关系即可完成导入。

使用 Python 连接
可以通过 Python 代码连接 Neo4j 数据库。
from neo4j import GraphDatabase
uri = "neo4j://127.0.0.1:7687"
driver = GraphDatabase.driver(uri, auth=("neo4j", "你的密码"))
with driver.session() as session:
result = session.run("MATCH (n) RETURN n LIMIT 1")
print(result.single())
注意事项:
neo4j://127.0.0.1:7687是项目上的 URL。auth中的用户名通常是neo4j,密码则是创建项目时设置的密码。- 如果遇到问题,检查防火墙设置及端口是否开放。
网页版访问
除了客户端,也可以通过浏览器访问 http://localhost:7474 连接 Neo4j 网页版,输入密码即可登录。

如果使用旧版本,界面可能略有不同,但基本操作逻辑一致。

在网页版中,右键点击节点可以使用 expand 功能查看相关关联节点,便于分析数据关系。


