我知道很多类似的问题已经被问到。但似乎这些答案无法解决我的问题。我有一个非常大的图,大约有100万个节点和300万个关系。当我尝试使用以下语句删除它们时:如何删除neo4j中的所有节点和所有关系
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r
然后服务器崩溃。 OK,我加LIMIT:
MATCH (n)
OPTIONAL MATCH (n)-[r]-()
WITH n,r LIMIT 1000000
DELETE n,r
服务器将不会崩溃,但的异常显示出来:
org.neo4j.kernel.api.exceptions.TransactionFailureException: Node record Node[1578965,used=false,rel=662269,prop=-1,labels=Inline(0x0:[]),light] still has relationships
我猜LIMIT百万将停止我的关系删除。然后它转向删除节点。这会导致该异常。我对吗?因为我不太了解LIMIT 1000000的过程。
那我该怎么办?每次我需要清除我的图时,我都不想删除数据库文件。设置更大的内存空间可能会有所帮助,但我的图形大小也可能会变大。事故最终会发生。
感谢您的回复。我尝试了你的方法。例外“Neo.DatabaseError.Statement.ExecutionFailure”将在第二次露面我跑了声明:
MATCH (n)
WITH n LIMIT 1000000
DETACH DELETE n
或本声明:
MATCH()-[r]-()
WITH r
LIMIT 1000000
DELETE r
我放弃了。我想我最好删除我的文件夹中的所有文件。这对我来说很简单。
您是否尝试减小批量大小,即限制? – Luanne