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

Andy Seaborne updated JENA-940:
-------------------------------
    Description: 
I've specified Affects versions against the version of Jena that I've tested, 
although it looks like it affects all versions of Jena.

Basically it boils down to this, if you specify dbpedia.org in a SERVICE query 
now you receive an error message with the following stack trace:

{noformat}
com.hp.hpl.jena.sparql.resultset.ResultSetException: Failed when initializing 
the StAX parsing engine
at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.<init>(XMLInputStAX.java:118)
at com.hp.hpl.jena.sparql.resultset.XMLInput.make(XMLInput.java:73)
at com.hp.hpl.jena.sparql.resultset.XMLInput.fromXML(XMLInput.java:42)
at com.hp.hpl.jena.sparql.resultset.XMLInput.fromXML(XMLInput.java:37)
at com.hp.hpl.jena.query.ResultSetFactory.fromXML(ResultSetFactory.java:321)
at com.hp.hpl.jena.sparql.engine.http.Service.exec(Service.java:117)
at 
com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterService.nextStage(QueryIterService.java:51)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:113)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:59)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
at 
org.topbraidcomposer.sparql.view.SPARQLView$8.handleResultSet(SPARQLView.java:371)
at 
org.topbraidcomposer.sparql.view.SPARQLView$10.runSelectOrDescribe(SPARQLView.java:470)
at org.topbraidcomposer.sparql.view.SPARQLView$10.run(SPARQLView.java:439)
at org.topbraidcomposer.core.util.ThreadUtil$1$1.run(ThreadUtil.java:64)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at 
com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.scanStartElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
 Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.next(Unknown 
Source)
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown 
Source)
at 
com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.processHead(XMLInputStAX.java:387)
at 
com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.init(XMLInputStAX.java:197)
at 
com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.<init>(XMLInputStAX.java:189)
at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.worker(XMLInputStAX.java:148)
at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.<init>(XMLInputStAX.java:111)
... 21 more 
{noformat}
This is because dbpedia.org recently upgraded to XML 1.1 from 1.0 and 
apparently the XercesImpl that is packaged with Jena doesnt support this, which 
is the core issue.

Case 1. Here's a query using SERVICE against the normal DBpedia endpoint. It 
fails with the StAX exception. (empty.ttl is an empty file.)
{noformat}
sparql --data empty.ttl "SELECT * { SERVICE <http://dbpedia.org/sparql> { ?s ?p 
?o } } LIMIT 1"
{noformat}
Case 2. Here's a remote SPARQL query against the normal endpoint (so Jena 
doesn't evaluate the query at all, but sends the complete query to the 
endpoint, and only parses the results). It succeeds.
{noformat}
rsparql --service=http://dbpedia.org/sparql "SELECT * { ?s ?p ?o } LIMIT 1"
{noformat}
So it looks like Jena is doing something differently between cases 1 and 2 in 
the way it sends the query or handles the results.


  was:
I've specified Affects versions against the version of Jena that I've tested, 
although it looks like it affects all versions of Jena.

Basically it boils down to this, if you specify dbpedia.org in a SERVICE query 
now you receive an error message with the following stack trace:

com.hp.hpl.jena.sparql.resultset.ResultSetException: Failed when initializing 
the StAX parsing engine
at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.<init>(XMLInputStAX.java:118)
at com.hp.hpl.jena.sparql.resultset.XMLInput.make(XMLInput.java:73)
at com.hp.hpl.jena.sparql.resultset.XMLInput.fromXML(XMLInput.java:42)
at com.hp.hpl.jena.sparql.resultset.XMLInput.fromXML(XMLInput.java:37)
at com.hp.hpl.jena.query.ResultSetFactory.fromXML(ResultSetFactory.java:321)
at com.hp.hpl.jena.sparql.engine.http.Service.exec(Service.java:117)
at 
com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterService.nextStage(QueryIterService.java:51)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:113)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:59)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
at 
com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
at 
com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
at 
org.topbraidcomposer.sparql.view.SPARQLView$8.handleResultSet(SPARQLView.java:371)
at 
org.topbraidcomposer.sparql.view.SPARQLView$10.runSelectOrDescribe(SPARQLView.java:470)
at org.topbraidcomposer.sparql.view.SPARQLView$10.run(SPARQLView.java:439)
at org.topbraidcomposer.core.util.ThreadUtil$1$1.run(ThreadUtil.java:64)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at 
com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.scanStartElement(Unknown
 Source)
at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
 Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
Source)
at 
com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.next(Unknown 
Source)
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown 
Source)
at 
com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.processHead(XMLInputStAX.java:387)
at 
com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.init(XMLInputStAX.java:197)
at 
com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.<init>(XMLInputStAX.java:189)
at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.worker(XMLInputStAX.java:148)
at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.<init>(XMLInputStAX.java:111)
... 21 more 

This is because dbpedia.org recently upgraded to XML 1.1 from 1.0 and 
apparently the XercesImpl that is packaged with Jena doesnt support this, which 
is the core issue.

Case 1. Here's a query using SERVICE against the normal DBpedia endpoint. It 
fails with the StAX exception. (empty.ttl is an empty file.)

sparql --data empty.ttl "SELECT * { SERVICE <http://dbpedia.org/sparql> { ?s ?p 
?o } } LIMIT 1"

Case 2. Here's a remote SPARQL query against the normal endpoint (so Jena 
doesn't evaluate the query at all, but sends the complete query to the 
endpoint, and only parses the results). It succeeds.

rsparql --service=http://dbpedia.org/sparql "SELECT * { ?s ?p ?o } LIMIT 1"

So it looks like Jena is doing something differently between cases 1 and 2 in 
the way it sends the query or handles the results.



> SPARQL SERVICE Query against dbpedia.org doesnt work
> ----------------------------------------------------
>
>                 Key: JENA-940
>                 URL: https://issues.apache.org/jira/browse/JENA-940
>             Project: Apache Jena
>          Issue Type: Bug
>    Affects Versions: Jena 2.11.0, Jena 2.13.0
>            Reporter: Robert Mercer
>
> I've specified Affects versions against the version of Jena that I've tested, 
> although it looks like it affects all versions of Jena.
> Basically it boils down to this, if you specify dbpedia.org in a SERVICE 
> query now you receive an error message with the following stack trace:
> {noformat}
> com.hp.hpl.jena.sparql.resultset.ResultSetException: Failed when initializing 
> the StAX parsing engine
> at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.<init>(XMLInputStAX.java:118)
> at com.hp.hpl.jena.sparql.resultset.XMLInput.make(XMLInput.java:73)
> at com.hp.hpl.jena.sparql.resultset.XMLInput.fromXML(XMLInput.java:42)
> at com.hp.hpl.jena.sparql.resultset.XMLInput.fromXML(XMLInput.java:37)
> at com.hp.hpl.jena.query.ResultSetFactory.fromXML(ResultSetFactory.java:321)
> at com.hp.hpl.jena.sparql.engine.http.Service.exec(Service.java:117)
> at 
> com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterService.nextStage(QueryIterService.java:51)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.makeNextStage(QueryIterRepeatApply.java:113)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:65)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:59)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40)
> at 
> com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:108)
> at 
> com.hp.hpl.jena.sparql.engine.ResultSetStream.hasNext(ResultSetStream.java:72)
> at 
> org.topbraidcomposer.sparql.view.SPARQLView$8.handleResultSet(SPARQLView.java:371)
> at 
> org.topbraidcomposer.sparql.view.SPARQLView$10.runSelectOrDescribe(SPARQLView.java:470)
> at org.topbraidcomposer.sparql.view.SPARQLView$10.run(SPARQLView.java:439)
> at org.topbraidcomposer.core.util.ThreadUtil$1$1.run(ThreadUtil.java:64)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.NullPointerException
> at 
> com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.scanStartElement(Unknown
>  Source)
> at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
>  Source)
> at 
> com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown 
> Source)
> at 
> com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.next(Unknown
>  Source)
> at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown 
> Source)
> at 
> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.processHead(XMLInputStAX.java:387)
> at 
> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.init(XMLInputStAX.java:197)
> at 
> com.hp.hpl.jena.sparql.resultset.XMLInputStAX$ResultSetStAX.<init>(XMLInputStAX.java:189)
> at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.worker(XMLInputStAX.java:148)
> at com.hp.hpl.jena.sparql.resultset.XMLInputStAX.<init>(XMLInputStAX.java:111)
> ... 21 more 
> {noformat}
> This is because dbpedia.org recently upgraded to XML 1.1 from 1.0 and 
> apparently the XercesImpl that is packaged with Jena doesnt support this, 
> which is the core issue.
> Case 1. Here's a query using SERVICE against the normal DBpedia endpoint. It 
> fails with the StAX exception. (empty.ttl is an empty file.)
> {noformat}
> sparql --data empty.ttl "SELECT * { SERVICE <http://dbpedia.org/sparql> { ?s 
> ?p ?o } } LIMIT 1"
> {noformat}
> Case 2. Here's a remote SPARQL query against the normal endpoint (so Jena 
> doesn't evaluate the query at all, but sends the complete query to the 
> endpoint, and only parses the results). It succeeds.
> {noformat}
> rsparql --service=http://dbpedia.org/sparql "SELECT * { ?s ?p ?o } LIMIT 1"
> {noformat}
> So it looks like Jena is doing something differently between cases 1 and 2 in 
> the way it sends the query or handles the results.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to