Vikipedio:Lua/Moduloj/Wikidata/de

Ŝablona programado Diskutoj Lua Testoj Subpaĝoj
Modulo Esperanto

Deutsch

Modulo: Dokumentado

Wikidata – Modul zum Abfragen von Informationen aus Wikidata basierend auf der Wikibase Client Lua-API.

Dieses Modul ist in vielen Projekten vorhanden, jedoch mit vielen unterschiedlichen Funktionen und Funktionsnamen. Sie sind untereinander nicht kompatibel.

Hinweis: Um die Datenextraktion mit diesem Modul zu testen, kann Wikipedia:Wikidata/Wikidata Spielwiese und das zugeordnete Datenobjekt Q4115189 verwendet werden, welches auch eine freie Bearbeitung von dessen Eigenschaften zulässt.

Funktionen für Vorlagen redakti

Die im folgenden angegeben Beispiele beziehen sich darauf dass das Modul auf der Seite Berlin verwendet wird bzw. dessen verknüpftes Wikidata-Objekt Q64. Die hier aufgeführten Beispielergebnisse sind u.U. nicht aktuell.

claim redakti

Gibt eine Aussage des mit der aktuellen Seite verknüpften Wikidata-Objekts zurück. Aussagen sind hierbei Eigenschaften eines Wikidata-Objekts. Diese Funktion bietet eine erweiterte Funktionalität gegenüber dem eingebauten {{#property:}}.

Parameter:

  • 1 – die Eigenschafts-Id (P…) oder der Eigenschaftsname, dessen Aussage zurückgeliefert werden soll. Aus Performanz- (Geschwindigkeit) und Persistenzgründen (der Name einer Eigenschaft kann sich ändern) sollte die Angabe einer Id bevorzugt werden.
  • id – Id (Q…) des Wikidata-Objektes, auf das zugegriffen werden soll. Wenn nicht angegeben, wird das mit der aktuellen Seite verknüpfte verwendet.
  • qualifier – Aussagen können einen Qualifikator beinhalten, z.B. für welchen dato (P585) eine Aussage gilt oder welche determina metodo (P459) verwendet wurde
  • parameter – Aussagen bestehen aus komplexen Datentypen, von denen üblicherweise nur die wichtigsten Elemente zurückgegeben werden. Mit parameter kann dieses Verhalten überschrieben werden. Die einzelnen Datentypen und deren möglichen Parameter sind (wenn parameter nicht angegeben wird, wird das fettgedruckte Element zurückgegeben):
    • Koordinaten: latitude, longitude, altitude, precision, globe [Wikidata-URI, üblicherweise http://www.wikidata.org/entity/Q2 [Erde]]
    • Zahlen: amount, unit, upperBound, lowerBound
    • Datum/Zeit: time [ISO 8601], time:format (angepasste Formatierung gemäß Hilfe:Vorlagenprogrammierung#Funktion time), timezone [Minuten], before, after, precision (0 - Mrd. Jahre, 1 - 100 Mio. Jahre, ..., 6 - Jahrtausend, 7 - Jahrhundert, 8 - Jahrzehnt, 9 - Jahr, 10 - Monat, 11 - Tag, 12 - Stunde, 13 - Minute, 14 - Sekunde), calendarmodel [Wikidata-URI, z.B. http://www.wikidata.org/entity/Q1985727 für den proleptischen Gregorianischen Kalender oder http://www.wikidata.org/wiki/Q11184 für den Julianischen Kalender]
    • Wikidata-IDs: entity-type, numeric-id (Standardmäßig wird der Titel des mit numeric-id bezeichneten Wikidata-Objekts zurückgegeben), link für einen Wikilink
    • Text mit Sprachauszeichnung: language, text (Standardmäßig wird <span lang="[language]">[text]</span> zurückgegeben)
  • language – sofern eine Eigenschaft mehrere Aussagen mit Sprachauszeichnungen besitzt, wird diejenige Aussage zurückgegeben, die in der Sprache des angegebenen Sprachkürzels vorliegt (z.B. language=de für Deutsch oder language=en für Englisch)
  • list – wenn eine Eigenschaft mehrere Aussagen besitzt, alle mit dem angegeben Listenseparator ausgeben (\n bzw. <br /> für Zeilensprung verwenden)
  • includeempty – Listenseparator wird auch im Fall von leeren Werten ausgegeben
  • references – die angegeben Quellen ausgeben (Hinweis: die Ausgabe folgt momentan nicht der Formatvorlage für Belege)
  • sort – Sortierung nach Qualifikatoren
  • sortInItem – wenn die Aussagen einer Eigenschaft Wikidata-Items darstellen, wird in diesem Item nach der in sortInItem angegebenen Eigenschaft gesucht und der Wert als Sortierschlüssel verwendet. Achtung: rechenintensiv!
  • inverse – gibt die sortierten Werte in absteigender Folge aus
  • hasqualifier – nur Aussagen mit Qualifikatoren ausgegeben. Kann mit einer Eigenschafts-Id (P…) auf einen bestimmten Qualifikator beschränkt werden.
  • hassource – nur Aussagen mit Einzelnachweisen ausgegeben. Kann mit einer Eigenschafts-Id (P…) auf einen bestimmten Einzelnachweis beschränkt werden. !P… ignoriert einen Einzelnachweis.
  • atdate – nur Aussagen ausgegeben, die gemäß den Qualifikatoren ekde (P580) und ĝis (P582) am gegebenen Datum gültig sind. Bei keiner Datumsangabe wird das heutige Datum verwendet.
  • showerrors – wenn keine Aussage gefunden werden kann, den Grund zurückgeben

Beispiele:

Fehlt noch:

  • Mehrere Aussagen können mit einem Separator getrennt zurückgegeben werden, in vielen Fällen ist jedoch eine besser formatierte Lösung bevorzugt. Daher wird vermutlich eine templatebasierte Rückgabe implementiert werden.
  • references gegen die Empfehlungen von d:Wikidata:Requests for comment/References and sources testen und prüfen ob die <ref>s automatisch mit den Vorlagen {{citaĵo el la reto}} und/oder {{citaĵo el libro}} erstellt werden können.

getValue redakti

Kombiniert die Funktionalität von claim mit der Funktion getValue des englischen Module:Wikidata, d.h. es wird nur Wikidata abgefragt, wenn dies explizit (üblicherweise beim Ausfüllen einer Vorlage) angegeben wird. Bei einer Verwendung in Vorlagen überträgt dies damit die Kontrolle ob Wikidata verwendet werden soll auf den Ausfüller einer Vorlage. Dies kann hilfreich dabei sein den Wikicode von Vorlagen verständlich zu halten.

Hinweis: Das englische Wikidata-Modul geht bei getValue stets davon aus, dass die abgefragte Eigenschaft ein Verweis auf einen Wikipedia-Artikel ist und verlinkt diesen. Diese automatische Verlinkung geschieht hier nicht, sondern muss wie im unten angegebenen Beispiel explizit angegeben werden.

Parameter:

  • siehe claim
  • 2 – Gibt stets diesen angegebenen Wert zurück, außer dieser ist ABFRAGE_WIKIDATA, wobei dann die Funktion claim aufgerufen wird. (Das englische FETCH_WIKIDATA funktioniert ebenso, sollte aber zugunsten der deutschen Version vermieden werden.) Mittels eines vordefinierten ABFRAGE_WIKIDATA in der Vorlage kann die Abfrage auch erfolgen, wenn ein Parameter nicht gesetzt wurde.

Beispiel: Angenommen die Vorlage Infobox Staat verwendet zur Ausgabe der Eigenschaft Hauptstadt den Vorlagencode {{#invoke:Wikidata|getValue|P36|{{{HAUPTSTADT|}}}|parameter=link}} und im Artikel Deutschland würde diese wie folgt ausgefüllt:

  • {{Infobox Staat|…|HAUPTSTADT=[[Berlin]]|…}}Berlin, kein Wikidata verwendet
  • {{Infobox Staat|…|HAUPTSTADT=ABFRAGE_WIKIDATA|…}}Berlin, Wikidata verwendet
  • {{Infobox Staat|…|HAUPTSTADT=|…}} →      , kein Wikidata verwendet
  • {{Infobox Staat|…|…}} →      , kein Wikidata verwendet

Wenn ein Wert vordefiniert wurde mittels {{#invoke:Wikidata|getValue|P36|{{{HAUPTSTADT|ABFRAGE_WIKIDATA}}}|parameter=link}}:

  • {{Infobox Staat|…|HAUPTSTADT=[[Berlin]]|…}}Berlin, kein Wikidata verwendet
  • {{Infobox Staat|…|HAUPTSTADT=ABFRAGE_WIKIDATA|…}}Berlin, Wikidata verwendet
  • {{Infobox Staat|…|HAUPTSTADT=|…}} →      , kein Wikidata verwendet
  • {{Infobox Staat|…|…}}Berlin, Wikidata verwendet (Dies erschwert allerdings die Lesbarkeit des Wikicodes)

descriptionIn redakti

Gibt die Wikidata-Beschreibung des Wikidata-Objekts in der angegebenen Sprache (Wiki-Sprachcode) zurück.

Parameter:

  • 1 – Wiki-Sprachcode
  • 2 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

Beispiel:

  • {{#invoke:Wikidata|descriptionIn|nl}}hoofdstad en deelstaat van Duitsland

labelIn redakti

Gibt den Wikidata-Titel des Wikidata-Objekts in der angegebenen Sprache (Wiki-Sprachcode) zurück.

Parameter:

  • 1 – Wiki-Sprachcode
  • 2 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

Beispiel:

  • {{#invoke:Wikidata|labelIn|nl}}Berlijn

labelOf redakti

Gibt den deutschsprachigen Titel des angegebenen Wikidata-Objekts oder -Eigenschaft zurück.

Parameter:

  • 1 – ID des Wikidata-Elements (Q…) oder -Eigenschaft (P…). Wenn nicht angegeben wird das Element der aktuellen Seite verwendet.

Beispiele:

  • {{#invoke:Wikidata|labelOf|Q1589880}}Haus
  • {{#invoke:Wikidata|labelOf|P281}}poŝtkodo

pageId redakti

Gibt die Id eines Wikidata-Objekts zurück, um beispielsweise zu überprüfen, ob die aktuelle Seite mit einem Wikidata-Objekt verbunden ist oder ob das Wikidata-Objekt eine Weiterleitung auf ein anderes Wikidata-Objekt darstellt.

Parameter:

  • 1 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

Beispiel:

  • {{#invoke:Wikidata|pageId}}Q64, wenn auf der Seite Berlin aufgerufen
  • {{#invoke:Wikidata|pageId|Q18511155}}Q9404406, da Weiterleitung

sitelinkOf redakti

Gibt den Titel der mit dem Wikidata-Element verbunden Seite in der deutschen Wikipedia zurück.

Parameter:

  • 1 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

Beispiel:

  • {{#invoke:Wikidata|sitelinkOf|Q1589880}} → '

sitelinkCount redakti

Zählt die mit dem Wikidata-Objekt verbundenen Seiten.

Parameter:

  • 1 – Projekt-Filter. Standardmäßig werden alle Wikiprojekte berücksichtigt, bei wiki nur die Wikipedia-Sprachversionen und Commons, wikibooks, wikinews, wikiquote, wikisource und wikivoyage jeweils nur die Sprachversionen dieser Projekte. Daneben kann auch konkret eine Sprachversion wie enwiki angegeben werden, welches entsprechend 0 oder 1 zurückgibt, je nachdem ob es einen Artikel in der Sprachversion gibt.
  • 2 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

Beispiel:

  • {{#invoke:Wikidata|sitelinkCount}}316, wenn auf der Seite Berlin aufgerufen
  • {{#invoke:Wikidata|sitelinkCount|wiki}}261, wenn auf der Seite Berlin aufgerufen
  • {{#invoke:Wikidata|sitelinkCount|wikinews}}15, wenn auf der Seite Berlin aufgerufen

badges redakti

Gibt die Auszeichnungen der mit dem Wikidata-Objekt verbunden Seite im angegebenen Wikimedia-Projekt zurück. Die Auszeichnungen sind üblicherweise leginda artikolo (Q17437798) oder elstara artikolo (Q17437796). Mehrere Auszeichnungen sollten nicht vorkommen, würden aber durch einen Schrägstrich getrennt ausgegeben.

Parameter:

  • 1 – Id des Wikimedia-Projekts, z.B. enwiki für die englische Wikipedia.
  • 2 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

Beispiel:

  • {{#invoke:Wikidata|badges|dawiki}} → ' (lesenswerter Artikel der dänischen Wikipedia), wenn auf der Seite Berlin aufgerufen

Debug-Funktionen redakti

Die folgenden Funktionen können auf Wikipedia-Seiten (insbesondere Spezial:Vorlagen expandieren) zu Debugging- oder Entwicklungszwecken aufgerufen werden um detailliertere Informationen zu Programmfehlern und Wikidata-Datenstrukturen zu erhalten.

printEntity redakti

Gibt alle mit der aktuellen Seite verbundenen Wikidata-Daten zurück.

Parameter:

  • 1 – Id (Q…) des Wikidata-Objektes auf das zugegriffen werden soll. Wenn nicht angegeben wird das mit der aktuellen Seite verknüpfte verwendet.

debug redakti

Falls ein Modulaufruf einen Skriptfehler zurückgibt, können hiermit die eigentlichen Fehlerinformationen (Fehlerbeschreibung und evtl. Ort) abgerufen werden.

Parameter:

  • 1 – Name der Funktion
  • weitere Parameter – Parameter dieser Funktion

Beispiel:

  • {{#invoke:Wikidata|debug|claim|P1082|qualifier=P585}} anstatt {{#invoke:Wikidata|claim|P1082|qualifier=P585}} um konkrete Fehlerinformationen zu letzterem zu erhalten, wenn dort ein Skriptfehler auftritt.

Funktionen in Untermodulen redakti

Es gibt einige Untermodule, deren Funktionen teilweise schon nutzbar sind:

bildoj redakti

Sie gibt ein Bild oder vielleicht sogar mehrere Bilder aus dem Wikidata-Eintrag bildo (P18) zurück. Die zugehörigen Beschreibungen sind in priskribo de plurmediaĵo (P2096) zu finden.

Parameter:

  • In Esperanto
    • grandeco - Größe der Bildes (Standard: keine)
    • defaŭlta grandeco - Standardgröße des Bildes (Standard: frameless)
    • priskribo de bildoj - Beschreibungen für mehrere Bilder
    • priskribo de bildo - Beschreibung für ein einzelnes Bild
    • priskribo de bildoX - Beschreibungen für mehrere Bilder, wobei statt X eine Zahl zwischen 1 und der Anzahl der existierenden Bilder liegt
  • In Englisch
    • id - siehe oben, bei claim
    • showerrors - legt fest, ob eine Fehlermeldung angezeigt werden soll oder nicht
    • default - standardmäßig zurückgegebenes Bild (es stammt nicht von Wikidata, sondern aus dem Modulaufruf!)

In Wikidataeintrag des Artikels Vajmaro

{{#invoke:Wikidata/bildoj|bildoj}}  

gibt

 
 

zurück

Wenn die Beschreibung schon im genannten Wikidataeintrag steht, reicht der folgende Code:

{{#invoke:Wikidata/bildoj|bildoj}}

Wenn die Beschreibung fehlt, kann sie wie folgt übergeben werden:

Bei einem einzelnen Bild:
{{#invoke:Wikidata/bildoj|bildoj|priskribo de bildo=}}
Bei mehr als einem Bild gibt es zwei Varianten:
{{#invoke:Wikidata/bildoj|bildoj|priskribo de bildoj=priskribo1 ;;; priskribo2}}

{{#invoke:Wikidata/bildoj|bildoj|priskribo de bildo1=priskribo1|priskribo de bildo2=priskribo2}}

Kodeschnipsel aus {{Informkesto urbo}}

{{#invoke:Wikidata/bildoj|bildoj|priskribo de bildoj={{{priskribo de bildoj|}}}|priskribo de bildo={{{priskribo de bildoj|{{{bildo-priskribo|}}}}}}}}


Funktione für Module redakti

  • _pageId(id) kann schon in anderen Modulen verwendet werden. Ein Beispiel ist in der Funktin informkesto im Modul {{Biografio}} zu finden, und zwar so:
     local wikidata = require ("Modulo:Wikidata")
     local wdl = wikidata._pageId()

Auch die anderen Funktionen sind nutzbar, aber ein bißchen anders, und zwar nach dem folgenden Schema:

     local bildaro = wikidata.claim({args = { "P18", list=";;;", id = id} })

Verwendung redakti

Allgemeine Bibliothek.

Abhängigkeit redakti

Herkunft redakti