1

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

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

但是,要求对我的 edge-csv 文件执行相同操作的边数大约需要 4 分钟,并且会为我的 tinkerpopserver 产生超时。

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

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

4

2 回答 2

2

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

于 2017-06-12T17:56:20.230 回答
1

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

于 2017-06-12T14:27:11.073 回答