2016-04-10 1 views
4

Actuellement, Wikidata a un point de terminaison SPARQL "https://query.wikidata.org/", je voudrais interroger ce site en utilisant Jena (3.0.1), j'utilise le code suivant mais je reçu un message d'erreur "Endpoint retourné Content-Type: text/html qui n'est pas actuellement supporté pour les requêtes SELECT ". Y a-t-il un moyen de le résoudre? le même code fonctionne très bien avec dbpedia. MerciUtilisez Jena pour interroger 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(); 
     } 

Répondre

7

Selon the documentation, le point final a une/sparql à la fin. Il dit

requêtes SPARQL peuvent être soumis directement à l'extrémité SPARQL avec une requête GET à https://query.wikidata.org/sparql?query={SPARQL} (POST et d'autres demandes de méthode sera refusée avec un « 403 Forbidden »). Le résultat est renvoyé en tant que XML par défaut, ou en tant que JSON si le paramètre de requête format = json ou l'en-tête Accept: application/sparql-results + json sont fournis.

+2

Merci beaucoup pour votre aide, en changeant l'URL à "https://query.wikidata.org/sparql" résolu le problème. –