我有节点的用户和建筑标签,关系是User-[:HAS_PERMISSION]->Building
要获取用户有权访问的所有建筑物,请使用MATCH (u:User {id: {id}}),(u)-[r:HAS_PERMISSION]->(b:Building) return b
如果用户存在并且没有关系,我该如何才能返回用户? (基本上我也想知道用户是否存在..)
答案 0 :(得分:3)
不确定我是否正确理解了您的问题,但我认为您需要OPTIONAL MATCH
。此查询显示所有具有或不具有建筑物访问权限的用户。
MATCH (u:User)
OPTIONAL MATCH (u)-[r:HAS_PERMISSION]->(b:Building)
RETURN u, b
或许您的要求更简单。如果您只是想要所有用户,则无需使用模式匹配:
MATCH (u:User)
RETURN u