基础
查询关键字: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