Neo4j Вернуть все узлы и отношения, где отправитель отправил более 10 писем - PullRequest
0 голосов
/ 09 октября 2019

Я работаю с данными электронной почты в neo4j. Я хотел бы найти все отношения и узлы, на которые не удалось доставить электронные письма, а список получателей насчитывал более 10 получателей.

Ниже приведены только отправители, отправившие эти электронные письма:

MATCH (a:Sender)-[:FAILED_TO]->(r:Recipient)
WITH a, count(r) AS failed_to_count
WHERE failed_to_count > 10
RETURN a

enter image description here

Как я могу изменить это, чтобы вернуть отправителей, отношения и получателей?

Например:

enter image description here

1 Ответ

2 голосов
/ 09 октября 2019

Один из подходов заключается в сборе «сбойных» путей для каждого отправителя и возвращении коллекций путей, содержащих более 10 элементов:

MATCH path = (a:Sender)-[:FAILED_TO]->(r:Recipient)
WITH a, COLLECT(path) AS paths
WHERE SIZE(paths) > 10
RETURN paths
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...