Neo4j:如何通过密码删除数据库中所有重复的关系?

Neo4j:如何通过密码删除数据库中所有重复的关系?,第1张

Neo4j:如何通过密码删除数据库中所有重复的关系?

在链接的SO问题中,db全局查询会出现什么错误?尝试替换

|
:
FOREACH
,这是唯一打破语法的区别,我可以看到。2.x表示同一件事的方式,除了适合于您在数据库中只有一种关系类型之外,可能是

MATCH (a)-[r]->(b)WITH a, b, TAIL (COLLECT (r)) as rrFOREACH (r IN rr | DELETE r)

我认为

WITH
当没有重复项时,管道将带有空的尾巴,而且我不知道循环遍历一个空集合有多昂贵-
我的感觉是引入限制的地方是在后面加上一个过滤器
WITH
,喜欢

MATCH (a)-[r]->(b)WITH a, b, TAIL (COLLECT (r)) as rrWHERe length(rr) > 0 LIMIT 100000FOREACH (r IN rr | DELETE r)

由于此查询根本不涉及属性(与您的查询相反,它返回(a)和(b)的属性),我认为对于像您这样的中型图,它不会占用太多内存,但是您将拥有尝试极限。

如果仍然存在内存问题,那么如果有任何方法可以限制节点使用(不涉及属性),那也是一个好主意。如果您的节点可以通过标签区分,请尝试同时运行一个标签的查询

MATCH (a:A)-[r]->(b) //etc..MATCH (a:B)-[r]->(b) //etc..


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5617680.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存