增
插入节点。插入一个Person类别的节点,且这个节点有一个属性name,属性值为Andres
CREATE(n:Person { name : 'Andres'});
插入边。插入一条a到b的有向边,且边的类别为Follow
MATCH(a:Person),(b:Person)
WHEREa.name = 'Node A' AND b.name = 'Node B'
CREATE(a)-[r:Follow]->(b);
新增边:
startn1=node(3),n2=node(5) CREATE n1-[:Follow]->n2;
startn1=node(4),n2=node(6) createn1<-[:SAME{CT:'AT000006',DS:'143',TM:'1521742574',BDATE:'1014912000',EDATE:'1107014400'}]-n2;
新增属性:
startn1=node(4),n2=node(3) match n1-[r]-n2 set r.BDATE='1093968000';
从map中添加属性:
MATCH(peter{name:'Peter'})
SET peter +={hungry:TRUE,position:'Entrepreneur'}
当用map来设置属性时,可以使用+=形式的SET,用于只添加属性,而不删除图元素中已存在的属性。
新增索引
设置节点的多个标签
MATCH(n{name:'Stefan'})
SET n:German:Bossman:Swedish
RETURN n
改
更新节点。更新一个Person类别的节点,设置新的name。
MATCH(n:Person { name: 'Andres' })
SETn.name = 'Taylor';
删除节点和与其相连的边。Neo4j中如果一个节点有边相连,是不能单单删除这个节点的。
MATCH(n:Person { name:'Andres' })
DETACHDELETE n;
修改边的type:
Match ()-[r:SAME]-() create ()-[r2:`473`]-() set r2=r with r delete r
删
删除边。
MATCH(a:Person)-[r:Follow]->(b:Person)
WHEREa.name = 'Andres' AND b.name = 'Taylor'
DELETEr;
删除边
startn1=node(3),n2=node(5) MATCH (n1)-[r]->(n2) DELETE r;
删除属性:
startn1=node(6),n2=node(5) match p=n1-[r]-n2
remover.name
return p
set语句删除属性:
startn1=node(6),n2=node(5) match p=n1-[r]-n2
set r.name=null
return p
删除一个节点及其所有的关系
MATCH(n{name:'Andres'})
DETACH DELETEn
删除节点的多个标签
MATCH(n{name:'Peter'})
REMOVEn:German:Swedish
RETURN n
查
最短路径。
MATCH(ms:Person { name:'Andres' }),(cs:Person { name:'Taylor' }), p =shortestPath((ms)-[r:Follow]-(cs)) RETURN p;
查询两个节点之间的关系。
MATCH(a:Person { name:'Andres' })-[r]->(b:Person { name:'Taylor' })
RETURNtype(r);
查询一个节点的所有Follower。
MATCH(:Person { name:'Taylor' })-[r:Follow]->(Person)
RETURNPerson.name;
查询具有指定Lable的节点
match(n:Movie) return n;
查询具有指定属性的节点
match(n{name:'TOM'})return n;
查询相关节点
插入节点。插入一个Person类别的节点,且这个节点有一个属性name,属性值为Andres
CREATE(n:Person { name : 'Andres'});
插入边。插入一条a到b的有向边,且边的类别为Follow
MATCH(a:Person),(b:Person)
WHEREa.name = 'Node A' AND b.name = 'Node B'
CREATE(a)-[r:Follow]->(b);
新增边:
startn1=node(3),n2=node(5) CREATE n1-[:Follow]->n2;
startn1=node(4),n2=node(6) createn1<-[:SAME{CT:'AT000006',DS:'143',TM:'1521742574',BDATE:'1014912000',EDATE:'1107014400'}]-n2;
新增属性:
startn1=node(4),n2=node(3) match n1-[r]-n2 set r.BDATE='1093968000';
从map中添加属性:
MATCH(peter{name:'Peter'})
SET peter +={hungry:TRUE,position:'Entrepreneur'}
当用map来设置属性时,可以使用+=形式的SET,用于只添加属性,而不删除图元素中已存在的属性。
新增索引
设置节点的多个标签
MATCH(n{name:'Stefan'})
SET n:German:Bossman:Swedish
RETURN n
改
更新节点。更新一个Person类别的节点,设置新的name。
MATCH(n:Person { name: 'Andres' })
SETn.name = 'Taylor';
删除节点和与其相连的边。Neo4j中如果一个节点有边相连,是不能单单删除这个节点的。
MATCH(n:Person { name:'Andres' })
DETACHDELETE n;
修改边的type:
Match ()-[r:SAME]-() create ()-[r2:`473`]-() set r2=r with r delete r
删
删除边。
MATCH(a:Person)-[r:Follow]->(b:Person)
WHEREa.name = 'Andres' AND b.name = 'Taylor'
DELETEr;
删除边
startn1=node(3),n2=node(5) MATCH (n1)-[r]->(n2) DELETE r;
删除属性:
startn1=node(6),n2=node(5) match p=n1-[r]-n2
remover.name
return p
set语句删除属性:
startn1=node(6),n2=node(5) match p=n1-[r]-n2
set r.name=null
return p
删除一个节点及其所有的关系
MATCH(n{name:'Andres'})
DETACH DELETEn
删除节点的多个标签
MATCH(n{name:'Peter'})
REMOVEn:German:Swedish
RETURN n
查
最短路径。
MATCH(ms:Person { name:'Andres' }),(cs:Person { name:'Taylor' }), p =shortestPath((ms)-[r:Follow]-(cs)) RETURN p;
查询两个节点之间的关系。
MATCH(a:Person { name:'Andres' })-[r]->(b:Person { name:'Taylor' })
RETURNtype(r);
查询一个节点的所有Follower。
MATCH(:Person { name:'Taylor' })-[r:Follow]->(Person)
RETURNPerson.name;
查询具有指定Lable的节点
match(n:Movie) return n;
查询具有指定属性的节点
match(n{name:'TOM'})return n;
查询相关节点
STARTn=node(0) MATCH (n)-[r]-(x) RETURN n.name,type(r),x.name limit 2