我知道很多類似的問題已經被問到。但似乎這些答案無法解決我的問題。我有一個非常大的圖,大約有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