Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
| standardy:technicke-standardy-pro-vytvareni-datovych-schemat-na-stupni-3 [2017/10/09 13:06] – Jakub Klímek | standardy:technicke-standardy-pro-vytvareni-datovych-schemat-na-stupni-3 [2021/11/23 06:43] (aktuální) – [Technické standardy vytváření datových schémat pro datové sady na stupni otevřenosti 3] Jakub Klímek | ||
|---|---|---|---|
| Řádek 5: | Řádek 5: | ||
| Jazyk závisí na datovém formátu, který byl zvolen pro vyjádření distribuce. | Jazyk závisí na datovém formátu, který byl zvolen pro vyjádření distribuce. | ||
| - | * V případě formátu CSV je nutno schéma vyjádřit | + | * V případě formátu CSV je nutno schéma vyjádřit | 
| - | * V případě formátu XML je nutno schéma vyjádřit v jazyku XML Schema (http:// | + | * V případě formátu XML je nutno schéma vyjádřit v jazyku XML Schema (https:// | 
| - | * V případě formátu JSON je nutno schéma vyjádřit v jazyku JSON Schema (http:// | + | * V případě formátu JSON je nutno schéma vyjádřit v jazyku JSON Schema (https:// | 
| Při návrhu datových schémat dodržujte následující pravidla: | Při návrhu datových schémat dodržujte následující pravidla: | ||
| - | * Pro primitivní datové typy ([[datovy-typ: | + | * Pro primitivní datové typy používejte datové typy jazyka XML Schema (i v případě CSV a JSON souborů). | 
| * Schéma každé distribuce musí být volně dostupné ke stažení v síti WWW. | * Schéma každé distribuce musí být volně dostupné ke stažení v síti WWW. | ||
| * Distribuce se stejnou strukturou mají společné schéma. | * Distribuce se stejnou strukturou mají společné schéma. | ||
| - | * Pokud je schéma částečně pokryto, tj. některé položky odpovídají významem, některým z již [[vzor: | ||
| ===== Definice vlastního schématu pro data v CSV ===== | ===== Definice vlastního schématu pro data v CSV ===== | ||
| Při práci s formátem CSV se nejprve seznamte s [[špatná-praxe: | Při práci s formátem CSV se nejprve seznamte s [[špatná-praxe: | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | Pro řadu datových sad formát CSV není vhodný a je lepší je publikovat v některém ze strukturovanějších formátů, viz [[https:// | ||
| + | </ | ||
| Prvním krokem k tvorbě schematu pro CSV data je určení toho, jak se budou jmenovat jednotlivé sloupce CSV souboru, jaké budou mít datové typy a jaký budou mít význam. | Prvním krokem k tvorbě schematu pro CSV data je určení toho, jak se budou jmenovat jednotlivé sloupce CSV souboru, jaké budou mít datové typy a jaký budou mít význam. | ||
| Pro dosažení maximální míry interoperability postupujte v následujících krocích: | Pro dosažení maximální míry interoperability postupujte v následujících krocích: | ||
| - | - Podívejte se na [[vzor: | + | - Stanovte si jmenné konvence | 
| - | - Pokud se některá datová sada shoduje s daty, které chcete publikovat, použijte její předpřipravené schéma. Existující schéma nemusíte daty pokrývat celé, všechny položky jsou volitelné. | + | |
| - | - Pokud se žádná existující datová sada neshoduje s daty, které chcete publikovat, vytvořte nové schéma. | + | |
| - | - Pokud některá datová sada pokrývá data která chcete publikovat pouze částečně, | + | |
| - | - Dosud nepokryté sloupce, tj. ty, jejichž význam neodpovídá žádnému sloupci v žádné existující datové sadě ze vzorových publikačních plánů, pojmenujte dle stejných jmenných konvencí. Tj. | + | |
| - název v češtině | - název v češtině | ||
| - všechna písmena malá (lower case) | - všechna písmena malá (lower case) | ||
| - | - žádná diakritika | ||
| - víceslovné názvy spojené podtržítkem '' | - víceslovné názvy spojené podtržítkem '' | ||
| - | - hierarchickou vazbu reprezentujte také podtržítkem '' | + | - hierarchickou vazbu reprezentujte také podtržítkem '' | 
| - | - Pro nově definované | + | - Pro sloupce použijte vhodný datový typ jazyka XML Schema. | 
| + | - Význam sloupců popište slovně. | ||
| - | Jako jazyk pro definici schématu pro data v CSV můžete | + | Jako jazyk pro definici schématu pro data v CSV použijte standard [[https:// | 
| - | Oba tyto jazyky | + | Standard | 
| - | Doporučujeme však použít standard W3C. | + | |
| ==== Metadata Vocabulary for Tabular Data (CSV on the Web, CSVW) ==== | ==== Metadata Vocabulary for Tabular Data (CSV on the Web, CSVW) ==== | ||
| Řádek 77: | Řádek 75: | ||
| * Položka '' | * Položka '' | ||
| * Položka '' | * Položka '' | ||
| - | * Položka '' | + | * Položka '' | 
| * Položka '' | * Položka '' | ||
| * Položka '' | * Položka '' | ||
| Řádek 83: | Řádek 81: | ||
| * Pro datové typy v položce '' | * Pro datové typy v položce '' | ||
| - | Vystavený JSON deskriptor dle CSVW by pak měl být poskytován s HTTP hlavičkou '' | + | Vystavený JSON deskriptor dle CSVW by pak měl být poskytován s HTTP hlavičkou '' | 
| Toto je jen minimalistický příklad toho, co lze popsat pomocí CSVW. Pro využití všech možností je třeba postupovat dle [[https:// | Toto je jen minimalistický příklad toho, co lze popsat pomocí CSVW. Pro využití všech možností je třeba postupovat dle [[https:// | ||
| Řádek 120: | Řádek 118: | ||
| === Validace CSVW === | === Validace CSVW === | ||
| - | CSV popsané pomocí CSVW lze validovat | + | CSV popsané pomocí CSVW lze nejjednodušeji | 
| + | Ten má jednak sdílené webové rozhraní, a také lze spustit | ||
| - | ==== Table Schema ==== | + | CSV popsané pomocí CSVW lze validovat například pomocí nástroje [[https:// | 
| - | Použití Table Schema si opět ilustrujeme | + | Tedy '' | 
| - | <code csv> | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | </ | + | |
| - | Jednoduchý Table Schema deskriptor (JSON soubor) pro tento CSV soubor může vypadat | + | CSV popsané pomocí CSVW lze validovat | 
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Webové rozhraní [[https:// | ||
| + | </ | ||
| - | <code json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ], | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | * Položky mají stejný význam jako u schématu dle CSVW, jen pole se sloupci se místo '' | ||
| ===== Definice vlastního schématu pro data v XML ===== | ===== Definice vlastního schématu pro data v XML ===== | ||
| + | Pro popis XML schématu se používá jazyk XML Schema. | ||
| + | Prvním krokem k tvorbě schematu pro XML data je určení toho, jak se budou jmenovat a jak budou zanořeny jednotlivé elementy v XML souboru, jaké budou mít datové typy a jaký budou mít význam. | ||
| + | Pro dosažení maximální míry interoperability postupujte v následujících krocích: | ||
| + | - Podívejte se na [[vzor: | ||
| + | - Pokud se některá datová sada shoduje s daty, které chcete publikovat, použijte její předpřipravené schéma. Existující schéma nemusíte daty pokrývat celé, všechny položky jsou volitelné. | ||
| + | - Pokud se žádná existující datová sada neshoduje s daty, které chcete publikovat, vytvořte nové schéma. | ||
| + | - Pokud některá datová sada pokrývá data která chcete publikovat pouze částečně, | ||
| + | - Dosud nepokryté elementy, tj. ty, jejichž význam neodpovídá žádnému datovému typu v žádné existující datové sadě ze vzorových publikačních plánů, pojmenujte dle stejných jmenných konvencí. Tj. | ||
| + | - vytvořte si vlastní XML namespace | ||
| + | - názvy elementů či atributů v češtině | ||
| + | - všechna písmena malá (lower case) | ||
| + | - žádná diakritika | ||
| + | - víceslovné názvy spojené podtržítkem '' | ||
| + | - hierarchickou vazbu reprezentujte vnořeným XML elementem | ||
| + | - Pro nově definované elementy použijte vhodný datový typ jazyka XML Schema. | ||