2016-07-16 61 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(显然不限于1)匹配将导致结果中的非空元素,即sc如果第一个不匹配则为空,如果匹配则为。

作为一个侧面节点,希望您对节点(额外标签,WHERE子句等)有更多限制,因为否则它看起来像pn实际上是相同的节点。

相关问题