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 [2018/08/30 08:05] – [Metadata Vocabulary for Tabular Data (CSV on the Web, CSVW)] 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 72: | Řádek 70: | ||
Jednotlivé položky v JSON deskriptoru mají následující význam: | Jednotlivé položky v JSON deskriptoru mají následující význam: | ||
- | * Položka '' | + | * Položka '' |
* Položka '' | * Položka '' | ||
* Položka '' | * Položka '' | ||
* Položka '' | * Položka '' | ||
* Položka '' | * Položka '' | ||
- | * Položka '' | + | * Položka '' |
* Položka '' | * Položka '' | ||
* Položka '' | * Položka '' | ||
Řádek 120: | Řádek 118: | ||
=== Validace CSVW === | === Validace CSVW === | ||
+ | CSV popsané pomocí CSVW lze nejjednodušeji validovat nástrojem [[https:// | ||
+ | Ten má jednak sdílené webové rozhraní, a také lze spustit z příkazové řádky nebo použít jako webovou službu. | ||
+ | |||
CSV popsané pomocí CSVW lze validovat například pomocí nástroje [[https:// | CSV popsané pomocí CSVW lze validovat například pomocí nástroje [[https:// | ||
Tedy '' | Tedy '' | ||
- | CSV popsané pomocí CSVW lze validovat například pomocí knihovny [[https:// | + | CSV popsané pomocí CSVW lze validovat například pomocí knihovny [[https:// |
- | ==== Table Schema ==== | + | <WRAP center round important 60%> |
- | Použití Table Schema si opět ilustrujeme na zjednodušeném příkladu pro následující dvousloupcové CSV: | + | Webové rozhraní [[https:// |
- | <code csv> | + | </WRAP> |
- | " | + | |
- | " | + | |
- | " | + | |
- | </code> | + | |
- | + | ||
- | Jednoduchý Table Schema deskriptor (JSON soubor) pro tento CSV soubor může vypadat například takto: | + | |
- | + | ||
- | <code json> | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | ], | + | |
- | " | + | |
- | } | + | |
- | </code> | + | |
- | Jednotlivé položky mají stejný význam jako u schématu dle CSVW. Rozídly jsou následující: | ||
- | * Pole se sloupci se místo '' | ||
- | * Místo '' | ||
- | * Místo '' | ||
- | * Chybí povinný '' | ||
- | === Validace === | ||
- | Pro validaci lze použít online nástroj [[http:// | ||
- | Také lze použít knihovnu [[https:// | ||
- | Jelikož ze schématu nevede link na samotná data, je třeba obojí poskytnout jako parametr, např. '' | ||
===== Definice vlastního schématu pro data v XML ===== | ===== Definice vlastního schématu pro data v XML ===== |