[ 
https://issues.apache.org/jira/browse/JENA-998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andy Seaborne updated JENA-998:
-------------------------------
    Description: 
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" ) .
  ?s rdfs:label ?o .
}
{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}

  was:
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}


> 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" ) .
>   ?s rdfs:label ?o .
> }
> {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