Um alle Pfade zu bekommen genau Länge n
zwischen zu Eckpunkten mit bekannten _id
Werten Sie die folgende AQL-Anweisung verwenden:
FOR target, unused, path IN @depth ANY @source edgeCollection
FILTER target._id == @target
RETURN path
Lassen Sie mich kurz die Teile erklären:
FOR target, unused, path
=> definiert Rückgabewerte: target
= Vertex, nach dem Sie suchen, unused
= letzte Kante, die darauf zeigt, path
= der vollständige Pfad im Format: {edges: [edge1, edge2, ..], vertices: [vertex1, vertex2, ...]}
IN @depth
=> Definiere die exakte Tiefe n
es werden keine kürzeren und keine weiteren Pfade zurückgegeben. Kann auch @[email protected]
sein, dann werden alle Pfade mit der Länge min bis max zurückgegeben.
ANY
=> Suchrichtung ist, wird diese Richtung der Kanten ignorieren, kann auch
edgeCollection
=> Name der Randerhebung, auch GRAPH "graphName"
INBOUND
oder
OUTBOUND
@source
=> der Zieleckenkennung sein kann
FILTER target._id == @target
=> Hier bestätigen wir, dass wir den richtigen Eckpunkt finden.
RETURN path
=> Nun den Pfad zurückzukehren;)
http://stackoverflow.com/questions/29677086/arangodb-how-to-get-all-the-possible-paths-between-2-vertices – kyle
Danke @ kyle Aber das funktioniert nicht für Arangodb 3.1 – chhl