Neo4j删除N关系
有两个节点 帖子 使用者 两个节点之间存在一种称为共享的关系Neo4j删除N关系,neo4j,Neo4j,有两个节点 帖子 使用者 两个节点之间存在一种称为共享的关系 (:User{name:'John'}) -[share:shared]-> (:Posts{name:'1'}) 用户已共享新闻5次,因此countshare为5。现在我需要删除1个共享。i、 e.countshare需要更改为4 如何做到这一点 像这样: MATCH (:User{name:'John'}) -[share:shared]-> (:Posts{name:'1'}) WITH share LIMIT 1
(:User{name:'John'}) -[share:shared]-> (:Posts{name:'1'})
用户已共享新闻5次,因此countshare为5。现在我需要删除1个共享。i、 e.countshare需要更改为4
如何做到这一点 像这样:
MATCH (:User{name:'John'}) -[share:shared]-> (:Posts{name:'1'})
WITH share LIMIT 1
DELETE share
我认为:
您的数据库实际上不包含2个节点,仅包含1个用户节点和1个Posts节点,以及
每个Posts节点只有一个传入的共享关系
如果您不关心哪个帖子未共享,也不想删除该帖子的节点,那么您可以这样删除“John”的一个共享关系:
MATCH (:User {name:'John'})-[share:shared]->(:Posts)
WITH share LIMIT 1
DELETE share;
MATCH (:User {name:'John'})-[share:shared]->(:Posts {name: '4'})
DELETE share;
另一方面,如果您想特别删除“John”和名为“4”的帖子之间的共享关系,假设您不想删除该帖子的节点:
MATCH (:User {name:'John'})-[share:shared]->(:Posts)
WITH share LIMIT 1
DELETE share;
MATCH (:User {name:'John'})-[share:shared]->(:Posts {name: '4'})
DELETE share;