существует связь между списком объектов - PullRequest
1 голос
/ 10 ноября 2019

Отношения между двумя пользователями можно узнать с помощью запроса ниже.

RETURN EXISTS( (:User{_id:'User/123'})-[:Link]-(:User{_id:'User/567'}) )

Что, если его необходимо запустить для списка запросов, например для запроса ниже, я хочу проверить, существует ли связь

MATCH p=(u:User{_id:'User/8199'})-[r:Link]-(u1:User)
WHERE u1._id in ['12317291','User/09563','User/392942','User/24974','User/720']
RETURN p

1 Ответ

0 голосов
/ 10 ноября 2019

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

MATCH (u:User {_id: 'User/8199'})
WITH u
UNWIND ['12317291','User/09563','User/392942','User/24974','User/720'] | u1] AS other_user
RETURN other_user, exists((u)-[:Link]->(:Test {name: other_user}))

Или вы можете сделать что-то подобное, если хотите, чтобы действительные пользователи соответствовалипосле этого. Подберите первого пользователя, проверьте на предмет соответствия список пользователей и верните коллекцию совпадений.

MATCH (u:User {_id: 'User/8199'})
RETURN [(u)-[:Link]->(u1:User) 
  WHERE u1._id IN
  ['12317291','User/09563','User/392942','User/24974','User/720'] | u1] AS matches
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...