Hjälp:Tabellarisk data

This page is a translated version of the page Help:Tabular Data and the translation is 71% complete.
PD OBS: När du redigerar denna sida samtycker du till att släppa ditt bidrag under CC0. Se hjälpsidorna för Public Domain för mer information. PD

Tabellarisk data gör så att användare kan skapa CSV-liknande datatabeller och använda dem från andra wikier för att skapa automatiska tabeller, listor och diagram.

För att skapa en ny tabell går du till Wikimedia Commons och skapar en ny sida i namnrymden Data med ett .tab-suffix, såsom Data:Sandbox/Name/Example.tab. Experimentera gärna genom att skapa sidor med prefixet Sandbox/<username>/. Sidinnehåll kan för tillfället endast redigeras i oformaterat JSON-format och med en grundläggande tabellredigerare, men en finess möjliggör import/export från/till CSV- och Excel-filer. Eventuellt (skrivet 21 november 2016), vi hoppas att det kommer finnas en kalkylblads-liknande editor för att förenkla dataredigering.

Datalicens

Alla data i namnrymden Data: måste uttryckligen ange datans licens. Den rekommenderade licensen är Public Domain, licensierad under licensen Creative Commons Zero (CC0). För att ange detta måste alla datasidor ha "license": "CC0-1.0", vilket betyder att datan kan användas under CC0 version 1.0 eller (om du vill) senare versioner. Genom att redigera datan godkänner du användarvillkoren och går med på att oåterkalleligen släppa dina bidrag till allmän egendom under CC0.

Om det inte går att publicera datan under CC0, stöds också följande licenser:

Alla mallar som hämtar data från icke-CC0-licensierade datauppsättningar behöver följa relevanta tillskrivningsvillkor, därför rekommenderas det starkt att föredra CC0 närhelst möjligt.

Någon gång i framtiden kan listan över licenser som stöds av namnrymden Data expanderas.

Datatyper

Tabellarisk JSON-data stödjer flera grundläggande värdetyper. Du kan också istället använda värdets null för att markera att det saknas.

  • number — Ett numeriskt värde med en valfri fraktionsdel och kan använda exponentiell E-notation, man kan inte inkludera icke-nummer som NaN.
  • boolean — tillåter bara värdena true och false.
  • string — ett textsträng som inte är längre än 300 tecken lång. Specialtecken som nya rader \n och rader \t är inte tillåtna.
  • localized — En flerspråkig sträng, representerad som ett objekt med nycklar som är språkkoder (t.ex. "sv") och värden som är en sträng med över begränsningen på max 400 tecken. Till exempel, {"en":"string in English", "fr":"chaîne de texte en français", ...} har strängvärden för både engelska och franska.

Toppnivåfält

Tabellarisk data har flera obligatoriska och valfria topp-nivå-element:

  • licenseobligatoriskt fält måste alltid sättas till strängvärdet "CC0-1.0". Tabellarisk data stödjer för tillfället bara licensen CC0 (Public Domain dedication) version 1.0 eller senare. Stöd för fler licenser kan komma i framtiden.
  • schema: {"fields": [{...}, {...}, ...]}obligatoriskt fält måste sättas till ett objekt som innehåller en lista. Varje fält beskriver en kolumn med tabelldata. Varje fält måste vara ett objekt med de obligatoriska värdena "name" och "type".
    • nameobligatoriskt fält, är kolumnens namn. Värdet måste börja med en bokstav eller ett understreck "_" och får endast innehålla bokstäver, understreck eller siffror. Detta gör så att varje rubrik lätt kan användas från en kodningsmiljö såsom Lua eller Vega-diagram.
    • typeobligatoriskt fält, måste ställas in till en av dessa värden: "number", "boolean", "string" eller "localized".
    • titlevalfritt fält, är en valfri översättning för kolumnens rubrik. Om angiven måste den innehålla ett lokaliserat strängobjekt.
  • dataobligatoriskt fält, måste alltid anges till en lista över listor. Each sub-list must have the same number of elements as headers, and must match the value types.
  • descriptionoptional field, must be set to a localized string value - an object with at least one key-value, where the key is a language code (e.g. "en"), and the value is a description string.
  • sourcesoptional field, must be a Wiki markup string value that describes the source of the data.

Användning

Det finns två sätt att använda denna data:

  • A Lua script on any wiki can get this data by calling mw.ext.data.get("Example.tab"). The function returns tabular data in almost the same format as the original JSON, except that all localized strings will be converted to regular strings, and the license field will also include a localized license name. To get the data in another language, pass language code as the second parameter. To get the data in the original, unmodified form, use "_" as the language code.
  • A Vega graph can get tabular data by using "tabular:///Example.tab" as the data source url.

On Commons, transcluding a page from the Data namespace, i.e. {{Data:Example.tab}}, will render it as an HTML table. To access data directly on a wiki page, you can import (if you don't already have them) the tabular data module (requires the navbar module) and optionally the tabular query template (requires the before mentioned tabular data module). With these tools you can easily get the value of a single cell.

Exempel

{
    "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"
            }
        ],
        
    ]
}

See c:Data:COVID-19 cases in Santa Clara County, California.tab for an example of how the JSON data renders on Commons.

Begränsningar och aha

  • Each string value except the "sources" must be no more than 400 symbols long. Special characters like new lines \n and tabs \t are not allowed.
  • The overall size of the page may not exceed 2MB.

Administratörsanteckningar

  • Site administrators may customize error messages, such as jsonconfig-err-license to make sure editors know about the CC0-only limitation.

Konvertera data till JSON

There are several tools available for converting other formats to JSON

CSV and TSV

  • convertcsv.com(select "CSV to JSON Array") Generate output as JSON Array, under 'output options' select option 'if to JSON Array, create array for column names with name'. You will still need to manually add name: and type: to each entry in fields (see example above for formatting)

XLS

Se även