Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze Následující verzeObě strany příští revize |
standardy:technicke-standardy-pro-vytvareni-datovych-schemat-na-stupni-3 [2018/08/30 10:05] – [Metadata Vocabulary for Tabular Data (CSV on the Web, CSVW)] Jakub Klímek | standardy:technicke-standardy-pro-vytvareni-datovych-schemat-na-stupni-3 [2019/05/13 10:57] – [Metadata Vocabulary for Tabular Data (CSV on the Web, CSVW)] Jakub Klímek |
---|
* Položka ''columns'' obsahuje pole s popisky jednotlivých sloupců | * Položka ''columns'' obsahuje pole s popisky jednotlivých sloupců |
* Položka ''primaryKey'' obsahuje identifikaci primárního klíče v CSV tabulce. To může být buďto jeden sloupec, nebo pole sloupců. | * Položka ''primaryKey'' obsahuje identifikaci primárního klíče v CSV tabulce. To může být buďto jeden sloupec, nebo pole sloupců. |
* Položka ''name'' specifikuje *identifikátor* sloupce v CSV souboru jakožto objektu. Nejedná se o název sloupce v souboru, ten je popsán dále jako jedna z jeho vlastností. | * Položka ''name'' specifikuje *identifikátor* sloupce v CSV souboru jakožto objektu. Nejedná se o název sloupce v souboru, ten je popsán dále jako jedna z jeho vlastností. Musí to být validní část URI, případná diakritika zde tak musí být zakódovaná pomocí procentového kódování. |
* Položka ''titles'' obsahuje jeden či více (jako pole) názvů sloupců v CSV. Lze tedy použít jedno schéma pro více CSV souborů, které mají dokonce různé názvy sloupců, případně v hlavičce používají různé jazyky. | * Položka ''titles'' obsahuje jeden či více (jako pole) názvů sloupců v CSV. Lze tedy použít jedno schéma pro více CSV souborů, které mají dokonce různé názvy sloupců, případně v hlavičce používají různé jazyky. |
* Položka ''dc:description'' obsahuje textový popis významu sloupce. | * Položka ''dc:description'' obsahuje textový popis významu sloupce. |
| |
=== Validace CSVW === | === Validace CSVW === |
| CSV popsané pomocí CSVW lze nejjednodušeji validovat nástrojem [[https://csvw.opendata.cz|csvw-validator]]. |
| 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://github.com/ruby-rdf/rdf-tabular|rdf-tabular]], který stačí nasměrovat na CSV soubor, a v případě nedodržení doporučeného pojmenování JSON deskriptoru i na tento deskriptor. | CSV popsané pomocí CSVW lze validovat například pomocí nástroje [[https://github.com/ruby-rdf/rdf-tabular|rdf-tabular]], který stačí nasměrovat na CSV soubor, a v případě nedodržení doporučeného pojmenování JSON deskriptoru i na tento deskriptor. |
Tedy ''rdf validate xxx.csv'' | Tedy ''rdf validate xxx.csv'' |
| |
CSV popsané pomocí CSVW lze validovat například pomocí knihovny [[https://github.com/theodi/csvlint.rb|csvlint.rb]], kterou stačí spustit a nasměrovat na JSON deskriptor, který pak ukazuje na CSV data, případně schéma. Tedy ''csvlint -s schema.json'' pro lokální schéma v souboru v souborovém systému, nebo s plným URL deskriptoru, např. ''csvlint -s https://mvcr1.opendata.cz/czechpoint/2007.json''. | CSV popsané pomocí CSVW lze validovat například pomocí knihovny [[https://github.com/theodi/csvlint.rb|csvlint.rb]], kterou stačí spustit a nasměrovat na JSON deskriptor, který pak ukazuje na CSV data, případně schéma. Tedy ''csvlint -s schema.json'' pro lokální schéma v souboru v souborovém systému, nebo s plným URL deskriptoru, např. ''csvlint -s https://mvcr1.opendata.cz/czechpoint/2007.json''. |
| |
| <WRAP center round important 60%> |
| Webové rozhraní [[https://csvlint.io/|csvlint]] doporučení CSV on the Web neumí! |
| </WRAP> |
| |
| |
==== Table Schema ==== | ==== 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: | Použití Table Schema si opět ilustrujeme na zjednodušeném příkladu pro následující dvousloupcové CSV: |
<code csv> | <code csv> |