Wikibase/API

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Wikibase/API and the translation is 24% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎português • ‎български • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어
Versión de MediaWiki: 1.9

What is the Wikibase API?

Wikibase proporciona un mecanismo general para almacenar declaraciones como datos estructurados. Cualquier instalación de MediaWiki puede ejecutarlo.

Las declaraciones sobre elementos viven en el servidor wikidata.org .

(Véase Wikidata:Glosario para una explicación de estos términos.)

A statement

The Wikibase API allows querying, adding, removing and editing information on Wikidata or any other Wikibase instance.

La API de Wikibase es proporcionada por un conjunto de extensiones que implementan módulos API de MediaWiki.

Así que, para usarlo, deberás estar familiarizado con la API de acciones de MediaWiki: acciones, consultas, etc., y a su vez toda la experiencia que puedas tener con parámetros genéricos tales como curtimestamp y requestid, etc. también es válida para la API de Wikibase.

How to use it

Send requests to the API through HTTP, the same way with the MediaWiki Action API. See API:Tutorial#How to use it for information on how to use the MediaWiki Action API.

Request format

The endpoint for the API is http://wikidata.org/w/api.php.

In the query string, add the action parameter which tells the API which action to perform, e.g. action=wbgetentities tells the API to get the data for Wikibase entities. For meta and property submodules, use action=query&meta=yourmoduleand action=query&prop=modulename respectively.

Algunos parámetros están casi siempre disponibles. Las formas plurales se utilizan en los casos en que un parámetro puede tomar varios valores.

  • id/ids
  • site ∩ title/sites ∩ titles: Identifica uno o varios elementos. La forma plural se usa en wbgetentities. Solo se permite que o bien sites o bien titles tenga valores múltiples, pero no ambos.
  • language/languages: El idioma se usa como mecanismo de filtro para filtrar etiquetas y descripciones en acciones de lectura o para identificar un idioma específico en acciones de escritura.
  • format: Debe estar siempre en json (o jsonfm para depuración) o xml (o xmlfm para depuración). No se admiten otros formatos.
  • summary: Añade un resumen personalizado además de generado por el sistema.
  • token: Una cadena cifrada que el solicitante debe enviar en caso de que se cumplimente la petición.
  • baserevid: Un identificador para la última revisión conocida que se debe enviar para que el servidor pueda detectar conflictos de edición.

A simple query

GET request

Get the item for page "Berlin" on English Wikipedia.

Explanation of each part of the URL:

  • http://www.wikidata.org/w/api.php is the main endpoint.
  • action=wbgetentities tells the API to get the data for Wikibase entities.
  • sites=enwiki means get the data from English Wikipedia.
  • titles=Berlin indicates the title of the page to get data from.
  • props=descriptions indicates properties to get from the entities, in this case the property is the descriptions of the entities.
  • languages=en means filter the results down to the English language.
  • format=json indicates JSON output, which is the recommended output format.

Response

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

Normalmente el valor de retorno tiene, o bien una clave $key1 con un booleano convertido a entero, o bien una clave $key2 con un objeto formato por dos o a veces tres claves, $key4, $key5 y $key6. La última es información adicional. La información sobre la acción se pasa en el nivel superior o en item si es un solo elemento o en items si son varios. Si son varios elementos, cada uno se puede encontrar en una clave con su propio identificador de elemento. Véanse los párrafos Éxito y Errores.

  • A success key with a boolean cast as an integer if the request is successful. If the integer is zero, any additional values might be wrong.
  • An error key with an object of two, optionally three keys, code, info and *, if the request is unsuccessful.
  • Information about the action. The information is either passed on the top level or under item if it is one single item or items if it is several. If it is several items, each is found under a key with its own item id.
  • Ten en cuenta que los objetos vacíos se devuelven como arrays json y no como objetos.
  • Ten en cuenta que los parámetros vacíos eliminan la entrada del elemento.

API documentation and Wikibase modules

Source-generated documentation for the MediaWiki Action API including Wikibase 'wb' API modules is available at wikidata.org/w/api.php

Meta submodules

  • wikibase: Gets information about the Wikibase client and the associated Wikibase repository.
  • wbcontentlanguages: Returns information about the content languages Wikibase accepts in different contexts.

Property submodules

  • pageterms: Get the Wikidata terms (typically labels, descriptions and aliases) associated with a page via a sitelink.
  • wbentityusage: Returns all entity IDs used in the given pages.

API modules

Errores

Se pueden encontrar errores posibles para todos los módulos en action=paraminfo&modules=modulename, por ejemplo, [$url wbeditentity]

The error format corresponds to that of the Mediawiki Action API. See API:Errors and warnings#Legacy format.

Todos los mensajes de error de los módulos de Wikibase deberían estar internationalizados (i18n) y localizados (l10n), pero ten en cuenta que los mensajes de error del sistema base de la API pueden no estar localizados. El idioma que tenga definido el usuario conectado (generalmente el mismo que en la interfaz web) será el predeterminado para mensajes de error. Sin embargo, puedes especificar otro idioma añadiendo uselang=languageCode a la cadena de la consulta en la URL

Error type Code Info
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

Additional notes

Muchos wikis de Wikimedia incorporan la extensión Cliente Wikibase. Esto permite a los clientes de la API instalados en ellos

  • consultar el submódulo meta wikibase para determinar las URL para el repositorio de Wikibase ver la página de ayuda de la API
  • consultar el submódulo de propiedades pageterms para obtener información de Wikidata sobre páginas del wiki local
  • The calender models that can be used with Wikibase are the Gregorian calendar(d:Q1985727) and the Julian calendar(d:Q1985786).

La API utiliza identificadores de revisión para detectar conflictos de ediciones. Si se conoce el identificador de revisión de una respuesta, carga de página o acción similar anterior en el tiempo, entonces pasa el identificador a la edición. Sin el identificador, no es posible detectar conflictos de ediciones con fiabilidad. En caso de conflicto de ediciones, el solicitante debe obtener un identificador de revisión más reciente para poder continuar. Esto suele conllevar la necesidad de pedir wbgetentities para el elemento en cuestión y luego almacenar (y usar) la revisión de la entrada.

En el clúster de Wikimedia, la mayoría de los wikis no ejecutan el conjunto completo de extensiones de Wikibase.

(Wikimedia Commons tiene su propia Wikibase para las propiedades de los archivos en Commons.)

  • Do not test the info value for a particular error, instead use the code value as this will remain independent of localization.

Véase también