我正在尝试找到返回所有匹配 Node 及其可能具有的任何关系的最佳方式?
这是我的问题:
我需要返回创建项目的所有用户,所以
match (u : User)-[r:CREATE]->(p: Project) return u, collect(p)
足够简单,但用户还可以有其他关系,我想包含它们或选择检查(返回 true/false)
例如,用户可以有关系 RECOMMEND,我不想受其限制,但如果检查它是否存在并与什么 Node 相关?
理想情况下,我的返回表如下所示:
用户1 - 项目 - 推荐用户
USER2 - PROJECT(S) - NULL(没有人推荐)
最佳答案
OPTIONAL MATCH将匹配模式,如果不存在则返回 null
MATCH (u : User)-[r:CREATE]->(p: Project)
OPTIONAL MATCH (u)-[:RECOMMEND]->(rec)
RETURN u, collect(p), collect(rec)
关于node.js - Cypher 查询返回匹配的 Node 和可选关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501051/