Hilfe:Tabellarische Daten
Hinweis: Wenn Du diese Seite bearbeitest, stimmst Du zu, dass Dein Beitrag unter der [CC0] veröffentlicht wird. Mehr Informationen findest du auf der Public Domain Hilfeseite. |
Tabellarische Daten ermöglichen es den Benutzern, CSV-Àhnliche Datentabellen zu erstellen und diese aus anderen Wikis zu verwenden, um automatische Tabellen, Listen und Diagramme zu erstellen.
Um eine neue Tabelle zu erstellen, gehe auf Wikimedia Commons und erstelle eine neue Seite im Daten-Namensraum mit der Endung .tab, wie Data:Sandbox/Name/Example.tab
.
Experimentiere ruhig, indem du Seiten mit dem PrÀfix Sandbox/<username>/ erstellst.
Im Moment kann der Inhalt der Seite nur im rohen JSON-Format und mit einem einfachen Tabelleneditor bearbeitet werden, ein Helferlein erlaubt jedoch den Import/Export aus/nach CSV und Excel-Dateien.
SchlieĂlich (geschrieben am 21. November 2016) hoffen wir, dass es einen Spreadsheet-Ă€hnlichen Editor geben wird, um die Datenbearbeitung zu vereinfachen.
Das zugrunde liegende Datenformat entspricht weitgehend dem Frictionless-Data-Standard fĂŒr eine tabellarische Datenressource.
Lizenzierung
Alle Daten im Data:
-Namensraum mĂŒssen ausdrĂŒcklich die Lizenz der Daten angeben.
Die empfohlene Lizenz ist Gemeinfreiheit, lizenziert unter der Lizenz Creative Commons Zero (CC0).
Um dies anzugeben, muss jede Datenseite "license":Â "CC0-1.0"
enthalten, was bedeutet, dass die Daten gemÀà CC0 Version 1.0 oder (auf Wunsch) jeder spÀteren Version genutzt werden können.
Durch die Bearbeitung der Daten stimmst du den Nutzungsbedingungen zu und erklÀrst deine unwiderrufliche Zustimmung zur Veröffentlichung deines Beitrags als gemeinfrei gemÀà CC0.
Wenn es nicht möglich ist, die Daten unter CC0 zu veröffentlichen, werden auch die folgenden Lizenzen unterstĂŒtzt:
- CC-BY:
- CC-BY-1.0: Creative Commons Attribution 1.0
- CC-BY-2.0: Creative Commons Attribution 2.0
- CC-BY-2.5: Creative Commons Attribution 2.5
- CC-BY-3.0: Creative Commons Attribution 3.0
- CC-BY-4.0: Creative Commons Attribution 4.0
- CC-BY-4.0+: Creative Commons Attribution 4.0 or later version
- CC-BY-SA
- CC-BY-SA-1.0: Creative Commons Attribution-Share Alike 1.0
- CC-BY-SA-2.0: Creative Commons Attribution-Share Alike 2.0
- CC-BY-SA-2.5: Creative Commons Attribution-Share Alike 2.5
- CC-BY-SA-3.0: Creative Commons Attribution-Share Alike 3.0
- CC-BY-SA-4.0: Creative Commons Attribution-Share Alike 4.0
- CC-BY-SA-4.0+: Creative Commons Attribution-Share Alike 4.0 or later version
- ODbL-1.0
- ODbL-1.0: ODC Open Database License v1.0
Alle Vorlagen, die Daten aus nicht-CC0-lizenzierten DatensĂ€tzen beziehen, mĂŒssen die entsprechenden Bedingungen fĂŒr die Namensnennung erfĂŒllen, daher wird dringend empfohlen, wann immer möglich CC0 zu bevorzugen.
Zu einem spĂ€teren Zeitpunkt kann die Liste der vom Data-Namensraum unterstĂŒtzten Lizenzen erweitert werden.
Datentypen
Tabellarische JSON-Daten unterstĂŒtzen mehrere grundlegende Werttypen.
Du kannst anstelle des Werts auch null
verwenden, um ihn als fehlend zu markieren.
number
â Ein numerischer Wert mit einem optionalen Bruchteil. Er kann die exponentielle E-Notation verwenden, darf aber keine Nicht-Zahlen wie NaN enthalten.boolean
â erlaubt nur die Wertetrue
undfalse
string
â Eine Text-Zeichenkette mit maximal 400 Zeichen. Sonderzeichen wie neue Zeilen\n
und Tabulatoren\t
sind nicht zulÀssig.localized
â Eine mehrsprachige Zeichenkette, dargestellt als ein Objekt mit SchlĂŒsseln, die Sprachcodes sind (z. B. "en") und Werten, die Zeichenketten mit der oben genannten BeschrĂ€nkung von maximal 400 Zeichen sind. Beispielsweise hat{"en":"string in English", "fr":"chaĂźne de texte en français", ...}
Zeichenketten-Werte sowohl fĂŒr Englisch als auch fĂŒr Französisch.
Felder der obersten Ebene
Tabellarische Daten haben mehrere erforderliche und optionale Top-Level-Elemente:
license
â erforderliches Feld, muss immer auf den Zeichenkettenwert"CC0-1.0"
gesetzt werden. Derzeit unterstĂŒtzen tabellarische Daten nur die Lizenz CC0 (Gemeinfreiheit) Version 1.0 oder neuer. In Zukunft ist möglicherweise auch die UnterstĂŒtzung weiterer Lizenzen möglich.schema: {"fields": [{...}, {...}, ...]}
â erforderliches Feld, muss auf ein Objekt gesetzt werden, das eine Liste enthĂ€lt. Jedes Feld beschreibt eine Spalte der tabellarischen Daten. Jedes Feld muss ein Objekt mit den erforderlichen Werten"name"
und"type"
sein.name
â erforderliches Feld, ist der Name der Spalte. Der Wert muss mit einem Buchstaben oder einem Unterstrich"_"
beginnen und darf nur Buchstaben, Unterstriche oder Zahlen enthalten. Dies wird getan, damit jede Ăberschrift einfach aus einer Code-Umgebung wie Lua oder Vega-Graphen genutzt werden kann.type
â erforderliches Feld, muss auf einen dieser Werte gesetzt werden:"number"
,"boolean"
,"string"
oder"localized"
.title
â optionales Feld, ist eine optionale Ăbersetzung der Ăberschrift der Spalte. Wenn angegeben, muss es ein lokalisiertes Zeichenketten-Objekt sein.
data
â erforderliches Feld, muss immer auf eine Liste von Listen gesetzt werden. Jede Unter-Liste muss die gleiche Anzahl von Elementen enthalten wie die Ăberschriften und muss mit den Wert-Typen ĂŒbereinstimmen.description
â optionales Feld, muss auf einen lokalisierten Zeichenketten-Wert gesetzt werden - ein Objekt mit mindestens einem SchlĂŒssel-Wert, wobei der SchlĂŒssel ein Sprachcode ist (z. B. "en") und der Wert eine beschreibende Zeichenkette.sources
â optionales Feld, muss ein Zeichenketten-Wert in Wiki-Syntax sein, der die Quelle der Daten beschreibt.
Verwendung
Es gibt zwei Möglichkeiten, diese Daten zu nutzen:
- Diese Daten können ĂŒber das Aufrufen von
mw.ext.data.get("Example.tab")
durch ein Lua-Skript in jedem Wiki abgerufen werden. Die Funktion gibt Daten in fast demselben Format wie das ursprĂŒngliche JSON zurĂŒck, auĂer dass alle lokalisierten Zeichenketten in regulĂ€re Zeichenketten umgewandelt werden und das Lizenzfeld auch einen lokalisierten Lizenznamen enthĂ€lt. Ăbergib den Sprachcode als zweiten Parameter, um die Daten in einer anderen Sprache zu erhalten. Um die Daten in der ursprĂŒnglichen, unverĂ€nderten Form zu erhalten, gibst du "_" als Sprachcode an. - Ein Vega-Graph kann tabellarische Daten durch die Nutzung von
"tabular:///Example.tab"
als URL fĂŒr die Datenquelle erhalten.
Auf Commons wird eine eingebundene Seite aus dem Daten-Namensraum, d. h. {{Data:Example.tab}}
, als HTML-Tabelle dargestellt.
Um auf einer Wiki-Seite direkt auf Daten zuzugreifen, kannst du das Modul fĂŒr tabellarische Daten importieren (wenn du es nicht bereits hast, erfordert das Navbar-Modul) und optional die Vorlage Tabellen-Abfrage (erfordert das zuvor erwĂ€hnte Modul fĂŒr tabellarische Daten).
Mit diesen Werkzeugen kannst du einfach den Wert einer einzelnen Zelle erhalten.
Beispiel
{
"license": "CC0-1.0",
"description": {
"en": "Some good fruits for you",
"es": "Algunas buenas frutas para ti"
},
"sources": "http://example.com and [[Data]] page",
"schema": {
"fields": [
{ "name": "id", "type": "string", "title": { "en": "Fruit ID", "fr": "ID de fruit" }},
{ "name": "count", "type": "number", "title": { "en": "Count", "fr": "DĂ©compte" }},
{ "name": "liked", "type": "boolean", "title": { "en": "Do I like it?", "fr": "Lâaimes-tu ?" }},
{ "name": "description", "type": "localized", "title": { "en": "Fruit name", "fr": "Nom du fruit" }}
]
},
"data": [
[
"peaches",
100,
true,
{
"en": "Magnificent but a bit artificial sweet peaches",
"es": "esto puede estar en español",
"fr": "Magnifiques mais ce sont des pĂȘches un tantinet sucrĂ©es"
}
],
âź
]
}
Siehe c:Data:COVID-19 cases in Santa Clara County, California.tab fĂŒr ein Beispiel, wie die JSON-Daten auf Commons dargestellt werden.
BeschrÀnkungen und Probleme
- Jeder Zeichenkettenwert auĂer
"sources"
darf nicht lÀnger als 400 Zeichen sein. Sonderzeichen wie neue Zeilen\n
und Tabulatoren\t
sind nicht zulĂ€ssig. - Die GesamtgröĂe der Seite darf 2 MB nicht ĂŒberschreiten.
ZusÀtzliche Anmerkungen
- Seiten-Administratoren können Fehlernachrichten wie
jsonconfig-err-license
anpassen, um sicherzustellen, dass Autoren die EinschrÀnkung auf CC0 kennen.
Daten in JSON konvertieren
Es sind verschiedene Werkzeuge verfĂŒgbar, um andere Formate in JSON umzuwandeln.
CSV und TSV
- convertcsv.com â (wĂ€hle "CSV to JSON Array" aus) generiert als Ausgabe ein JSON-Array, wĂ€hle unter 'output options' die Option 'if to JSON Array, create array for column names with name' aus. Du musst weiterhin manuell name: und type: zu jedem Eintrag in fields hinzufĂŒgen (siehe Beispiel oben fĂŒr die Formatierung)
XLS
- xls-to-json â Wandelt in NodeJS XLS-Dateien in JSON um
Siehe auch
- Hilfe:Kartendaten â Ă€hnlich strukturierte Kartendaten im Data:-Namensraum auf Commons.
- Lua-Datenmodule
- Tabular data â einige Details zur Implementierung
- Category:Graph Template Collection â Vorlagen, um mit den DatensĂ€tzen auf Commons Graphen zu erzeugen
- DataNamespace â vorheriger Vorschlag
- TheDJ/tabularImportExport.js â Ein Skript von User:TheDJ, um aus CSV- und Excel-Dateien zu importieren und in diese zu exportieren.
- phab:T154071 â Daten, die nicht unter CC0 lizenziert sind, fĂŒr DatensĂ€tze erlauben