neo4j的Cypher的使用语句记录

2022-11-02 16:12:50 浏览数 (1)

基础

查询关键字:MATCH 创建关键字:CREATE 删除关键字:DELETE 设置属性关键字:SET 设置关联关系:MERGE 统计总数关键字:COUNT

1. 查询语句

1.1 查询节点

代码语言:javascript复制
// 查询所有节点
MATCH (n) RETURN n
代码语言:javascript复制
// 查询所有标签总数
match (n) return count(n)
代码语言:javascript复制
// 查询某个标签总数
match (n:Person) return count(n)
代码语言:javascript复制
// 查询某个标签的全部节点
MATCH (n) RETURN n
代码语言:javascript复制
// 查询某个标签中等于某个属性的节点
MATCH (n:SocialUser {name:'李白'}) RETURN n 
代码语言:javascript复制
// in的操作 查询n的节点名称为数组里的
MATCH (n:SocialUser) WHERE n.name in ['李白','杜甫'] RETURN n 
代码语言:javascript复制
// 查询所有下级节点,包含开始节点
MATCH (a:Person {name:'龙小弟'})-[r*0..]->(b) return b
代码语言:javascript复制
// 查询所有下级节点,不包含开始节点(设置层级就修改r*n的n值)
MATCH (a:Person {name:'龙小弟'})-[r*1..]->(b) return b
代码语言:javascript复制
// 查询所有执行本节点的关系,包含本节点
MATCH (a:Person {name:'龙傲天'})<-[r*0..]-(b) return b
代码语言:javascript复制
// 查询所有执行本节点的关系,不包含本节点(设置层级就修改r*n的n值)
MATCH (a:Person {name:'龙傲天'})<-[r*1..]-(b) return b

1.2 查询关系

代码语言:javascript复制
// 查询所有具有对外关系的节点
MATCH (a)-->() RETURN a
代码语言:javascript复制
// 查询所有具有被指向关系的节点
MATCH ()-->(a) RETURN a
代码语言:javascript复制
// 查询所有存在的关系
MATCH ()-[r]->() RETURN r

2. 创建语句

代码语言:javascript复制
// 创建一个标签为Person的节点,节点有一个name属性,属性值为'John'
CREATE (n:Person{name:'John'}) RETURN n
代码语言:javascript复制
// 给a节点设置一个age属性,属性值为34
MATCH (a:Person{name:'Liz'}) SET a.age = 34
代码语言:javascript复制
// 给某个标签对外的所有关系增加属性
MATCH p=(Person)-[r]->() SET r={since:"2017-01-02"}  RETURN p;   
代码语言:javascript复制
// 给某个标签对外的某个关系增加属性
MATCH p=(Person)-[r:BIGBROTHER ]->() SET r={since:"2017-01-02"}  RETURN p;   
代码语言:javascript复制
// 给某个标签中某个对应属性的节点对外的某个关系增加属性
MATCH p=(Person {name:'n1'})-[r:BIGBROTHER ]->() SET r={since:"2017-01-02"}  RETURN p;   

3. 删除语句

代码语言:javascript复制
// 删除所有节点和关系,MATCH是匹配操作,()代表所有节点,DELETE为删除操作
MATCH (n) DETACH DELETE n
代码语言:javascript复制
// 删除a节点的test属性
MATCH ... REMOVE a.test
代码语言:javascript复制
// 删除a节点
MATCH ... DELETE a
代码语言:javascript复制
// 删除两个标签之间的某个关系
match (n:Person)<-[r:BIGBROTHER]-(m:Person) DELETE  r
代码语言:javascript复制
// 删除两个标签中某个节点之间的某个关系
match (n:Person {name:'n1'})<-[r:BIGBROTHER]-(m:Person {name:'n2'}) DELETE  r

0 人点赞