是否可以从双向关系中只显示一个方向关系?
(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
,andr2
也会改变角色,并且都被删除。