Neo4j · Neo4j 5.26.20
Когда клиент переводит деньги по номеру телефона, банк записывает связь (:Client)-[:CONTACT]->(:Client) от отправителя к получателю. Аналитик антифрода проверяет, не связаны ли двое клиентов через общих знакомых.
Узлы Client {id, name, city}. Верните общих контактов клиентов c1 (Ольга Смирнова) и c2 (Артём Ким): id, name, по name, затем id. Направление CONTACT не важно: кто кому переводил — без разницы.
В работе: Проверка связей между клиентами при разборе подозрительного перевода.
Как проверяем
Движка Neo4j в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите один вариант. После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
Источник: на данных банка: контакты для переводов по номеру телефона. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Какой запрос вернёт общих контактов Ольги и Артёма?
- путь со стрелками к общему контакту
- неориентированный путь без DISTINCT
- неориентированный путь с DISTINCT
- все контакты c1