Neo4j:删除自我关系

问题描述 投票:3回答:1

在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

neo4j cypher
1个回答
1
投票

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

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

MATCH (a:Person)-[rel:IS_RELATED_TO]->(a) 
DELETE rel;
© www.soinside.com 2019 - 2024. All rights reserved.