一、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”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐