Wikibase/API/fr

From mediawiki.org
This page is a translated version of the page Wikibase/API and the translation is 100% complete.
Version de MediaWiki :
1.9

Qu'est-ce que l'API Wikibase ?

Wikibase fournit un mécanisme général pour sauvegarder les déclarations dans des données structurées. Les déclarations concernant les éléments se trouvent sur le serveur wikidata.org. Voir wikidata:Glossary pour plus d'explications sur Wikibase et les autres concepts.

Une déclaration

L'API Wikibase permet d'interroger, d'ajouter, de supprimer et de modifier les informations de Wikidata ou de tout autre instance de Wikibase.

Il est fourni via un ensemble d'extensions aux modules API de MediaWiki. Donc, pour utiliser l'API Wikibase, vous devez avoir les connaissances de base concernant l'API MediaWiki Action : actions, requêtes, etc., ainsi que les paramètres génériques tels que curtimestamp et requestid.

Comment utiliser l'API Wikibase

Envoyer les requêtes à l'API avec le protocole HTTP, comme pour l'API Action de MediaWiki. Voir le tutoriel Comment utiliser l'API pour toute information concernant l'utilisation de l'API Action de MediaWiki.

Format de la requête

Le point d'accès de l'API est https://wikidata.org/w/api.php.

Dans la chaîne de la requête, ajoutez le paramètre action qui indique à l'API l'action à réaliser. Par exemple action=wbgetentities indique à l'API de récupérer les données pour les entités Wikibase. Pour les sous-modules de meta et des propriétés, utiliser respectivement action=query&meta=yourmodule et action=query&prop=modulename.

Certains paramètres sont presque toujours disponibles. Les formes plurielles sont utilisées dans les cas où un paramètre peut prendre plusieurs valeurs. Les paramètres sont :

  • id/ids : Identifie une entité ou des entités spécifiques, typiquement un élément. La forme plurielle est utilisée dans wbgetentities. Les listes d'identifiants doivent être séparées par le caractère barre verticale '|'.
  • site ∩ title/sites ∩ titles : identifie un seul élément ou plusieurs éléments. La forme plurielle est utilisée dans wb getentities. Un seul des sites et des titres peut avoir plusieurs valeurs en même temps.
  • language/languages : Le paramètre de langue filtre les étiquettes et les descriptions dans les actions get ou identifie une langue spécifique pour un ensemble d'actions.
  • format : Doit toujours être json (ou jsonfm en mode débogage) ou xml (ou xmlfm en mode débogage). Les autres formats ne sont pas pris en charge.
  • summary : Ajoute un résumé spécifié par l'utilisateur en plus de celui généré par le système.
  • token : Chaîne chiffrée que le demandeur doit fournir pour que la requête soit réalisée.
  • baserevid : Identifiant de la dernière révision à fournir pour que le serveur puisse détecter les conflits d'édition.

Une requête simple

Requête GET

Obtenir l'élément de la page « Berlin » sur la Wikipedia anglophone.


Détail de chaque partie de l'URL :

  • http://www.wikidata.org/w/api.php est le point d'accès principal.
  • action=wbgetentities indique à l'API de récupérer les données pour les entités Wikibase.
  • sites=enwiki indique qu'il faut obtenir les données de la Wikipedia anglophone.
  • titles=Berlin indique le titre de la page pour laquelle on souhaite obtenir les données.
  • props=descriptions indique les propriétés à récupérer des entités, dans ce cas la propriété est la description des entités.
  • languages=en signifie qu'il faut filtrer les résultats en anglais par ordre décroissant.
  • format=json indique le format de sortie JSON, qui est le format de sortie recommandé.

Réponse

{
    "entities": {
        "Q64": {
            "type": "item",
            "id": "Q64",
            "descriptions": {
                "en": {
                    "language": "en",
                    "value": "capital and largest city of Germany"
                }
            }
        }
    },
    "success": 1
}

La réponse à une requête contient généralement :

  • Une clé success avec une conversion booléenne sous forme d'entier si la demande aboutit. Si l'entier est zéro, toute valeur supplémentaire peut être erronée.
  • Une clé error avec un objet formé de deux, éventuellement trois clés, code, info et *, si la demande échoue.
  • Informations sur l'action. Les informations sont soit transmises au niveau supérieur, soit sous « élément » s'il s'agit d'un seul élément ou « éléments » s'il y en a plusieurs. S'il s'agit de plusieurs éléments, chacun se trouve sous une clé avec son propre identifiant d'élément.

Les objets vides sont renvoyés en tant que tableaux JSON et non en tant qu'objets, tandis que les paramètres vides « suppriment » l'entrée réelle de l'élément.

Documentation de l'API et modules de Wikibase

Documentation générée à partir du source pour l'API Action de MediaWiki incluant les modules de l'API Wikibase 'wb' et disponible sur wikidata.org/w/api.php

Sous-modules de Meta

  • wikibase: ⧼Apihelp-query+wikibase-description⧽
  • wbcontentlanguages: Retourne des informations sur les langues de contenu acceptées par Wikibase dans les différents contextes.

Sous-modules des propriétés

  • pageterms: ⧼Apihelp-query+pageterms-description⧽
  • wbentityusage: ⧼Apihelp-query+wbentityusage-description⧽

Modules de l'API

Erreurs possibles

Les erreurs possibles pour n'importe quel module peuvent être trouvées en utilisant action=paraminfo&modules=modulename. Le format de l'erreur est celui de l'API Action de MediaWiki. Voir l'Ancien format des erreurs et avertissements de l'API.

Tous les messages d'erreur des modules Wikibase doivent être internationalisés (i18n) et localisés (l10n). La langue de l'utilisateur connecté sera la langue par défaut des messages d'erreur, mais vous pouvez la remplacer en ajoutant dans l'URL uselang=languageCode à la chaîne de la requête.

Type d'erreur Code Information
An internationalized error message that isn't localized. no-such-item <wikibase-api-no-such-item>
A correctly localized error message. no-such-item There are no such item to be found
A localized variant.(Norwegian) no-such-item Det finnes ingen slik item

Notes supplémentaires

  • De nombreux wikis Wikimedia exécutent l' extension Wikibase Client. Cela permet à leurs clients API d'interroger le sous-module Méta wikibase pour déterminer les URLs du dépôt Wikibase complet, et au sous-module des propriétés pageterms d'obtenir des informations Wikidata sur les pages du wiki local.
  • Les modèles de calendriers pouvant être utilisés dans Wikibase sont le calendrier grégorien (d:Q1985727) et le calendrier Julien (d:Q1985786).
  • L'API utilise les IDs des révisions pour détecter les collisions dans les modifications. Dans le cas d'une telle collision, le demandeur doit acquérir un ID de révision plus récent pour pouvoir continuer. Typiquement cela consiste à interroger wbgetentities pour l'élément en question, puis de ranger (et utiliser) la révision à partir de la saisie.
  • Toute installation MediaWiki peut exécuter Wikibase. Sur le cluster Wikimedia, la plupart des wikis n'utilisent pas l'ensemble complet d'extensions Wikibase. Wikimedia Commons possède sa propre Wikibase pour les propriétés des fichiers sur Commons.
  • Ne testez pas la valeur info pour une erreur donnée, mais utilisez la valeur code à la place car celle-ci est indépendante de la localisation.

Voir aussi