Я хочу вернуть список узлов «Группы», которые имеют более одного узла «Thing», принадлежащих каждому из них. Есть несколько повторяющихся отношений, поэтому я считаю DISTINCT Things. Этот запрос, кажется, работает нормально до сих пор:Как вернуть узлы с несколькими отношениями с Neo4j?
MATCH (n:Thing)-[r:BELONGS_TO]-(g:Group)
WITH g, count(DISTINCT n) as thing_cnt
WHERE thing_cnt > 1
RETURN g, thing_cnt ORDER BY thing_cnt
Я хотел бы быть в состоянии представить себе все эти узлы группы и вещи, которые принадлежат им, так что я попытался это:
MATCH (n:Thing)-[r:BELONGS_TO]-(g:Group)
WITH g, count(DISTINCT n) as thing_cnt
WHERE thing_cnt > 1
RETURN n, g
Но я получаю сообщение об ошибке, указывающее, что n не определено. Может ли кто-нибудь предложить способ сделать это? Благодаря!
Хммм Я пробовал это, но он возвращает 0 строк (тогда как первый запрос, когда я просто прошу вернуть g, дает мне 17 строк). Я что-то пропустил? Также спасибо за подсказку! – Pocahontas
Если вы указали направленность отношения, убедитесь, что она направлена в правильном направлении. Я предположил, что '- [r: BELONGS_TO] ->' был правильным, но, возможно, ваши данные изменили его: '<- [r: BELONGS_TO] -'. – cybersam