通过Gremlin计算大图中节点/边数的最简单,最有效的方法是什么?我发现最好的是使用V迭代器:
gremlin> g.V.gather{it.size()}
Run Code Online (Sandbox Code Playgroud)
图的顶点迭代器.利用它来迭代图中的所有顶点.除非与键索引查找结合使用,否则请小心使用大型图形.
我认为计算所有顶点的首选方法是:
gremlin> g = TinkerGraphFactory.createTinkerGraph()
==>tinkergraph[vertices:6 edges:6]
gremlin> g.V.count()
==>6
gremlin> g.E.count()
==>6
Run Code Online (Sandbox Code Playgroud)
不过,我认为g.V/E无论你做什么,在一张非常大的图表上都会发生故障.在一个非常大的图表上,进行计数的最佳选择是使用像Faunus(http://thinkaurelius.github.io/faunus/)这样的工具,这样您就可以利用Hadoop的强大功能并行计算.