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

如何使用neo4j java驱动程序4.0.0批量流式处理记录?,java,neo4j,driver,Java,Neo4j,Driver,假设我有一个对neo4j过程的查询,它应该返回100000条记录。 我想要的是一种按1000个批次获取记录的方法。我不想等待10万条记录全部由Neo4j发送,我想在客户端控制我收到的记录数。我注意到在ResultCursor中有一个CompletionStage nextAsync()方法,它正在做我想做的事情,但是一个记录一个记录。这不是最优的,因为它需要客户机和neo4j之间的多次往返才能获得所有记录。有没有办法询问下一个N记录 我正在异步模式下使用neo4j java驱动程序4.0.0。[

假设我有一个对neo4j过程的查询,它应该返回100000条记录。 我想要的是一种按1000个批次获取记录的方法。我不想等待10万条记录全部由Neo4j发送,我想在客户端控制我收到的记录数。我注意到在
ResultCursor
中有一个
CompletionStage nextAsync()
方法,它正在做我想做的事情,但是一个记录一个记录。这不是最优的,因为它需要客户机和neo4j之间的多次往返才能获得所有记录。有没有办法询问下一个N记录

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

[更新]

在中,
nextAsync()
方法在内部为您批量获取记录

它的实现返回队列中的每条记录,每当队列大小低于低水位线时,该队列将以批量方式异步补充


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

如果我的存储过程应该返回100000条记录,并且如果nextAsync方法是分批获取记录,那么客户机和服务器之间的往返次数是多少?如何控制批量大小?根据这一点,您的答案仅在Neo4j 4.0开始时有效。对于Neo4j 3.5及以下版本,所有记录都集中在一个批次中。