在链接的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..



