次のスクリプトを使用して最短パスを取得しようとしています。
g.V.filter{it.name == 'station1'}.out.dedup().loop(2){it.object.name != "station5" & it.loops < 30}.path{it.name}
グラフに複数の最短パスがある場合、それらすべてをリストするようにスクリプトを変更するにはどうすればよいですか?
次のスクリプトを使用して最短パスを取得しようとしています。
g.V.filter{it.name == 'station1'}.out.dedup().loop(2){it.object.name != "station5" & it.loops < 30}.path{it.name}
グラフに複数の最短パスがある場合、それらすべてをリストするようにスクリプトを変更するにはどうすればよいですか?
このトピックにより適切に対処するために、GremlinDocs Shortest Path Recipe を更新しました。
http://gremlindocs.com/#recipes/shortest-path
この例は基本的に、パスの配布を行うことで最高潮に達します。
gremlin> g.v(1).out.loop(1){it.object.id!="5" && it.loops< 6 }.path{it.name}.groupBy{it.size()}{it}.cap.next()
==>2=[[marko, ripple]]
==>3=[[marko, josh, ripple], [marko, lop, ripple]]
==>4=[[marko, josh, lop, ripple]]
長さ 3 の 2 つのパスが示されていることに注意してください。