如何使用 neo4j java 驱动程序 4.0.0 批量流式传输记录?

How to stream records by batch with neo4j java driver 4.0.0?

假设我有一个对 neo4j 程序的查询,该程序应该 return 100 000 条记录。 我想要的是一种按 1000 条批次获取记录的方法。我不想等待 100 000 条记录全部由 Neo4j 发送,我想在客户端控制我收到的记录数。我注意到 ResultCursor 中有一个 CompletionStage<Record> nextAsync() 方法,它正在做我想要的,但只有一条记录。这不是最优的,因为它需要在客户端和 neo4j 之间进行太多次往返才能获取所有记录。有没有办法查询下N条记录?

我在异步模式下使用 neo4j java 驱动程序 4.0.0。

[更新]

neo4j 4.0+中,nextAsync()方法内部为您批量获取记录。

它的实现 returns 每当队列大小低于低水位线时,队列中的每条记录都会分批异步补充。

因此,nextAsync() 方法非常理想,通常应该非常快速地从队列中获取下一条记录。