[英]Cypher query via the REST endpoint : relationship not created
我正在使用Neo4j 2.0.1社区。 我尝试通过REST端点发送查询,以在图中插入关系。
我的关系查询非常简单:
MATCH (t1:Test { name : 'TEST_1' }), (t2:Test { name : 'TEST_2' }) CREATE (t1)-[:REL_TEST]->(t2)
我在Powershell中这样称呼它:
$postParams = "{ `"query`" : `"MATCH (t1:Test { name : {test1} }), (t2:Test { name : {test2} }) CREATE (t1)-[:REL_TEST]->(t2)`",`"params`" : { `"test1`" : `"TEST_1`", `"test2`" : `"TEST_2`" } }"
Invoke-WebRequest -Uri http://localhost:7474/db/data/cypher -Method POST -Body $postParams -Headers @{"Accept"="application/json; charset=UTF-8";"Content-Type"="application/json"}
我得到以下回应:
StatusCode : 200
StatusDescription : OK
Content : {
"columns" : [ ],
"data" : [ ]
}
RawContent : HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Length: 40
Content-Type: application/json; charset=UTF-8
Server: Jetty(9.0.z-SNAPSHOT)
{
"columns" : [ ],
"data" : [ ]
}
Forms : {}
Headers : {[Access-Control-Allow-Origin, *], [Content-Length, 40], [Content-Type, application/json; charset=UTF-8], [Server, Jetty(9.0.z-SNAPSHOT)]}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 40
但是没有建立关系。 如果然后在浏览器用户界面中键入相同的查询,它将起作用。 我没有做错什么,特别是因为查询在浏览器中有效,而REST调用过程例如可用于插入节点。
您确定查询无法正常工作。 您不会返回任何数据,因此有可能在您不知道的情况下创建了这些数据。
你可以尝试这样的事情
MATCH (t1:Test{name: {test1}}), (t2:Test{name: {test2}})
CREATE (t1)-[rel:REL_TEST]->(t2)
RETURN rel
如果您没有在响应中得到rel
,则意味着未创建相关结果,可能是因为至少有一个MATCH
失败。 尝试同时返回t1
和t2
,以查看它们是否按预期工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.