2017-08-07 6 views
1

私は3つのノード、Abraham、Isaac、Jacobを持つ小さなデータベースを作成しました。アブラハムはイサクの父、イサクはヤコブの父です。 Neo4jのWebインターフェイスからクエリを実行関係はNeo4jで示されていますが、

MATCH (a:Person), (i:Person) 
WHERE a.name='Abraham' and i.name='Isaac' 
RETURN a, i 

は、それらの間の父親の関係を持つ2つのノードを示しています:

は今、私は次のクエリを実行し、私が持っていないようresult shown in the Neo4J web interface

これは、奇妙です関係を要求した。 JSONレスポンスには次のいずれかの関係が含まれていません:

[{ 
    "keys": [ 
     "a", 
     "i" 
    ], 
    "length": 2, 
    "_fields": [ 
     { 
      "identity": { 
       "low": 0, 
       "high": 0 
      }, 
      "labels": [ 
       "Person" 
      ], 
      "properties": { 
       "name": "Abraham" 
      } 
     }, 
     { 
      "identity": { 
       "low": 1, 
       "high": 0 
      }, 
      "labels": [ 
       "Person" 
      ], 
      "properties": { 
       "name": "Isaac" 
      } 
     } 
    ], 
    "_fieldLookup": { 
     "a": 0, 
     "i": 1 
    } 
}] 

Neo4Jはこの関係をなぜ示していますか?そしてどうすればそれを止めることができますか?私は、一連のノード間のさまざまな関係を返すクエリを作成しようとしています。そして、Neo4Jが干渉して独自の関係を追加することを本当に望んでいません。

+1

これは私が 'relationships'タグを使用したのは初めてです。私はスタックオーバーフローに関する関係のアドバイスを求めるだろうとは思わなかった... – zmbq

+1

関連https://stackoverflow.com/questions/37603618/how-to-hide-unwanted-relationships-between-nodes-in-neo4j/45121705#45121705 –

+0

それは関連していない、それは重複している。私は閉会に投票しました(自分の質問を本当に閉じることはできません...) – zmbq

答えて

0

これは、Neo4jブラウザが視覚化する方法に過ぎません。あなたが両方のノードを持っているので、Neo4jには関係があることを知るために必要なものすべて(ポインタ)があります(そしてそれを示しています)。結果をプログラム的に処理すると(Javaなどで... Neo4jブラウザが「実動」の結果にならないと仮定しているので、あなたがしているようにバインドされています)、望むように結果を処理することができます。実際のノードではなく名前だけに興味がある場合は、

MATCH (a:Person), (i:Person) 
WHERE a.name='Abraham' and i.name='Isaac' 
RETURN a.name, i.name 

希望します。

よろしく、 トム