Neo4j - 使用 kaminari 分页 - 堆栈级别太深

Neo4j - pagination with kaminari - stack level too deep

我有很多作者(作为节点)创作了多个艺术作品(wokas),也作为节点。 我想获取第 100 页的作者,每页 5 位作者。 对于这五位被选中的第一作者,我想知道创作的第一部艺术作品。 这是我的代码和遇到的错误。 如何解决?

irb(main):021:0* a = Author.page(100).per(5)
=> #<Kaminari::Neo4j::Paginated:0x007fde539b3c30 @source=Author(author_name: String), @current_page=100, @per_page=5>
irb(main):022:0> a.first
 CYPHER 792ms MATCH (result_author:`Author`) RETURN result_author SKIP {skip_495} LIMIT {limit_5} | {:skip_495=>495, :limit_5=>5}
=> #<Author uuid: nil, author_name: "1520?, Pittoni Battista, B.">

irb(main):023:0> w = a.first.wokas.first
 CYPHER 361ms MATCH (result_author:`Author`) RETURN result_author SKIP {skip_495} LIMIT {limit_5} | {:skip_495=>495, :limit_5=>5}
 Author#wokas 85038ms MATCH (previous:`Author`) OPTIONAL MATCH previous-[rel1:`AUTHORED_BY`]->(next:`Woka`) WHERE (ID(previous) IN {ID_previous}) RETURN ID(previous), collect(next) | {:ID_previous=>[19800172, 19800173, 19800174, 19800175, 19800176]}
SystemStackError: stack level too deep
    from /Users/levi/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/neo4j-5.0.11/lib/neo4j/active_node/has_n.rb:154:in `previous_proxy_results_by_previous_id'

另一个语句因同样的错误而失败。

irb(main):003:0> w = a.first.wokas.count
 CYPHER 372ms MATCH (result_author:`Author`) RETURN result_author SKIP {skip_495} LIMIT {limit_5} | {:skip_495=>495, :limit_5=>5}
 Author#wokas 99625ms MATCH (previous:`Author`) OPTIONAL MATCH previous-[rel1:`AUTHORED_BY`]->(next:`Woka`) WHERE (ID(previous) IN {ID_previous}) RETURN ID(previous), collect(next) | {:ID_previous=>[19800172, 19800173, 19800174, 19800175, 19800176]}
SystemStackError: stack level too deep

我意识到我应该提供一个答案 ;)

我认为这已在 neo4j gem 的 5.0.12 版本中修复。你能更新看看是否有效吗?