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 | ||
| draft:číselníky [2018/06/25 11:44] – [Reprezentace v ostatních otevřených formátech] Jakub Klímek | draft:číselníky [2019/09/17 07:40] (aktuální) – odstraněno Jakub Klímek | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Jak na číselníky ====== | ||
| - | Číselníkem je seznam nějak souvisejících položek. | ||
| - | Číselníky se mohou používat například jako seznam možných hodnot pro různé vlastnosti datových entit, což lze využít pro formuláře pro zadávání dat, aplikace vizualizující data apod. | ||
| - | Ukázkou číselníku může být například [[https:// | ||
| - | * aptus (norm. ukončení nemoci) | ||
| - | * důchod starobní | ||
| - | * mateřská dovolená | ||
| - | * nástup do lázní | ||
| - | * exitus | ||
| - | |||
| - | Použití tohoto seznamu si lze představit třeba v personálním systému nějaké organizace, kde se evidují pracovní neschopnosti zaměstnanců. | ||
| - | |||
| - | Tato podoba, tedy textový seznam, není příliš vhodná pro strojově čitelnou reprezentaci. | ||
| - | |||
| - | ===== Identifikace položek ===== | ||
| - | |||
| - | Největším problémem je totiž to, že jednotlivé položky jsou identifikovatelné pouze svým názvem. | ||
| - | Záznamy, které by tyto položky využívaly, | ||
| - | Pokud by pak došlo ke změně v názvu položky, rázem by přestaly být validní všechny záznamy tuto položku využívající. | ||
| - | |||
| - | Je tedy třeba zavést identifikaci položky nezávisle na jejím názvu. | ||
| - | Pro každou položku se tedu zaznamená její kód: | ||
| - | |||
| - | ^ Kód ^ Název | ||
| - | | 0 | aptus (norm. ukončení nemoci) | | ||
| - | | 1 | důchod starobní | ||
| - | | 3 | mateřská dovolená | ||
| - | | 5 | nástup do lázní | ||
| - | | E | exitus | ||
| - | |||
| - | Nyní se ostatní systémy mohou odkazovat na kód položky, a jejich záznamy zůstanou validní i když se název položky změní. | ||
| - | Identifikace položek tímto způsobem je ale pouze lokální. | ||
| - | Aby je ostatní systémy mohly vužítvat, potřebují k tomu vědět, o který číselník kterého poskytovatele dat se jedná, protože číselníků, | ||
| - | |||
| - | Je zde tedy jasné potřeba identifikovat položky číselníků lépe, ideálně tak, aby byly identifikovány naprosto jednoznačně. | ||
| - | Pro tento účel se používají identifikátory IRI - Internationalized Resource Identifier, které jsou založeny na doménových jménech jednotlivých poskytovatelů dat a zaručují jednoznačnou identifikaci. | ||
| - | Číselník s položkami identifikovanými IRI pak může vypadat například takto: | ||
| - | |||
| - | ^ IRI ^ Kód ^ Název | ||
| - | | https:// | ||
| - | | https:// | ||
| - | | https:// | ||
| - | | https:// | ||
| - | | https:// | ||
| - | |||
| - | Nyní je každá položka globálně jednoznačně identifikována svým IRI, a to napříč systémy, které tyto položky využívají. | ||
| - | |||
| - | ===== Další vlastnosti položek ===== | ||
| - | |||
| - | Některé položky mohou mít kratší název, například pro zobrazení ve formuláři, | ||
| - | |||
| - | ^ | ||
| - | | https:// | ||
| - | |||
| - | Dále je čím dál častější reprezentovat vícejazyčné položky číselníků, | ||
| - | |||
| - | ^ IRI ^ Kód ^ Název česky | ||
| - | | https:// | ||
| - | |||
| - | ===== SKOS - standard pro číselníky ===== | ||
| - | |||
| - | Zde začíná být patrný další problém, a to jak číselníky reprezentovat tak, aby každý uživatel poznal, co je kód, co je název a v jakém je jazyce. | ||
| - | I za předpokladu tabulkové reprezentace je variant totiž příliš mnoho, a každý poskytovatel dat si zajisté vybere jinou. | ||
| - | Zpravidla se jená o ruční práci, jelikož se číselník od číselníku liší: | ||
| - | * Názvy sloupců | ||
| - | * Diakritika | ||
| - | * Mezery a bílé znaky | ||
| - | * Speciální znaky | ||
| - | * Pořadí sloupců | ||
| - | * Kódování souboru | ||
| - | * Formáty čísel | ||
| - | * Formáty datumů | ||
| - | * apod. | ||
| - | |||
| - | Je tedy opět potřeba standardizovat podobu samotných číselníků, | ||
| - | Pro publikaci číselníků na Webu se používá W3C doporučení [[https:// | ||
| - | Jako datový formát používá W3C doporučení RDF - Resource Description Framework, které má vestavěnou podpouru pro jednoznačnou identifikaci entit, jejich vlastností i přirozených jazyků, ve kterých jsou psány názvy a popisy. | ||
| - | Položka číselníku popsaná pomocí doporučení SKOS pak vypadá takto: | ||
| - | |||
| - | <code turtle> | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | |||
| - | Vlastnost '' | ||
| - | |||
| - | Reprezentace číselníků v RDF dle SKOS má ještě další výhodu. | ||
| - | Při správné implementaci při přístupu k URI položky či číselníku, | ||
| - | |||
| - | ===== Reprezentace v ostatních otevřených formátech ===== | ||
| - | |||
| - | Je-li číselník reprezentován pomocí SKOS, lze z něj vytvořit i odvozené, zjednodušené reprezentace, | ||
| - | |||
| - | Reprezentace v CSV tabulce: | ||
| - | |||
| - | <code csv> | ||
| - | kod_polozky, | ||
| - | 0,aptus (norm. ukončení nemoci), | ||
| - | 1,důchod starobní, | ||
| - | 3, | ||
| - | 5,nástup do lázní, | ||
| - | E, | ||
| - | </ | ||
| - | |||
| - | Reprezentace v JSON souboru: | ||
| - | |||
| - | <code json> | ||
| - | [ | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | ]</ | ||
| - | |||
| - | Jiná reprezentace v JSON souboru: | ||
| - | |||
| - | <code json> | ||
| - | { | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | }, | ||
| - | " | ||
| - | " | ||
| - | " | ||
| - | } | ||
| - | }</ | ||
| - | |||
| - | Reprezentace v XML: | ||
| - | |||
| - | <code xml> | ||
| - | <?xml version=" | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | < | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||