Wikibase/API
Bu sayfa MediaWiki Eylem API'si belgelerinin bir parçasıdır. |
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.
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ırsite ∩ 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
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 birerror
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
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
- 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: Etiketleri ve takma adları kullanan varlıkları arar.
- 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: Kısıtlama ifadelerinin kısıtlama parametrelerini kontrol eder.
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çinpageterms
ö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 yerinecode
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.