[
https://issues.apache.org/jira/browse/JENA-998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stephen Allen resolved JENA-998.
--------------------------------
Resolution: Fixed
> 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)