2016-07-16 7 views
0

を知っている:どのように私は次のコードしている、クエリ結果にマッチしたどのOptionalMatchのNeo4j

var q = new CypherFluentQuery(client) as ICypherFluentQuery; 
     q = q.OptionalMatch("(n:subject)-[r4:SCP_IN_SC]-(sc:Spec)"); 
     q = q.OptionalMatch("(sc)-[r5:SCP_IN_SC]-(p)"); 
     q = q.OptionalMatch("(p)-[r6:SCP_IN_SCT]-(t:Tag)"); 
     q = q.OptionalMatch("(t)-[r7:SCP_IN_SCT]-(n)"); 
     q = q.OptionalMatch("(p)-[r8:SCP_IN_SCC]-(c:Catalog)"); 

どのように私は、クエリ結果にマッチしたオプションにマッチ見つけることができますか?

答えて

0

OPTIONAL MATCH(一致したものに限定されない)は、結果にnull以外の要素が返されます。すなわち、scは最初のものが一致しなかった場合はnull、一致した場合は実際のノードです。

サイドノードとして、pnが実際には同じノードであるように見えるので、ノード(余分なラベル、WHERE句など)に多くの制約があることを願っています。

関連する問題