You've made a common error that people trying to benchmark Jena make.  
execSelect() simply prepares a result set backed by an iterator that is capable 
of answering the query, until you are consume that result set no execution 
actually takes place.  All query execution in Jena is lazy, if you want to time 
the time to execute the full results use a method that consumes/copies the 
returned iterator such as ResultSetFactory.copyResults() thus forcing full 
execution to happen

So what you are timing as the results processing is actually results processing 
+ query execution.  Over an inference model the act of executing a query will 
cause inference rules to be applied which depending on the ontology and rules 
may take a long time.

Rob

On 14/03/2018, 16:26, "[email protected]" <[email protected]> wrote:

    Hi,
    
    I have included here 
(https://gist.github.com/MarcAgate/8bbe334fd852817977c909af107a9c6b) some code 
tha illustrates the issue.
    It runs the same query against three different models (Model, InfModel and 
OntModel) of the same ontology.
    There's obviously a problem with InfModel.
    
    Any idea ?
    
    Thanks
    
    Marc
    
    




Reply via email to