Hi Andy, thank you very much. Yes, my use case is a webapp. And yes, the responsibility is mine if I rely on the order of iterator results…
fps > Le 21 nov. 2015 à 17:56, Andy Seaborne <[email protected]> a écrit : > > Hi, > > In the current implementation, then results will be in the same order. Well, > as far as I know. I can't think of anything that will disturb it. I think > you realise the responsibility is yours; it is not guaranteed for all time. > > Results are normally streaming and always truncate-able. What might work for > you is display the top page from the iterator but keep the iterator around to > read more (depends on the usage - hard to do in a webapp where it is separate > HTTP requests). It's better if you can close the result set explicitly if > truncating the results. > > By the way "ORDER-BY/LIMIT N" is optimized to avoid a n log n sort. It is > still a traversal of the result set and isn't streaming. > > Andy > > On 21/11/15 00:52, François-Paul Servant wrote: >> Hi, >> >> I’m using TDB. No update. >> >> and something like: >> ResultSet getResultSet(String queryString) { >> Query query = QueryFactory.create(queryString) ; >> QueryExecution qexec = QueryExecutionFactory.create(query, model)) >> return qexec.execSelect() ; >> } >> >> Is there a way to be guaranteed that, if I call getResultSet twice with the >> same string, the iterator over the results returns them in the same order? >> >> I don’t want to use ORDER BY in the query because it implies to go through >> all the results, and it is therefore slow if there are many results. >> >> Andy, you wrote once here: >> http://mail-archives.apache.org/mod_mbox/jena-users/201310.mbox/%[email protected]%3E >> something that make me hopes that the order is generally stable, but I could >> be misunderstanding what you said: >> >>> You then… have stabilized the results >>> against updates or against execution to give a different order (*rather >>> unlikely in Jena >> >> did you mean that it is unlikely in Jena that the results be returned in a >> different order when the query string is the same? If the order were stable >> 99% of the times, I would happily avoid to go through all the results and >> sort them: very often, people only look at the first page of results. If the >> query returns 1000 solutions, it is really a waste of time to list them all. >> >> TIA >> >> fps >> >
