Wikidata Query Service

a marqué ce sujet comme résolu.

Bonjour à tous, Je suis un débutant et passionné de query service de Wikidata. je suis en train de travailler sur un projet pour lister tous les pays de l"Afrique de l’ouest présents sur Wikipédia en Français. Voici le code ci-dessous mais il ne marche pas.

SELECT (?pays AS ?id) ?paysLabel (?paysLabel AS ?label) ?article WHERE { ?pays wdt:P31 wd:Q6256; wdt:P31 wd:Q4412. ?article schema:about ?pays; schema:isPartOf https://fr.wikipedia.org/. SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". } } ORDER BY (?paysLabel)

Bonjour yaodidier1,

J’ai remarqué deux petites erreurs dans ta requête SPARQL.

Tu utilises le prédicat/propriété wdt:P31 (instance of) pour trouver les pays qui font partis de l’Afrique de l’Ouest (objet wd:Q4412). Ce prédicat ne permet pas de faire le lien avec l’objet wd:Q4412(Afrique de l’ouest).

Si on prend l’exemple du Bénin (wd:Q962 : https://www.wikidata.org/wiki/Q962), tu remarqueras que le prédicat instance of (wdt:P31) permet de faire le lien avec sovereign state (wd:Q3624078) et country (Q6256) - que tu as utilisé dans ta requête.

À la place de wdt:P31, tu as deux prédicats qui permettent de faire le lien avec ton objet wd:Q4412 (West Africa) :

  • part of (wdt:P361) ;
  • located in/on physical feature (wdt:P706). Note tout de même que tu n’auras pas le même résultats si utilises wdt:P361 ou wdt:P706. Prenons l’exemple du Niger, il n’est pas associé à l’Afrique de l’Ouest si tu utilise located in/on physical feature (wdt:P706) mais plutôt au Sahel (wd:Q66065). Je te laisse chercher ce qui te correspond le mieux.

Pour la deuxième erreur, tu as oublié d’ajouter les chevrons (<...>) autour de l’URI de wikipédia fr (<https://fr.wikipedia.org/>).

Ci-dessous la requête corrigée en utilisant le prédicat (wd:P361) - tu devrais avoir 17 résultats.

SELECT (?pays AS ?id) ?paysLabel (?paysLabel AS ?label) ?article 
WHERE { 
  ?pays wdt:P31 wd:Q6256; 
        wdt:P361 wd:Q4412. 
  ?article schema:about ?pays;
           schema:isPartOf <https://fr.wikipedia.org/>.
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". 
  } 
} ORDER BY (?paysLabel)

Tu peux aussi faire la requête dans le "sens inverse" avec le prédicat has part(s) (wdt:P527) de l’objet West Africa (wdt:P527). Ci-dessous un exemple :

SELECT (?pays AS ?id) ?paysLabel (?paysLabel AS ?label) ?article 
WHERE { 
  wd:Q4412 wdt:P527 ?pays. 
  ?pays wdt:P31 wd:Q6256.
  ?article schema:about ?pays;
           schema:isPartOf <https://fr.wikipedia.org/>.
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "[AUTO_LANGUAGE],fr". 
  } 
} ORDER BY (?paysLabel)

Normalement il y a 16 résultats, 1 de moins que la requête d’avant - il n’y a pas São Tomé and Príncipe. Je ne saurais pas expliquer pourquoi wikidata associe cet État à l’Afrique centrale et à l’Afrique de l’Ouest (avec le prédicat part of (wdt:P361)) - Wikipédia indique que l’État fait parti de l’Afrique centrale …

Tu as également des exemples de requêtes Wikidata disponibles sur le site de wikidata.

J’espère que ces éléments pourrons t’aider dans la suite de ton projet.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte