Neo4j:删除自我关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Neo4j:删除自我关系相关的知识,希望对你有一定的参考价值。

在Cypher(Neo4j)中,我可以使用id删除关系。但是当我尝试删除自我关系时,查询会长时间运行,并且关系不会被删除。

我尝试过很多方法:

  1. start r=rel(5828) delete r;
  2. MATCH (p:Person{fid:'60'})-[r:IS_RELATED_TO]->(p:Person{fid:'60'})删除r
  3. match (a:Person)-[rel:IS_RELATED_TO]->(b:Person) where a.fid="60" and ID(rel)=5828 delete rel

但无法从上述任何方式删除。

使用id删除自我关系的屏幕截图:

enter image description here

答案

看起来您要删除的关系实际上没有本机ID 5828。并且它看起来像Person节点,该关系实际上没有fid值“60”。

如果您只想删除涉及Person标签和IS_RELATED_TO类型的所有自我关系,这应该有效(假设Person节点具有唯一的fid值):

MATCH (a:Person)-[rel:IS_RELATED_TO]->(a) 
DELETE rel;

以上是关于Neo4j:删除自我关系的主要内容,如果未能解决你的问题,请参考以下文章

使用密码删除neo4j中的所有节点和关系超出堆空间

删除 neo4j 1.8 中的所有节点和关系

Neo4j:具有多种关系的二部到单部投影

删除 Neo4j 图中多余的双向关系

Neo4j删除图形内存不足

社交网络架构、C++ Clients Neo4j 数据库之间有啥关系?