neo4j - 如何获取被推荐用户的角色
问题描述
我创建了User
具有一些关系的类。还想获得REFERRED_BY
与已经存在的用户发展关系的关系。
我已经使用查询来获取相互连接的用户,但它没有返回用户的角色。
MATCH (u:User)-[:REFERRED_BY]-(myMembers:User)
WHERE ID(u) = {0}
RETURN myMembers
解决方案
您的查询不查找任何ROLE_TYPE
关系,只返回用户,因此它不会返回任何角色。
假设您的数据库使用REFERRED_BY
拼写(并且您真的不关心该关系的方向),您的角色节点具有Role
标签,并且您正在寻找myMember
节点的角色,那么这应该返回每个角色的角色列表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
推荐阅读
- angular - Angular2+ 替换文本
- spring-boot - 在 Java 中而不是在属性中表达安全约束
- swift - Swift 设置动态约束
- postgresql - postgresql中用户和组的区别
- amazon-dynamodb - 将数据从 csv 上传到 dynamodb 时
- r - 从 ictreg 模型自动计算 BIC
- angular - 如何避免 GET 服务调用在 Angular 4 中被取消
- c# - 如何通过全局扩展方法(“我的扩展”)在 LinqPad 中查询多个数据库名称?
- vba - 可以获得唯一列值,但需要帮助修剪生成的字符串/范围
- sharepoint - 将一行数据变成折线图,PowerBi