2016-11-22 7 views
1

リレーションシップリンクの最後に特定のラベルに関係しないノードを返すことは可能ですか?例えば。Neo4jリターン特定のラベルにリンクするノード

(EndTargetNode)<--MYREL---(SomeNode)<--MYREL---(SomeNode)<--MYREL---(SomeNode) 
              / | 
              /MYREL 
(Node)<---SOME_REL---(SomeNode)<----MYREL----  | 
                v 
               (SomeNode) 
                | 
               MYREL 
                | 
                v 
               (SomeNode) 

私はタイプEndTargetNode持つノードへMYREL関係で終了し、少なくとも2つのMYREL関係を持たないすべてのSomeNode Sに一致するようにしたいと思います。私はこれについてどうやって行くのですか?このクエリは、それを行うと、ちょうどあなたの定義のように読み込みます

match (n)-[rel:MYREL]->(e) 
with n, count(e) as rels 
where rels > 1 
return n; 

答えて

2

:おかげ

は、これまでのところ、私はちょうど、複数のMYREL関係を持つノードを見つけるために管理してきました

// I want all :SomeNode 
MATCH (n:SomeNode) 
// not related to an :EndTargetNode 
WHERE NOT (n)-[:MYREL]->(:EndTargetNode) 
// and with at least 2 MYREL relationships 
AND size((n)-[:MYREL]->()) >= 2 
RETURN n 
関連する問題