[英]Querying single relationship from a bidirectional relationship in Neo4j
是否可能仅显示双向关系中的一个方向关系?
(N) - [:EMAIL_LINK] - >(M)
(N)< - [:EMAIL_LINK] - (M)
如果所讨论的关系类型不具有方向性语义,则最佳做法是在图表中仅使用一次,并在查询时忽略方向,即(a)-[:EMAIL_LINK]-(b)
而不是(a)-[:EMAIL_LINK]->(b)
。
要摆脱不同方向上的重复关系,请使用:
MATCH (a)-[r1:EMAIL_LINK]->(b)<-[r2:EMAIL_LINK]-(a)
WHERE ID(a)<ID(b)
DELETE r2
如果您的图形很大,则需要通过添加LIMIT
并多次运行查询直到所有处理都完成,来确保事务大小合理。
注意: WHERE ID(a)<ID(b)
是必需的。 否则, a
和b
可能会在以后的迭代中更改角色。 因此, r1
和r2
也将更改角色,并且都将被删除。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.