0
POST /db/data/cypher HTTP/1.1
Accept-Encoding: identity
Content-Length: 243
Host: localhost:7474
Content-Type: application/json
X-Stream: true;format=pretty
User-Agent: py2neo/1.6.0 HTTPStream/1.0.9 Python/2.7.3-final-0 (linux2)

{"query":"\n            CYPHER 1.9\n            START user = node(*)\n            WHERE user.password? = '{password}'\n            RETURN user\n            ","params":{"password":"$2a$12$5.OLqPRaoAhItdfAgNZZYeCf8TJzSM2aMmnK8a.K2DdrKOoMhKOpi"}}HTTP/1.1 200 OK
Content-Length: 44
Content-Type: application/json; charset=UTF-8
Access-Control-Allow-Origin: *
Server: Jetty(6.1.25)

{
  "columns" : [ "user" ],
  "data" : [ ]
}

そして、読みやすいようにフォーマットされたクエリ自体:

{"query":
"
CYPHER 1.9
START user = node(*)
WHERE user.password? = '{password}'
RETURN user
",
"params":
        { "password":
          "$2a$12$5.OLqPRaoAhItdfAgNZZYeCf8TJzSM2aMmnK8a.K2DdrKOoMhKOpi" } }

これを neo4j-shell で実行すると、次のようになります。

start user = node(*) 
where user.password = '$2a$12$5.OLqPRaoAhItdfAgNZZYeCf8TJzSM2aMmnK8a.K2DdrKOoMhKOpi' 
return user;

期待される結果、ユーザーとのノードを受け取ります。

どうやら、このクエリを送信した場合はそうではありません。何を与える?

PS。問題があれば、実際にリクエストを送信するライブラリはhttpstream.

4

1 に答える 1

1

パラメータを囲む引用符を省略します。

{"query":
"
CYPHER 1.9
START user = node(*)
WHERE user.password? = {password}   // <---- quotes removed here
RETURN user
",
"params":
    { "password":
      "$2a$12$5.OLqPRaoAhItdfAgNZZYeCf8TJzSM2aMmnK8a.K2DdrKOoMhKOpi" } }
于 2013-10-03T16:32:48.123 に答える