2013-11-25 70 views
2

我用BatchInserter打開數據庫,我想在一段時間後刪除數據庫。我搜索,但我沒有發現任何下降或清除功能。什麼是刪除數據庫的正確方法?如何刪除neo4j圖形數據庫

UPDATE: 爲了解決我的問題,一開始我關閉(關機)的數據庫,然後我試圖刪除下面的代碼數據庫目錄:

public void deleteRecursively(File file) { 
    if (!file.exists()) { 
     return; 
    } 
    if (file.isDirectory()) { 
     for (File child : file.listFiles()) { 
      deleteRecursively(child); 
     } 
    } 
    if (!file.delete()) { 
     throw new RuntimeException("Couldn't empty database."); 
    } 
} 

但目錄並不總是刪除成功。我認爲當數據庫變大時會出現問題。這是爲什麼發生? 。

回答

7

您可以刪除整個目錄,或者如果你想直接刪除的內容,你可以做

start n=node(*) 
match n-[r?]-() 
delete r,n 

在1.9 *

和2.0,我猜想的一樣:

match n 
with n  
optional match n-[r]-() 
delete r,n 
+0

對於問題是模糊的選項+1,但我想你可能想做'MATCH(n)可選MATCH(n) - [r] - ()DELETE r,n' in 2.0,no?或者它不匹配沒有關係的節點。 – jjaderberg

+0

是的,很好的捕捉,更新。謝謝:-) – Luanne

+0

+1,刪除目錄是要走的路,除非你的節點數少於50k。 –

1

參考盧安妮的答案,並用手動刪除數據庫目錄中去,說:「Database_name.graphdb」(如果要刪除數據庫)或使用該 MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

這將刪除所有的節點及其關係(我認爲,你的意思是你的數據庫)。

相關問題