For the record, https://stackoverflow.com/questions/28210775/split-list-into-multiple-lists-with-fixed-number-of-elements-in-java-8/28211518
is a better answer than the one I first linked. --- A. Soroka The University of Virginia Library > On Sep 16, 2015, at 12:02 PM, Andy Seaborne <a...@apache.org> wrote: > > Yes - A ResultSet isn't Iterable because you can only read it once unless you > do something like ResultSetFactory.makeRewindable, > Hence converting to a stream (.sequential() if ordered!)) is nice. > > If you are throwing away the part of the results outside the > startOffset/rowsCount slice, you can add OFFSET & LIMIT to the query then the > query engine/server can do it, resulting in less bytes. > > If you want the client to control it, the streams way is good. > > Andy > > On 16/09/15 16:27, aj...@virginia.edu wrote: >> One option: Jena is now using Java 8, so you can use the Streams API to do >> this: >> >> https://stackoverflow.com/questions/29273705/how-to-paginate-a-list-of-objects-in-java-8 >> >> ResultSet is an Iterator, so you can convert it to a Stream. >> >> --- >> A. Soroka >> The University of Virginia Library >> >>> On Sep 16, 2015, at 11:19 AM, Zen 98052 <z98...@outlook.com> wrote: >>> >>> Any idea on how to do the paging on the results set? >>> >>> For example in this code: >>> >>> >>> ResultSet rs = qe.execSelect(); >>> >>> >>> I was thinking to use com.google.common.collect.FluentIterable, so let say >>> I have the start offset and rows count values. >>> >>> To do the paging logic in naive way would be something like: >>> >>> >>> FluentIterable<QuerySolution> newIterator = FluentIterable.from(rs); >>> >>> newIterator.skip(startOffset); >>> >>> newIterator.limit(rowsCount); >>> >>> >>> Unfortunately the first line doesn't work (the ResultSet type is not type >>> of Iterable as expected by FluentIterable). >>> >>> Let me know the right way of paging the query results. >>> >>> >>> >>> Thanks, >>> >>> Z >> >