Merge Neo4jclient,如何统一或合并到同一类型的不同结果?

Merge Neo4jclient,如何统一或合并到同一类型的不同结果?,merge,neo4j,cypher,union,neo4jclient,Merge,Neo4j,Cypher,Union,Neo4jclient,我通过检查两个相同节点的两种不同类型的关系解决了这个问题 例如,我们必须匹配以下部分: 1. Match("(u:User)-[r:USER_IN_SITE]->(w:WebEnvir)") .Return(u => u.As<TUser>()) .Results; 2. Match("(u:User)-[r2:USER_IN_CLOUD]->(w:WebEnvir)") .Return(u =&g

我通过检查两个相同节点的两种不同类型的关系解决了这个问题

例如,我们必须匹配以下部分:

1. Match("(u:User)-[r:USER_IN_SITE]->(w:WebEnvir)")
    .Return(u => u.As<TUser>())
                        .Results;
  2. Match("(u:User)-[r2:USER_IN_CLOUD]->(w:WebEnvir)")
    .Return(u => u.As<TUser>())
                        .Results;
1。匹配(“(u:User)-[r:User\u IN\u SITE]->(w:WebEnvir)”)
.Return(u=>u.As())
.结果;
2.匹配(((u:User)-[r2:User\u IN_CLOUD]->(w:WebEnvir)”)
.Return(u=>u.As())
.结果;
如何在匹配项之间进行合并或并集?

您可以进行并集(我不确定neo4jclient如何进行),但我认为您也可以这样做(使用纯密码):


不过要小心,因为无论哪种方式,你都会得到一个完整的笛卡尔积(实际上,我认为你会用一个
联合体做两次)。取决于您有多少
用户
WebEnvir
节点,这可能是一个非常大的查询

谢谢@brian Underwood,但我需要通过Neo4jClient来完成,无论如何,感谢您的反馈。您不能将Cypher翻译成Neo4jClient语法吗?
MATCH (u:User), (w:WebEnvir)
OPTIONAL MATCH
  (u)-[r:USER_IN_SITE]->(w), (u)-[r2:USER_IN_CLOUD]->(w)
RETURN u, w, collect(r), collect(r2)