我在2节点之间有很多关系(相同的类型)。 现在我想删除所有这些但仍保持关系。
答案 0 :(得分:3)
您可以这样做:
MATCH (a:Node {id:1})-[r:rel]->(b:Node {id:2})
WITH collect(r) as rels
FOREACH (rel in rels[1..] |
DELETE rel
)
此查询迭代匹配关系,从第二个到最后删除它们。
如果您不希望迭代关系,可以使用APOC procedure apoc.create.relationship
作为替代方案。这样,您将删除所有当前关系,并根据排除关系的类型创建一个新关系。
MATCH (a)-[r:rel]->(b)
DELETE r
WITH distinct a, b, type(r) as type
CALL apoc.create.relationship(a, type, {}, b) YIELD rel
RETURN rel