Vorlagenprogrammierung Diskussionen Lua Unterseiten
Modul Deutsch English

Modul: Dokumentation

WikidataScheme – Modul zur Unterstützung beim Erstellen neuer Datenobjekte (Items, „Q“) auf Wikidata, und ggf. bestehende Objekte vervollständigen.

Für bestimmte Objekte der (realen) Welt sollen hier immer oder häufig benötigte Eigenschaften (Property) und deren Werte (andere typische Items) sowie Qualifikatoren übersichtlich angeboten werden.

  • Die Darstellung ist nicht an einzelne menschliche Sprachen gebunden; sie soll global die Mehrsprachigkeit der Bezeichnungen und Beschreibungen auf Wikidata ausnutzen und durch vielsprachige spezielle Textbausteine ergänzen.
  • Die empfohlene Struktur eines neuen Datenobjekts sollte auch mittels eines Gadgets in einem individuell generierten Formular möglich sein, das zunächst vollständig ausgefüllt werden kann und anschließend eine Abspeicherung auf einen Schlag ermöglicht. Zurzeit müssen mit der Standardmethode viele Einzelbereiche zunächst erzeugt und danach publiziert werden. Welche Bereiche benötigt werden und welche Identifizierer dafür hilfreich sind ist relativ umständlich aus dem globalen Angebot auszuwählen.
  • Eine globale Community an Interessenten kann sich sprachunabhängig darauf verständigen, welche Eigenschaften mit bevorzugt welchen anderen Items bestimmte thematische Objekte haben sollen.

Siehe das Szenario zu einem allgemeinen Überblick.

Funktionen für Vorlagen

Bearbeiten

Alle Arbeitsfunktionen erwarten als ersten und einzigen Pflichtparameter eine Spezifikation.

form
Generiere HTML-Code mit einer Beschreibung der einzugebenden Entities (in Benutzersprache)
Pflichtparameter:
  • 1 – JSON-Daten mit einer Spezifikation, oder Name einer Lua-Seite als mw.loadData
Rückgabewert: HTML-Code
format
Exportiere die Spezifikation als wohlformatiertes JSON
Pflichtparameter:
  • 1 – JSON-Daten mit einer Spezifikation, oder Name einer Lua-Seite als mw.loadData
Rückgabewert: JSON-Code
JSON
Exportiere die Spezifikation als wohlformatiertes JSON mit aufgelösten symbolischen Namen
Pflichtparameter:
  • 1 – JSON-Daten mit einer Spezifikation, oder Name einer Lua-Seite als mw.loadData
Rückgabewert: JSON-Code
failsafe
Versionsbezeichnung (lokal): 2022-05-16
Optionaler Zusatzparameter:
  • 1 – Mindestversionsbezeichnung oder wikidata oder ~
{{#invoke:TemplUtl|failsafe}} ergibt 2022-05-16
Mit Angabe eines Parameters als Datum im ISO-Format wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.
  • {{#invoke:TemplUtl|failsafe|2001-01-01}} ergibt: »2022-05-16«
  • {{#invoke:TemplUtl|failsafe|2099-01-01}} ergibt: »« – leer, falls Mindestversionsbezeichnung nicht erfüllt
Ist dieser Zusatzparameter das Schlüsselwort wikidata, so ist der Wert die auf Wikidata registrierte Versionsbezeichnung (2022-05-16) oder lokal, falls dort keine gefunden.
  • Ist der Zusatzparameter das Zeichen ~, so ist das Ergebnis leer, falls Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung besteht ().
Rückgabewert:
  • Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
  • Versionsbezeichnung (auf Wikidata registriert:2022-05-16) bei wikidata, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert

Beispiele (Testseiten)

Bearbeiten

Funktionen für Lua-Module

Bearbeiten

Einbindung über require():

local lucky, WikidataScheme = pcall( require, "Module:WikidataScheme" )
if type( WikidataScheme ) == "table" then
    WikidataScheme = WikidataScheme.WikidataScheme()
else
    -- Fehlerfall; WikidataScheme enthält Fehlermeldung
    return "<span class='error'>" .. WikidataScheme .. "</span>"
end

Danach stehen zur Verfügung:

WikidataScheme.fetch( about )
Spezifikation analysieren
  • about
    • Spezifikation; wahlweise:
      • string, mit JSON-Code
      • string, mit Name einer mw.loadData-Seite
      • table
Rückgabewert: string, mit Fehlermeldung, oder table mit validierter Spezifikation
WikidataScheme.flat( about, adjust, frame )
JSON-Code generieren und formatieren
  • about
    • Spezifikation; wahlweise:
      • string, mit JSON-Code
      • string, mit Name einer mw.loadData-Seite
      • table
  • adjust
    • optional boolean
    • true – symbolische Entity-Namen sollen aufgelöst werden
    • false (Vorgabe) – symbolische Entity-Namen sollen ausgegeben werden
  • frame
    • optional
    • frame-Objekt, falls zur Hand
Rückgabewert: string, mit Fehlermeldung oder JSON-Code
WikidataScheme.form( about, frame )
Musterformular darstellen
  • about
    • Spezifikation; wahlweise:
      • string, mit JSON-Code
      • string, mit Name einer mw.loadData-Seite
      • table
  • frame
    • optional
    • frame-Objekt, falls zur Hand
Rückgabewert: string, mit HTML-Code
WikidataScheme.failsafe( atleast )
  • atleast
    • optional
    • nil oder Mindestversion oder "wikidata" oder ~ für Synchronisation
Rückgabewert: Boolesch oder Zeichenkette

Installation auf anderen Projekten

Bearbeiten

Siehe englischsprachige Dokumentation.

Verwendung

Bearbeiten
  • Weltweite Koordination der Anlage neuer Items auf Wikidata, und der Vervollständigung bestehender Objekte.
  • Seiten, die WikidataSchemeals Tabelle oder JSON darstellen.
  • Gadget, welches JSON der WikidataScheme nutz
  • GlobalSharing (Hilfsfunktionen)

Abhängigkeiten

Bearbeiten
  • Multilingual (empfohlen zur vollen Sprachanpassung; sonst auch ohne)
    • ISO15924 (empfohlen zur vollen Anpassung gemischter Schriften; sonst auch ohne)

Internationalisierung

Bearbeiten