Issue with reasoning

Hi all,

I’ve developed and tested an ontology (RL profile) using protege. Whatever reasoner i use with protege, my ontology infers the correct results.

I’ve uploaded the ontology to stardog and i can make queries without reasoning and i get the expected results. The query i made is:

./stardog query storagex --reasoning "select ?x where { ?x a ec:SRDF_Configuration }"

When i try to use reasoning in stardog, even when i try to run the same query as above, i get following error:

ERROR 2017-06-17 09:51:36,584 [XNIO-1 task-28] com.complexible.stardog.protocols.http.server.StardogHttpServiceLoader:accept(228): An unexpected exception was handled by the server
org.openrdf.query.QueryEvaluationException: null
at com.complexible.common.rdf.query.IteratorAsTupleQueryResult.hasNext(IteratorAsTupleQueryResult.java:81) ~[stardog-utils-rdf-5.0-RC1.jar:?]
at org.openrdf.query.QueryResults.report(QueryResults.java:158) ~[sesame-query-4.0.0.jar:?]
at org.openrdf.query.resultio.QueryResultIO.writeTuple(QueryResultIO.java:449) ~[sesame-queryresultio-api-4.0.0.jar:?]
at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:470) ~[stardog-protocols-http-server-5.0-RC1.jar:?]
at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:441) ~[stardog-protocols-http-server-5.0-RC1.jar:?]
at com.complexible.stardog.protocols.http.server.SPARQLProtocol.executeQuery(SPARQLProtocol.java:133) ~[stardog-protocols-http-server-5.0-RC1.jar:?]
at com.complexible.stardog.protocols.http.server.SPARQLProtocol.get(SPARQLProtocol.java:81) ~[stardog-protocols-http-server-5.0-RC1.jar:?]
at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$91(ExtractRoutes.java:186) ~[stardog-protocols-http-server-5.0-RC1.jar:?]
at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) ~[shiro-core-1.2.3.jar:1.2.3]
at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) ~[shiro-core-1.2.3.jar:1.2.3]
at com.stardog.http.server.undertow.ErrorHandling.lambda$safeDispatch$46(ErrorHandling.java:70) ~[stardog-protocols-http-server-5.0-RC1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_73]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_73]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_73]
Caused by: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1429) ~[?:1.8.0_73]
at java.util.HashMap$KeyIterator.next(HashMap.java:1453) ~[?:1.8.0_73]
at com.clarkparsia.pellet.rules.RulesStrategy.applyRuleBindings(RulesStrategy.java:139) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.rules.RulesStrategy.doComplete(RulesStrategy.java:230) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.completion.AbstractCompletionStrategy.complete(AbstractCompletionStrategy.java:387) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.abox.DefaultABox.checkInconsistent(DefaultABox.java:1109) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.abox.DefaultABox.isConsistent(DefaultABox.java:1056) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.partitionInstanceRetrieval(TableauRetrievalEngine.java:523) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.binaryInstanceRetrieval(TableauRetrievalEngine.java:509) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.binaryInstanceRetrieval(TableauRetrievalEngine.java:492) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.retrieve(TableauRetrievalEngine.java:477) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.queryInstances(TableauRetrievalEngine.java:410) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.access$900(TableauRetrievalEngine.java:124) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine$Visitor.visit(TableauRetrievalEngine.java:790) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine$Visitor.visit(TableauRetrievalEngine.java:712) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.term.impl.axiom.TypeAssertionImpl.accept(TypeAssertionImpl.java:24) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.TableauRetrievalEngine.execute(TableauRetrievalEngine.java:145) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.tableau.DefaultTableauKB.selectEntity(DefaultTableauKB.java:982) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.impl.AbstractKnowledgeBase.selectIndividual(AbstractKnowledgeBase.java:333) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.query.impl.DefaultQueryEngine.execute(DefaultQueryEngine.java:175) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.query.impl.DefaultQueryEngine.execute(DefaultQueryEngine.java:87) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.query.impl.AbstractQueryEngine.visit(AbstractQueryEngine.java:104) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.query.impl.AbstractQueryEngine.visit(AbstractQueryEngine.java:33) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.query.impl.SelectQueryImpl.accept(SelectQueryImpl.java:43) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.clarkparsia.pellet.api.query.impl.AbstractQueryEngine.execute(AbstractQueryEngine.java:42) ~[stardog-reasoning-shared-5.0-RC1.jar:?]
at com.complexible.stardog.reasoning.pellet.PelletUtils.executeQuery(PelletUtils.java:88) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.complexible.stardog.reasoning.pellet.PelletOp.computeNext(PelletOp.java:84) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.complexible.stardog.reasoning.pellet.PelletOp.computeNext(PelletOp.java:35) ~[stardog-reasoning-core-5.0-RC1.jar:?]
at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.0-RC1.jar:?]
at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.0-RC1.jar:?]
at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:83) ~[stardog-5.0-RC1.jar:?]
at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:33) ~[stardog-5.0-RC1.jar:?]
at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.0-RC1.jar:?]
at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.0-RC1.jar:?]
at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.0-RC1.jar:?]
at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.0-RC1.jar:?]
at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.0-RC1.jar:?]
at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.0-RC1.jar:?]
at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:110) ~[stardog-5.0-RC1.jar:?]
at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:34) ~[stardog-5.0-RC1.jar:?]
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) ~[guava-18.0.jar:?]
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) ~[guava-18.0.jar:?]
at com.complexible.common.rdf.query.IteratorAsTupleQueryResult.hasNext(IteratorAsTupleQueryResult.java:77) ~[stardog-utils-rdf-5.0-RC1.jar:?]
… 13 more

What’s the issue ? Is there a solution…?

Did you try this at stardog UI?
What reasoning level did you set in stardog? try to use SL, even if your ontology is RL.

Hi Robert, thanks for your support. Much appreciated.
I ran it both from the UI and the CLI…same result.
I am trying SL as we speak…there is a difference…it does not return an error (yet…) but its been processing for about 30 minutes now…
What i’m curious about is why this takes so long while the same query in Protégé takes only about 30 s using the Pellet reasoner (about the same for most other reasoners…Fact++, Hermit…) ?
It is a rather “complex” ontology…but i’m only running it on some 100 facts…

Are you able to share your ontology/data, either here or privately?