J'ai essayé d'utiliser neo4j et sa bibliothèque de processus apoc pour obtenir le chemin le plus court entre 2 nœuds.
Par exemple, je crée 2 noeuds comme ci-dessousApoc Dijkstra traversant dans les deux sens tout en calculant le plus court chemin
CREATE (:Point {title:'A'})
CREATE (:Point {title:'B'})
Je leur relation établis tels
MATCH (u1:Point {title:'A'}), (u2:Point {title: 'B'})
CREATE (u1)-[:distance {value:10}]->(u2)
Maintenant, je l'ai établi une relation dirigée de A à B et non vice versa. Alors quand je l'appelle APOC Dijkstra comme ci-dessous
MATCH (start:Point {title: 'B'}), (end:Point {title: 'B'})
CALL apoc.algo.dijkstra(start, end, 'distance', 'value') YIELD path, weight
RETURN path, weight
Je ne suis pas censé obtenir aucun résultat leur est pas de chemin dirigé de B à A. Mais je reçois le même résultat que lorsque je lance la requête à l'aide un chemin de A à B.
Quelqu'un peut-il me dire pourquoi? Pourquoi Dijkstra ignore-t-elle la direction? Toute aide serait très appréciée.
Merci beaucoup. Je ne sais pas si c'est parce que je n'ai pas d'expérience avec Neo4j mais je n'ai pas trouvé de tels détails dans la documentation de l'apoc. – MrRo