Paths Query Causing Unexpected Exception


(Christopher Yocum) #1

I was experimenting with the new PATHS feature as I was interested in how to get from one person to another in my database. I formulated the below query:

paths 
start ?s = <http://example.com/Rawl_B502/minigud_senchassa_lagen_tuath_gabair_&_des_gabair.ttl#Ádam> 
end ?e = <http://example.com/LL/lagin.ttl#Find> 
via <http://purl.org/vocab/relationship/ancestorOf>

I ran the query explainer with reasoning enabled on it and received this:

The Query Plan:

Projection(?nbxqvhgc, ?s, ?e) [#100]
`─ ShortestPaths((?s = <http://example.com/Rawl_B502/minigud_senchassa_lagen_tuath_gabair_&_des_gabair.ttl#Ádam>) -> ?e) [#100]
   +─ Canonicalize(?e)
   │  `─ VALUES (?e) {
   │     +─ ( <http://example.com/LL/lagin.ttl#Find-b1db9300> )
   │     +─ ( <http://example.com/Duanaire_Finn/PoemXXXVII.ttl#Fionn> )
   │     +─ ( <http://example.com/Duanaire_Finn/PoemXI.ttl#Finn> )
   │     +─ ( <http://example.com/Duanaire_Finn/PoemXXXVII.ttl#Fionn-f4006b50> )
   │     +─ ( <http://example.com/Rawl_B502/de_peritia_&_de_genealogis_dál_niad_cuirp_incipit.ttl#Find> )
   │     +─ ( <http://example.com/NLS.Adv.72.1.1/18vb58.ttl#Find> )
   │     +─ ( <http://example.com/LL/lagin.ttl#Find> )
   │     `─ ( <http://example.com/Rawl_B502/genelach_find_m_h-umaill.ttl#Find> )
   │     }
   `─ Distinct [#158K]
      `─ Projection(?e, ?s) [#158K]
         `─ Union [#158K]
            +─ Union [#17K]
            │  +─ Scan[POSC](?e, <http://purl.org/vocab/relationship/childOf>, ?s) [#17K]
            │  `─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/parentOf>, ?e) [#160]
            `─ Union [#141K]
               +─ PropertyPath(?s -> ?e, minLength=1, sorted by=?s) [#70K]
               │  `─ Union [#35K]
               │     +─ Union [#18K]
               │     │  +─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/parentOf>, ?e) [#160]
               │     │  `─ Union [#18K]
               │     │     +─ Scan[POSC](?e, <http://purl.org/vocab/relationship/descendantOf>, ?s) [#537]
               │     │     `─ Scan[POSC](?e, <http://purl.org/vocab/relationship/childOf>, ?s) [#17K]
               │     `─ Union [#17K]
               │        +─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/ancestorOf>, ?e) [#112]
               │        `─ Union [#17K]
               │           +─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/parentOf>, ?e) [#160]
               │           `─ Scan[POSC](?e, <http://purl.org/vocab/relationship/childOf>, ?s) [#17K]
               `─ PropertyPath(?e -> ?s, minLength=1, sorted by=?s) [#70K]
                  `─ Union [#35K]
                     +─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/parentOf>, ?e) [#160]
                     `─ Union [#35K]
                        +─ Union [#17K]
                        │  +─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/ancestorOf>, ?e) [#112]
                        │  `─ Union [#17K]
                        │     +─ Scan[PSOC](?s, <http://purl.org/vocab/relationship/parentOf>, ?e) [#160]
                        │     `─ Scan[POSC](?e, <http://purl.org/vocab/relationship/childOf>, ?s) [#17K]
                        `─ Union [#18K]
                           +─ Scan[POSC](?e, <http://purl.org/vocab/relationship/descendantOf>, ?s) [#537]
                           `─ Scan[POSC](?e, <http://purl.org/vocab/relationship/childOf>, ?s) [#17K]

There are no pipeline blockers that I can see here. As an aside, when running Stardog on my laptop, I find that anything that shows around 10K solutions or more will pretty much never finish. When I attempt to run this, the query will return -1 and I see the following in my stardog.log file:

ERROR 2018-05-26 20:01:41,061 [stardog-user-1] com.complexible.stardog.protocols.http.server.StardogHttpServiceLoader:accept(229): An unexpected exception was handled by the server
org.openrdf.query.QueryEvaluationException: -1
	at com.complexible.common.rdf.query.IteratorAsPathQueryResult.hasNext(IteratorAsPathQueryResult.java:86) ~[stardog-utils-rdf-5.3.0.jar:?]
	at com.complexible.common.rdf.query.PathsAsTupleQueryResult.hasNext(PathsAsTupleQueryResult.java:87) ~[stardog-utils-rdf-5.3.0.jar:?]
	at org.openrdf.query.QueryResults.report(QueryResults.java:158) ~[sesame-query-4.1.2.jar:?]
	at org.openrdf.query.resultio.QueryResultIO.writeTuple(QueryResultIO.java:449) ~[sesame-queryresultio-api-4.1.2.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.writeTupleResponse(ProtocolUtils.java:601) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:513) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:493) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.executeQuery(SPARQLProtocol.java:147) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.get(SPARQLProtocol.java:102) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:192) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) [shiro-core-1.3.0.jar:1.3.0]
	at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) [shiro-core-1.3.0.jar:1.3.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
	at com.complexible.stardog.plan.eval.operator.impl.LeanSolutionFactory.<init>(LeanSolutionFactory.java:67) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.LeanSolutionFactory.variables(LeanSolutionFactory.java:92) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.LeanSolutionFactory.variables(LeanSolutionFactory.java:32) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PropertyPathOpImpl.<init>(PropertyPathOpImpl.java:49) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.forGeneralPlus(RecursiveOperators.java:341) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.createGeneral(RecursiveOperators.java:242) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.createPropertyPathOperator(RecursiveOperators.java:119) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:713) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.PropertyPathPlanNodeImpl.accept(PropertyPathPlanNodeImpl.java:174) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:813) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.AbstractReasoningPlanNode.accept(AbstractReasoningPlanNode.java:121) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:584) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:584) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:656) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.BindPlanNodeImpl.accept(BindPlanNodeImpl.java:130) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:813) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.AbstractReasoningPlanNode.accept(AbstractReasoningPlanNode.java:121) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:584) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:813) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.AbstractReasoningPlanNode.accept(AbstractReasoningPlanNode.java:121) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:656) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.BindPlanNodeImpl.accept(BindPlanNodeImpl.java:130) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:419) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ProjectionPlanNodeImpl.accept(ProjectionPlanNodeImpl.java:207) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:341) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.DistinctPlanNodeImpl.accept(DistinctPlanNodeImpl.java:66) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.translate(DefaultTranslator.java:254) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.translate(DefaultTranslator.java:214) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator.translate(DefaultTranslator.java:165) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.translate(ExecutablePlanFactory.java:164) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.translate(ExecutionContext.java:290) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.operator(RecursiveOperators.java:623) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.startNodeIterator(RecursiveOperators.java:391) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.forGeneralPlus(RecursiveOperators.java:329) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.createGeneral(RecursiveOperators.java:242) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.RecursiveOperators.createPropertyPathOperator(RecursiveOperators.java:119) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:713) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.PropertyPathPlanNodeImpl.accept(PropertyPathPlanNodeImpl.java:174) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:813) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.AbstractReasoningPlanNode.accept(AbstractReasoningPlanNode.java:121) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:656) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.BindPlanNodeImpl.accept(BindPlanNodeImpl.java:130) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:813) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.AbstractReasoningPlanNode.accept(AbstractReasoningPlanNode.java:121) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:581) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:584) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:419) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ProjectionPlanNodeImpl.accept(ProjectionPlanNodeImpl.java:207) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.unaryVisit(DefaultTranslator.java:280) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.visit(DefaultTranslator.java:341) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.DistinctPlanNodeImpl.accept(DistinctPlanNodeImpl.java:66) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.translate(DefaultTranslator.java:254) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator$TranslateVisitor.translate(DefaultTranslator.java:214) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DefaultTranslator.translate(DefaultTranslator.java:165) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.translate(ExecutablePlanFactory.java:164) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.translate(ExecutionContext.java:290) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.translate(PathOp.java:625) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.lambda$initSearch$2(PathOp.java:495) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.AbstractPathSearch$1.computeNext(AbstractPathSearch.java:144) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.AbstractPathSearch$1.computeNext(AbstractPathSearch.java:102) ~[stardog-5.3.0.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.stardog.plan.eval.operator.impl.PathOp.nextEnd(PathOp.java:350) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.computeNext(PathOp.java:299) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.computeNext(PathOp.java:67) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:82) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:29) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedPathIteration.computeNext(OpBasedPathIteration.java:138) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedPathIteration.computeNext(OpBasedPathIteration.java:40) ~[stardog-5.3.0.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.IteratorAsPathQueryResult.hasNext(IteratorAsPathQueryResult.java:82) ~[stardog-utils-rdf-5.3.0.jar:?]
	... 14 more

Above that there is this (truncated as it is very long):

WARN  2018-05-26 20:01:40,608 [stardog-user-1] com.complexible.stardog.plan.optimizer.PopUpRewriter:optimizeUnion(99): Query plan tree not properly collapsed prior to algebraic optimization: Union(card=720[PROBABLY_OFF] cost=Infinity)
  Union(card=600[PROBABLY_OFF] cost=Infinity)
    Union(card=480[PROBABLY_OFF] cost=Infinity)
      Union(card=360[PROBABLY_OFF] cost=Infinity)
        Union(card=240[PROBABLY_OFF] cost=Infinity)
          PropertyPath[120[PROBABLY_OFF]](http://example.com/Rawl_B502/dúili_sluinti_na_n_genelach.ttl#Ádam -> Var(1) in Var(4) 1+, cost=Infinity)
            Scope[60[PROBABLY_OFF]]
              Union(card=60[PROBABLY_OFF] cost=Infinity)
                Scope[2[PROBABLY_OFF]]
                  Bind(<http://example.com/Rawl_B502/dúili_sluinti_na_n_genelach.ttl#Ádam> AS 0)
                    Scope[2[PROBABLY_OFF]]
                      Union(card=2[PROBABLY_OFF] cost=Infinity)
                        Scope[1[PROBABLY_OFF]]
                          Scan[1[ACCURATE]](POS[SortType[-1]], Var(1), http://purl.org/vocab/relationship/childOf, http://example.com/Rawl_B502/dúili_sluinti_na_n_genelach.ttl#Ádam, Var(4), scope=Default)
                        Scope[1[PROBABLY_OFF]]
                          Scan[1[ACCURATE]](POS[SortType[-1]], http://example.com/Rawl_B502/dúili_sluinti_na_n_genelach.ttl#Ádam, http://purl.org/vocab/relationship/parentOf, Var(1), Var(4), scope=Default)
                Scope[58[PROBABLY_OFF]]
                  Union(card=58[PROBABLY_OFF] cost=Infinity)
                    Scope[30[PROBABLY_OFF]]
                      Union(card=30[PROBABLY_OFF] cost=Infinity)
                        Scope[26[PROBABLY_OFF]]
                          Bind(<http://example.com/Rawl_B502/dúili_sluinti_na_n_genelach.ttl#Ádam> AS 0)
                            Scope[26[PROBABLY_OFF]]
                              Union(card=26[PROBABLY_OFF] cost=Infinity)
                                Scope[2[PROBABLY_OFF]]
                                  Union(card=2[PROBABLY_OFF] cost=Infinity)
                                    Scope[1[PROBABLY_OFF]]
                                      Scan[1[ACCURATE]](POS[SortType[-1]], Var(1), http://purl.org/vocab/relationship/childOf, http://example.com/Rawl_B502/dúili_sluinti_na_n_genelach.ttl#Ádam, Var(4), scope=Default)
...

I am not sure if this is a bug or just something that I do not understand about PATHS. Is there something different that I can do to make this query more efficient?

Thanks!


(Christopher Yocum) #2

I have played with it a bit more and I was able to run the following with some success:

paths start ?s = <http://example.com/Rawl_B502/minigud_senchassa_lagen_tuath_gabair_&_des_gabair.ttl#Ádam> end ?e = <http://example.com/LL/lagin.ttl#Find> via ^<http://purl.org/vocab/relationship/childOf>|<http://purl.org/vocab/relationship/childOf> limit 1

However, if I take the limit away within about 30 seconds it returns with:

The server returned a partial response. This is likely due to a query timeout.

Looking in the logs I see:

ERROR 2018-05-27 12:00:59,043 [stardog-user-14] com.complexible.stardog.protocols.http.server.StardogHttpServiceLoader:accept(229): An unexpected exception was handled by the server
org.openrdf.query.QueryEvaluationException: null
	at com.complexible.common.rdf.query.IteratorAsPathQueryResult.hasNext(IteratorAsPathQueryResult.java:86) ~[stardog-utils-rdf-5.3.0.jar:?]
	at com.complexible.common.rdf.query.PathsAsTupleQueryResult.hasNext(PathsAsTupleQueryResult.java:118) ~[stardog-utils-rdf-5.3.0.jar:?]
	at org.openrdf.query.QueryResults.report(QueryResults.java:158) ~[sesame-query-4.1.2.jar:?]
	at org.openrdf.query.resultio.QueryResultIO.writeTuple(QueryResultIO.java:449) ~[sesame-queryresultio-api-4.1.2.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.writeTupleResponse(ProtocolUtils.java:601) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:513) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:493) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.executeQuery(SPARQLProtocol.java:147) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.get(SPARQLProtocol.java:102) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:192) ~[stardog-protocols-http-server-5.3.0.jar:?]
	at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120) [shiro-core-1.3.0.jar:1.3.0]
	at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108) [shiro-core-1.3.0.jar:1.3.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: com.complexible.stardog.StardogException
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.rewrite(RewriteVisitor.java:74) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter.optimize(BlackoutRewriter.java:104) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline.execute(OptimizationPipeline.java:118) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.optimize(PathOp.java:464) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.optimizePathIfNecessary(PathOp.java:431) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.lambda$initSearch$2(PathOp.java:495) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.AbstractPathSearch$1.computeNext(AbstractPathSearch.java:144) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.AbstractPathSearch$1.computeNext(AbstractPathSearch.java:102) ~[stardog-5.3.0.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.stardog.plan.eval.operator.impl.PathOp$3.computeNext(PathOp.java:578) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp$3.computeNext(PathOp.java:540) ~[stardog-5.3.0.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.stardog.plan.eval.operator.impl.PathOp.nextPath(PathOp.java:362) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.computeNext(PathOp.java:296) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.computeNext(PathOp.java:67) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:82) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:29) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedPathIteration.computeNext(OpBasedPathIteration.java:138) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedPathIteration.computeNext(OpBasedPathIteration.java:40) ~[stardog-5.3.0.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.IteratorAsPathQueryResult.hasNext(IteratorAsPathQueryResult.java:82) ~[stardog-utils-rdf-5.3.0.jar:?]
	... 14 more
Caused by: java.lang.NullPointerException
	at com.complexible.stardog.index.IteratorBuilder$AbstractBinaryBuilder.checkArguments(IteratorBuilder.java:602) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.index.IteratorBuilder.iterator(IteratorBuilder.java:187) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.TypeOracle.isObjectPropertyInABox(TypeOracle.java:716) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.TypeOracle.isObjectProperty(TypeOracle.java:650) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.TypeOracle.getSubjectType(TypeOracle.java:503) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.TypeOracle.inferSubjectType(TypeOracle.java:390) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.TypeOracle.inferType(TypeOracle.java:323) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.TypeOracle.inferTypes(TypeOracle.java:211) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.ScansClausifier.clausify(ScansClausifier.java:65) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter$1.rewriteScans(BlackoutRewriter.java:137) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:309) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.binaryVisit(TransformingPlanNodeVisitor.java:620) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.binaryTransform(TransformingPlanNodeVisitor.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:122) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:805) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:278) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:599) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:80) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:132) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:845) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.BindPlanNodeImpl.accept(BindPlanNodeImpl.java:130) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:278) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.binaryVisit(TransformingPlanNodeVisitor.java:620) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.binaryTransform(TransformingPlanNodeVisitor.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:122) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:805) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:278) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.binaryVisit(TransformingPlanNodeVisitor.java:620) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.binaryTransform(TransformingPlanNodeVisitor.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:122) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:805) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.UnionPlanNodeImpl.accept(UnionPlanNodeImpl.java:88) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:278) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:599) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:80) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:345) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:837) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.ProjectionPlanNodeImpl.accept(ProjectionPlanNodeImpl.java:207) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:599) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:80) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:277) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:813) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.DistinctPlanNodeImpl.accept(DistinctPlanNodeImpl.java:66) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:65) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.rewrite(RewriteVisitor.java:70) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter.optimize(BlackoutRewriter.java:104) ~[stardog-reasoning-core-5.3.0.jar:?]
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline.execute(OptimizationPipeline.java:118) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.optimize(PathOp.java:464) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.optimizePathIfNecessary(PathOp.java:431) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.lambda$initSearch$2(PathOp.java:495) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.AbstractPathSearch$1.computeNext(AbstractPathSearch.java:144) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.AbstractPathSearch$1.computeNext(AbstractPathSearch.java:102) ~[stardog-5.3.0.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.stardog.plan.eval.operator.impl.PathOp$3.computeNext(PathOp.java:578) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp$3.computeNext(PathOp.java:540) ~[stardog-5.3.0.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.stardog.plan.eval.operator.impl.PathOp.nextPath(PathOp.java:362) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.computeNext(PathOp.java:296) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.PathOp.computeNext(PathOp.java:67) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:82) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:29) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedPathIteration.computeNext(OpBasedPathIteration.java:138) ~[stardog-5.3.0.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedPathIteration.computeNext(OpBasedPathIteration.java:40) ~[stardog-5.3.0.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.IteratorAsPathQueryResult.hasNext(IteratorAsPathQueryResult.java:82) ~[stardog-utils-rdf-5.3.0.jar:?]
	... 14 more

(Christopher Yocum) #3

This is rather embarrassing but it seems that I solved my own problem. It mostly had to do with the fact that I was using rel:ancestorOf which is fairly high up the subProperty tree by pushing it down to rel:parentOf I could get it to work correctly. The issues that I identified above are still slightly concerning because there is no way for me to know if getting an IndexOutofBounds or NullPointer exceptions are bugs or not. Anyway I will leave this here in case anyone else runs into this issue in the future.


(Pavel Klinov) #4

Hi Chris,

Those exceptions are a bug and we’ll take a look (they might be related to the combination of paths and owl:sameAs which you seem to be using).

I have some dataset of yours from a while ago, I can try that. If you can export your database contents into a single RDF file, that’d help.

Thanks,
Pavel


(Christopher Yocum) #5

Hi Pavel,

Great, thank you for looking into it. I do not believe that the data has changed so you should be able to use it. For the avoidance of doubt, I will send the data when I get home.

Thanks!,
Chris


(system) #6

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