You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (JIRA)" <ji...@apache.org> on 2015/05/13 22:50:00 UTC

[jira] [Resolved] (JENA-940) SPARQL SERVICE Query against dbpedia.org doesnt work

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

Andy Seaborne resolved JENA-940.
--------------------------------
       Resolution: Fixed
    Fix Version/s: Jena 3.0.0

The specific issue with {{SERVICE}} is addressed but this is not just about {{SERVICE}}.  JENA-942 records the underlying issue that can occur in other ways as well.

> 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
>             Fix For: Jena 3.0.0
>
>
> 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)