Stephen Allen created JENA-998:
----------------------------------
Summary: Exception in jena-text when executing query with subject
already bound
Key: JENA-998
URL: https://issues.apache.org/jira/browse/JENA-998
Project: Apache Jena
Issue Type: Bug
Components: Text
Reporter: Stephen Allen
Assignee: Stephen Allen
An exception results when querying with jena-text where the subject is already
bound to a concrete value.
Example:
{code}
select *
where {
?s rdf:type <http://example.org/Entity> .
?s text:query ( rdfs:label "test" ) .
}
{code}
This is caused by the fact that when the subject is concrete, the code is not
properly checking to see if the score variable exists before trying to bind the
score to it.
Results:
{code}
java.lang.NullPointerException
at
org.apache.jena.sparql.engine.binding.Binding1.contains1(Binding1.java:60)
at
org.apache.jena.sparql.engine.binding.BindingBase.contains(BindingBase.java:108)
at
org.apache.jena.sparql.engine.binding.BindingBase.contains(BindingBase.java:112)
at
org.apache.jena.sparql.engine.binding.BindingHashMap.checkAdd(BindingHashMap.java:109)
at
org.apache.jena.sparql.engine.binding.BindingHashMap.add(BindingHashMap.java:91)
at
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.insert(QueryIterTriplePattern.java:119)
at
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.mapper(QueryIterTriplePattern.java:104)
at
org.apache.jena.sparql.engine.iterator.QueryIterTriplePattern$TripleMapper.hasNextBinding(QueryIterTriplePattern.java:138)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:111)
at
org.apache.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:74)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:111)
at
org.apache.jena.sparql.engine.iterator.QueryIterBlockTriples.hasNextBinding(QueryIterBlockTriples.java:63)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:111)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:111)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:111)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:39)
at
org.apache.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:111)
at
org.apache.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:74)
at
org.apache.jena.sparql.engine.ResultSetCheckCondition.hasNext(ResultSetCheckCondition.java:59)
at org.apache.jena.atlas.iterator.Iter.reduce(Iter.java:165)
at org.apache.jena.atlas.iterator.Iter.toList(Iter.java:111)
at
org.apache.jena.query.text.TestTextTDB.itShouldWorkWithConcreteSubject(TestTextTDB.java:199)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)