使用Neo4j版本1.8.1,我試圖利用「密碼」REST入口點來插入許多關係(查詢必須插入關係,如果需要的話,目標節點)。我通過http://christophewillemsen.com/streemz/8/importing-initial-data-with-the-neo4j-rest-api博客文章發現了這種可能性。通過Rest API在一個密碼查詢中執行多個CREATE UNIQUE
如果我只創建一個關係,但只要我嘗試了幾次就失敗了。
的JSON用於撥打電話進行一對一的關係這是工作:
{"query":"START n=node:node_auto_index(UserId='21000001') CREATE UNIQUE n-[:KNOWS{Label:'Friend'}]-(m{Users})", "params":{"Users" : [{"UserId":"21000003"}]}}
一個我試圖讓2的關係這是失敗的:
{"query":"START n=node:node_auto_index(UserId='21000001') CREATE UNIQUE n-[:KNOWS{Label:'Friend'}]-(m{Users})", "params":{"Users" : [{"UserId":"21000002"},{"UserId":"21000003"}]}}
通過REST Retunred錯誤請撥打:
{
"message": "The pattern CreateUniqueAction(List(m-[:`LOVES`]-n)) produced multiple possible paths, and that is not allowed",
"exception": "UniquePathNotUniqueException",
"stacktrace": "..."
}
不知道我的查詢究竟如何在Neo4中轉換j很難找到我必須改變我的查詢。
我認爲Neo4j會做2個查詢,但由於錯誤,它似乎在爲另一個節點端做一種IN語句。
我也嘗試使PARAMS作爲列表,但它沒有奏效。
謝謝您的幫助
它似乎回答我的問題。我會在今天早上嘗試驗證。 – 2013-03-26 06:27:22
沒關係,它允許我以正確的性能正確地打我的數據庫到我的數據庫(1000到2秒到4秒創建unqiue查詢)。 – 2013-03-26 10:44:48