Войти Регистрация
Data base

151. Общие контакты двух клиентов

Лёгкая

Neo4j · Neo4j 5.26.20

Когда клиент переводит деньги по номеру телефона, банк записывает связь (:Client)-[:CONTACT]->(:Client) от отправителя к получателю. Аналитик антифрода проверяет, не связаны ли двое клиентов через общих знакомых.

Узлы Client {id, name, city}. Верните общих контактов клиентов c1 (Ольга Смирнова) и c2 (Артём Ким): id, name, по name, затем id. Направление CONTACT не важно: кто кому переводил — без разницы.

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

Как проверяем Движка Neo4j в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите один вариант. После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
MATCHнеориентированный путьDISTINCTEXISTS

Источник: на данных банка: контакты для переводов по номеру телефона. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.

Какой запрос вернёт общих контактов Ольги и Артёма?

  • путь со стрелками к общему контакту
  • неориентированный путь без DISTINCT
  • неориентированный путь с DISTINCT
  • все контакты c1