如何在Gremlin中选择随机顶点

时间:2015-02-25 13:50:48

标签: graph gremlin

我仍处于早期阶段的图表和gremlin。

是否可以在Gremlin中随机选择图形顶点?

考虑以下用于获取用户所拥有的汽车的管道:

u.out('Friend')[0..9].out('Drives').map()

但是这个代码每次只针对前10位朋友执行。如何有效地随机选择?

感谢您的时间:)

2 个答案:

答案 0 :(得分:6)

在Gremlin 2.x中,您可以使用random步骤,如下所示:

g.v(1).out.random()

或3.x random已成为coin

如:

g.V(1).out.coin()
在3.x中

,您还可以查看3.x中的sampleorder(shuffle)步骤。

答案 1 :(得分:1)

您可以使用shuffle

 g = TinkerGraphFactory.createTinkerGraph()
 gremlin> g.v(1).out.shuffle[0]
 ==>v[3]
 gremlin> g.v(1).out.shuffle[0]
 ==>v[2]
 gremlin> g.v(1).out.shuffle[0]
 ==>v[3]
 gremlin> g.v(1).out.shuffle[0]
 ==>v[4]

这个解决方案并不是非常有效,因为需要获取v(1)的所有邻居。

这也可能有所帮助:Random Walk on Bipartite Graph with Gremlin