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: доставка eBay в день заказа (Shutl), переезд с MySQL на граф, 2018. Условие пересказано своими словами.
Какой запрос вернёт курьеров в пределах четырёх переходов?
- shortestPath со стрелкой ->
- shortestPath без направления, *..4
- shortestPath без направления и без границы
- все пути *1..4 и max(length)