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