Neo4j 如何获得被推荐用户的角色

Neo4j 如何获得被推荐用户的角色,neo4j,spring-data-neo4j,Neo4j,Spring Data Neo4j,我已经创建了带有一些关系的User类。还希望获得与已经存在的用户建立关系时所引用的关系 我使用该查询来获取相互连接的用户,但它不返回用户的角色 MATCH (u:User)-[:REFERRED_BY]-(myMembers:User) WHERE ID(u) = {0} RETURN myMembers 您的查询不查找任何角色类型关系,只返回用户,因此不会返回任何角色 假设您的DB使用了拼写所引用的(并且您真的不关心该关系的方向),您的角色节点具有角色标签,并且您正在查找myMemb

我已经创建了带有一些关系的
User
类。还希望获得与已经存在的用户建立关系时所引用的关系

我使用该查询来获取相互连接的用户,但它不返回用户的角色

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

您的查询不查找任何
角色类型
关系,只返回用户,因此不会返回任何角色

假设您的DB使用了
拼写所引用的
(并且您真的不关心该关系的方向),您的角色节点具有
角色
标签,并且您正在查找
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

系统中是否存在id?是,传递相关id,该id同时返回用户节点,但只有角色未返回,该角色位于user class@Relationship(type=“role\u type”,direction=Relationship.OUTGOING)私有列表角色中;它正确地拼写在你的问题的顶部,但在你的查询中它是错的。你能试试这个吗
CALL db.relationshipTypes()产生relationshipType,其中relationshipType='REFFERED_BY'返回relationshipType
是节点中具有不同标签的“用户角色”,例如
:Role