Neo4jバージョン1.8.1を使用して、「暗号化」RESTエントリポイントを使用して多くの関係を挿入しようとしています(クエリは関係を挿入する必要があり、必要な場合にのみ宛先ノードを挿入する必要があります)。この可能性は、http://christophewillemsen.com/streemz/8/importing-initial-data-with-the-neo4j-rest-apiブログ投稿で見つけました。
リレーションシップを1つだけ作成するとうまく機能しますが、いくつか試してみるとすぐに失敗します。
動作している1つの関係を呼び出すために使用される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呼び出しによって再調整されたエラーは次のとおりです。
{
"message": "The pattern CreateUniqueAction(List(m-[:`LOVES`]-n)) produced multiple possible paths, and that is not allowed",
"exception": "UniquePathNotUniqueException",
"stacktrace": "..."
}
クエリがNeo4j内でどのように正確に変換されるかわからないため、クエリをどのように変更する必要があるかを見つけるのは困難です。
Neo4jは2つのクエリを実行すると思いましたが、エラーにより、もう一方のノード側に対して一種のINステートメントを実行しているようです。
また、パラメータをリストとして作成しようとしましたが、機能しませんでした。
ご協力ありがとうございました