Сайфер сортировать по количеству одинаковых отношений? - PullRequest
0 голосов
/ 27 апреля 2020

Как я могу match использовать Cypher на любую сумму отношения? Например, в базе данных есть Person. Если у этого человека есть сын, он будет связан отношением [:SON].

Этот запрос будет возвращать каждого Person, у которого есть сын:

match (p:Person)-[:SON]->(:Person)
return p

Зная это, как могу ли я match количество Person, которое имеет только 2 сына ?

Ответы [ 2 ]

2 голосов
/ 27 апреля 2020

Вы можете использовать size () в предложении where, например:

match (p:Person) where size((p)-[:SON]->())=2 return p
1 голос
/ 27 апреля 2020

Вы можете использовать функцию count, чтобы получить количество сыновей для каждого человека. Затем отфильтруйте людей по количеству.

MATCH (p:Person)-[r:SON]->(:Person)
WITH p, count(r) as sons 
WHERE sons=2
RETURN p
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...