创建节点和关系总是报id已存在,但是查询这个id并没有
发布于 3 年前 作者 wxai2324 507 次浏览 来自 问答

如图 image.png 查询结果 image.png 请问是什么原因

2 回复

出现这个错误的原因可能是节点损坏,如果在数据库进行更新或插入操作时强制kill掉了数据库进程,则极有可能损坏一些节点。

解决方案有两个思路:

一是使用neo4j-core api来直接操作数据库文件,依次遍历所有节点,找到损坏的节点,删除后重新建立节点和关系,这个方法要求使用者对数据库的数据结构和api要了解;

第二种方法是直接删除节点和关系,也就是放弃损坏的节点,可以使用Michael Hunger大神写的数据库copy工具store-utils来处理。这个工具在copy数据库的时候会忽略掉损坏的节点并删除相应的关系,比较方便。

如果数据量比较大而且损坏的节点比较少,推荐使用这个方法 来自:https://my.oschina.net/u/2538940/blog/1529812 试一下

回到顶部