tag ruta recorrido principales michelin maule mapa guia detallado coche ciudades central autopista neo4j cypher path-finding

neo4j - recorrido - ¿Cómo encontrar todas las rutas más largas con consulta de cifrado?



ruta 66 recorrido (1)

Intente subir el criterio de propiedad de la relación a la primera coincidencia de ruta, o calculará la longitud máxima en las rutas que no se filtran con ese criterio. Luego, lleve las rutas y la longitud máxima al segundo tramo de la consulta para que no tenga que volver a unir todas las rutas. Puede recopilar las rutas para llevarlas en la cláusula WITH , y luego filtrar la longitud de la ruta cuando regrese. Pruebe algo como

START n=node(*) MATCH p=n-[rels:INCLUDE*]->m WHERE ALL (rel IN rels WHERE rel.status=''on'') WITH COLLECT(p) AS paths, MAX(length(p)) AS maxLength RETURN FILTER(path IN paths WHERE length(path)= maxLength) AS longestPaths

Quiero escribir una consulta de cifrado que encuentre todas las rutas más largas entre los nodos que tienen relación con la propiedad STATUS = "on" entre sí, esto es lo que he hecho hasta ahora:

start n=node(*) match p = n-[r:INCLUDE*..]->m with n,MAX(length(p)) as l match p = n-[r:INCLUDE*..]->m WHERE all(rel in r where rel.status=''on'' AND (length(p) = l) ) return p,l

Devuelve 3 rutas con 1,2 y 3 longitudes, no solo la ruta más larga, mi consulta debería encontrar solo las rutas más largas, es decir, si hay 8 rutas que se adaptan a mi condición first where ( where rel.status=''on'' ), con una longitud de 1, 2, 3, 3, 4, 6, 6, solo deben devolverse las tres rutas con una longitud de 6.

¿Qué debo hacer?

por favor guíame, soy nuevo en neo4j, y probé mucho pero no tengo nada excepto mareos, estaré muy agradecido por tu ayuda.