一、环境准备
1.1 JDK 配置
Neo4j 5.x 版本依赖 Java 运行环境,建议安装 JDK 17 或更高版本。确保环境变量 JAVA_HOME 已正确配置。
1.2 下载与解压
前往 Neo4j 官方部署中心下载对应操作系统的安装包。Windows 下通常为绿色版,解压即可使用,无需复杂安装向导。
1.3 环境变量设置
将 Neo4j 的安装路径添加到系统环境变量中,例如 NEO4J_HOME,方便后续在命令行调用管理工具。
二、启动与服务管理
2.1 启动服务
进入安装目录下的 bin 文件夹,在终端执行以下命令以控制台模式启动:
./neo4j.bat console
Windows 用户也可直接使用 neo4j.bat start 后台启动。停止服务时,若为控制台模式按 Ctrl+C;若为后台服务则使用 neo4j stop。
2.2 查看状态
通过以下命令检查服务运行状态:
neo4j status
2.3 访问浏览器
服务启动成功后,打开浏览器访问 http://localhost:7474/browser/preview/。首次登录需修改默认密码(初始账号通常为 neo4j)。
三、数据导入与管理
3.1 导入 Dump 文件
若需恢复备份数据,可使用 neo4j-admin 工具。注意:目标数据库名称必须与备份文件名一致。
neo4j-admin database load --from-path="D:\develop\neo4j-community-5.x\dumps" --overwrite-destination=true neo4j
执行前请确保 Neo4j 服务处于关闭状态,否则可能报错。
四、Cypher 查询语言核心用法
Cypher 是 Neo4j 的声明式查询语言,语法直观,适合描述图结构中的模式匹配。
4.1 创建节点与关系
使用 CREATE 语句构建图数据。支持批量创建及属性赋值。
-- 创建带标签和属性的节点
CREATE (n:Person {name: 'John Doe', age: 30})
-- 同时创建节点与关系
CREATE (a:Person {name: 'Alice'})-[r:KNOWS {since: 2020}]->(b:Person {name: 'Bob'})
RETURN a, r, b
4.2 匹配与查询
MATCH 用于定位图中的节点或关系,常配合 WHERE 子句进行过滤。
-- 查找特定属性节点
MATCH (n:Person) WHERE n.name = 'Alice' RETURN n
-- 查找关系路径
MATCH (a:Person {name: 'Alice'})-[r:KNOWS]->(b) RETURN a, r, b
4.3 更新与删除
修改属性用 SET,移除属性用 REMOVE。删除节点前需注意关联关系,推荐使用 DETACH DELETE 级联删除。
-- 更新属性
MATCH (n:Person {name: 'Alice'}) SET n.age = 31 RETURN n
-- 安全删除节点及其关系
MATCH (n:Person {name: 'Bob'}) DETACH DELETE n
4.4 合并操作
MERGE 保证模式存在性,若不存在则创建,存在则返回。常用于幂等写入场景。
MERGE (n:Person {name: 'Alice'}) ON CREATE SET n.created_at = timestamp()
ON MATCH SET n.last_seen = timestamp()
RETURN n
五、常用管理命令
除了 Cypher,Neo4j 还提供了一些系统管理命令,适用于索引、约束及元数据查询。
5.1 约束与索引
建立唯一性约束可保障数据完整性,索引能显著提升查询性能。
-- 创建唯一约束
CREATE CONSTRAINT constraint_name FOR (n:Person) REQUIRE n.email IS UNIQUE
-- 创建普通索引
CREATE INDEX index_name FOR (n:Person) ON (n.name)
-- 查看所有索引
SHOW INDEXES
5.2 系统信息
-- 查看数据库基本信息
:sysinfo
-- 可视化 Schema 结构
CALL db.schema.visualization()
-- 列出所有数据库
SHOW DATABASES
5.3 实用技巧
- 清空数据:谨慎使用,会保留索引和约束。
MATCH (n) DETACH DELETE n - 统计数量:
MATCH (n:Person) RETURN count(n) - 帮助命令:在 Browser 中输入
:help查看可用指令。
掌握这些基础命令后,建议在 Browser 中多动手实践,熟悉图数据的增删改查逻辑。


