0

我有以下代码:

 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)");

如何在查询结果中找到匹配的可选匹配项?

4

1 回答 1

0

任何OPTIONAL MATCH匹配的(显然不限于 1)将在结果中产生一个非空元素,即sc如果第一个不匹配则为空,如果匹配则为实际节点。

作为一个侧节点,希望你对节点有更多的约束(额外的标签、WHERE子句等),因为否则它看起来像p并且n实际上是同一个节点。

于 2016-07-16T21:48:29.170 回答