neo4j直接在控制台执行 Cypher 命令
1. 进入 Neo4j 控制台(Cypher-shell)
通过 Docker 进入容器内的 Cypher-shell:
docker exec -it neo4j-server cypher-shell -u neo4j -p password123
-
出现
neo4j>提示符即表示连接成功
2. 基础数据操作(Cypher 命令)
① 创建节点
CREATE (:Person {name: 'Alice', age: 30});
CREATE (:Person {name: 'Bob', occupation: 'Developer'});
-
Person:节点标签(类似表名) -
{}:节点属性(键值对)
② 查询节点
MATCH (p:Person) RETURN p; -- 查询所有Person节点
MATCH (p:Person {name: 'Alice'}) RETURN p; -- 按属性查询
③ 更新节点
MATCH (p:Person {name: 'Alice'})
SET p.age = 31, p.city = 'Beijing'; -- 修改/新增属性
④ 删除节点
MATCH (p:Person {name: 'Bob'})
DELETE p; -- 先删除关联关系才能删节点
⑤ 创建关系(边)
-- 先匹配两个节点
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
-- 创建带属性的关系
CREATE (a)-[r:FRIENDS {since: '2023-01-01'}]->(b);
-
FRIENDS:关系类型 -
since:关系属性
⑥ 查询关系
MATCH (a)-[r:FRIENDS]->(b)
RETURN a.name, r.since, b.name;
3. 高级操作示例
批量导入数据
UNWIND [
{name: 'Charlie', age: 25},
{name: 'David', age: 40}
] AS row
CREATE (:Person {name: row.name, age: row.age});
复杂查询(路径查找)
MATCH path = (a:Person)-[:FRIENDS*2]->(b:Person)
RETURN path;
添加索引(提升查询性能)
CREATE INDEX FOR (p:Person) ON (p.name);
4. 控制台实用技巧
| 命令/快捷键 | 功能 |
|---|---|
:help |
查看帮助 |
:history |
查看历史命令 |
Ctrl + C |
终止当前查询 |
MATCH (n) RETURN n |
查看所有节点和关系 |
:exit |
退出 Cypher-shell |
5. 可视化验证
执行完操作后,在浏览器访问 http://localhost:7474:
-
输入
MATCH (n) RETURN n查看完整图谱 -
点击节点/关系查看属性
https://neo4j.com/docs/cypher-manual/current/images/result-graph-view.png
6. 数据备份(通过控制台)
# 在宿主机执行(非Cypher-shell)
docker exec your-neo4j-container neo4j-admin dump --to=/data/backup.dump
常见问题解决
-
语法错误:确保每条 Cypher 以分号结尾
-
删除限制:删除节点前需先删除其关系
-
性能优化:大数据量时添加
LIMIT子句MATCH (p:Person) RETURN p LIMIT 100;
通过 Cypher-shell 可以高效完成所有数据操作,适合自动化脚本和快速调试!
郭慕荣博客园

浙公网安备 33010602011771号