algorithm - 运行 Neo4j 图形算法 Louvain 时出现 ArrayIndexOutOfBoundsException

标签 algorithm neo4j cypher

执行 Louvain algorithm 时在 neo4j-graph-algorithms 中,我遇到了以下错误。

Neo.ClientError.Procedure.ProcedureCallFailed: Failed to invoke procedure algo.louvain.stream: Caused by: java.lang.ArrayIndexOutOfBoundsException: 2409421

我还必须指出,异常发生后的值从一次执行到另一次略有变化 (+/- 1000)。 此外,将算法的参数“graph”设置为“huge”也会导致同样的错误。
这是我正在使用的 Cypher 查询,

CALL algo.louvain.stream('${Label}', '${rel}', {graph : 'huge', concurrency : 4}) YIELD nodeId, community

以下是环境的一些特征:

  • neo4j-community-3.4.4
  • 图形算法-algo-3.4.4.0
  • apoc-3.4.0.1-all
  • dbms.memory.heap.initial_size=512m
  • dbms.memory.heap.max_size=8G

图形特征: - 240万个节点 - 10M 条边

预先感谢您提供有关如何解决此问题的任何指示。

亲切的问候,

最佳答案

你能试试最新版本的图算法库(3.4.8.0)吗?我们对 Louvain 算法进行了一些修复,您看到的问题可能已被修复。

干杯,马克

关于algorithm - 运行 Neo4j 图形算法 Louvain 时出现 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52949841/

相关文章:

java - 如何使用java api在neo4j中创建具有多个节点的节点

neo4j - 如何转储 Neo4j 图形数据库?

neo4j - 在一次密码查询中获取总计数和分页结果(neo4j)

neo4j - Cypher中如何获取最近的节点?

c++ - 图像缩放的双三次插值算法

algorithm - 从子集列表中查找所有分区

java - 需要一些关于我的图形实现的建议

Neo4j - 根据一组 id 检查数据库中是否有多个项目的最佳方法是什么

java - 如何在 Java 应用程序代码中构建参数化密码查询?

基于好恶将人匹配在一起的算法