从Titan图数据库中选择随机顶点的最佳方法是什么

时间:2013-12-23 21:55:20

标签: java graph graph-databases titan

我需要从图中选择随机顶点或边。我目前正在使用蓝图API来查询图表。从图表中随机选择顶点或边的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

假设您不知道图表中的所有元素,可以使用getVertices()getEdges()从图表中检索所有顶点/边缘。

但是既然你从这些方法中得到了一个迭代器,那么实际问题是如何从迭代器中选择一个随机元素

有两种方法可以解决这个问题。

  1. 迭代所有元素并将它们存储在数组或列表中,并根据集合的大小选择随机元素,或者
  2. 在迭代元素时使用Reservoir sampling

  3. 如果您使用Gremlin Pipeline,根据您的标签执行查询,使用random filter from gremlin并选择第一个顶点,还有另一种方法可以解决此问题。

相关问题