如何获取推荐用户的角色

How to get the roles of the referred user

我创建了 User class 一些关系。还想获得 REFERRED_BY 与现有用户建立关系的关系。

我已经使用查询来获取相互连接的用户,但它没有返回用户的角色。

 MATCH (u:User)-[:REFERRED_BY]-(myMembers:User) 
 WHERE ID(u) = {0}
 RETURN myMembers

您的查询不查找任何 ROLE_TYPE 关系,只查找 returns 用户,因此它不会 return 任何角色。

假设您的数据库使用 REFERRED_BY 拼写(并且您 真的不关心该关系的方向 ),您的角色节点具有 Role 标签,并且您正在寻找 myMember 节点的角色,那么这应该 return 每个 myMember:

的角色列表
MATCH (u:User)-[:REFERRED_BY]-(myMember:User)-[ROLE_TYPE]->(r:Role)
WHERE ID(u) = {0}
RETURN myMember, COLLECT(r) AS roles

注意:如果某些 myMember 个节点可以没有角色,那么如果您想查看所有 myMember 个节点,则应改用此选项:

MATCH (u:User)-[:REFERRED_BY]-(myMember:User)
WHERE ID(u) = {0}
OPTIONAL MATCH (myMember)-[ROLE_TYPE]->(r:Role)
RETURN myMember, COLLECT(r) AS roles