Ich versuche den kürzesten Weg zwischen zwei Vertices (fromNode und toNode) in Tinkerpop 3 zu finden, mit der Einschränkung, dass ich die Suche nach einer gewissen Tiefe N einstellen muss. Ohne diese Einschränkung werde ich nie fertig werden, wie der Graph ist zu groß.Wie kann man mit Tinkerpop 3 den kürzesten Weg zwischen Vertices finden, aber die Suchtiefe einschränken?
Bisher dies das Beste, was ich mit oben kommen kann:
titanGraph.traversal().V(fromNode)
.repeat(out().simplePath())
.times(N)
.emit(hasId(toNode)).path();
Das Problem, dass dies hat und alle anderen Möglichkeiten, wie ich versucht habe, ist, dass die Pfade der Länge N werden als Ergebnisse zurückgegeben, auch wenn sie nicht nachNode erreichen.
Ich muss alle Pfade zwischen fromNode und toNode der Länge N oder darunter zurückgeben.
Vielen Dank für die Führung, ich würde gerne die Antwort, aber meine Version von tinkerpop akzeptieren gibt einen NPE dafür. Ich muss die Titan-Version, die ich benutze, upgraden, um auch tinkerpop zu aktualisieren. Werde danach nochmal nachschauen. –
OK, ich bin mir ziemlich sicher, dass ich dies mit TinkerPop 3.0.1 gegen Titan 1.0 ausgeführt habe. Wenn Sie ein kleines Beispieldiagramm haben, um die NPE zu reproduzieren, fügen Sie das bitte zu Ihrer Frage hinzu. Vielen Dank. –
Eigentlich funktioniert das gut. Vielen Dank, meine NPE war mit einer Kombination von Times and Until verbunden. –