Hello Rob,
Thank you very much, that indeed fixed my problem!
I made the mistake of calling "query(sparqlEndpoint, "", query)" instead
of "query(sparqlEndpoint, null, query)" which worked fine for other
SPARQL endpoints but not for this one.
Konrad
On 13.06.2011 13:30, Rob Vesse wrote:
Hi Konrad
I'm not a heavy Jena user myself so can't say whether it is specifically
Jena that causes this error but I do use the Talis platform quite a bit and
I think I see what your problem might be:
if(graph!=null) {queryExecution.addDefaultGraph(graph);}
This line of your code is adding a default graph to the query request. The
problem is that the Talis platform is a pure Triple store (i.e. it has no
notion of named graphs) so it does not support setting the default graph.
I checked this in the browser and adding the default-graph-uri querysting
parameter - which I assume it what addDefaultGraph() has the effect of
doing to the HTTP request to the remote endpoint - causes the endpoint to
return an error rather than a query result.
So try commenting out this line and then your query should then hopefully
work fine
Rob
On Mon, 13 Jun 2011 13:04:33 +0200, Konrad Höffner
<[email protected]> wrote:
Dear Jena Users,
When I manually query the endpoint
http://api.talis.com/stores/airports/services/sparql with the following
query, the following, for me seemingly totally valid, XML is returned.
With Jena however, I always get an http exception. How can I fix this
problem?
The query:
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
select * where
{
?entity rdfs:label ?name.
filter
(
?entity =<http://airports.dataincubator.org/airports/NGUK>
||?entity =<http://airports.dataincubator.org/airports/TQPF>
||?entity =<http://airports.dataincubator.org/airports/SEAM>
||?entity =<http://airports.dataincubator.org/airports/ID-AHI>
||?entity =<http://airports.dataincubator.org/airports/OIZB>
)
}
(whitespaces and newlines inserted for readability)
The resulting xml:
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="entity"/>
<variable name="name"/>
</head>
<results>
<result>
<binding name="entity">
<uri>http://airports.dataincubator.org/airports/NGUK</uri>
</binding>
<binding name="name">
<literal>Buariki Airport</literal>
</binding>
</result>
<result>
<binding name="entity">
<uri>http://airports.dataincubator.org/airports/TQPF</uri>
</binding>
<binding name="name">
<literal>Wallblake Airport</literal>
</binding>
</result>
<result>
<binding name="entity">
<uri>http://airports.dataincubator.org/airports/SEAM</uri>
</binding>
<binding name="name">
<literal>Chachoán Airport</literal>
</binding>
</result>
<result>
<binding name="entity">
<uri>http://airports.dataincubator.org/airports/ID-AHI</uri>
</binding>
<binding name="name">
<literal>Amahai Airport</literal>
</binding>
</result>
<result>
<binding name="entity">
<uri>http://airports.dataincubator.org/airports/OIZB</uri>
</binding>
<binding name="name">
<literal>Zabol Airport</literal>
</binding>
</result>
</results>
</sparql>
The exception in Jena (newest version used via Maven, 2.6.4 at the
moment):
HttpException: HttpException: 500 Internal Server Error: HttpException:
500 Internal Server Error
at
com.hp.hpl.jena.sparql.engine.http.HttpQuery.execCommon(HttpQuery.java:337)
at
com.hp.hpl.jena.sparql.engine.http.HttpQuery.execGet(HttpQuery.java:189)
at
com.hp.hpl.jena.sparql.engine.http.HttpQuery.exec(HttpQuery.java:144)
at
com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP.execSelect(QueryEngineHTTP.java:133)
The code I use for querying is:
QueryEngineHTTP queryExecution = new
QueryEngineHTTP(sparqlEndpoint, query);
if(graph!=null) {queryExecution.addDefaultGraph(graph);}
return queryExecution.execSelect();
Thank you in advance,
Konrad Höffner