2013-04-08 28 views
1

以下REST API批处理失败:Neo4j的get_or_create独特的REST API批次问题

POST http://localhost:7474/db/data/batch [{"method":"POST","to":"index/node/name uniqueness=get_or_create","body":{"key":"name","value":"Person1","properties":{"Type":"PERSON"}},"id":1}, 
{"method":"POST","to":"index/node/name?uniqueness=get_or_create","body":{"key":"name","value":"Person2","properties":{"Type":"PERSON"}},"id":2}, 
{"method":"POST","to":"{1}/relationships","body":{"type":"Knows","to":"{2}","data":{"Since":"2012"}},"id":3}] 

了500内部服务器错误。

由于某些原因,在使用唯一性= get_or_create时,似乎不可能使用{1}和{2}引用批处理中的节点。或者我错过了什么?

+0

这可能是由于该指数的操作不设置位置标头。请在github.com/neo4j/neo4j/issues上提出问题。 – 2013-04-09 06:07:22

+0

看起来像https://github.com/neo4j/neo4j/issues/84已经指出这个问题。 – 2013-04-09 14:28:11

回答

1

您可以在第三个操作中使用密码进行索引查找以访问新创建的节点。

start n1=node:name(name={name1}), n2=node:name(name={name2}) 
create n1-[:Knows {props}]->n2 

与参数

{ 
"query":"start n1=node:name(name={name1}), n2=node:name(name={name2}) create n1-[:Knows {props}]->n2", 
"params":{"name1":"Person1","name2":"Person2","props":{"Since":"2012"}} 
} 
+0

感谢您分享解决方法。它现在可以解决这个问题,但是如果问题得到解决,我的关系对象很难序列化为密码查询,那将是非常好的。 – 2013-04-09 14:31:35