2016-04-10 20 views
4

Derzeit hat Wikidata einen SPARQL-Endpunkt „https://query.wikidata.org/“, möchte ich an dieser Stelle abgefragt werden mit Jena (3.0.1), verwende ich den folgenden Code, aber ich bekam eine Fehlermeldung "Endpoint zurück Content-Type: text/html, das momentan nicht für SELECT-Abfragen unterstützt wird ". Gibt es eine Möglichkeit, es zu lösen? derselbe Code funktioniert gut mit dbpedia. DankVerwenden Jena abzufragen Wikidata

queryString = "PREFIX bd: <http://www.bigdata.com/rdf#>\n" + 
       "PREFIX wikibase: <http://wikiba.se/ontology#>\n" + 
       "PREFIX wdt: <http://www.wikidata.org/prop/direct/>\n" + 
       "PREFIX wd: <http://www.wikidata.org/entity/>\n" + 
       "SELECT DISTINCT ?country ?countryLabel\n" + 
       "WHERE\n" + 
       "{\n" + 
       "\t?country wdt:P31 wd:Q3624078 .\n" + 
       " ?country wdt:P1622 wd:Q13196750.\n" + 
       " ?country wdt:P30 wd:Q15\n" + 
       "\tFILTER NOT EXISTS {?country wdt:P31 wd:Q3024240}\n" + 
       "\tSERVICE wikibase:label { bd:serviceParam wikibase:language \"en\" }\n" + 
       "}\n" + 
       "ORDER BY ?countryLabel"; 
     query = QueryFactory.create(queryString); 
     qexec = QueryExecutionFactory.sparqlService("https://query.wikidata.org/", queryString); 
     try { 
      ResultSet results = qexec.execSelect(); 
      ResultSetFormatter.out(System.out, results, query); 
     } catch (Exception ex) { 
      System.out.println(ex.getMessage()); 
     } finally { 
      qexec.close(); 
     } 

Antwort

7

Nach the documentation hat der Endpunkt a/sparql am Ende. Es sagt

SPARQL-Abfragen können mit einer GET-Anforderung an https://query.wikidata.org/sparql?query={SPARQL} (POST und andere Methode Anfragen werden verweigert mit einem „403 Forbidden“) direkt an den SPARQL-Endpunkt eingereicht werden. Das Ergebnis wird standardmäßig als XML oder als JSON zurückgegeben, wenn entweder der Abfrageparameter format = json oder der Header Accept: application/sparql-results + json angegeben wird.

+2

Vielen Dank für Ihre Hilfe, änderte die URL zu "https://query.wikidata.org/sparql" das Problem. –