Wikibase/API

From mediawiki.org
This page is a translated version of the page Wikibase/API and the translation is 100% complete.
MediaWiki Version:
≥ 1.9

Was ist die Wikibase-API?

Wikibase bietet einen allgemeinen Mechanismus zum Speichern von Anweisungen als strukturierte Daten. Die Aussagen Ăźber Datenobjekte befinden sich auf dem Server unter wikidata.org. Weitere Informationen zu Wikibase und anderen Konzepten findest Du unter Wikidata: Glossar.

Eine Aussage

Die Wikibase-API erlaubt es, Informationen in Wikidata oder jeder anderen Wikibase-Instanz abzufragen, hinzuzufĂźgen, zu entfernen und zu bearbeiten.

Sie wird ßber eine Reihe von Erweiterungen der MediaWiki-API-Module angeboten. Um die Wikibase API zu nutzen, solltest du grundsätzlich mit der MediaWiki Action API vertraut sein: Aktionen, Abfragen, etc., sowie die generischen Parameter, wie curtimestamp und requestid.

Wie man die Wikibase-API nutzt

Sende Abfragen Ăźber HTTP an die API, genau wie bei der MediaWiki Action API. Siehe API:Anleitung#Wie man sie nutzt fĂźr Informationen dazu, wie man die MediaWiki Action API nutzt.

Abfrage-Format

Der Endpunkt fĂźr die API ist https://wikidata.org/w/api.php.

Fßge den Action-Parameter, der der API sagt, welche Aktion ausgefßhrt werden soll, zur Abfrage-Zeichenkette hinzu. Zum Beispiel sagt action=wbgetentities der API, dass die Daten fßr Wikibase-Einträge erhalten werden sollen. Nutze fßr Meta- und Eigenschafts-Submodule entsprechend action=query&meta=yourmodule und action=query&prop=modulename.

Einige Parameter sind fast immer verfĂźgbar. Wenn Parameter mehrere Werte annehmen kĂśnnen, wird der Plural verwendet. Es gibt folgende Parameter:

  • id/ids: Identifiziert eine bestimmte Entität oder Entitäten, typischerweise ein Datenobjekt. Die Pluralform wird in wbgetentities genutzt. Listen von IDs sollten durch Pipe-Zeichen getrennt werden.
  • site ∊ title/sites ∊ titles: Identifiziert ein einziges Datenobjekt oder mehrere Datenobjekt. Die Pluralform wird in wbgetentities genutzt. Nur sites oder titles kĂśnnen gleichzeitig mehrere Werte besitzen.
  • language/languages: Der Sprachparameter filtert Bezeichnungen und Beschreibungen in Get-Aktionen oder identifiziert eine bestimmte Sprache fĂźr eine Reihe von Aktionen.
  • format: Sollte immer mit json (bzw. jsonfm for debugging) oder xml (bzw. xmlfm for debugging) belegt werden. Andere Eingaben werden nicht unterstĂźtzt.
  • summary: FĂźgt der vom System generierten Zusammenfassung eine benutzerdefinierte Eingabe an.
  • token: Eine verschlĂźsselte Zeichenkette, die der Anfragende angeben muss, um die Anfrage auszufĂźhren.
  • baserevid: Die ID der letzten bekannten Version muss dem Server genannt werden, damit Bearbeitungskonflikte erkannt werden kĂśnnen.

Eine einfache Abfrage

GET-Abfrage

Erhält das Datenobjekt fßr die Seite "Berlin" in der englischsprachigen Wikipedia.


Erklärung von jedem Teil der URL:

  • http://www.wikidata.org/w/api.php ist der Haupt-Endpunkt.
  • action=wbgetentities sagt der API, dass die Daten fĂźr Wikibase-Einträge erhalten werden sollen.
  • sites=enwiki bedeutet, dass die Daten aus der englischsprachigen Wikipedia erhalten werden.
  • titles=Berlin gibt den Titel der Seite an, von der Daten erhalten werden sollen.
  • props=descriptions gibt die Eigenschaften an, die von den Einträgen erhalten werden, in diesem Fall stellen die Beschreibungen der Einträge die Eigenschaft dar.
  • languages=en steht dafĂźr, die Ergebnisse auf englischsprachige zu beschränken.
  • format=json gibt JSON-Ausgabe vor, was das empfohlene Ausgabeformat ist.

Antwort

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

Die Antwort einer Anfrage enthält fßr gewÜhnlich Folgendes:

  • Ein success-SchlĂźssel mit einer booleschen Umwandlung in eine ganze Zahl, wenn die Abfrage erfolgreich ist. Wenn die ganze Zahl Null ist, kĂśnnen alle weiteren Werte falsch sein.
  • Ein error-SchlĂźssel mit einem Objekt aus zwei oder optional drei SchlĂźsseln, code, info und *, wenn die Abfrage nicht erfolgreich ist.
  • Information Ăźber die Aktion. Die Information wird entweder Ăźber die oberste Ebene oder unter dem Datenobjekt Ăźbergeben, wenn es sich um ein einziges Datenobjekt handelt oder unter den Datenobjekten, wenn es mehrere sind. Wenn es mehrere Datenobjekt sind, findet sich jedes unter einem SchlĂźssel mit eigener Datenobjekt-ID.

Leere Objekte werden als JSON-Arrays ausgegeben und nicht als Objekte, während leere Parameter den Eintrag aus dem Datenobjekt entfernen.

API-Dokumentation und Wikibase-Module

Automatisch generierte Dokumentation fĂźr die MediaWiki Action API, darunter die Wikibase-'wb'-API-Module, ist auf wikidata.org/w/api.php verfĂźgbar

Meta-Submodule

  • wikibase: ⧟Apihelp-query+wikibase-description⧽
  • wbcontentlanguages: Returns information about the content languages Wikibase accepts in different contexts.

Eigenschafts-Submodule

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

API-Module

MĂśgliche Fehler

MĂśgliche Fehler fĂźr jedes Modul kĂśnnen durch Nutzung von action=paraminfo&modules=modulename gefunden werden. Die Fehlerformate entsprechen denen der MediaWiki Action API. Siehe API:Fehler und Warnungen#Standard-Fehlermeldungen.

Alle Fehlermeldungen der Wikibase-Module sollten Internationalisiert (i18n) und lokalisiert (l10n) sein. Standard fĂźr Fehlermeldungen ist die festgelegte Sprache des angemeldeten Benutzers, dies kann jedoch durch HinzufĂźgen von uselang=languageCode zur URL der Abfrage-Zeichenkette Ăźberschrieben werden.

Fehlertyp Code Information
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

Zusätzliche Anmerkungen

  • Auf vielen Wikimedia-Wikis läuft die Wikibase-Client-Erweiterung. Diese lässt API-Clients das wikibase-Meta-Submodul abfragen, um die URLs fĂźr das vollständige Wikibase-Repositorium zu bestimmen und das pageterms-Eigenschafts-Submodul, um Informationen aus Wikidata Ăźber Seiten im lokalen Wiki zu erhalten.
  • Zusammen mit Wikibase kĂśnnen die Kalender-Module des Gregorianischen Kalenders (d:Q1985727) und des Julianischen Kalenders (d:Q1985786) genutzt werden.
  • Die API nutzt Versions-IDs, um Bearbeitungskonflikte zu erkennen. Wenn es einen Bearbeitungskonflikt gibt, muss der Abfragesteller sich eine neuere Versions-ID besorgen, um fortfahren zu kĂśnnen. Dies beinhaltet typischerweise, wbgetentities fĂźr das fragliche Datenobjekt abzufragen und dann die Version des Eintrags zu speichern (und zu nutzen).
  • Jede MediaWiki-Installation kann Wikibase ausfĂźhren. Auf dem Wikimedia-Cluster kĂśnnen die meisten Wikis nicht alle Wikibase-Erweiterungen ausfĂźhren. Wikimedia Commons hat seine eigene Wikibase fĂźr Eigenschaften der Dateien auf Commons.
  • Teste nicht den info-Wert fĂźr einen bestimmten Fehler, nutze stattdessen den code-Wert, da dieser unabhängig von der Lokalisierung bleibt.

Siehe auch

  • API:Hauptseite - Die Schnellstart-Anleitung fĂźr die MediaWiki Action API.
  • API:FAQ - Häufig gestellte Fragen Ăźber die MediaWiki Action API.
  • API:Tutorial - Eine Anleitung zur Verwendung der MediaWiki Action API.
  • Lade Wikidata-Datenbank-Dumps in den Formaten JSON (empfohlen), XML und RDF herunter.