Encuentre la ruta más corta entre 2 nodos utilizando un filtro de propiedades de nodo

Tengo una base de datos gráfica que consta de nodos (estaciones de autobuses) con una propiedad llamada "is_in_operation" que se establece en "true" si la estación de autobuses está operativa; de lo contrario, se establece en "falso".

Existe una relación creada entre dos nodos si un bus viaja entre las dos estaciones.

Me gustaría encontrar la ruta con el menor número de paradas entre dos nodos donde todos los nodos de la ruta están operativos.

Hay un ejemplo en la base de datos donde hay 2 rutas entre 2 nodos especificados. La propiedad "is_in_operation" se establece en "verdadero" para todos los nodos en ambas rutas. Cuando ejecuto la siguiente consulta, obtengo la respuesta correcta

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;

Cuando establezco la propiedad 'is_in_operation' en 'false' para uno de los nodos intermedios en la ruta más corta y vuelvo a ejecutar la consulta, espero que devuelva la otra ruta. Sin embargo, no obtengo respuesta alguna.

¿La consulta es incorrecta? Si es así, ¿cómo debo especificar la consulta?

Respuestas a la pregunta(1)

Su respuesta a la pregunta