Wikipedia:Lua/Modul/WikidataScheme/de
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
BearbeitenAlle 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 alsmw.loadData
- Rückgabewert: HTML-Code
- format
- Exportiere die Spezifikation als wohlformatiertes JSON
- Pflichtparameter:
1
– JSON-Daten mit einer Spezifikation, oder Name einer Lua-Seite alsmw.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 alsmw.loadData
- Rückgabewert: JSON-Code
- failsafe
- Versionsbezeichnung (lokal):
2022-05-16
- Optionaler Zusatzparameter:
1
– Mindestversionsbezeichnung oderwikidata
oder~
{{#invoke:TemplUtl|failsafe}}
ergibt2022-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 ().
- Ist der Zusatzparameter das Zeichen
- Rückgabewert:
- Leer, falls Mindestversionsbezeichnung nicht erfüllt, oder Übereinstimmung mit Wikidata
- Versionsbezeichnung (auf Wikidata registriert:
2022-05-16
) beiwikidata
, oder lokal falls dort keine gefunden, bzw. leer wenn synchronisiert
Beispiele (Testseiten)
Bearbeiten- Szenario
- JSON-Beispiel
- Anwendungsfall (GlobalSharing)
- CradleOpenDataSet (Cradle)
Funktionen für Lua-Module
BearbeitenEinbindung ü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
- Spezifikation; wahlweise:
- about
- 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
- Spezifikation; wahlweise:
- adjust
- optional boolean
true
– symbolische Entity-Namen sollen aufgelöst werdenfalse
(Vorgabe) – symbolische Entity-Namen sollen ausgegeben werden
- frame
- optional
frame
-Objekt, falls zur Hand
- about
- 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
- Spezifikation; wahlweise:
- frame
- optional
frame
-Objekt, falls zur Hand
- about
- Rückgabewert: string, mit HTML-Code
- WikidataScheme.failsafe( atleast )
-
- atleast
- optional
- nil oder Mindestversion oder
"wikidata"
oder~
für Synchronisation
- atleast
- Rückgabewert: Boolesch oder Zeichenkette
Installation auf anderen Projekten
BearbeitenVerwendung
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- commons:Data:I18n/Module:WikidataScheme.tab
- Weitere fremdsprachliche Texte werden aus Wikidata oder den Systemnachrichten bezogen.