2013-04-18 44 views
1

我認爲這是一個簡單的問題,但我無法找到答案。 我試過各種方式刪除使用密碼neo4j 1.6中的關係,但獲取錯誤。使用密碼刪除neo4j 1.6中的關係

start n = node(1) match n-[r:KNOWS]-m delete r; 

我要刪除所有關係的類型都知道,但我得到的錯誤 -

==> SyntaxException: expected return clause 
==> "start n = node(1) match n-[r:KNOWS]-m delete r; " 

即使我給

start n = node(1) match n-[r:KNOWS]-m delete r return count(r); 

它不工作。

注意:上述問題在neo4j 1.8上沒有看到,但我必須以某種方式在neo4j 1.6上運行查詢。

+1

你可以使用'neo4j-shell'和''traverse''和'rmrel'命令或javascript'eval'。由於商店格式沒有改變,您應該*也能夠在1.6版本上運行1.8版本的shell。但一定要做好備份! – 2013-04-18 11:45:04

+0

感謝Michael的回覆,我是你的粉絲! eval適用於節點的小改動,但節點數量巨大(百萬)需要花費數小時才能完成,並且不可靠(例如,getRelationships()適用於一個系統,而不適用於具有相同版本neo4j的另一個系統)。 – hack3r 2013-04-29 04:10:33

回答

2

您將無法使用1.6

不同誘變Cypher支架至少通過暗號要做到這一點可從1.8。 您可能必須使用API​​來刪除。

+0

API需要很長時間才能刪除關係/節點。我認爲它涉及每個crudx操作的REST調用。 – hack3r 2013-04-29 04:12:44

0

經過一段時間的最佳方式爲大量的節點做到這一點,將數據文件夾從neo4j 1.6實例移動到neo4j 1.8實例並運行cypher查詢有最快的方式,並且優於neo4j上運行javascript -shell /調用REST API。

相關問題