Найти кратчайший путь между двумя узлами, используя фильтр свойств узла

У меня есть графовая база данных, которая состоит из узлов (автобусных станций) со свойством is_in_operation, которое установлено в «true», если автобусная станция работает; в противном случае он устанавливается на «ложь».

Между двумя узлами создается связь, если между двумя станциями едет автобус.

Я хотел бы найти путь с наименьшим количеством остановок между двумя узлами, где все узлы в пути работают.

В базе данных есть пример, где есть 2 пути между 2 указанными узлами. Свойство is_in_operation установлено в «true» для всех узлов в обоих путях. Когда я запускаю следующий запрос, я получаю правильный ответ

START d=node(1), e=node(5) 
MATCH p = shortestPath( d-[*..15]->e ) where all (x in nodes(p) where x.is_in_operation='true')
RETURN p;

Когда я устанавливаю для свойства «is_in_operation» значение «false» для одного из промежуточных узлов в кратчайшем пути и перезапускаю запрос, я ожидаю, что он вернет другой путь. Однако я не получаю ответа вообще.

Это неверный запрос? Если да, то как мне указать запрос?

Ответы на вопрос(1)

Ваш ответ на вопрос