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
>> 
> 

Reply via email to