2014-09-11 2 views
1

Чтобы сделать еще один просмотрщик d3, я хотел бы получить график из запроса на отдых.neo4j rest API resultDataContents: граф действительно не возвращает один граф?

В моем понимании, указав 'resultDataContent': ['graph'] вернет граф. Вместо этого он возвращает список подграфов, и поэтому мне нужно собирать и различать узлы. Есть ли способ получить полный подграф?

Например, я эти 4 узла

CREATE (a:Person {name:'a'}) 
CREATE (b:Person {name:'b'}) 
CREATE (c:Person {name:'c'}) 
CREATE (d:Person {name:'d'}) 
CREATE (a)-[:KNOWS]->(b) 
CREATE (a)-[:KNOWS]->(c) 
CREATE (b)-[:KNOWS]->(c) 
CREATE (c)-[:KNOWS]->(d) 

Но призывающих к POST запрос с помощью следующего запроса будет возвращать 2 results.data, каждый из них с «графиком», состоящий из 2-х узлов и а ссылки?

{"statements":[ 
    { 
    "statement":"MATCH (p:Person {name:{pName}})-[l:KNOWS]-(q:Person) RETURN p,l,q", 
    "parameters":{"pName":"a"}, 
    "resultDataContents":["graph"] 
    } 
]} 

Есть ли способ вернуть один подграф без необходимости собирать результаты?

Спасибо за помощь, Alex

ответ

1

Я думаю, проблема в том, что ваш запрос будет возвращен дважды вам. Исправьте оператор возврата к:

RETURN collect(distinct(p)),collect(l),collect(distinct(q)) 

Это даст вам следующий ответ:

{ 
    "results": [ 
    { 
     "columns": [ 
     "collect(distinct(p))", 
     "collect(l)", 
     "collect(distinct(q))" 
     ], 
     "data": [ 
     { 
      "graph": { 
      "nodes": [ 
       { 
       "id": "1849644", 
       "labels": [ 
        "Person" 
       ], 
       "properties": { 
        "name": "b" 
       } 
       }, 
       { 
       "id": "1849645", 
       "labels": [ 
        "Person" 
       ], 
       "properties": { 
        "name": "c" 
       } 
       }, 
       { 
       "id": "1849643", 
       "labels": [ 
        "Person" 
       ], 
       "properties": { 
        "name": "a" 
       } 
       } 
      ], 
      "relationships": [ 
       { 
       "id": "4052753", 
       "type": "KNOWS", 
       "startNode": "1849643", 
       "endNode": "1849644", 
       "properties": {} 
       }, 
       { 
       "id": "4052754", 
       "type": "KNOWS", 
       "startNode": "1849643", 
       "endNode": "1849645", 
       "properties": {} 
       } 
      ] 
      } 
     } 
     ] 
    } 
    ], 
    "errors": [] 
} 
Смежные вопросы