Wikibase/API
Esta página es parte de la documentación de la API de acciones de MediaWiki. |
Versión de MediaWiki: | ≥ 1.9 |
Qué es el API Wikibase?
Wikibase proporciona un mecanismo general para almacenar declaraciones como datos estructurados. Las declaraciones sobre elementos viven en el servidor en wikidata.org. Véase Wikidata:Glosario para más información en Wikibase y otros conceptos..
The Wikibase API allows querying, adding, removing and editing information on Wikidata or any other Wikibase instance.
Se proporciona a través de un conjunto de extensiones de los módulos API de MediaWiki.
Por lo tanto, para utilizar la API de Wikibase, debes tener una familiaridad básica con la API de acción de MediaWiki: acciones, consultas, etc., así como con parámetros genéricos como curtimestamp
Y requestid
.
How to use the Wikibase api
Send requests to the API through HTTP, the same as with the MediaWiki Action API. See API:Tutorial#How to use it for information about how to use the MediaWiki Action API.
Request Format
The endpoint for the API is https://wikidata.org/w/api.php.
In the query string, add the action parameter, which tells the API which action to perform. For example, action=wbgetentities
tells the API to get the data for Wikibase entities. For meta and property submodules, use action=query&meta=yourmodule
and 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. Los parámetros son:
id/ids
: Identifica una entidad o unas entidades específicas, generalmente un elemento. La forma plural se utiliza en wbgetentities. Las listas de identificadores deberían ser separadas por el carácter pipesite ∩ 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
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
}
La respuesta de un pedido por lo general tendrán:
- Una clave
success
con un booleano casteado a entero si la request es exitosa. Si el entero es 0, cualquier valor adicional podría ser erróneo. - Una clave
error
con un objeto de dos, opcionalmente 3 llaves,code
,info
,*
, si la request no se resolvió exitosamente. - Información sobre la acción. La informacion es pasada en el nivel superior o, si es de un solo item en "item" o en "items" si son varios. Si son varios items, cada uno se encuentra debajo de una clave con su propio item id.
Los objetos vacíos se devuelven como arrays JSON y no como objetos, mientras que los parámetros vacíos "eliminan" la entrada del elemento.
Documentación API y módulos Wikibase
Meta submodules
- wikibase: ⧼Apihelp-query+wikibase-description⧽
- wbcontentlanguages: Returns information about the content languages Wikibase accepts in different contexts.
Property submodules
- pageterms: ⧼Apihelp-query+pageterms-description⧽
- wbentityusage: ⧼Apihelp-query+wbentityusage-description⧽
API modules
- wbgetentities: ⧼Apihelp-wbgetentities-description⧽
- wbavailablebadges: ⧼Apihelp-wbavailablebadges-description⧽
- wbcreateclaim: ⧼Apihelp-wbcreateclaim-description⧽
- wbcreateredirect: ⧼Apihelp-wbcreateredirect-description⧽
- wbeditentity: ⧼Apihelp-wbeditentity-description⧽
- wbformatvalue: ⧼Apihelp-wbformatvalue-description⧽
- wbgetclaims: ⧼Apihelp-wbgetclaims-description⧽
- wblinktitles: ⧼Apihelp-wblinktitles-description⧽
- wbmergeitems: ⧼Apihelp-wbmergeitems-description⧽
- wbparsevalue: ⧼Apihelp-wbparsevalue-description⧽
- wbremoveclaims: ⧼Apihelp-wbremoveclaims-description⧽
- wbremovequalifiers: ⧼Apihelp-wbremovequalifiers-description⧽
- wbremovereferences: ⧼Apihelp-wbremovereferences-description⧽
- wbsearchentities: Searches for entities using labels and aliases.
- wbsetaliases: ⧼Apihelp-wbsetaliases-description⧽
- wbsetclaim: ⧼Apihelp-wbsetclaim-description⧽
- wbsetclaimvalue: ⧼Apihelp-wbsetclaimvalue-description⧽
- wbsetdescription: ⧼Apihelp-wbsetdescription-description⧽
- wbsetlabel: ⧼Apihelp-wbsetlabel-description⧽
- wbsetqualifier: ⧼Apihelp-wbsetqualifier-description⧽
- wbsetreference: ⧼Apihelp-wbsetreference-description⧽
- wbsetsitelink: ⧼Apihelp-wbsetsitelink-description⧽
- wbsgetsuggestions: ⧼Apihelp-wbsgetsuggestions-description⧽
- wbcheckconstraints: ⧼Apihelp-wbcheckconstraints-description⧽
- wbcheckconstraintparameters: Verifica los parámetros de restricción de las declaraciones de restricción.
Posibles errores
Se pueden encontrar posibles errores para cualquier módulos usando action=paraminfo&modules=modulename
.
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 - Los modelos de calendario que pueden ser utilizados con Wikibase son el calendario gregoriano(d:Q1985727) y el calendario juliano(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.
- No pruebes el valor de
info
para detectar un error en particular, en su lugar usa el valor decode
, ya que seguirá siendo independiente de la localización.
Véase también
- API:Portada - La guía de inicio rápida para la API de Acción MediaWiki.
- API:Preguntas frecuentes - Preguntas frecuentes sobre la API de Acción MediaWiki.
- API: Tutorial - Un tutorial sobre cómo utilizar la API de Acción MediaWiki.
- Descarga volcados de la base de datos de Wikidata en los formatos JSON (recomendado), XML y RDF .