2016-09-30 11 views
1

Graph I am trying to parseのNeo4jサイファークエリは、特定の関係

私は「分析装置」と呼ばれる青色のノードで開始しているクエリを作成しようとしているとのノードに到達するまで、すべてのサブノードを取得します。クエリは、別の分析ユニットに直接接続することによって関係を「上書きする」ノードに実行されない限り、すべてのサブノードを取得します。どんな助けもありがとう!

+1

これを拡張できますか?同様に、リンクしたグラフを見て、正しいクエリが期待する操作と予想される出力を見てみましょう。 – InverseFalcon

+0

脇に:反対の方向性を持ち、常に同じノード間に存在する関係タイプがあるようです。この冗長性はneo4jでは必要ありません。いずれの方向にも関係を簡単にナビゲートすることができるからです。 – cybersam

+0

@InverseFalcon確かに、私は "Bank of America"の開始ノードで質問しました。青いノードの1つです...私はそれに接続されたすべてを赤で囲みたいと思います。そのアイデアは、他の場所との関係を明示的に定義するノードに実行されない限り、その下のすべてが「分析的に部分的な」関係を「継承」するということです。私は、各ノードに明示的な関係を与えることがベストプラクティスであるとは確信していません。 – patrickb19

答えて

1

このクエリは機能しますか?

Blueノード(いずれのパスもRedノード)とその "サブノード"(各パスに沿って)を返し、すべてのサブノード(最初のノードを除く)に着信ANALYTICALLY_COMPOSED関係:

MATCH (a:Blue)-[:ANALYTICALLY_COMPOSED]->(b) 
MATCH p=(b)-[rels*]-(:Red) 
WITH a, NODES(p) AS subnodes 
WHERE NONE(n IN subnodes[1..] WHERE()-[:ANALYTICALLY_COMPOSED]->(n)) 
RETURN a, subnodes; 
+0

それはトリックでした!本当にありがとう! ... "a.name =" Bank of America "が赤色になっている場所が他のパスから来ているために表示されていた場所にフィルタリングするだけでした。 – patrickb19

関連する問題