java - 如何使用多线程创建 gremlin 边

标签 java gremlin tinkerpop

我一直在研究 tinkerpop gremlin 图,最近我可以用它执行很多事情,现在我在尝试处理数千个顶点和边的时候感到震惊,它需要大约一小时完成该过程,我如何将 parallelStream() 操作应用于以下部分:

for(String s : somelist){
  String[] ss = s.split(",");
  graphTraversal().addEdge(ss[0], ss[1]);
}

那个“somelist”包含每条边的源顶点和目标顶点的信息(~大小为 65,000)。

最佳答案

从技术上讲,TinkerGraph 对于写入来说并不是完全线程安全的。根据您加载的内容和加载方式,您可能会遇到一些问题。我不能确切地说出这些问题是什么以及您可能需要做些什么来避免它们,但我们绝对没有以这种方式测试 TinkerGraph。

也就是说,即使在单线程操作模式下,按照您在示例代码中指定的格式加载 65,000 条边也不应该花一个小时加载到 TinkerGraph 中。这听起来有点过分。我假设您的示例代码不是您实际执行的代码,因为它不是有效的 Gremlin 语法,因此很难说出问题所在。

关于java - 如何使用多线程创建 gremlin 边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51098520/

相关文章:

python - Gremlin Python - 基于脚本的方法不返回全部 - JanusGraph

gremlin - 有没有从命令行运行单个 gremlin 查询的好方法?

java - 如何在arangodb中使用Tinkerpop蓝图API获取所有顶点和边

java - 如果我在 Spring boot 中对方法有多个映射,如何从 swagger ui 文档中仅隐藏一个映射

java - 为什么即使没有人调用 paintComponent() 也会运行?

gremlin - 有没有办法反转 Gremlin 中的列表?

tinkerpop - janusGraph使用远程连接更新和删除: report DefaultGraphTraversal. none()

Titan Db 忽略索引

Java 扫描器从输入文件中分离数据

java - JRE 8 与 weblogic 10.3.6 (11g