Возврат узлов с определенным отношением - PullRequest
0 голосов
/ 11 января 2019

У меня есть база данных лекарств и производителей, и я хочу найти всех производителей, которые произвели несколько лекарств. Как я могу получить только производителей и лекарства, которые они произвели?

Я сейчас использую

match (a:Brand), (c:Manufacturer) where size((c)-[:PRODUCED]->()) >1 return a,c;

, который возвращает производителей с более чем одним произведенным лекарством, но также со всеми лекарствами, независимо от производителя

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Этот запрос использует агрегирующую функцию , COLLECT, чтобы вернуть запись для каждого производителя, который делает несколько брендов, а также коллекцию этих брендов:

MATCH (m:Manufacturer)-[:PRODUCED]->(b:Brand)
WITH m, COLLECT(b) AS brands
WHERE SIZE(brands) > 1
RETURN m, brands;
0 голосов
/ 11 января 2019

Звучит так, будто вам нужно только выбрать производителей, например:

MATCH (c:Manufacturer) WHERE size((c)-[:PRODUCED]->()) > 1 RETURN c;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...