How to debug a federated query error? #1292
-
In the query https://qlever.cs.uni-freiburg.de/osm-planet/na50OL I'm trying to run a federated query to this service of the italian ministry of culture: https://developers.italia.it/it/api/mic-data-sparql.html : PREFIX cis: <http://dati.beniculturali.it/cis/>
PREFIX clvapit: <https://w3id.org/italia/onto/CLV/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX osm: <https://www.openstreetmap.org/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX osmrel: <https://www.openstreetmap.org/relation/>
PREFIX ogc: <http://www.opengis.net/rdf#>
SELECT ?iccd ?nome ?img ?wd ?osm ?geometry
WHERE {
SERVICE <https://dati.beniculturali.it/sparql> {
?iccd rdf:type cis:Site ;
rdfs:label ?nome ;
foaf:depiction ?img ;
owl:sameAs ?wd ;
cis:siteAddress/clvapit:hasCity/rdfs:label "Roma".
}
osmrel:42856 ogc:sfContains ?osm.
?osm osm:wikidata ?wd ;
geo:hasGeometry ?geometry.
} Unfortunately after a while QLever is returning an error "Response from SPARQL endpoint dati.beniculturali.it is empty" If I go to https://dati.cultura.gov.it/sparql and run that inner query on that service, however, it works: SELECT *
WHERE {
?iccd rdf:type cis:Site ;
rdfs:label ?nome ;
foaf:depiction ?img ;
owl:sameAs ?wd ;
cis:siteAddress/clvapit:hasCity/rdfs:label "Roma".
} Even if I select TSV or RDF as output format in that page, it works, though it looks like the TSV output is different from the one specified in https://www.w3.org/TR/2013/REC-sparql11-results-csv-tsv-20130321/#tsv , could that be part of the problem? Is there a way on QLever to debug why the federated query is not working? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
I just realized that in the QLever example I was using a different endpoint then the second example ( https://dati.beniculturali.it/sparql VS https://dati.cultura.gov.it/sparql ). Still, even changing it the same error occurs: https://qlever.cs.uni-freiburg.de/osm-planet/HYAk4Z |
Beta Was this translation helpful? Give feedback.
-
@Danysan1 Here are two curl commands querying the SPARQL endpoint at https://dati.cultura.gov.it/sparql with your query. The first one sends a GET request and works. The second one sends a POST request and the reply is empty. QLever always sends a POST request and according to the standard, a SPARQL endpoint must be able to handle POST requests. So the first step would be to point this out to the providers of the SPARQL endpoint.
|
Beta Was this translation helpful? Give feedback.
-
P.S. Here is a query to another SPARQL endpoint using Virtuoso, where the POST request works. So it's not in principle problem of Virtuso, but of that particular endpoint.
|
Beta Was this translation helpful? Give feedback.
@Danysan1 Here are two curl commands querying the SPARQL endpoint at https://dati.cultura.gov.it/sparql with your query. The first one sends a GET request and works. The second one sends a POST request and the reply is empty. QLever always sends a POST request and according to the standard, a SPARQL endpoint must be able to handle POST requests. So the first step would be to point this out to the providers of the SPARQL endpoint.