Salut J'expérimente avec le routage en utilisant neo4j mais je suis aux prises avec l'adaptation de apoc.algo.dijkstra. Je ne veux pas simplement passer de A à B, mais passer de A à B via C, tout en tenant compte d'une pondération sur le lien.Neo4j - apoc.algo.dijkstra - chemin le plus court de a à b, mais via c, d, e etc
La requête AB est ...
MATCH (startNode:road_node {id:'59030214550942348742a27d'}), (endNode:road_node {id:'59030215550942348742a610'})
call apoc.algo.dijkstra(startNode, endNode, 'ROADLINK', 'min_travel_time') YIELD path, weight
return path, weight/60
J'ai essayé quelques façons d'inclure une via c mais ne peut le faire fonctionner ... par exemple
MATCH (startNode:road_node {id:'59030214550942348742a27d'}), (endNode:road_node {id:'59030215550942348742a610'})
call apoc.algo.dijkstra(startNode, endNode, 'ROADLINK', 'min_travel_time')
with path, weight
MATCH (startNode)-[*]-(via:road_node {id:'59030215550942348742a666'})-[*]-(endNode)
return path, weight
Toutes les idées ou des suggestions sur la façon d'acheminer de A à B via C, tout en prenant en compte une pondération sur les liens, serait très utile.
très soigné, merci. Fonctionne bien – SAB
Génial. N'oubliez pas de [Accepter] (https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) la réponse qui vous aide le mieux à poser une question. – cybersam