如何知道查询结果 Neo4j 中匹配了哪个 OptionalMatch

本文关键字:OptionalMatch 何知道 查询 结果 Neo4j | 更新日期: 2023-09-27 17:57:15

我有以下代码:

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

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

如何知道查询结果 Neo4j 中匹配了哪个 OptionalMatch

任何

匹配的OPTIONAL MATCH(显然不限于 1)将导致结果中出现非空元素,即 如果第一个节点不匹配,则sc为 null,如果匹配,则为实际节点。

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