使用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