【发布时间】:2013-03-24 10:30:48
【问题描述】:
使用 Neo4j 版本 1.8.1,我试图利用“密码”REST 入口点插入许多关系(查询必须插入关系,并且仅在必要时插入目标节点)。我通过http://christophewillemsen.com/streemz/8/importing-initial-data-with-the-neo4j-rest-api 博文发现了这种可能性。
如果我只创建一个关系,它会很好,但我尝试几个时它就会失败。
用于调用一种有效关系的 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 语句。
我也尝试将参数设置为列表,但没有成功。
感谢您的帮助
【问题讨论】: