#rest #neo4j #cypher
#rest #neo4j #шифр
Вопрос:
Я использую сообщество 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 работает, например, для вставки узла.
Ответ №1:
Вы уверены, что ваш запрос не работает. Вы не возвращаете никаких данных, поэтому возможно, что они создаются без вашего ведома.
Вы могли бы попробовать что-то вроде этого
MATCH (t1:Test{name: {test1}}), (t2:Test{name: {test2}})
CREATE (t1)-[rel:REL_TEST]->(t2)
RETURN rel
Если вы не получаете rel
в своем ответе, это означает, что rel не был создан, вероятно, потому, что по крайней мере один из MATCH
es потерпел неудачу. Попробуйте вернуть t1
, t2
а также посмотреть, работают ли они так, как ожидалось.
Комментарии:
1. Хорошо, кажется, я неправильно использовал какое-то имя класса узла: (Ваш совет искать напрямую с помощью запроса REST, если мои узлы были доступны, был ценным, чтобы найти это. Большое вам спасибо!