Neo4j节点/关系不一致

时间:2017-01-19 10:46:25

标签: neo4j

提取时或尝试删除

等特定节点时
MATCH (p) 
where ID(p)=79259223
OPTIONAL MATCH (p)-[r]-() 
//drops p's relations
DELETE r,p

我收到以下错误

在加载Node [79259223]的关系时,遇到了一个关系[87331456],它有startNode:80312215和endNode:83719851,即既没有起始节点也没有结束节点作为节点,我们正在为

加载关系

我还运行ConsistencyChecker导致一系列不一致的内容。但是你怎么能解决这些不一致的问题呢?我无法删除例如

的节点

1 个答案:

答案 0 :(得分:0)

以下是"修复"的可能的方式发生此错误。不幸的是,它是一种相当手动的方法,必须用于遇到相同问题的每个节点。

在删除节点之前,您可以尝试通过其本机neo4j ID删除不一致的关系。例如:

MATCH ()-[r]->()
WHERE ID(r) = 87331456
DELETE r;

注意:在删除该关系之前,您应首先尝试查看该关系(例如,将DELETE替换为RETURN)以了解您计划删除的内容。你可能想先做或做其他事。

如果该删除有效,则尝试再次删除该节点,如下所示:

MATCH (p) 
WHERE ID(p) = 79259223
DETACH DELETE p;

请注意,我使用DETACH DELETE语法,该语法将尝试删除指定节点的所有关系。