Gremlin:如何获得具有相同边数的超过1条最短路径?

时间:2013-05-31 04:24:37

标签: gremlin

我正在尝试使用以下脚本来获取最短路径:

g.V.filter{it.name == 'station1'}.out.dedup().loop(2){it.object.name != "station5" & it.loops < 30}.path{it.name}

如果图表中有超过1条最短路径,如何修改脚本以列出所有这些路径?

1 个答案:

答案 0 :(得分:4)

我更新了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的路径。