С риском звучания слишком педантично, правильное написание - referred
, но ваш вопрос иногда говорит, что тип отношения REFERED_BY
, а иногда REFFERED_BY
. Можете ли вы проверить, какие имена типов действительно используются в вашей БД?
Ваш запрос не ищет никаких отношений ROLE_TYPE
, а только возвращает пользователей, поэтому он не возвращает никаких ролей.
Предполагая, что ваша БД использует орфографию REFERRED_BY
(а вы действительно не заботитесь о направлении этого отношения), у ваших узлов роли есть метка Role
, и вы ищетедля ролей узлов myMember
, то это должно вернуть список ролей для каждого myMember
:
MATCH (u:User)-[:REFFERED_BY]-(myMember:User)-[ROLE_TYPE]->(r:Role)
WHERE ID(u) = {0}
RETURN myMember, COLLECT(r) AS roles
Примечание: если некоторые узлы myMember
не могут иметь роли, то это должно бытьиспользуется вместо, если вы хотите увидеть все myMember
узлы:
MATCH (u:User)-[:REFFERED_BY]-(myMember:User)
WHERE ID(u) = {0}
OPTIONAL MATCH (myMember)-[ROLE_TYPE]->(r:Role)
RETURN myMember, COLLECT(r) AS roles