Wikidata:Datenzugriff

From Wikidata
Jump to navigation Jump to search
This page is atranslated versionof the pageWikidata:Data accessand the translation is 97% complete.
Outdated translations are marked like this.

Wikidata For Developers: Data access




Wikidata enthält derzeit über 100 Millionen Datensätze und über 650.000 Lexeme, und diese Zahlen werden weiter wachsen. Es gibt viele Methoden, um auf all diese Daten zuzugreifen - dieses Dokument stellt sie vor und hilft potenziellen Nutzern, die beste Methode für ihre Bedürfnisse zu wählen.

Es ist wichtig, eine Zugriffsmethode zu wählen, die Dir die benötigten Daten auf dem schnellsten und effizientesten Weg liefert, ohne Wikidata unnötig zu belasten; diese Seite soll Dir dabei helfen.

Bevor du beginnst

Verwendung der Daten von Wikidata

Unser Logo

Wikidata bietet eine große Bandbreite an allgemeinen Daten über alles unter der Sonne. Die Daten sind unterCC0,"No rights reserved", für Public Domain lizenziert.

Änderungen an APIs und anderen Methoden des Zugriffs auf Wikidata unterliegen derStable Interface Policy.Für Datenquellen auf dieser Seite wirdnicht garantiert,dass sie stabile Schnittstellen sind.

Wikimedia-Projekte

Dieses Dokument befasst sich mit dem Zugriff auf Daten von außerhalb der Wikimedia-Projekte. Wenn Du Daten aus Wikidata in einem anderen Wikimedia-Projekt präsentieren musst, wo Du Parser-Funktionen, Lua und/oder andere interne Methoden verwenden kannst, lies bitteWie man Daten in Wikimedia-Projekten verwendet.

Beste Praktiken für Daten

Freiwillige wie diese Menschen - und Du - erschaffen Wikidata

Wir bieten die Daten in Wikidata frei und ohne Verpflichtung zur Namensnennung unterCC-0an. Im Gegenzug würden wir es sehr begrüßen, wenn Du in Deinem Projekt Wikidata als Ursprung Deiner Daten erwähnst. Damit trägst Du dazu bei, dass Wikidata noch lange Zeit aktuelle und qualitativ hochwertige Daten zur Verfügung stellen kann. Wir fördern auch die besten Projekte, die die Daten von Wikidata nutzen.

Einige Beispiele für die Nennung von Wikidata: "Powered by Wikidata", "Powered by Wikidata data", "Powered by the magic of Wikidata", "Using Wikidata data", "With data from Wikidata", "Data from Wikidata", "Source: Wikidata", "Including data from Wikidata" usw. Du kannst auch eine unserervorgefertigten Dateienverwenden.

Du darfst das oben gezeigte Wikidata-Logo verwenden, solltest damit aber in keiner Weise eine Unterstützung durch Wikidata oder die Wikimedia Foundation implizieren.

Bitte biete Deinen Benutzern eine Möglichkeit, Probleme in den Daten zu melden, und finde einen Weg, diese an die Wikidata-Redaktion weiterzuleiten, zum Beispiel über denMismatch Finder.Bitte teile den Ort, an dem Du diese Probleme sammelst, imProjekt-Chatmit.

Beste Praktiken für den Zugriff

Beachte beim Zugriff auf die Daten von Wikidata die folgenden besten Praktiken:

  • Befolge die User-Agent-Richtlinie - sende einen guten User-Agent-Header.
  • Befolge die Roboterregeln: Sende 1 $ und stelle nicht zu viele Anfragen auf einmal.
  • Wenn Du eine Antwort 429 Too Many Requests erhalten, stelle das Senden weiterer Anfragen für eine Weile ein (siehe AntwortkopfRetry-After)
  • Wenn verfügbar (z. B. mit dem Wikidata Query Service), stelle das niedrigste Timeout ein, die für Deine Daten sinnvoll ist.
  • Wenn Du die MediaWiki-Aktions-API verwendest, mache großzügig Gebrauch von dem Parametermaxlagund beachte die übrigen Richtlinien, die inAPI:Etikettebeschrieben sind.


Suche

Was ist das?

Wikidata bietet einenElasticsearch-Index für die traditionelle Suche in seinen Daten:Special:Search

Wann anwendbar?

Verwende die Suche, wenn Du nach einem Textstring suchen musst oder wenn du die Namen der gesuchten Entitäten kennst, aber nicht die genauen Entitäten selbst. Sie eignet sich auch für Fälle, in denen Du Deine Suche auf der Grundlage einiger sehr einfacher Beziehungen in den Daten spezifizieren kannst.

Verwende die Suche nicht, wenn die Beziehungen in Deinen Daten besser als komplex zu bezeichnen sind.

Details

Du kannst Deine Suche mit diesen zusätzlichen, Wikidata-spezifischen Schlüsselwörtern noch leistungsfähiger machen:haswbstatement,inlabel,wbstatementquantity,hasdescription,haslabel.Diese Suchfunktionalität istauf der Seite der CirrusSearch-Erweiterungdokumentiert. Sie hat auch eine eigene [API-Aktion].

Schnittstelle für verknüpfte Daten (URI)

Was ist das?

Die Linked Data-Schnittstelle ermöglicht den Zugriff auf einzelne Entitäten über URI:http:// wikidata.org/entity/Q???

Wann anwendbar?

Nutze die Linked Data-Schnittstelle, wenn du einzelne, vollständige Entitäten benötigst, die dir bereits bekannt sind.

Verwende sie nicht, wenn du dir nicht sicher bist, welche Entitäten du brauchst - versuche es zuerst mit einer Suche oder Abfrage. Sie ist auch nicht für die Abfrage großer Datenmengen geeignet.

Details

TriffQ42

Jeder Datensatz und jede Eigenschaft hat einen dauerhaftenURI,der sich aus dem Wikidata-Konzept-Namensraum und der ID des Datensatzes oder der Eigenschaft (z. B.Q42,P31) sowie aus konkreten Daten zusammensetzt, auf die über denURLdes Datensatzes oder der Eigenschaft zugegriffen werden kann.

Der Namespace für Wikidatas Daten über Entitäten isthttps://wikidata.org/wiki/Special:EntityData

Wenn du die ID einer Entität an dieses Präfix anhängst (du kannst auch kurz/entity/verwenden), entsteht die abstrakte (formatneutrale) Form der Daten-URL der Entität. Wenn du auf eine Ressource im Special:EntityData-Namensraum zugreifst, wendet die Spezialseitecontent negotiationan, um das Ausgabeformat zu bestimmen. Wenn du die Ressource in einem Browser öffnest, siehst du eine HTML-Seite mit Daten über die Entität, da Webbrowser HTML bevorzugen. Ein Linked-Data-Client würde die Entitätsdaten jedoch in einem Format wie JSON oder RDF erhalten - was auch immer der Client in seinem HTTP-Accept:-Header angibt.

Nimm zum Beispiel dieseKonzept-URIfür Douglas Adams - das ist ein Verweis auf die reale Person, nicht auf die konkrete Beschreibung von Wikidata:
http:// wikidata.org/entity/Q42
Als Mensch mit Augen und einem Browser wirst du wahrscheinlich auf DatenüberDouglas Adams zugreifen wollen, indem du die Konzept-URI alsURLverwendest. Dadurch wird ein HTTP-Redirect ausgelöst und der Client zu der Daten-URL weitergeleitet, die Wikidatas DatenüberDouglas Adams enthält:https:// wikidata.org/wiki/Special:EntityData/Q42.

Um Content Negotiation zu umgehen (z.B. zum Betrachten von Nicht-HTML-Inhalt in einem Webbrowser), kannst du auf einzelne Datensätze in einem bestimmten Formate zugreifen, indem du die Daten-URL mit einem Erweiterungsanhang für das gewünschte Datenformat versiehst, wie.json,.rdf,.ttl,.ntoder.jsonld.Beispielsweise führthttps:// wikidata.org/wiki/Special:EntityData/Q42.jsonzu einem JSON-Export für das Datenobjekt Q42.

Weniger ausführliche RDF-Ausgabe

Standardmäßig enthält das von der Schnittstelle für verlinkte Daten ausgegebene RDF-Beschreibungen und andere Entitäten, auf die es verweist und ist in sich geschlossen. Nutze?flavor=dump,um solche Informationen auszuschließen.

Indem du&flavoran die URL anhängst, kannst du genau steuern, welche Art von Daten zurückgegeben wird.

  • ?flavor=dump:Schließt Beschreibungen von Entitäten aus, auf die in den Daten Bezug genommen wird.
  • ?flavor=simple:Bietet nur wahrheitsgemäße Aussagen (am besten bewertete Aussagen ohneQualifikatorenoderReferenzen), zusammen mit Sitelinks und Versionsinformationen.
  • ?flavor=full(default): Mit dem Argument "full" werden alle Daten zurückgegeben. (Du musst dies nicht angeben, da es die Standardeinstellung ist).

Wenn du einen genaueren Einblick in die einzelnen Optionen haben möchtest, kannst du einen Blick in denQuellcodewerfen.

Revisionen und Caching

Du kannst bestimmte Revisionen einer Entität mit dem Abfrageparameterrevisionabfragen:https:// wikidata.org/wiki/Special:EntityData/Q42.json?revision=112.

Die folgenden URL-Formate werden von der Benutzeroberfläche bzw. vom Query Service Updater verwendet. Wenn du also eines dieser URL-Formate verwendest, ist die Chance groß, dass du schnellere (gecachte) Antworten erhältst:

Wikidata Query Service

Was ist das?

Der Wikidata Query Service (WDQS) ist der eigene SPARQL-Endpunkt von Wikidata. Er liefert die Ergebnisse von Abfragen, die in der SPARQL-Abfragesprache gemacht wurden:https://query.wikidata.org

Wann anwendbar?

Verwende WDQS, wenn du nur die Merkmale deiner gewünschten Daten kennst.

Verwende WDQS nicht für eine Text- oder Fuzzy-Suche - FILTER(REGEX(...)) ist ein Antipattern. (Verwende in solchen Fällensearch).

WDQS ist auch nicht geeignet, wenn deine gewünschten Daten wahrscheinlich sehr groß sind, also einen beträchtlichen Anteil aller Wikidata-Daten ausmachen. (Ziehe in solchen Fällen einendumpin Betracht.)

Details

Du kannst die Daten in Wikidata über unseren SPARQL-Endpunkt, denWikidata Query Service,abfragen. Der Dienst kann sowohl als interaktives Webinterface als auch programmatisch genutzt werden, indem duGEToderPOSTAnfragen anhttps://query.wikidata.org/sparqlstellst.

Der Abfragedienst eignet sich am besten, wenn die gewünschte Ergebnismenge eng eingegrenzt ist, d.h. wenn du eine Abfrage hast, bei der du dir ziemlich sicher bist, dass sie die resultierende Datenmenge bereits genau beschreibt. Wenn deine Vorstellung von der Ergebnismenge weniger genau definiert ist, ähnelt die Arbeit, die du mit dem Abfragedienst verrichtest, eher einer Suche; häufig musst du zuerst diese Art von suchbezogener Arbeit erledigen, um deine Abfrage zu verfeinern. Siehe den AbschnittSuche.

Endpunkt für Linked Data Fragments

Was ist das?

Der Linked Data Fragments (LDF)-Endpunkt ist eine experimentellere Methode, um auf die Daten von Wikidata zuzugreifen, indem Muster in Triples angegeben werden:https://query.wikidata.org/bigdata/ldf.Die Berechnung erfolgt hauptsächlich auf der Client-Seite.

Wann anwendbar?

Verwende den LDF-Endpunkt, wenn du die Daten, nach denen du suchst, mithilfe von Triple-Mustern definieren kannst und wenn deine Ergebnismenge wahrscheinlich ziemlich groß ist. Der Endpunkt ist gut geeignet, wenn du über viel Rechenleistung verfügst.

Da er noch experimentell ist, solltest du den LDF-Endpunkt nicht verwenden, wenn du einen absolut stabilen Endpunkt oder eine vollständige Ergebnismenge brauchst. Und wie bereits erwähnt, solltest du ihn nur verwenden, wenn du über ausreichend Rechenleistung verfügst, denn der LDF-Endpunkt verlagert die Berechnungen auf die Client-Seite.

Details

Wenn du nur Teilinformationen dazu hast, wonach du suchst, z. B. wenn du nur zwei von drei Komponenten deines Tripels/deiner Tripel hast, kannst du die SchnittstelleLinked Data Fragmentsbeihttps://query.wikidata.org/bigdata/ldfverwenden. Weitere Informationen findest du imBenutzerhandbuchund auf denCommunity-Seiten.

Wikimedia REST API

Was ist das?

Die Wikibase REST API ist eine OpenAPI-basierte Schnittstelle, die es Nutzern ermöglicht, mit Wikibase-Instanzen - darunter natürlich auch Wikidata - zu interagieren, Artikel und Aussagen abzurufen und zu bearbeiten:Wikidata REST API

Wann anwendbar?

Die Wikibase REST API befindet sich noch in der Entwicklung, aber für Wikidata soll sie dieAction APIfunktional ersetzen, da es sich um eine spezielle Schnittstelle handelt, die nur für Wikibase/Wikidata entwickelt wurde.

Die Anwendungsfälle für die Action API gelten auch für die Wikibase REST API. Verwende sie, wenn deine Arbeit Folgendes beinhaltet:

  • Wikidata bearbeiten
  • Direkte Daten über Entitäten selbst erhalten

Verwende die Wikibase REST API nicht, wenn deine Ergebnismenge wahrscheinlich sehr groß ist. (Ziehe in solchen Fällen einendumpin Betracht.)

Es ist besser, die Wikibase REST API nicht zu verwenden, wenn du das Ergebnis deiner API-Anfrage weiter eingrenzen musst. In solchen Fällen ist es besser, deine Arbeit alsSuche(für Elasticsearch) oder alsAbfrage(für WDQS) zu formulieren.

Details

Die Wikibase REST API hat eineOpenAPI Dokumentation,dieSwaggerverwendet. Du kannst auch dieEntwicklerdokumentationeinsehen.

MediaWiki Action API

Was ist das?

Die Wikidata-API ist MediaWikis eigene Action-API, die um einige Wikibase-spezifische Aktionen erweitert wurde:https://wikidata.org/w/api.php

Wann anwendbar?

Nutze die API, wenn deine Arbeit dies erfordert:

  • Wikidata bearbeiten
  • Daten über die Entitäten selbst abrufen, z. B. ihre Änderungshistorie
  • Abruf aller Daten einer Entität im JSON-Format, in kleinen Gruppen von Entitäten (bis zu 50 Entitäten pro Anfrage).

Verwende die API nicht, wenn deine Ergebnismenge wahrscheinlich sehr groß ist. (Ziehe in solchen Fällen einendumpin Betracht.)

Die API ist auch schlecht für Situationen geeignet, in denen du den aktuellen Status von Entitäten in JSON abfragen möchtest. (Für solche Fälle solltest du dieLinked Data Interfaceverwenden, die wahrscheinlich schnellere Antworten liefert).

Schließlich ist es wahrscheinlich keine gute Idee, die API zu verwenden, wenn du das Ergebnis deiner API-Anfrage weiter eingrenzen musst. In solchen Fällen ist es besser, deine Arbeit alssearch(für Elasticsearch) oder alsquery(für WDQS) zu formulieren.

Details

Die MediaWiki Action API, die für Wikidata verwendet wird, ist sorgfältig dokumentiertauf der API-Seite von Wikidata.Du kannst sie in derAPI Sandboxerforschen und damit experimentieren.

There are multiple Wikibase specific endpoints. Here are some example requests:

Bots

Wir freuen uns über gut funktionierende Bots

Du kannst auch mit einem Bot auf die API zugreifen. Mehr über Bots erfährst du unterWikidata:Bots.

Der StreamLetzte Änderungen

Was ist das?

Der StreamLetzte Änderungenbietet einen kontinuierlichen Strom von Änderungen in allen Wikimedia-Wikis, einschließlich Wikidata:https://stream.wikimedia.org

Wann anwendbar?

Nutze den StreamLetzte Änderungen,wenn du für dein Projekt in Echtzeit auf Änderungen reagieren musst oder wenn du alle aktuellen Änderungen von Wikidata benötigst - zum Beispiel, wenn du deinen eigenen Abfragedienst betreibst.

Details

Der StreamLetzte Änderungenenthält alle Aktualisierungen von allen Wikis, die dasserver-sent events-Protokoll verwenden. Du musst die Aktualisierungen von Wikidata auf der Client-Seite herausfiltern.

Du findest das Webinterfacebei stream.wikimedia.orgund kannst alles darüber auf derEventStreams-Seite lesen.

Dumps

Was ist das?

Wikidata-Dumps sind vollständige Exporte aller Entitäten in Wikidata:https://dumps.wikimedia.org

Wann anwendbar?

Verwende einen Dump, wenn deine Ergebnismenge wahrscheinlich sehr groß sein wird. Ein Dump ist auch wichtig, wenn du deinen eigenen Abfragedienst einrichtest.

Verwende keinen Dump, wenn du aktuelle Daten brauchst: Die Dumps brauchen sehr lange, um exportiert zu werden und noch länger, um mit deinem eigenen Abfragedienst synchronisiert zu werden. Dumps sind auch ungeeignet, wenn du nur eine begrenzte Bandbreite, Speicherplatz und/oder Rechenleistung zur Verfügung hast.

Details

Wenn du viele Datensätze durchsuchen musst oder wenn deine Ergebnismenge wahrscheinlich sehr groß ist, solltest du mit einem Datenbank-Dump arbeiten: (Link zum letzten vollständigen Dump).

Ausführliche Dokumentation zu allen Wikimedia-Dumps findest duauf der Seite "Datendumps" auf Metaund zu Wikidata-Dumps im Besonderen auf der SeiteDatenbank-Download.Siehe auchFlavored dumpsoben.

Tools

  • JsonDumpReaderist eine PHP-Bibliothek zum Lesen von Dumps.
  • Unter[1]findest du eine Go-Bibliothek zur Verarbeitung von Wikipedia- und Wikidata-Dumps.
  • Du kannstwdumperverwenden, um teilweise benutzerdefinierte RDF-Dumps zu erhalten.

Local Query Service

Es ist keine kleine Aufgabe, einen Wikidata-Dump zu beschaffen und die oben genannten Werkzeuge für die Arbeit damit zu implementieren, aber du kannst noch einen Schritt weiter gehen. Wenn du die Kapazitäten und Ressourcen dafür hast, kannst du deine eigene Instanz des Wikidata Query Service hosten und sie so oft abfragen, wie du willst, ohne mit anderen in Konflikt zu geraten.

Um deinen eigenen Abfragedienst einzurichten, befolgediese Anleitungdes Abfragedienst-Teams, zu der auch die Beschaffung einer eigenen lokalen Kopie der Daten gehört. Nützliche Informationen findest du auch in Adam ShorlandsBlogpostzu diesem Thema.