Neo4j 图数据库入门与实战指南
一、安装部署
1. Windows 环境安装
准备环境
新版 Neo4j 通常依赖 JDK 17 及以上版本,请确保本地已配置好 Java 环境。
下载与解压
访问官方部署中心下载对应系统的社区版。解压后进入 bin 目录即可运行。
启动服务
直接执行 neo4j.bat console 在控制台查看日志。启动成功后,浏览器访问 http://localhost:7474/。
首次登录默认账号密码为 neo4j/neo4j,系统会强制要求修改为新密码。
2. Docker 快速部署
使用容器化方式可以避免环境冲突,命令如下:
docker pull neo4j:3.5.22-community
docker run -d \
-p 7474:7474 -p 7687:7687 \
--name neo4j \
-e "NEO4J_AUTH=neo4j/123456" \
-v /usr/local/soft/neo4j/data:/data \
-v /usr/local/soft/neo4j/logs:/logs \
-v /usr/local/soft/neo4j/conf:/var/lib/neo4j/conf \
-v /usr/local/soft/neo4j/import:/var/lib/neo4j/import \
neo4j:3.5.22-community
二、CQL 核心语法
Cypher 是 Neo4j 的查询语言,设计初衷就是直观表达图结构关系。
1. 创建节点与属性
使用 CREATE 语句定义节点及其标签(Label)和属性(Properties)。标签类似于数据库中的表名,用于分类索引。
-- 创建基础节点
CREATE (stu:Student), (tea:Teacher)
-- 创建带属性的节点
CREATE (zhangsan:Student { id: 1, name: 'zhangsan', age: 13 })
2. 查询数据
MATCH 配合 RETURN 是最基础的查询组合。如果不加 RETURN,查询结果会被丢弃且可能报错。
-- 匹配所有学生节点并返回
MATCH (s:Student) RETURN s
-- 只返回特定属性
MATCH (s:Student) RETURN s.id, s.name, s.age
3. 条件过滤
WHERE 子句用于筛选数据,支持逻辑运算符如 AND, OR, IS NOT NULL 等。
-- 多条件查询
MATCH (emp:Employee)
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp
-- 处理空值
MATCH (e:Employee)
WHERE e.id IS NOT NULL
RETURN e.id, e.name
4. 关系操作
图数据库的核心在于关系。可以使用 CREATE 连接两个已知或新创建的节点。
-- 创建单向关系
CREATE (d:Dog)-[r:Like]->(c:Cat)
-- 创建带属性的关系
MATCH (d:Dog), (c:Cat)
WHERE d.name = 'dog1' AND c.name = 'cat1'
CREATE (d)-[r:love {info: 'loveit'}]->(c)
RETURN r
5. 更新与删除
SET 用于添加或更新属性, 删除节点或关系, 移除标签或属性。


