Hi,

I have the following dataset (stored in file trees.nt):
<http://www.example.com/poi#tree1> <
http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <
http://www.example.com/poi#tree> .
<http://www.example.com/poi#tree1> <http://www.example.com/info#height>
"10"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.example.com/poi#tree2> <
http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <
http://www.example.com/poi#tree> .
<http://www.example.com/poi#tree2> <http://www.example.com/info#height>
"20"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.example.com/poi#tree3> <
http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <
http://www.example.com/poi#tree> .
<http://www.example.com/poi#tree3> <http://www.example.com/info#height>
"30"^^<http://www.w3.org/2001/XMLSchema#integer> .
<http://www.example.com/poi#tree4> <
http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <
http://www.example.com/poi#tree> .
<http://www.example.com/poi#tree4> <http://www.example.com/info#height>
"30"^^<http://www.w3.org/2001/XMLSchema#integer> .

and I want to execute the following sparql query (stored in file q1.txt) (I
know the filter is stupid):
SELECT ?x WHERE {
  ?x <http://www.example.com/info#height> ?z
  FILTER(10 * (1 + 2)=?z)
}

when running:
sparql --data=trees.nt --query=q1.txt --optimize=off

I get the correct answer.
However, when running the same query with optimizations turned on:
sparql --data=trees.nt --query=q1.txt --optimize=on

I received the following exception:
Exception
java.lang.NullPointerException
    at java.util.Objects.requireNonNull(Objects.java:203)
    at org.apache.jena.rdf.model.impl.Util.isSimpleString(Util.java:205)
    at
org.apache.jena.sparql.algebra.optimize.TransformFilterEquality.preprocess(TransformFilterEquality.java:219)
    at
org.apache.jena.sparql.algebra.optimize.TransformFilterEquality.preprocessFilterEquality(TransformFilterEquality.java:163)
    at
org.apache.jena.sparql.algebra.optimize.TransformFilterEquality.apply(TransformFilterEquality.java:96)
    at
org.apache.jena.sparql.algebra.optimize.TransformFilterEquality.transform(TransformFilterEquality.java:88)
    at
org.apache.jena.sparql.algebra.TransformWrapper.transform(TransformWrapper.java:59)
    at org.apache.jena.sparql.algebra.op.OpFilter.apply(OpFilter.java:100)
    at
org.apache.jena.sparql.algebra.Transformer$ApplyTransformVisitor.visitFilter(Transformer.java:401)
    at
org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:110)
    at org.apache.jena.sparql.algebra.op.OpFilter.visit(OpFilter.java:103)
    at
org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visit1(OpWalker.java:85)
    at
org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visitFilter(OpWalker.java:91)
    at
org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:110)
    at org.apache.jena.sparql.algebra.op.OpFilter.visit(OpFilter.java:103)
    at
org.apache.jena.sparql.algebra.OpWalker$WalkerVisitor.visit1(OpWalker.java:83)
    at
org.apache.jena.sparql.algebra.OpVisitorByType.visitModifer(OpVisitorByType.java:42)
    at
org.apache.jena.sparql.algebra.OpVisitorByType.visit(OpVisitorByType.java:158)
    at org.apache.jena.sparql.algebra.op.OpProject.visit(OpProject.java:47)
    at org.apache.jena.sparql.algebra.OpWalker.walk(OpWalker.java:43)
    at org.apache.jena.sparql.algebra.OpWalker.walk(OpWalker.java:38)
    at
org.apache.jena.sparql.algebra.Transformer.applyTransformation(Transformer.java:147)
    at
org.apache.jena.sparql.algebra.Transformer.transformation(Transformer.java:140)
    at
org.apache.jena.sparql.algebra.Transformer.transformation(Transformer.java:129)
    at
org.apache.jena.sparql.algebra.Transformer.transformation(Transformer.java:123)
    at
org.apache.jena.sparql.algebra.Transformer.transform(Transformer.java:56)
    at
org.apache.jena.sparql.algebra.Transformer.transformSkipService(Transformer.java:86)
    at
org.apache.jena.sparql.algebra.Transformer.transformSkipService(Transformer.java:68)
    at
org.apache.jena.sparql.algebra.optimize.Optimize.apply(Optimize.java:282)
    at
org.apache.jena.sparql.algebra.optimize.Optimize.rewrite(Optimize.java:234)
    at
org.apache.jena.sparql.algebra.optimize.Optimize.optimize(Optimize.java:78)
    at org.apache.jena.sparql.algebra.Algebra.optimize(Algebra.java:65)
    at
org.apache.jena.sparql.engine.main.QueryEngineMain.modifyOp(QueryEngineMain.java:67)
    at
org.apache.jena.sparql.engine.QueryEngineBase.createPlan(QueryEngineBase.java:101)
    at
org.apache.jena.sparql.engine.QueryEngineBase.getPlan(QueryEngineBase.java:87)
    at
org.apache.jena.sparql.engine.main.QueryEngineMain$QueryEngineMainFactory.create(QueryEngineMain.java:91)
    at
org.apache.jena.sparql.engine.QueryExecutionBase.getPlan(QueryExecutionBase.java:524)
    at
org.apache.jena.sparql.engine.QueryExecutionBase.startQueryIterator(QueryExecutionBase.java:472)
    at
org.apache.jena.sparql.engine.QueryExecutionBase.execResultSet(QueryExecutionBase.java:511)
    at
org.apache.jena.sparql.engine.QueryExecutionBase.execSelect(QueryExecutionBase.java:172)
    at
org.apache.jena.sparql.util.QueryExecUtils.doSelectQuery(QueryExecUtils.java:196)
    at
org.apache.jena.sparql.util.QueryExecUtils.executeQuery(QueryExecUtils.java:78)
    at arq.query.queryExec(query.java:216)
    at arq.query.exec(query.java:153)
    at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
    at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
    at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
    at arq.sparql.main(sparql.java:28)

Thank you for your help.
--
Jeremy

Reply via email to