Neo4j Empty Response from /db/data/cypher

656 Views Asked by At

I'm having some issues executing Cypher queries through Everyman\Neo4j. When the cURL request is encoded and sent to http://localhost:7474/db/data/cypher, an Empty response is sent back with a HTTP 200 status.

I've logged into the terminal and I can see that neo4j-service is running on the correct port, I can connect with the neo4j-shell and run the Cypher I am trying to execute. I can also cURL via terminal to a number of endpoints and get a valid response. It seems Cypher is the only problem.

Here is a dump of the curl config:

array(8) {
  [10002]=>
  string(36) "http://localhost:7474/db/data/cypher"
  [19913]=>
  int(1)
  [42]=>
  int(1)
  [10023]=>
  array(5) {
    [0]=>
    string(36) "Accept: application/json;stream=true"
    [1]=>
    string(30) "Content-type: application/json"
    [2]=>
    string(26) "User-Agent: neo4jphp/0.1.0"
    [3]=>
    string(14) "X-Stream: true"
    [4]=>
    string(19) "Content-Length: 309"
  }
  [10036]=>
  string(4) "POST"
  [47]=>
  int(1)
  [10015]=>
  string(309) "{"query":"MATCH ..."}"

[113]=> int(1) }

I've tried restarting the services and rebooting the server with no success. There's nothing of interest in the error logs or HTTP logs.

I'm running Neo4j Community version 2.1.5.

1

There are 1 best solutions below

0
On

I gave this a try on my machine and I'm getting back a response at least for the request I'm sending:

<?php
    require('vendor/autoload.php');
    use Everyman\Neo4j\Cypher\Query;

    $client = new Everyman\Neo4j\Client('localhost', 7534);

    $queryString = "MATCH (p:Person) RETURN p LIMIT 1";
    $query = new Everyman\Neo4j\Cypher\Query($client, $queryString);
    $result = $query->getResultSet();

    foreach ($result as $row) {
        echo $row['p']->getProperty('name') . "\n";
    }

And then when I run that this is the output I see in ngrep: T 127.0.0.1:55145 -> 127.0.0.1:7534 [AP] POST /db/data/cypher HTTP/1.1..Host: localhost:7534..Accept: application/json;stream=true..Content-type: application/json..User-Agent: neo4jphp/0.1.0..X-Stream: true..Content -Length: 45....{"query":"MATCH (p:Person) RETURN p LIMIT 1"} ## T 127.0.0.1:7534 -> 127.0.0.1:55145 [AP] HTTP/1.1 200 OK..Content-Type: application/json; charset=UTF-8; stream=true..Access-Control-Allow- Origin: *..Transfer-Encoding: chunked..Server: Jetty(9.0.5.v20130815)....486 ..{"columns":["p"],"data":[[{"extensions":{},"outgoing_relationships":"http://localhost:7534/db/data/node/1/relationships/out","labels":"http://localhost:7534/db/data/node/1/ labels","traverse":"http://localhost:7534/db/data/node/1/traverse/{returnType}","all_typed_relationsh ips":"http://localhost:7534/db/data/node/1/relationships/all/{-list|&|typ es}","self":"http://localhost:7534/db/data/node/1","property":"http://localhost:7534/db/data/node/1/properties/{key}","properties":"http://localhost:7534/db/data/node/1/prope rties","outgoing_typed_relationships":"http://localhost:7534/db/data/node/1/relationships/out/{-list|&|types}","incoming_relationships":"http://localhost:7534/db/data/node/1/ relationships/in","create_relationship":"http://localhost:7534/db/data/node/1/relationships","paged_t raverse":"http://localhost:7534/db/data/node/1/paged/traverse/{returnType }{? pageSize,leaseTime}","all_relationships":"http://localhost:7534/db/data/node/1/relationships/all","in coming_typed_relationships":"http://localhost:7534/db/data/node/1/rela tionships/in/{-list|&|types}","metadata":{"id":1,"labels":["Person"]},"data": {"born":1964,"name":"Keanu Reeves"}}]]} #####################

What do I have different to you?