在不迭代顶点的情况下访问边

时间:2017-06-12 14:18:06

标签: performance gremlin janusgraph

我目前正在使用hadoop环境中的janusGraph。 我已经在图表中加载了更多的Vertices(大约五十万),并获得了主键运行的索引。 迭代每个顶点大约需要3分钟。 我目前在图表中有0个边缘。

为了加载我的图形边缘,我正在读出一个包含数据的csv文件。 由于我有时面临超时(因为环境)我一直在寻找顶点数,然后跳到csv中的正确行,重新启动加载。

但是,要求边缘计数与我的edge-csv文件一样需要大约4分钟,并为我的tinkerpopserver产生超时。

有没有办法在不迭代每个顶点的情况下获得图中边的总数?

添加边缘本身可以正常工作,因为顶点的复合索引非常快。

2 个答案:

答案 0 :(得分:2)

鉴于为JanusGraph存储边的方式g.E()将基本上迭代所有顶点以获得边缘,因此您无法获得计数。值得注意的是,迭代边是特定于图的问题,因此其他图可能表现不同。例如,TinkerGraph使用完全绕过迭代的策略来处理计数。

答案 1 :(得分:1)

graph.traversal().E().count()应该有用。