neo4j简单添加节点、关系及其删除

497 阅读1分钟

简单记录通过 neo4jCypher 语言创建节点、关系并实现删除。 通过 Cypher 语言创建两个节点

create (n:Person { name: 'Andres', title: 'Developer' }) return n;
create (n:Person { name: 'Vic', title: 'Developer' }) return n;

通过下面的语句可以查询添加到 neo4j 数据库中的所有节点

match(n) return n;

如图:

image.png 注意到,当再次调用创建节点语句后会在数据库中重复添加节点,这两个节点的属性完全一样,但是是两个不相同的节点(存在不同的主键)。

create (n:Person { name: 'Vic', title: 'Developer' }) return n;

如图:

image.png 为了解决重复添加的问题,将 create 语句换为 merge 关键字,当重复添加时也不会出现节点重复的情况。 可以把这个关键字理解为将 creatematch 合并到一起:如果不存在这个节点则会创建该节点,如果该节点已经存在则相当于 match 关键字。

merge (n:Person { name: 'Andres', title: 'Developer' }) return n;

为这个实体创建关系,这个我们添加了一个从 Vic 指向 Andresfriends关系。

MATCH (a:Person {name:'Vic'}), 
      (b:Person {name:'Andres'}) 
MERGE (a)-[:FRIENDS]->(b)

image.png 删除 Person 类节点以及它们之间的 friends 类关系。

match(a:Person)-[r:FRIENDS]-(b:Person)
delete a,r,b