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

155. Курьеры в пределах четырёх районов

Средняя

Neo4j · Neo4j 5.26.20

Сервис Shutl, который делал для eBay доставку в день заказа, перевёл подбор курьеров с MySQL на Neo4j; по словам их разработчика, кода стало в 10–100 раз меньше.

Граф: (:Zone {name})-[:ROAD]-(:Zone) — соседние районы Лондона (связь записана в одну сторону, но ехать можно в обе), (:Courier {name})-[:AT]->(:Zone) — где сейчас курьер.

Заказ в Shoreditch. Верните курьеров, до которых не больше 4 переходов, и минимальное число переходов hops. Порядок — по hops, затем по имени. Курьеров в самом Shoreditch в данных нет.

В работе: Подбор курьера под срочный заказ.

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

Источник: кейс Neo4j: доставка eBay в день заказа (Shutl), переезд с MySQL на граф, 2018. Условие пересказано своими словами.

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

Какой запрос вернёт курьеров в пределах четырёх переходов?

  • shortestPath со стрелкой ->
  • shortestPath без направления, *..4
  • shortestPath без направления и без границы
  • все пути *1..4 и max(length)