0

t1 および t2 と関係があるノード タイプ c のサブ グラフがあります。ノード t1 は、w1 および w2 と関係があります。ノード t2 は w1 と関係があります。

cypher でクエリしたいのは、ノード c から、2 つ以上の t ノードが関連している w ノードを返すことです。つまり、w1 のみです。

どうやら、次のようなWHERE句で集計することはできません

START c=node(7)  
MATCH (c)-[:T_TO]-(t)-[:W_TO]-(w)
WHERE COUNT(t) >= 2
RETURN w.WName;

たぶん別の見方をすると、t1とt2にのみ関連するwだけが欲しいので、これも機能しません...?

START c=node(7), t1=node(10), t2=node(8)
MATCH (c)-[:T_TO]-(t)-[:W_TO]-(w)
WHERE t in [t1, t2]
RETURN t, w.WName;

更新 2番目のようなものが欲しい人は誰でも、これは機能します:

START c=node(7), t1=node(8), t2=node(10) 
MATCH (c)-[:T_TO]-(t1)-[:W_TO]-(w),(c)-[:T_TO]-(t2)-[:W_TO]-(w) 
RETURN w.WName;
4

1 に答える 1

1

どうですか

START c=node(7)  
MATCH (c)-[:T_TO]-(t)-[:W_TO]-(w)
WITH COUNT(t) as tCount,w
WHERE tCount >= 2
RETURN w.WName;
于 2013-07-19T03:45:12.617 に答える