Wikipedia:Lua/Modul/WikidataScheme/Scenario
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
Diese Seite beschreibt Anwendungsbeispiele für WikidataScheme.
Angenommen, es soll ein neues Datenobjekt manuell aus dem Nichts erstellt werden.
- Natürlich gibt es auf Wikidata die Spezialseite d:Special:NewItem.
- Trotzdem ist das Ausfüllen ein mühsamer Prozess:
- Welche Statements sollen gemacht werden? In welcher Reihenfolge?
- Wie genau heißen die Properties, welche P-Nummern haben sie?
- Oft sind Items anzugeben; wie war doch gleich die Q-Nummer? Wie genau hieß das Ding?
- Welche Qualifizierer sollen mitgegeben werden?
- Jedes Statement, jeder Einzelwert muss einzeln publiziert werden.
Für bestimmte typische Objekte sollen mittels WikidataScheme immer oder häufig benötigte Eigenschaften (Property) und deren Werte (andere typische Items) sowie Qualifikatoren übersichtlich angeboten werden.
- In der einfachen Stufe werden sie nur mit Namen sowie P- und Q-Nummern aufgelistet.
- Wünschenswert wäre ein Gadget, das im Kontext jedes beliebigen Wikis aktiviert weden kann und ein aus dem WikidataScheme individuell generiertes Formular anzeigt, das die interaktive Arbeit effizient unterstützt und anschließend eine Abspeicherung auf einen Schlag ermöglicht.
Die Methodik ließe sich auch zur Vervollständigung bestehender aber unvollständiger Items verwenden, um bestimmte Eigenschaften zu ergänzen.
Beispiel: Opernsänger
[Quelltext bearbeiten]Es mögen Items zu Musikern manuell generiert werden.
- Manche Bearbeiter möchten Items zu Opernsängern.
- Andere wünschen Items zu Mitgliedern von Rockbands und dergleichen.
- Wieder andere beschäftigen sich mit Komponisten bestimmter Zeitalter.
Allen gemeinsam ist die Generierung als Mensch. Dazu gehören Geschlecht, Zeit und Ort von Geburt und ggf. Tod, Fragen der Nationalität.
- Je nachdem wäre in jeder Musikrichtung zu spezialisieren: Stimmlage bei Opernsängern, Instrument und Bandzugehörigkeiten bei Rock & Pop, Zeitalter und Genre bei klassischen Komponisten.
Für Opernsänger könnte ein WikidataScheme mit einigen Minimalangaben in der Benutzersprache (siehe auch Französisch oder Hebräisch) wie nachstehend aussehen.
Opernsänger – Ein neues Datenobjekt erstellen
[Quelltext bearbeiten]Typ | Beschreibung | Status | |
---|---|---|---|
P31 ist ein(e) |
Q5 Mensch |
erforderlich | |
P21 Geschlecht |
erforderlich | ||
P734 Familienname |
erforderlich | ||
P735 Vorname |
vorgeschlagen | ||
P1787 Künstlername |
optional | ||
P1477 Geburtsname |
optional | ||
P569 Geburtsdatum |
vorgeschlagen | ||
P19 Geburtsort |
vorgeschlagen | ||
P570 Sterbedatum |
vorgeschlagen | ||
P20 Sterbeort |
vorgeschlagen | ||
P106 Tätigkeit |
erforderlich | ||
P412 Stimmlage |
erforderlich | ||
P136 Genre |
vorgeschlagen | ||
P1303 Instrument |
erforderlich |
Opernsänger – JSON
[Quelltext bearbeiten]Spezifiziert wurde dies durch den folgenden JSON-Code:
{ "@generated": "2024-11-20T06:12:38+01:00",
"@format": "WikidataScheme 2019-12-16",
"caption": "Q2865819",
"claims": [
{ "subject": "instance",
"state": "required",
"values": [
{
"q": "human"
}
]
},
{ "subject": "gender",
"state": "required",
"values": [
{
"qlist": [ "female",
"male",
true ]
}
]
},
{ "subject": "nameFamily",
"state": "required"
},
{ "subject": "nameGiven",
"state": "suggested"
},
{ "subject": "nameArtist",
"state": "optional"
},
{ "subject": "nameBirth",
"state": "optional"
},
{ "subject": "birthDate",
"state": "suggested"
},
{ "subject": "birthPlace",
"state": "suggested"
},
{ "subject": "deathDate",
"state": "suggested"
},
{ "subject": "deathPlace",
"state": "suggested"
},
{ "subject": "occupation",
"state": "required",
"values": [
{
"qlist": [ "singerOpera",
"actorStage",
"actorMovie",
"singer",
true ]
}
]
},
{ "subject": "voicetype",
"state": "required",
"values": [
{
"qlist": [ "soprano",
"mezzosoprano",
"contralto",
"countertenor",
"tenor",
"baritone",
"bass",
"falsetto",
true ]
}
]
},
{ "subject": "genre",
"state": "suggested",
"values": [
{
"qlist": [ "opera",
"operetta",
"musical",
true ]
}
]
},
{ "subject": "instrument",
"state": "required",
"values": [
{
"qlist": [ "instrumentVoice",
"instrumentPiano",
true ]
}
]
}
],
"resolve": { "actorMovie": { "Q": 10800557 },
"actorStage": { "Q": 2259451 },
"baritone": { "Q": 31687 },
"bass": { "Q": 27911 },
"birthDate": { "P": 569 },
"birthPlace": { "P": 19 },
"contralto": { "Q": 37137 },
"countertenor": { "Q": 223166 },
"deathDate": { "P": 570 },
"deathPlace": { "P": 20 },
"falsetto": { "Q": 193935 },
"female": { "Q": 6581072 },
"gender": { "P": 21 },
"genre": { "P": 136 },
"human": { "Q": 5 },
"instance": { "P": 31 },
"instrument": { "P": 1303 },
"instrumentPiano": { "Q": 5994 },
"instrumentVoice": { "Q": 17172850 },
"male": { "Q": 6581097 },
"mezzosoprano": { "Q": 186506 },
"musical": { "Q": 2743 },
"nameArtist": { "P": 1787 },
"nameBirth": { "P": 1477 },
"nameFamily": { "P": 734 },
"nameGiven": { "P": 735 },
"occupation": { "P": 106 },
"opera": { "Q": 1344 },
"operetta": { "Q": 170384 },
"singer": { "Q": 177220 },
"singerOpera": { "Q": 2865819 },
"soprano": { "Q": 30903 },
"tenor": { "Q": 27914 },
"voicetype": { "P": 412 }
}
}
Beispiel: GlobalSharing/Registration
[Quelltext bearbeiten]Ein „Etwas“, insbesondere eine Software-Einheit oder Projektseite, kann mittels GlobalSharing allen Projekten bekanntgemacht werden. Dafür ist ein Item erforderlich, das die Software usw. näher beschreibt. Danach können alle registrierten Objekte ausgewertet und nach Eigenschaften durchsucht werden.
- Dieses Beispiel zeigt die Erweiterung der Datenstruktur um
qualifiers
. - Multilinguale Text-Elemente werden benutzt.
- Der generierende JSON-Code ist hier offengelegt.