# IOB exception when constructing dumb rule

**URL:** <https://community.stardog.com/t/iob-exception-when-constructing-dumb-rule/1215>\
**Category:** Support\
**Created:** [August 11, 2018, 7:29pm UTC](https://community.stardog.com/t/iob-exception-when-constructing-dumb-rule/1215 "2018-08-11T19:29:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [August 11, 2018, 7:29pm UTC](https://community.stardog.com/t/iob-exception-when-constructing-dumb-rule/1215/1 "2018-08-11T19:29:07Z")

</div>

Stardog 5.3.2

It looks like if you try to use an aggregate function in a rule it throws an IndexOutOfBoundsException. I know you can do that but you might be asking yourself, what the heck are you doing? Lets just say that I know what I’m doing is stupid but I’m just exploring the bounds of the possible. 😉

```
insert data {
    :a :b :c .
    :d :b :e .
    :d :b :f .
    :d :b :g .
}

```

prefix rule: \<tag:stardog:api:rule:\>

```
insert data {
[] a rule:SPARQLRule;
rule:content """
IF {
?a :b ?c
bind(count(?c) as ?d)
}
THEN{
?a :count ?d}
""".
}

```

The following stack trace is throws when you execute the query with reasoning

`select * where {:a :count ?o}`

```
ERROR 2018-08-11 15:21:33,637 [stardog-user-10] com.complexible.stardog.protocols.http.server.StardogHttpServiceLoader:accept(229): An unexpected exception was handled by the server
org.openrdf.query.QueryEvaluationException: com.complexible.stardog.plan.eval.ExecutionException: Index: 1, Size: 1
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:207) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:190) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:458) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.executeQuery(SPARQLProtocol.java:147) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.post(SPARQLProtocol.java:111) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:192) ~[stardog-protocols-http-server-5.3.2.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:1142) [?:1.8.0_131]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: com.complexible.stardog.plan.eval.ExecutionException: Index: 1, Size: 1
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:107) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:333) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:279) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:215) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:204) ~[stardog-5.3.2.jar:?]
	... 10 more
Caused by: com.complexible.stardog.StardogException: Index: 1, Size: 1
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.rewrite(RewriteVisitor.java:74) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter.optimize(BlackoutRewriter.java:104) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline.execute(OptimizationPipeline.java:118) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.optimizePlan(ExecutablePlanFactory.java:136) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$createOptimized$0(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.cache.SimplePlanCache.get(SimplePlanCache.java:111) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:333) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:279) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:215) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:204) ~[stardog-5.3.2.jar:?]
	... 10 more
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
	at java.util.ArrayList.rangeCheck(ArrayList.java:653) ~[?:1.8.0_131]
	at java.util.ArrayList.get(ArrayList.java:429) ~[?:1.8.0_131]
	at com.complexible.stardog.reasoning.blackout.RewritingToPlanNodeUtils.getSWRLBuiltin(RewritingToPlanNodeUtils.java:221) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AtomToPlanNode.getSWRLBuiltInValueProvider(AtomToPlanNode.java:232) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AtomToPlanNode.transformSWRLBuiltInAtom(AtomToPlanNode.java:196) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AtomToPlanNode.transform(AtomToPlanNode.java:86) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.QueryToPlanNode.transform(QueryToPlanNode.java:115) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.QueryToPlanNode.transform(QueryToPlanNode.java:92) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewritingToPlanNode.transform(RewritingToPlanNode.java:47) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter$1.rewriteScans(BlackoutRewriter.java:173) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:309) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryVisit(TransformingPlanNodeVisitor.java:599) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.unaryTransform(TransformingPlanNodeVisitor.java:80) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:345) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:837) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.ProjectionPlanNodeImpl.accept(ProjectionPlanNodeImpl.java:207) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:65) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.rewrite(RewriteVisitor.java:70) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter.optimize(BlackoutRewriter.java:104) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline.execute(OptimizationPipeline.java:118) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.optimizePlan(ExecutablePlanFactory.java:136) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$createOptimized$0(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.cache.SimplePlanCache.get(SimplePlanCache.java:111) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:333) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.getExecutablePlan(QueryEngine.java:279) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.QueryEngine.executeSelect(QueryEngine.java:215) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.query.DefaultQueryFactory$TupleQuery.execute(DefaultQueryFactory.java:204) ~[stardog-5.3.2.jar:?]
	... 10 more

```

You get a similar but slightly different stack trace when you query with an unbound predicate

`select * where {:a ?p ?o}`

```
ERROR 2018-08-11 15:21:50,424 [stardog-user-11] com.complexible.stardog.protocols.http.server.StardogHttpServiceLoader:accept(229): An unexpected exception was handled by the server
org.openrdf.query.QueryEvaluationException: Index: 1, Size: 1
	at com.complexible.common.rdf.query.IteratorAsTupleQueryResult.hasNext(IteratorAsTupleQueryResult.java:81) ~[stardog-utils-rdf-5.3.2.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:581) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:488) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.ProtocolUtils.executeReadQuery(ProtocolUtils.java:473) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.executeQuery(SPARQLProtocol.java:147) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.complexible.stardog.protocols.http.server.SPARQLProtocol.post(SPARQLProtocol.java:111) ~[stardog-protocols-http-server-5.3.2.jar:?]
	at com.stardog.http.server.undertow.jaxrs.ExtractRoutes.lambda$handleIt$5(ExtractRoutes.java:192) ~[stardog-protocols-http-server-5.3.2.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:1142) [?:1.8.0_131]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_131]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: com.complexible.stardog.plan.eval.ExecutionException: Index: 1, Size: 1
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:107) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.executable(ExecutionContext.java:351) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.exec(ExecutionContext.java:326) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.exec(ExecutionContext.java:312) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.PropertyOp.getSolutions(PropertyOp.java:100) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.PropertyOp.lambda$getSolutions$0(PropertyOp.java:80) ~[stardog-reasoning-core-5.3.2.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_131]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_131]
	at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1569) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) ~[?:1.8.0_131]
	at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[?:1.8.0_131]
	at com.complexible.common.base.Streams$1.computeNext(Streams.java:273) ~[stardog-utils-common-5.3.2.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.SolutionIterator$2.hasNext(SolutionIterator.java:63) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AbstractReasoningOperator.computeNext(AbstractReasoningOperator.java:133) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AbstractReasoningOperator.computeNext(AbstractReasoningOperator.java:34) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:82) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:29) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DistinctOp.computeNext(DistinctOp.java:53) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DistinctOp.computeNext(DistinctOp.java:21) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:110) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:34) ~[stardog-5.3.2.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.3.2.jar:?]
	... 13 more
Caused by: com.complexible.stardog.StardogException: Index: 1, Size: 1
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.rewrite(RewriteVisitor.java:74) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter.optimize(BlackoutRewriter.java:104) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline.execute(OptimizationPipeline.java:118) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.optimizePlan(ExecutablePlanFactory.java:136) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$createOptimized$0(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.cache.SimplePlanCache.get(SimplePlanCache.java:111) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.executable(ExecutionContext.java:351) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.exec(ExecutionContext.java:326) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.exec(ExecutionContext.java:312) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.PropertyOp.getSolutions(PropertyOp.java:100) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.PropertyOp.lambda$getSolutions$0(PropertyOp.java:80) ~[stardog-reasoning-core-5.3.2.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_131]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_131]
	at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1569) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) ~[?:1.8.0_131]
	at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[?:1.8.0_131]
	at com.complexible.common.base.Streams$1.computeNext(Streams.java:273) ~[stardog-utils-common-5.3.2.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.SolutionIterator$2.hasNext(SolutionIterator.java:63) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AbstractReasoningOperator.computeNext(AbstractReasoningOperator.java:133) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AbstractReasoningOperator.computeNext(AbstractReasoningOperator.java:34) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:82) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:29) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DistinctOp.computeNext(DistinctOp.java:53) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DistinctOp.computeNext(DistinctOp.java:21) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:110) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:34) ~[stardog-5.3.2.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.3.2.jar:?]
	... 13 more
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
	at java.util.ArrayList.rangeCheck(ArrayList.java:653) ~[?:1.8.0_131]
	at java.util.ArrayList.get(ArrayList.java:429) ~[?:1.8.0_131]
	at com.complexible.stardog.reasoning.blackout.RewritingToPlanNodeUtils.getSWRLBuiltin(RewritingToPlanNodeUtils.java:221) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AtomToPlanNode.getSWRLBuiltInValueProvider(AtomToPlanNode.java:232) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AtomToPlanNode.transformSWRLBuiltInAtom(AtomToPlanNode.java:196) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AtomToPlanNode.transform(AtomToPlanNode.java:86) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.QueryToPlanNode.transform(QueryToPlanNode.java:115) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.QueryToPlanNode.transform(QueryToPlanNode.java:92) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewritingToPlanNode.transform(RewritingToPlanNode.java:47) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter$1.rewriteScans(BlackoutRewriter.java:173) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.transform(RewriteVisitor.java:309) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.visit(TransformingPlanNodeVisitor.java:781) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.ScopeNodeImpl.accept(ScopeNodeImpl.java:120) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.TransformingPlanNodeVisitor.transform(TransformingPlanNodeVisitor.java:65) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.RewriteVisitor.rewrite(RewriteVisitor.java:70) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.BlackoutRewriter.optimize(BlackoutRewriter.java:104) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.plan.optimizer.OptimizationPipeline.execute(OptimizationPipeline.java:118) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.optimizePlan(ExecutablePlanFactory.java:136) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.lambda$createOptimized$0(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.cache.SimplePlanCache.get(SimplePlanCache.java:111) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutablePlanFactory.createOptimized(ExecutablePlanFactory.java:101) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.executable(ExecutionContext.java:351) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.exec(ExecutionContext.java:326) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.ExecutionContext.exec(ExecutionContext.java:312) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.PropertyOp.getSolutions(PropertyOp.java:100) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.PropertyOp.lambda$getSolutions$0(PropertyOp.java:80) ~[stardog-reasoning-core-5.3.2.jar:?]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_131]
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:1.8.0_131]
	at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1569) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:161) ~[?:1.8.0_131]
	at java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300) ~[?:1.8.0_131]
	at java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681) ~[?:1.8.0_131]
	at com.complexible.common.base.Streams$1.computeNext(Streams.java:273) ~[stardog-utils-common-5.3.2.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.SolutionIterator$2.hasNext(SolutionIterator.java:63) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AbstractReasoningOperator.computeNext(AbstractReasoningOperator.java:133) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.stardog.reasoning.blackout.AbstractReasoningOperator.computeNext(AbstractReasoningOperator.java:34) ~[stardog-reasoning-core-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:82) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.SingleProjectionOp.computeNext(SingleProjectionOp.java:29) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DistinctOp.computeNext(DistinctOp.java:53) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.impl.DistinctOp.computeNext(DistinctOp.java:21) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:112) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.AutoCloseOperator.computeNext(AutoCloseOperator.java:25) ~[stardog-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.tryToComputeNext(AbstractSkippingIterator.java:143) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.common.collect.AbstractSkippingIterator.hasNext(AbstractSkippingIterator.java:130) ~[stardog-utils-common-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:110) ~[stardog-5.3.2.jar:?]
	at com.complexible.stardog.plan.eval.operator.util.OpBasedBindingSetIteration.computeNext(OpBasedBindingSetIteration.java:34) ~[stardog-5.3.2.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.3.2.jar:?]
	... 13 more
```

---

<div class="post-metadata">

**Author:** ![zachary.whitley](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.stardog.com/zachary.whitley/32/94_2.png) [@zachary.whitley](https://community.stardog.com/u/zachary.whitley)\
**Post date:** [August 25, 2018, 7:29pm UTC](https://community.stardog.com/t/iob-exception-when-constructing-dumb-rule/1215/2 "2018-08-25T19:29:16Z")

</div>

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