一、MATCH 查询

cypher

MATCH (n:`西游`) RETURN n LIMIT 25
  • 用于从数据库获取节点、关系和属性的数据

  • 支持条件过滤、排序、分页等


二、RETURN 返回

cypher

MATCH (n:`西游`) RETURN id(n), n.name, n.tail, n.relation
  • 可返回节点的某些属性或所有属性

  • 可返回节点和关联关系的某些属性或所有属性


三、WHERE 子句

cypher

MATCH (n:person) 
WHERE n.name = '孙悟空' OR n.name = '猪八戒' 
RETURN n
  • 用于过滤 MATCH 查询结果

  • 支持逻辑运算、比较运算、IN 操作等


四、CREATE 关系

cypher

MATCH (n:person), (m:person) 
WHERE n.name = '孙悟空' AND m.name = '猪八戒' 
CREATE (n)-[r:师弟]->(m) 
RETURN n.name, type(r), m.name

五、DELETE 删除

删除节点(无关系时)

cypher

MATCH (n:person {name:"白龙马"}) 
DELETE n

删除关系

cypher

MATCH (n:person {name:"沙僧"})<-[r]-(m) 
DELETE r 
RETURN type(r)

六、REMOVE 删除属性/标签

删除属性

cypher

MATCH (n:role {name:"fox"}) 
REMOVE n.age 
RETURN n

删除标签

cypher

MATCH (m:role:person {name:"fox666"}) 
REMOVE m:person 
RETURN m

七、SET 添加/更新属性

cypher

MATCH (n:role {name:"fox"}) 
SET n.age = 32 
RETURN n

八、ORDER BY 排序

cypher

MATCH (n:`西游`) 
RETURN id(n), n.name 
ORDER BY id(n) DESC
  • 默认升序(ASC),可指定 DESC


九、UNION / UNION ALL

cypher

MATCH (n:role) RETURN n.name AS name
UNION
MATCH (m:person) RETURN m.name AS name
  • UNION:去重合并

  • UNION ALL:合并所有行(含重复)

要求:结果列名和类型必须匹配


十、LIMIT / SKIP

cypher

MATCH (n:`西游`) RETURN n LIMIT 2      -- 前两行
MATCH (n:person) RETURN n SKIP 2      -- 忽略前两行

十一、NULL 值处理

cypher

MATCH (n:`西游`) 
WHERE n.label IS NULL 
RETURN id(n), n.name, n.tail, n.label

十二、IN 操作符

cypher

MATCH (n:`西游`) 
WHERE n.name IN ['孙悟空', '唐僧'] 
RETURN id(n), n.name, n.tail, n.label

十三、索引(INDEX)

创建索引

cypher

CREATE INDEX ON :`西游` (name)

删除索引

cypher

DROP INDEX ON :`西游` (name)

十四、UNIQUE 约束

创建唯一约束

cypher

CREATE CONSTRAINT ON (n:xiyou) ASSERT n.name IS UNIQUE

删除唯一约束

cypher

DROP CONSTRAINT ON (n:xiyou) ASSERT n.name IS UNIQUE

十五、DISTINCT

cypher

MATCH (n:`西游`) 
RETURN DISTINCT(n.name)

十六、常用函数

字符串函数

函数 说明
UPPER 转大写
LOWER 转小写
SUBSTRING 取子串
REPLACE 替换子串

聚合函数

函数 说明
COUNT 行数
MAX 最大值
MIN 最小值
SUM 求和
AVG 平均值

关系函数

函数 说明
STARTNODE 关系的开始节点
ENDNODE 关系的结束节点
ID 关系的 ID
TYPE 关系的类型(字符串)

十七、数据库备份与恢复(neo4j-admin)

操作前需关闭 Neo4j 服务

备份

neo4j stop
neo4j-admin dump --database=graph.db --to=/neo4j/backup/graph_backup.dump

恢复

neo4j-admin load --from=/neo4j/backup/graph_backup.dump --database=graph.db --force
neo4j start
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐