栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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..


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611557.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号