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)

Reply via email to