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 [2020/06/03 07:37] – upraveno mimo DokuWiki 127.0.0.1 | 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 '' | ||
| Řádek 126: | Řádek 124: | ||
| Tedy '' | Tedy '' | ||
| - | CSV popsané pomocí CSVW lze validovat například pomocí knihovny [[https:// | + | CSV popsané pomocí CSVW lze validovat například pomocí knihovny [[https:// |
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| Řádek 133: | Řádek 131: | ||
| - | ==== Table Schema ==== | ||
| - | Table Schema je starší jazyk pro strukturovaný popis CSV souborů. | ||
| - | Doporučujeme spíše použít CSV on the Web popsaný výše. | ||
| - | |||
| - | Použití Table Schema si opět ilustrujeme na zjednodušeném příkladu pro následující dvousloupcové CSV: | ||
| - | <code csv> | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | </ | ||
| - | |||
| - | Jednoduchý Table Schema deskriptor (JSON soubor) pro tento CSV soubor může vypadat například takto: | ||
| - | |||
| - | <code json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ], | ||
| - | " | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | 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 ===== | ||