繁体   English   中英

通过REST端点进行密码查询:未创建关系

[英]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失败。 尝试同时返回t1t2 ,以查看它们是否按预期工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM