Wikibase/API/ru

Общее вступление
Wikibase предоставляет общий механизм хранения утверждений в виде структурированных данных. Любая вики на MediaWiki может запустить его. Утверждения о пунктах находятся на сервере. (См. wikidata:Glossary для объяснения этих терминов.)



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

API Wikibase предоставляется набором расширений, реализующих модули API MediaWiki. Так что чтобы использовать его, вам следует быть несколько осведомлёнными на тему сетевого API MediaWiki: действия, query-запросы, и т.д., и, наоборот, ваши знания об общих параметрах, таких как,   и других, применимых к API 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.  tells the API to get the data for Wikibase entities. For meta and property submodules, use and   respectively.

Некоторые параметры доступны практически всегда. Формы множественного числа используются в случаях, когда параметр может принимать список из нескольких значений.

GET request
Explanation of each part of the URL:


 * is the main endpoint.
 * tells the API to get the data for Wikibase entities.
 * means get the data from English Wikipedia.
 * indicates the title of the page to get data from.
 * indicates properties to get from the entities, in this case the property is the descriptions of the entities.
 * means filter the results down to the English language.
 * indicates JSON output, which is the recommended output format.

Response
Обычно у возвращаемого значения или есть ключ $key1, содержащий приведённое к целому булево значение, или ключ $key2, содержащий два (необязательно — три) ключа $key4, $key5 и $key6. Этот последний ключ ассоциирован с дополнительной информацией. Информация о действии или передаётся на верхнем уровне, или в ключе item (для единичных объектов) или items (для множественных). Если объектов несколько, каждый находится под ключом, равным своему идентификаторы. См. также разделы Успешное выполнение и Ошибки.
 * A  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  key with an object of two, optionally three keys, ,   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.


 * Обратите внимание, что пустые объекты возвращаются как массивы JSON, а не как объекты JSON.
 * Обратите внимание, что при указании пустых параметров содержимое самого свойства объекта удаляется.

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

 * wbgetentities: Gets the data for multiple Wikibase entities.
 * wbavailablebadges: Queries available badge items.
 * wbcreateclaim: Creates Wikibase claims.
 * wbcreateredirect: Creates Entity redirects.
 * wbeditentity: Creates a single new Wikibase entity and modifies it with serialised information.
 * wbformatvalue: Formats DataValues.
 * wbgetclaims: Gets Wikibase claims.
 * wblinktitles: Associates two pages on two different wikis with a Wikibase item.
 * wbmergeitems: Merges multiple items.
 * wbparsevalue: Parses values using a ValueParser.
 * wbremoveclaims: Removes Wikibase claims.
 * wbremovequalifiers: Removes a qualifier from a claim.
 * wbremovereferences: Removes one or more references of the same statement.
 * wbsearchentities: Searches for entities using labels and aliases.
 * wbsetaliases: Sets the aliases for a Wikibase entity.
 * wbsetclaim: Creates or updates an entire Statement or Claim.
 * wbsetclaimvalue: Sets the value of a Wikibase claim.
 * wbsetdescription: Sets a description for a single Wikibase entity.
 * wbsetlabel: Sets a label for a single Wikibase entity.
 * wbsetqualifier: Creates a qualifier or sets the value of an existing one.
 * wbsetreference: Creates a reference or sets the value of an existing one.
 * wbsetsitelink: Associates a page on a wiki with a Wikibase item or removes an already made such association.
 * wbsgetsuggestions: Gets suggestions of additional properties to add to a Wikibase entity.
 * wbcheckconstraints: Performs constraint checks on any entity you want and returns the result.

Ошибки
Возможные для всех модулей ошибки могут быть найдены по адресу  в URL-строке запроса.

Additional notes
Многие вики Викимедиа (но, $1 по состоянию на февраль 2015$2, не $mw) работают с установленным расширением Wikibase Client. Это расширение позволяет клиентам API: API использует идентификаторы версий для обнаружения конфликтов редактирования. Если идентификатор версии известен из предыдущего ответа, загрузки страницы или какого-либо похожего события, передайте версию редактированию. Без идентификатора версии невозможно с высокой точностью обнаруживать конфликты редактирования. Если конфликт редактирования уже обнаружен, запрашивающий должен получить идентификатор более новой версии, чтобы получить возможность продолжить. Для этого обычно запрашивается wbgetentities для соответствующей записи, а из ответа считывается (и используется) идентификатор версии. На кластере Викимедиа, большинство вики не выполняют весь набор расширений Wikibase. (Склад Викимедиа обладает собственным Wikibase для свойств файлов на Складе.)
 * делать запросы к метаинформационному подмодулю,, чтобы определять URL полного хранилища данных Wikibase см. справку API по этому подмодулю
 * делать запросы к подмодулю определения свойств,, чтобы получать информацию с Викиданных о страницах на текущей вики
 * Модель календаря
 * Q1985727 - григорианский календарь
 * Q1985786 - юлианский календарь
 * Do not test the  value for a particular error, instead use the   value as this will remain independent of localization.

См. также

 * API:Main page- The quick start guide for the MediaWiki Action API.
 * API:FAQ- Frequently asked questions about the Mediawiki Action API.
 * API:Tutorial- A tutorial on how to use the MediaWiki Action API.