Jump to content

Wikibase/API

From mediawiki.org
This page is a translated version of the page Wikibase/API and the translation is 58% complete.
MediaWiki sürümü:
1.9

Wikibase API nedir?

Wikibase beyanları yapılandırılmış veri olarak saklamak için genel bir mekanizma sağlar. Öğelerle ilgili ifadeler wikidata.org adresindedir. Wikibase ve diğer kavramlar hakkında daha fazla bilgi için Vikiveri:Sözlük sayfasına bakın.

Bir açıklama

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

MediaWiki API modüllerine bir dizi uzantı aracılığıyla sağlanır. Bu nedenle, Wikibase API'sini kullanmak için, MediaWiki Eylem API'si ile temel düzeyde bilgi sahibi olmanız gerekir: eylemler, sorgular, vb. ve ayrıca curtimestamp ve requestid gibi genel parametrelerle.

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.

Neredeyse her zaman kullanılabilen bazı parametreler var. Çoğul formlar, bir parametrenin birkaç değer alabileceği durumlarda kullanılır. Parametreler:

  • id/ids: Belirli bir varlığı veya varlıkları, tipik olarak bir öğe tanımlar. Çoğul biçim wbgetentities içinde kullanılır. Kimlik listeleri boru karakteriyle ayrılmalıdır
  • site ∩ title/sites ∩ titles: Tek bir öğeyi veya birden çok öğeyi tanımlar. Çoğul biçim wbgetentities içinde kullanılır. Yalnızca bir sitelrr ve başlıklar aynı anda birden fazla değere sahip olabilir.
  • language/languages: Dil parametresi, get eylemlerindeki etiketleri ve açıklamaları filtreler veya bir dizi eylem için belirli bir dili tanımlar.
  • format: Her zaman json (veya hata ayıklama için jsonfm) veya xml (veya hata ayıklama için xmlfm) olarak ayarlanmalıdır. Başka hiçbir form desteklenmez.
  • summary: Sistem tarafından oluşturulan özete ek olarak kullanıcı tarafından belirtilen bir özet ekler.
  • token: İsteğin yerine getirilmesi için istekte bulunanın iletmesi gereken şifreli bir dize.
  • baserevid: Sunucunun düzenleme çakışmalarını algılayabilmesi için iletilmesi gereken bilinen son düzeltme için bir kimlik.

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
}

Bir isteğin yanıtı genellikle şunları içerir:

  • İstek başarılı olursa, tamsayı olarak bir boole dökümü olan bir success anahtarı. Tamsayı sıfır ise, herhangi bir ek değer yanlış olabilir.
  • İstek başarısız olursa, iki, isteğe bağlı olarak üç anahtar, code, info ve * nesnesine sahip bir error anahtarı.
  • Eylem hakkında bilgi. Bilgiler tek bir öğe ise en üst düzeyde veya öğe altında, birden fazla ise öğeler altında iletilir. Birkaç öğe ise, her biri kendi öğe kimliğine sahip bir anahtarın altında bulunur.

Boş nesneler, nesne olarak değil JSON dizileri olarak döndürülürken, boş parametreler öğeden gerçek girişi kaldırır.

API belgeleri ve Wikibase modülleri

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

Meta submodules

  • wikibase: ⧼Apihelp-query+wikibase-description⧽
  • wbcontentlanguages: Wikibase'nin farklı bağlamlarda kabul ettiği içerik dilleri hakkında bilgi döndürür.

Property submodules

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

API modules

Olası hatalar

Herhangi bir modül için olası hatalar action=paraminfo&modules=modulename kullanılarak bulunabilir. The error format corresponds to that of the MediaWiki Action API. See API:Errors and warnings#Legacy format.

Wikibase modüllerinden gelen tüm hata mesajları uluslararasılaştırılmalı (i18n) ve yerelleştirilmelidir (l10n). Oturum açmış kullanıcının kullanıcı dili, hata mesajları için varsayılan olacaktır, ancak bunu, URL sorgu dizesine uselang=languageCode ekleyerek geçersiz kılabilirsiniz.

Hata türü Kod Bilgi
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

  • Birçok Wikimedia vikileri Wikibase Client uzantısını çalıştırır. Bu, API istemcilerinin tam Wikibase deposunun URL'lerini belirlemek için wikibase meta alt modülünü ve yerel vikideki sayfalar hakkında bazı Vikiveri bilgilerini almak için pageterms özellik alt modülünü sorgulamasına olanak tanır.
  • Wikibase ile kullanılabilen takvim modelleri Miladi takvim(d:Q1985727) ve Jülyen takvimidir(d:Q1985786).
  • API, düzenleme çakışması algılaması için revizyon kimliklerini kullanır. Bir düzenleme çakışması varsa, istekte bulunanın devam edebilmesi için daha yeni bir revizyon kimliği edinmesi gerekir. Bu genellikle, söz konusu öğe için wbgetentities talep edilmesini ve ardından girişteki revizyonun depolanmasını (ve kullanılmasını) içerir.
  • Herhangi bir MediaWiki kurulumu Wikibase'i çalıştırabilir. Wikimedia kümesinde, çoğu viki, Wikibase uzantılarının tamamını çalıştırmaz. Wikimedia Commons, Commons'taki dosyaların özellikleri için kendi Wikibase'ine sahiptir.
  • info değerini belirli bir hata için test etmeyin, bunun yerine code değerini kullanın, çünkü bu yerelleştirmeden bağımsız kalacaktır.

Ayrıca bakınız

  • API:Anasayfa - MediaWiki Eylem API'si için hızlı başlangıç ​​kılavuzu.
  • API:SSS - MediaWiki Eylem API'si hakkında sık sorulan sorular.
  • API:Eğitim - MediaWiki Eylem API'sinin nasıl kullanılacağına ilişkin bir eğitim.
  • Vikiveri veritabanı dökümleri dosyasını JSON (önerilir), XML ve RDF formatlarında indirin.