Help:Tabular data/cs

PD Poznámka: Úpravou této stránky souhlasíte s uvolněním vašeho příspěvku pod licencí CC0. Více informací získáte na stránce nápovědy veřejné domény. PD

Tabulková data umožňují uživatelům vytvářet tabulky dat podobné CSV a používat je z jiných wikin k automatickému vytváření tabulek, seznamů a grafů.

Chcete-li vytvořit novou tabulku, přejděte na Wikimedia Commons a vytvořte novou stránku v oboru názvů Data s příponou .tab, například Data:Sandbox/Name/Example.tab. Nebojte se experimentovat a vytvářejte stránky s předponou Sandbox/<username>/. Prozatím lze obsah stránky upravovat pouze v nezpracovaném formátu JSON a pomocí základního editoru tabulek, ale gadget umožňuje import/export z/do souborů CSV a Excel. Doufáme, že nakonec (napsáno 21. listopadu 2016) bude existovat editor podobný tabulkovému procesoru, který zjednoduší úpravu dat.

Základní datový formát do značné míry odpovídá standardu Frictionless Data pro tabulkový datový zdroj.

Licencování dat

Všechna data v jmenném prostoru Data: musí výslovně uvádět licenci k datům. Doporučená licence je Public Domain, licencovaná pod licencí Creative Commons Zero (CC0). Aby to bylo možné označit, každá datová stránka musí mít hodnotu "license": "CC0-1.0", což znamená, že data lze použít pod licencí CC0 verze 1.0 nebo (dle vašeho výběru) jakékoli novější verze. Úpravou dat souhlasíte s Podmínkami použití a neodvolatelně souhlasíte s uvolněním vašeho příspěvku do veřejné domény pod licencí CC0.

Pokud není možné data uvolnit pod licencí CC0, jsou podporovány také následující licence:

Všechny šablony, které stahují data z datových sad bez licence CC0, musí splňovat příslušné podmínky atribuce, proto se důrazně doporučuje upřednostňovat CC0, kdykoli je to možné.

V budoucnu může být seznam licencí podporovaných jmenným prostorem Data rozšířen.

Datové typy

Tabulární data JSON podporují několik základních typů hodnot. Můžete také použít null místo hodnoty, abyste ji označili jako chybějící.

  • number – číselná hodnota s volitelnou desetinnou částí, která může používat exponenciální E notace, ale nemůže obsahovat nečísla jako NaN.
  • boolean – povoluje pouze hodnoty true a false.
  • string – textový řetězec o délce maximálně 400 znaků. Speciální znaky jako znaky nového řádku \n a tabulátory \t nejsou povoleny.
  • localized – vícejazyčný řetězec reprezentovaný jako objekt, kde klíče představují jazykové kódy (např. "en") a hodnoty představují řetězec s výše uvedeným omezením maximální délky 400 znaků. Například {"en":"string in English", "fr":"chaîne de texte en français", ...} má řetězcové hodnoty pro angličtinu i francouzštinu.

Pole nejvyšší úrovně

Tabulková data mají několik povinných a volitelných prvků nejvyšší úrovně:

  • licensepovinné pole musí být vždy nastaveno na hodnotu řetězce "CC0-1.0". Tabulková data prozatím podporují pouze licenci CC0 (věnování veřejné doméně) verze 1.0 nebo novější. V budoucnu by mohla být k dispozici další podpora licencí.
  • schema: {"fields": [{...}, {...}, ...]}povinné pole musí být nastaveno na objekt, který obsahuje seznam. Každé pole popisuje sloupec tabulkových dat. Každé pole musí být objekt s povinnými hodnotami "name" a "type".
    • namepovinné pole je název sloupce. Hodnota musí začínat písmenem nebo podtržítkem "_" a smí obsahovat pouze písmena, podtržítka nebo číslice. To se provádí proto, aby každou hlavičku bylo možné snadno použít z kódovacího prostředí, jako jsou grafy Lua nebo Vega.
    • typepovinné pole musí být nastaveno na jednu z těchto hodnot: "number", "boolean", "string" nebo "localized".
    • titlevolitelné pole je volitelný překlad záhlaví sloupce. Pokud je nastaveno, musí se jednat o lokalizovaný řetězcový objekt.
  • datapovinné pole musí být vždy nastaveno na seznam seznamů. Každý podseznam musí mít stejný počet prvků jako záhlaví a musí odpovídat typům hodnot.
  • descriptionvolitelné pole musí být nastaveno na lokalizovanou řetězcovou hodnotu – objekt s alespoň jedním párem klíč-hodnota, kde klíč je kód jazyka (např. "en") a hodnota je popisný řetězec.
  • sourcesvolitelné pole, musí být hodnota řetězce wiki markupu, která popisuje zdroj dat.
  • mediawikiCategoriesvolitelné pole musí být nastaveno na seznam obsahující objekty. Každý objekt může mít dvě hodnoty:
    • namepovinné pole, název kategorie, do které má být přidána samotná tabulková datová stránka.
    • sortvolitelné pole, jaký klíč řazení použít pro stránku v kategorii.

Použití

Existují dva způsoby, jak tato data použít na wiki:

  • Lua skript na jakékoli wiki může tato data získat voláním mw.ext.data.get("Example.tab"). Funkce vrací tabulková data téměř ve stejném formátu jako původní JSON, s tím rozdílem, že všechny lokalizované řetězce budou převedeny na běžné řetězce a pole licence bude také obsahovat lokalizovaný název licence. Chcete-li získat data v jiném jazyce, předejte kód jazyka jako druhý parametr. Chcete-li získat data v původní, neupravené podobě, použijte jako kód jazyka "_".
  • Vykreslení Chart jsou podpořena tabulkovými daty, a to buď pomocí stránky uvedené v poli "source": "Example.tab" stránky formátu Data:Example.chart, nebo přepsáním při volání, jako u {{#chart:Example.chart|source=Example.tab}}. (Toto nahrazuje starší grafický systém Vega, který mohl získávat tabulková data pomocí adresy URL zdroje dat "tabular:///Example.tab".)

Na Commons se po převedení stránky z jmenného prostoru Data, tj. {{Data:Example.tab}}, zobrazí jako HTML tabulka. Pro přímý přístup k datům na wiki stránce můžete importovat (pokud je ještě nemáte) modul modul tabulkových dat (vyžaduje modul modul navigačního panelu) a volitelně šablonu tabulkový dotaz (vyžaduje výše zmíněný modul tabular data). S těmito nástroji můžete snadno získat hodnotu jedné buňky.

Příklad

{
    "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"
            }
        ],
        
    ],
    "mediawikiCategories": [
        {
            "name": "Example category",
            "sort": "Its sortkey"
        },
        {
            "name": "Example category 2",
            "sort": "Second sortkey"
        }
    ]
}

Příklad vykreslování dat JSON na Commons naleznete na stránce c:Data:COVID-19 cases in Santa Clara County, California.tab.

Omezení a triky

  • Každá řetězcová hodnota kromě hodnoty "sources" nesmí být delší než 400 symbolů. Speciální znaky jako znaky nového řádku \n a tabulátory \t nejsou povoleny.
  • Celková velikost stránky nesmí překročit 2 MB.
  • Hodnoty null jsou předávány validátorem, ale pravděpodobně způsobí problémy se zpracováním moduly Lua, protože JSON null se mapuje na Lua nil a tyto položky nakonec v tabulkách řádků dat chybí, což způsobuje předčasné přerušení běžných iteračních vzorů.

Poznámky administrátora

  • Správci webu si mohou upravit chybové zprávy, například jsonconfig-err-license, aby se ujistili, že editoři vědí o omezení pouze na CC0.

Převod dat do JSON

Existuje několik nástrojů pro převod jiných formátů do JSON

Úvahy o Extension:Chart a Excelu/LibreOffice Calc

Mnoho excelových listů má mnohem více sloupců, než je smysluplné zobrazit v diagramu. As of February 2025, Extension:Chart doesn't support graphing only select columns. Vždycky je všechny zobrazí v grafu.

Takže pro pohodlné zobrazení několika sloupců v grafu odstraňte všechny ostatní sloupce a poté exportujte lokálně do CSV.

Vygenerovaný soubor CSV lze převést do tabulkového JSON pomocí c:MediaWiki talk:Gadget-TabularImportExport.js.

CSV a TSV

  • convertcsv.com – (vyberte "CSV do pole JSON") Vygenerujte výstup jako pole JSON, v části 'možnosti výstupu' vyberte možnost „pokud se převede na pole JSON, vytvořte pole pro názvy sloupců s názvem. Stále budete muset ručně přidat name: a type: ke každé položce v fields (formátování viz výše uvedený příklad).

XLS

Související odkazy

Category:Help/cs Category:Extension help/cs
Category:Extension help/cs Category:Help/cs