Я довольно новичок в Neo4j, и я пытаюсь создать небольшой пример приложения: планировщик общественного транспорта. Он выглядит следующим образом (очевидно, сильно упрощенный пример):Свойства отношений доступа в кратчайшем пути в neo4j
Отход и время прибытия каждого автобуса (поездки) хранится как свойство отношений. Я хочу, чтобы автобус уходил рядом (или после) в указанное время, прибывая как можно скорее после вылета (т. Е. Не обязательно самый короткий, но самый быстрый маршрут).
Я много экспериментировал в Cypher, но я не смог этого сделать. Любой совет?
EDIT: обновленная схема
Я экспериментировал с вашим и моим собственным решением, и я заставил их обоих работать («LAST()» и «HEAD()», где это важно). Тем не менее, у меня теперь есть проблема (в обоих решениях), что если я добавлю больше строк, она будет иногда начинаться с остановки a в момент времени t, переходить к некоторой остановке и брать первую шину там со временем
Ben
@Ben Я думаю, что вы не используете мою модель правильно. Невозможно покинуть Стоп, прежде чем вы придете, потому что все остановки в цепочке находятся в строгом хронологическом порядке. Возможно, вы повторно используете экземпляр Stop, если вы пересматриваете одно и то же местоположение - это не разрешено в моей модели (вам нужно создать новый Stop, даже если вы перейдете в Location). Означает ли это проблему? Если нет, укажите набор данных (например, в консоли), которые показывают проблему. – cybersam
Я согласен, что остановка в цепочке важна. У вас две модели. Поездка (связанный список остановок) и расписание (время прибытия и отправления, которое также может быть смоделировано как дельта на первой остановке и в промежутках времени и в определенные будни (рабочий день, выходные, праздничные дни) и часовые интервалы (час пик, утро , ночь, полдень)) –