2016-08-05 1 views
0

sample graphサイファークエリのサポート

こんにちは、上のグラフのために 、以下のシナリオのCYPHERクエリでお願いします。

1)関係R1をノードR1に接続したすべてのノードを返します。クエリの出力としてS1、S2、S3を取得したい

2)残りのノードR2、R3などから、直接関係が追加されていない場合は、ボトムアップノードその後、ノードR5

すべてのノードが同じタイプのものであり、名前がR1である場合に

+0

...あなたのノードがラベルを持っていた場合、これは、容易になるだろう7

に長さ1のパスを何を意味するのか、私です試してみました。すべてのRNodeとSNodeにラベルが付いています。しかし正しいノードを取得しないでください。MATCH(:RNode {name: 'R1'}) - (SNode) RETURN(SNode) – j2eeuser

+0

あなたの例では、SNodeは変数名です。 SNodesが他のノードと異なるタイプの場合は、ここにラベルを付ける必要があります。そうしないと、R1に接続されているすべてのノードで一致します。 Cypherのマニュアルを読んだり、ブラウザアプリでチュートリアルを行ったりして、Cypherの構文に慣れ親しむことができます。 – InverseFalcon

+0

これは、MATCH(:RNode {name: 'R1'}) - [*] - (n:S1)return n – j2eeuser

答えて

1

あなたのグラフは、ノードラベル(すなわち種類)が欠落している、あなたの入力を感謝... S5からS1、S2など、 : 1)

MATCH (node:Node)-[:R1]->(x) where node.name ="R1" 
RETURN x 

これは、接続されているすべてのノードdをR1という名前のノードにR1:

2)あなたの質問は、R5が与えられたすべてのSノードを見つけようとしていますか? R5

MATCH(node:Node)-[:*1-7]-(node-s:Node) where node.name="R5" AND node-s.name =~ "S.*" 
RETURN (node-s) 

[:*1-7]与え は、私は以下の、のNeo4jする新たなんだ

関連する問題