Neo4j Cypher

发布于:2025-08-15 ⋅ 阅读:(14) ⋅ 点赞:(0)

1. 数据查询与匹配类

语句 作用
MATCH 匹配已有的节点/关系
OPTIONAL MATCH 类似 SQL 的 LEFT JOIN,匹配不到时返回 null
WHERE 条件过滤,可以配合 MATCHWITHOPTIONAL MATCH
RETURN 返回结果
UNION / UNION ALL 合并多个结果集(去重/不去重)
ORDER BY 排序
SKIP / LIMIT 分页控制

2. 数据创建与修改类

语句 作用
CREATE 创建节点或关系
MERGE 匹配或创建(upsert 功能)
SET 设置或更新属性、标签
REMOVE 删除属性或标签
DELETE 删除节点或关系(节点需先删除关系)
DETACH DELETE 删除节点及其所有关系
FOREACH 循环更新(只能在 WITH 后用)

3. 聚合与计算类

语句 作用
WITH 管道传递结果,类似 SQL 的子查询中间结果
DISTINCT 去重(配合 RETURN / WITH
COUNT, SUM, AVG, MIN, MAX 聚合函数
COLLECT 把多行合并成列表

4. 模式控制与路径类

语句 作用
SHORTESTPATH() / ALLSHORTESTPATHS() 最短路径查询
[:REL*min..max] 变量长度路径
ANY, ALL, NONE, SINGLE 路径或列表的条件判断

5. 子查询与过程调用

语句 作用
CALL { ... } 内联子查询(Neo4j 4.0+)
CALL procedureName(...) 调用存储过程(如 APOC、内置过程)
YIELD 获取过程返回的列
CALL db.indexes / CALL db.constraints 系统管理命令
CALL db.schema.visualization() 图数据库结构可视化

6. 数据导入导出类

语句 作用
LOAD CSV 从 CSV 文件导入数据
USING PERIODIC COMMIT 分批提交(导入大文件时优化内存)
CALL apoc.export.csv.all(...) APOC 导出数据
CALL apoc.import.csv(...) APOC 导入数据

7. 索引与约束类

语句 作用
CREATE INDEX 创建索引(属性索引、全文索引等)
DROP INDEX 删除索引
CREATE CONSTRAINT 创建约束(唯一性、存在性、节点键)
DROP CONSTRAINT 删除约束

8. 调试与性能分析

语句 作用
PROFILE 显示执行计划和实际执行数据
EXPLAIN 只显示执行计划,不执行查询
USING INDEX 强制使用某个索引
USING SCAN 强制全表扫描(极少用)