Query reasoning timeout error

Good Morning,

I'm currently using Stardog 6.2.1 on Ubuntu 16.04 LTS but when I try to reasoning a query as simple as:

Select ?z
WHERE { 
    ?z a geo:SpatialObject.
}
LIMIT 1

This error occurs:

QueryEval: com.complexible.stardog.plan.eval.ExecutionException: java.lang.RuntimeException: Running time of completion exceeded timeout 60000

I can't find where to configure that time of completion. I've configured the query timeout to a different value but the error always says 60 seconds.

Thanks.

Hi and welcome!

How big is the database on which you are running this query? How big and/or complicated is your TBox (ontology)?

Hi Stephen,

Thanks for your reply, these are the ontology metrics:
Screenshot%20from%202019-05-31%2014-06-48

However, it is possible to configure that timeout? Or avoid that error?

greetings.

If you are using OWL-DL reasoning (likely given the protege screenshot), there is a separate timeout you can set in your stardog.properties file: reasoning.schema.timeout

Thanks for your answer Stephen,

I was using SL reasoning option, so I changed to DL reasoning. However, the reasoning.schema.timeout = 120s config in the stardog.properties is not taken into account. The query using Stardog Studio never finish,I had to restart the server because the kill query option is not working.

Annotation%202019-06-05%20124841


Annotation%202019-06-05%20131242

But, the real problem is that the query with reasoning takes too long (more than 50 minutes before I have to restart), is there any way to improve reasoning? something like parallel reasoning, changing the reasoning type per query or clusterizing the database?

Are you able to generate the query plan so you could share it with us?

Also, I wouldn't recommend using DL reasoning unless your ontology demands it. If SL is good for your use case, it's much more efficient.

Reasoning with SL type, I get this error:
QueryEval: com.complexible.stardog.plan.eval.ExecutionException: java.lang.RuntimeException: Running time of completion exceeded timeout of 60000

I'm attaching a zip file with the execution plan for RDFS and DL types. the query using RDFS returns the correct amount of records in 745 ms. The query using DL takes too long (after 50 minutes, I restarted the database server).

executionPlans.zip (1.9 KB)

The best option for me will be to use SL reasoning, because I have some SWRL rules that use object properties with characteristics (symmetric, transitive, etc...). With RDFS the rules are correctly applied but I have no symmetric or transitive reasoning; with DL the query takes too long and no rules are applied; and with SL I get the error above.

Thanks for your help.

Hi Stephen, anything detected in the query plans? It is possible that the
java.lang.RuntimeException: Running time of completion exceeded timeout 60000 error could be solved?

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.