【问题标题】:How to know Which OptionalMatch was Matched in query result, Neo4j如何知道查询结果中匹配了哪个 OptionalMatch,Neo4j
【发布时间】:2016-07-16 05:52:04
【问题描述】:

我有以下代码:

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

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

【问题讨论】:

    标签: c# neo4j neo4jclient neo4j-bolt


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-26
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 1970-01-01
      相关资源
      最近更新 更多