В настоящее время у меня есть следующий cypher для возврата списка пользователей, с назначенными им Ролями и Приложением, для которого предназначена роль.Cypher: могу ли я вернуть коллекцию коллекций или подобное?
MATCH (u:User)-[:HAS_ROLE]->(r:Role)-[:ROLE_OF]->(a:App)
RETURN u as User, COLLECT([r, a]) as Roles
Это возвращает пользователя и набор их функций и приложений, но коллекция просто [roleA, APPA, roleB, APPA, ROLEC, AppB ...].
Есть ли способ вернуть что-то вроде [[roleA, appA], [roleB, appA], [roleC, appB] ...] как обработка этого списка в предположении, что это роль, приложение, роль, приложение не похоже на хорошую практику для меня.
Я могу вернуть роли и приложения в виде отдельных коллекций, но тогда я не знаю, к какому приложению назначается каждая роль. Единственный способ, которым я могу это сделать, это выполнить несколько запросов, которые я не хочу делать.
Я уверен, что должен быть лучший способ, возможно, с использованием WITH, но я новичок в Cypher.
Большое спасибо за вашу помощь :)