Metodika práce se software CKAN

Autoři:

  • Jan Kučera
  • Martin Tajtl
  • Jindřich Mynarz
  • Dušan Chlapek

Vytvořeno za podpory grantu IGA VŠE 10/2011 Sémantické propojování dat ve veřejné správě.

Vztahuje se k: cz.ckan.net

Datum poslední úpravy: 2. 12. 2011

Obsah

  1. Úvod
  2. Stručné představené CKAN
  3. CKAN dataset
    1. Jak tvořit CKAN datasety
    2. Souhrnné CKAN datasety (CKAN metadatasety)
  4. Jazyk
    1. Výjimky z dvoujazyčného pojmenování
  5. Tagy
  6. Skupiny (Groups)
  7. Zdroje (Resources)
  8. Grafická reprezentace struktury datových množin
  9. Odkaz na hlavní stránku
  10. Licence datových zdrojů
  11. Sdílení
  12. CKAN API
    1. Nastavení vazeb mezi CKAN datasety pomocí API
    2. Využití CKAN API pro šablony CKAN datasetů
  13. Seznam licencí CKAN a jejich identifikátorů
  14. Poznámky

Úvod

V tomto dokumentu je popsána metodika pro práci se software pro správu datového katalogu, který nese označení Comprehensive Knowledge Archive Network (CKAN). Účelem metodiky je poskytnout čtenářům metodické doporučení, jak vhodným způsobem používat CKAN pro správu datového katalogu. Datový katalog je systematicky vytvářený seznam datových množin, které náležejí do zvolené věcné oblasti nebo splňují jiná kritéria stanovená katalogizátorem, tedy osobou, která se zabývá identifikací datových množin, jejich popisem a následným zatříděním do vytvářeného katalogu.

Tato metodika není uživatelskou příručkou software CKAN, objasňuje ale pojmy používané tímto software a přináší doporučení ohledně způsobu, jakým popisovat datové množiny zařazované do datového katalogu, aby popis datových množin byl dobře využitelný potenciálními uživateli datového katalogu.

Metodika popsaná v tomto dokumentu je primárně určena osobám, které vytvářejí a spravují datové katalogy, tedy katalogizátorům. Metodika nicméně může být užitečná i pro jiné osoby, které přicházejí do styku se software CKAN a v něm obsaženým datovým katalogem, protože seznámení se s touto metodikou jim může pomoci v pochopení způsobu, jakým jsou jednotlivé datové množiny popisovány.

Ačkoli se snažíme udělat metodiku pokud možno obecnou, software CKAN se poměrně dynamicky vyvíjí. S tímto vývojem souvisí i fakt, že terminologie používaná tímto software se občas v průběhu vývoje mění. Metodika je tak do jisté míry svázána s určitou verzí software CKAN. Text této metodiky je v souladu s terminologií používanou ve verzi 1.5. Pokud bude v dalším textu použito označení současná verze, je tím myšlena verze 1.5.

Stručné představení CKAN

Comprehensive Knowledge Archive Network (CKAN) je software pro vytváření a správu datového katalogu. Software CKAN je navržen tak, aby s ním mohli pracovat jak lidé, tak i další programy a aplikace. Za tímto účelem CKAN disponuje webovým rozhraním pro interakci s člověkem a aplikačním rozhraním (API).

Záznamy o datech (datových množinách) lze do CKAN vkládat, upravovat a lze v nich také vyhledávat. Datové množiny v datovém katalogu lze kategorizovat pomocí skupin a štítků (tagů). Uživatelé mohou k záznamům o datových množinách (datasetech) přidávat svoje komentáře a mohou také datasety hodnotit.

CKAN je vyvíjen jako svobodný/open source software pod licencí GNU Affero General Public Licence v3. Díky tomu je možné software snadno a bezplatně získat. Zájemci mohou software upravovat, případně se přímo zapojit do jeho vývoje. Abyste přispěli k rozvoji CKAN, není třeba umět programovat. Uživatelé CKAN z České republiky jistě ocení, pokud se rozhodnete vylepšit český překlad uživatelského rozhraní CKAN nebo pomůžete při vytváření české dokumentace či návodů pro práci s tímto software.

Bližší informace o CKAN je možné nalézt na webových stránkách věnovaných tomuto softwaru (ckan.org) nebo na wiki (wiki.ckan.org).

Open Knowledge Foundation také provozuje instanci CKAN pro Českou republiku. Ta je dostupná na adrese cz.ckan.net.

CKAN dataset

Základní jednotkou pro popis dat v software CKAN je tzv. dataset1. Tento dataset obsahuje odkaz na datové zdroje (jejich URI), prostřednictvím kterých lze získat datové množiny, a dále je v datasetu obsažen také popis těchto datových množin.

Jelikož je slovo dataset ekvivalentním označením pro datovou množinu v obecném slova smyslu, bude v rámci této metodiky používáno označení CKAN dataset, pro základní jednotku datového katalogu vytvářeného pomocí software CKAN (záznam). Pro označení souboru dat pak bude používán český pojem datová množina.

Každý CKAN dataset má několik atributů, jejichž hodnoty je možné nastavit během zakládání CKAN datasetu nebo upravit u již existujících CKAN datasetů. Tyto atributy jsou následující (anglický název atributu je uveden v závorce za českým):

  • Titulek (Title) - titulek je označením CKAN datasetu
  • Název (Name) - jednoznačný identifikátor CKAN datasetu. Je také součástí atributu URL. Název CKAN datasetu může obsahovat malá písmena anglické abecedy, podtržítko a pomlčku. Jedná se pouze o jednoznačný identifikátor CKAN datasetu. Plnohodnotný název obsahující jeho anglické i české vyjádření bez omezení na znaky abecedy uveďte do atributu Titulek.
  • URL - URL adresa CKAN datasetu v rámci software CKAN. URL se skládá z adresy instance software CKAN a názvu CKAN datasetu. Příkladem URL může být URL balíčku Seznam organických včelařů, který má tuto podobu <http://cz.ckan.net/dataset/list_of_organic_apiarists>. Textový řetězec list_of_organic_apiarists pak představuje název CKAN datasetu.
  • Domovská stránka (Home page) - odkaz na adresu webové stránky, na které je k nalezení originální popis dat (nejedná se o odkaz na data samotná). Mohou to být například webové stránky Ministerstva práce a sociálních věcí věnované statistice ceny práce v Moravskoslezském kraji u CKAN datasetu, který obsahuje tuto statistiku za zmíněný kraj.
  • Popis (Description) - popis datové množiny/datových množin obsažených v CKAN datasetu
  • Licence (License) - licence nebo právní podmínky, které určují, jak lze nakládat s datovými množinami v CKAN datasetu (nejedná se o licenci k CKAN datasetu samotnému, ale pouze o licenci vztahující se ke stažitelným souborům uvedeným jako Zdroje (Resources) v rámci CKAN datasetu).
  • Tagy (Tags) - tagy neboli štítky, věcné/předmětné kategorie, pomocí kterých označujeme CKAN dataset
  • Zdroje (Resources) - odkazy (URI) na stažitelné soubory s daty nebo na API aplikace
  • Skupiny (Groups) - skupiny, označení skupin, do kterých CKAN dataset náleží
  • Autor (Author) - autor nebo původce datových množin v CKAN datasetu (jedná se skutečně pouze o autora či původce datových množin (samotných dat) uvedených ve Zdrojích CKAN datasetu, nejedná se o osobu, která CKAN dataset vytvořila). Pokud je znám přímo autor či autoři datové množiny, uveďte zde jejich jméno. Pokud neznáte přímo jméno autora dat, ale znáte organizaci, která se rozhodna zveřejnit datovou množinu, uveďte do pole autor název této organizace (název by měl být uveden v jazyce anglickém i jazyce českém, jednotlivé jazykové verze názvu se oddělují pomlčkou).
  • Email autora (Author email) - emailová adresa autora nebo původce datové množiny
  • Správce (Maintainer) - správce či kurátor datové množiny (dat), nejedná se o osobu, která je správcem CKAN datasetu.
  • Email správce (Maintainer email) - emailová adresa správce datové množiny
  • Verze (Version) - verze datové množiny
  • Stav (State) - stav CKAN datasetu. Stavu může být Aktivní pro CKAN datasety, které mají být přístupné uživatelům CKAN nebo může stav být označen jako Smazaný pro CKAN datasety, které nemají být přístupné uživatelům CKAN. Pokud CKAN dataset obsahuje jako zdroje odkazy na existující datové množiny, stav CKAN datasetu by měl být nastaven jako Aktivní. Stav Smazaný se používá v případě, že datové množiny odkazované v CKAN datasetu již neexistují nebo již nejsou vystaveny na Webu a jako takové jsou pro běžného člověka nedostupné.
  • Vazby (Relationships) - seznam vazeb mezi CKAN datasetem a jinými CKAN datasety. V současné době nelze nastavit vazby mezi CKAN datasety v rámci webového rozhraní software CKAN.

Za povšimnutí stojí fakt, že mezi atributy CKAN datasetu není osoba, která tento dataset vytvořila. Atributy Autor a Správce se vztahují vždy k datovým množinám (datům) samotným, nikoli k CKAN datasetu. U každého CKAN datasetu je ale možné si zobrazit historii změn, ve které je i zaznamenán vznik příslušného CKAN datasetu. Kdo vytvořil CKAN dataset a kdo provedl jaké změny je tak možné zjistit z tohoto přehledu změn. Je třeba ale podotknout, že pokud změnu či založení CKAN datasetu provedl nepřihlášený uživatel, je pouze zaznamenáno, z jaké IP adresy přišel požadavek na vytvoření/změnu CKAN datasetu.

Podrobnosti k vyplňování údajů jednotlivých atributů jsou náplní následujících kapitol.

Jak tvořit CKAN datasety

CKAN datasety se vytvářejí pro datové množiny, které mají dobře strojově zpracovatelnou formu. Například se jedná o soubory tabulkového procesoru (MS Excel - xls, xlsx apod.), XML soubory, tabulková data v souborech oddělených čárkou či jiným oddělovačem (csv).

CKAN dataset je možné založit i pro službu (aplikaci), prostřednictvím které lze data získat. Jako zdroj je pak uvedeno API služby.

Do CKAN datasetu sdružujte datové množiny (datové zdroje), které spolu souvisí. Příkladem může být určitý typ výkazu za jednotlivá časová období, za které je výkaz tvořen (např. všechny soubory měsíční statistiky trhu drůbeže). Pro datové množiny musí platit všechny atributy CKAN datasetu, takže všechny datové množiny v CKAN datasetu musí být například zpřístupněny pod stejnou licencí nebo právními podmínkami, musí jim odpovídat text popisu datové množiny, musejí mít stejného autora/původce atd. Pokud spolu datové množiny věcně souvisejí, ale v některém atributu CKAN datasetu se liší, pak je třeba pro ně vytvořit samostatné CKAN datasety. V takovémto případě je ale vhodné vytvořené samostatné CKAN datasety opatřit stejnými štítky pro zásadní kategorie, aby je uživatel mohl lépe vyhledat (viz. kapitola Tagy).

Do CKAN se nevkládají samotné datové soubory, ale pouze odkazy na ně. Odkaz na stažitelný soubor nebo na API je v terminologii CKAN označován jako zdroj (anglicky Resource, blíže viz příslušná kapitola tohoto dokumentu). V rámci CKAN datasetu může být evidováno několik datových zdrojů (počet není omezen), ale lze vytvořit i CKAN dataset, který nebude mít uveden žádný datový zdroj. Vytváření CKAN datasetů, které nemají žádný datový zdroj, ale není doporučováno. Proto by každý CKAN dataset měl mít uveden alespoň jeden datový zdroj.

Pro současnou verzi CKAN existuje rozšíření, které umožňuje ukládat datové soubory přímo v CKAN. Pokud pracujete s CKAN, kde je dostupné toto rozšíření, je možné do CKAN datasetů jako zdroje uvádět nejen odkaz na datový zdroj, ale je možné do něj uložit i samotný datový soubor s obsahem datové množiny.

Česká instance CKAN (cz.ckan.net) v současné době přímé ukládání datových souborů neumožňuje.

Souhrnné CKAN datasety (CKAN metadatasety)

Pokud je vytvořeno více CKAN datasetů, které popisují související datové množiny, je vhodné vytvořit i CKAN dataset, který tyto související CKAN datasety sdružuje. Protože takovýto CKAN dataset zpravidla neobsahuje odkazy na datové zdroje, ale na jiné CKAN datasety, je označován jako CKAN metadataset. CKAN metadataset je vytvořen jako standardní CKAN dataset, v textu popisu datové množiny je pak použita formulace package:nazev_ckan_datasetu, která vytvoří hypertextový odkaz na CKAN dataset, jehož atribut name má hodnotu nazev_ckan_datasetu. Odkaz lze doprovodit textem, který dále vysvětluje povahu vztahu mezi uvažovanými CKAN datasety.

Pokud potřebujete vytvořit nadřazený CKAN dataset, který sdružuje určitou množinu jiných CKAN datasetů, například proto, že chcete svoje CKAN datasety určitým způsobem strukturovat, můžete použít formulaci package:nazev_ckan_datasetu. V rámci nadřazeného CKAN datasetu (CKAN metadatasetu) uveďte v textu popisu datové množiny odkazy na všechny přidružené CKAN datasety vytvořené pomocí formulace package:nazev_pridruzeneho_ckan_datasetu. Jednotlivé přidružené CKAN datasety pak v textu svého popisu obsahují odkaz na CKAN metadataset, opět vytvořený pomocí formulace package:nazev_nadrazeneho_ckan_datasetu. Takto jsou CKAN metadataset a CKAN datasety jemu podřazené propojené pomocí odkazů v textu popisu datové množiny.

Výše popsaný způsob vytváření vazeb mezi CKAN datasety má nevýhodu v tom, že je hůře strojově zpracovatelný. Pro strojové zpracování jsou vhodnější Doplňky (Extras). Každý doplněk má podobu dvojice atribut – hodnota, kde uživatel definuje jak atribut, tak i hodnotu. Pro doplňky platí výjimka z dvoujazyčného pojmenování a atribut i hodnota jsou tvořeny v angličtině.

Pokud definujete vazbu mezi CKAN datasety v rámci popisu CKAN datasetu, přidejte pro každou vazbu i doplněk vytvořený následujícím způsobem. Pokud pracujete s nadřazeným CKAN datasetem (metadatasetem), pak pro každý přidružený CKAN dataset přidejte doplněk, kde atribut bude pojmenován jako parent_of:nazev_pridruzeneho_ckan_datasetu. Jako hodnotu pak v angličtině přidejte krátký komentář popisující vzniklou vazbu. V níže uvedené tabulce je uveden příklad pro CKAN metadataset Regionální statistika ceny práce. Jedním z jeho podřazených CKAN datasetů je CKAN dataset pojmenovaný Regionální statistika ceny práce: Porovnání krajů.

Atribut Hodnota
parent_of:labour_cost_regional_statistics_comparison Dataset Labour cost regional statistics: Comparison of regions is part of this dataset.

Pokud pracujete s přidruženým CKAN datasetem a chcete vyjádřit vazbu na nadřazený metadataset, pak přidejte doplněk, kde je atribut pojmenován child_of:nazev_nadrazeneho_ckan_datasetu. Jako hodnotu opět přidejte krátký komentář popisující vzniklou vazbu. V tabulce níže je uveden příklad pro CKAN dataset Regionální statistika ceny práce: Porovnání krajů, který je přidružen k CKAN metadatasetu Regionální statistika ceny práce.

Atribut Hodnota
child_of:labour_cost_regional_statistics This dataset is part of dataset Labour cost regional statistics.

Je třeba připomenout, že výše popsaný způsob vytváření nadřazených a podřazených CKAN datasetů je pouze dohodnutý a software CKAN takto vytvořené vazby mezi CKAN datasety ve smyslu nadřazenosti a podřazenosti nevyhodnocuje.

Kromě výše popsaného způsobu vyjádření vazeb mezi CKAN datasety existuje i další možnost, jak provázat CKAN datasety vazbami. Jak bylo uvedeno ve stručném představení software CKAN, kromě webového rozhraní je možné pracovat s CKAN i pomocí aplikačního rozhraní (API). Pomocí tohoto rozhraní lze nastavovat i vazby mezi balíčky, kde mezi možnými vazbami je vazba mezi nadřazeným a podřazeným balíčkem. Jelikož v současné verzi CKAN není zadávání vazeb zpřístupněno z webového rozhraní, ale vazby lze nastavit pouze pomocí API, je nastavení vazeb mezi balíčky blíže popsáno v kapitole věnující se CKAN API.

K nastavování vazeb mezi CKAN datasety pomocí CKAN API je třeba ještě dodat, že tato funkce je stále ve vývoji. Není vhodné používat u CKAN datasetů zároveň vazby vyjádřené prostřednictvím Doplňků a nastavené pomocí CKAN API. Důvodem je fakt, že při přidání výše popsaných Doplňků vyjadřujících vazby mezi CKAN datasety může dojít ke smazání dříve nastavených vazeb pomocí CKAN API. Pokud nějaký CKAN dataset má nastavené vazby pomocí CKAN API, což poznáte snadno tak, že při prohlížení tohoto CKAN datasetu se v pravém sloupci pod údaji jako jsou tagy a skupiny zobrazuje sekce Související datasety (Related datasets), nepřidávejte k takovémuto CKAN datasetu vazby pomocí Doplňků, protože byste takto mohli smazat vazby dříve nastavené pomocí CKAN API.

Jazyk

Veškeré texty (titulky, popisy, tagy) jsou vytvářeny v jazyce anglickém i jazyce českém. Anglické označení by mělo předcházet označení českému.

Obsah CKAN datasetu by měl být srozumitelný jak česky mluvícím osobám, tak i lidem, kteří češtinu neovládají. Proto je popis obsahu CKAN datasetu vytvářen v češtině i angličtině. Texty v rámci CKAN datasetu by tak neměly být pouze v češtině nebo pouze v angličtině, neboť to pro určitou skupinu uživatelů vždy vytváří jazykovou barieru a snižuje to využitelnost CKAN datasetu.

Výjimky z dvoujazyčného pojmenování

Doplňky (Extras)

Pole Doplňky (Extras, další volně přidávané atributy CKAN datasetu) mají formu dvojice atribut-hodnota, kde autor CKAN datasetu definuje jak název atributu, tak určuje i jeho hodnotu. V CKAN jsou názvy standardních atributů vytvořeny v angličtině. Proto při definici polí Extras definujte atribut i hodnotu pouze v angličtině.

Formát zdroje (atribut Format u zdroje)

Jako formát se používá koncovka souboru nebo označení typu API nebo služby, která reprezentuje zdroj. Označení formátu zpravidla představuje zkratku z anglického označení. Označení formátu zdroje se nepřekládá. Blíže viz kapitola Zdroje.

MIME type (atribut zdroje MIME type)

MIME type je standardizované označení formátu datového zdroje. Nepřekládá se. Blíže viz kapitola Zdroje.

Vnitřní MIME type (atribut zdroje inner MIME type)

MIME type je standardizované označení formátu datového zdroje. Vnitřní MIME type se používá například v případě, že ukládáte jako zdroj odkaz na komprimovaný soubor, který obsahuje sešit aplikace MS Excel. Vnitřní MIME type označuje typ souboru, který je zkomprimován (je uvnitř komprimovaného souboru. V našem případě by to bylo označení application/vnd.ms-excel pro sešit aplikace MS Excel. Toto označení se nepřekládá. Blíže viz kapitola Zdroje.

Velikost zdroje (atribut zdroje size)

Velikost datového zdroje se udává jako hodnota v bytech. Nepřekládá se.

Datum poslední změny zdroje (atribut zdroje last modified)

Datum poslední změny zdroje se udává v číselné podobě ve formátu den.měsíc.rok. Nepřekládá se.

URL a název CKAN datasetu (atributy Name a URL)

Název CKAN datasetu je jeho jednoznačným označením. Může obsahovat malá písmena anglické abecedy, podtržítko a pomlčku. Měl by být výstižný a pokud možno lidem srozumitelný. Dle doporučení CKAN wiki je vhodné se při tvorbě identifikátoru vyhnout používání akronymů pokud nejsou všeobecně srozumitelné a známé (http://wiki.ckan.net/Creating_and_editing_Packages#Names).

Název CKAN datasetu vytvářejte pouze v angličtině. Dvoujazyčné pojmenování CKAN datasetu umístěte do atributu Titulek (Title).

URL CKAN datasetu bude z názvu vytvořeno automaticky a tudíž také bude pouze v jazyce anglickém.

Tagy

Štítky (tagy) slouží k označení CKAN datasetu věcnými kategoriemi, pomocí kterých vyjadřujeme, k jakým oblastem se vztahují datové množiny obsažené v CKAN datasetu. Pomocí štítku tak můžeme například vyjádřit, že obsažené datové množiny pocházejí z Ministerstva zemědělství České republiky (přidáním tagu ministerstvo_zemědělství_české_republiky, respektive anglickým ekvivalentem ministry_of_agriculture_of_the_czech_republic) nebo že se vztahují k ekologickému zemědělství (tagy ekologické_zemědělství, organic_produce).

Štítky není třeba šetřit. Použijte ale pouze ty štítky, které vystihují obsah datové množiny. Při přidávání štítku k CKAN datasetu prostřednictvím webového rozhraní vám CKAN napovídá již existující štítky. Pokud pro vámi zvolenou kategorii již štítek existuje, využijte ho a nevytvářejte nový obdobně pojmenovaný. Štítky mají sdružovat CKAN datasety stejné věcné náplně. Vytváření více štítků pro tu samou kategorii je nevhodné, protože ztěžuje možnost dohledat všechny CKAN datasety z určité oblasti, jelikož ty mohou být označeny různými štítky pro stejnou oblast. Před přidáním nového štítku se tak snažte maximálně využít štítků již existujících. Nicméně neměli byste mít obavy přidat nový štítek pro kategorii, která se v katalogu CKAN dosud nenachází.

Pomocí štítků byste měli minimálně vyjádřit, jakých věcných oblastí se datové množiny týkají a jaký subjekt veřejné správy je původcem datových množin v CKAN datasetu.

Štítky (tagy) jsou vytvářeny v jazyce českém i v jazyce anglickém. Pokud uvedete štítek v jednom jazyce, je vždy třeba uvést i štítek v jazyce druhém.

Pro tagy v anglickém jazyce jsou primárně voleny pojmy z Integrated Public Sector Vocabulary (IPSV). Pro označení tagu dle IPSV volte preferované znění konceptu IPSV slovníku (to je obsaženo v atributu Name, respektive skos:prefLabel). Kromě štítku, který obsahuje samotný anglický slovní název, je třeba přidat ještě štítek, který obsahuje číslo ID, pod kterým je pojem evidován v IPSV. Takovýto štítek bude mít prefix IPSV_ následovaný ID číslem pojmu z IPSV. Přidáním štítku s ID IPSV pojmu se zajistí provázanost se slovníkem Integrated Public Sector Vocabulary.

Pokud chcete například označit CKAN dataset pojmem ekologického zemědělství z IPSV (pojem Organic produce), přidejte štítek se zněním organic_produce (slovní označení) a štítek se zněním IPSV_1085 (ID číslo IPSV pojmu).

Pro české tagy je využíván CZ-NACE tam, kde se podaří vhodný termín v tomto slovníku najít. Pro české i anglické tagy platí, že pokud vhodný pojem v Integrated Public Sector Vocabulary, respektive v CZ-NACE, není, pak jsou tagy vytvářeny jako volně tvořená slovní spojení.

Protože v CKAN je seznam tagů tvořen jako seznam textových řetězců oddělených mezerou, tak v případě, že je tag víceslovný, jsou mezery nahrazeny podtržítkem (např.: ministerstvo_zemědělství_české_republiky).

Skupiny (Groups)

Kromě označování CKAN datasetů štítky (tagy) je možné přiřazovat CKAN datasety do skupin (groups). Uživatelům mohou být udělena práva k úpravě skupin a skupiny lze využít ke klasifikaci CKAN datasetů.

Skupiny jsou využity k vyznačení, že se CKAN datasety a v nich obsažené či odkazované datové množiny vztahují k České republice (zařazením CKAN datasetu do skupiny czech_republic je vyjádřeno, že se CKAN dataset týká České republiky).

Skupiny mohou být dále vytvářeny a používány pro seskupování CKAN datasetů i z jiných nežli geografických hledisek. Příkladem může být skupina uep-survey. Zařazením CKAN datasetu do skupiny uep-survey je vyjádřeno, že vznikl v rámci projektu Interní grantové agentury (IGA) Vysoké školy ekonomické v Praze Sémantické propojování dat ve veřejné správě2.

Skupiny je možné vytvářet dle potřeb nicméně je třeba mít na paměti, že nenahrazují tagy. Pomocí tagů věcně popisujeme, o čem datové množiny v CKAN datasetech jsou, nebo k jakým oblastem se vztahují. Skupiny slouží k seskupení většího množství CKAN datasetů, kde skupina nemusí být vždy věcná, ale může mít i administrativní povahu, jako je tomu v případě skupiny uep-survey, která vyjadřuje, že CKAN dataset vznikl v rámci určitého grantového projektu.

Při vytvoření skupiny v CKAN doplňte do popisu skupiny bližší informace, aby se případní uživatelé CKAN mohli snadno dozvědět, jaký má skupina účel. V popisu CKAN skupiny je také vhodné uvést jméno osoby, která je jejím správcem (administrátorem) a kontaktní údaje na tohoto správce (alespoň email), aby jej bylo možné v případě potřeby kontaktovat.

Pro CKAN datasety vytvořené v rámci IGA projektu Sémantické propojování dat ve veřejné správě pak platí, že musejí být přidány do dvou skupin: czech_republic, uep-survey.

Při přiřazování CKAN datasetů do skupiny je možné se setkat s problémem, kdy při založení nového CKAN datasetu není při jeho uložení uložena informace o zařazení CKAN datasetu do skupiny. V takovém případě je třeba v použít odkaz Groups a následně vybrat skupinu, do které chcete CKAN dataset zařadit. Po přechodu na stránku dané skupiny je třeba skupinu upravit (odkaz Edit) ) a přidat CKAN dataset do skupiny. Při přidávání CKAN datasetu do skupiny použijte název CKAN datasetu (atribut Name).

K neuložení údaji o skupině při zakládání nového CKAN datasetu může dojít i při přidávání nového CKAN datasetu prostřednictvím CKAN API. Proto je třeba po založení nového CKAN datasetu zařazení do skupin překontrolovat a případně přidat nově založený CKAN dataset do skupin, do kterých ho chcete zařadit.

Zdroje (Resources)

Datové množiny dostupné prostřednictvím URI jsou v CKAN označovány jako zdroje. Datová množina může být obsažena v datovém souboru nebo může být dostupná skrze aplikačního rozhraní určité aplikace nebo rozhraní služby v prostředí internetu.

Každý zdroj je popsán několika atributy. Popis atributů zdroje odpovídá popisu, který je uveden na wiki CKAN. Na uvedeném odkaze najdete také doporučení pro vyplňování informací o zdrojích. Atributy zdroje jsou následující (v závorce za českým označením je uvedeno i označení anglické):

  • URL (URL) - odkaz na zdroj (URL stažitelného souboru, API nebo služby). URL je jediný povinný atribut.
  • Název (Name) - název zdroje. Název je třeba uvést v češtině i angličtině.
  • Popis (Description) - krátký a výstižný popis datového zdroje. Popis zdroje je tvořen popisem v angličtině a popisem v češtině. Tvorbě popisu zdroje se věnuje text níže.
  • Typ zdroje (Resource type) - označení typu zdroje. Označení typů zdroje nabývá hodnoty z uzavřeného výčtu. Tento výčet je vytvořen v angličtině a nepřekládá se. Zdroj může být následujícího typu:
    • file - zdroj je odkazem na stažitelný soubor
    • file upload - soubor nahraný přímo do CKAN (v případě, že to u konkrétní instance CKAN umožněno díky rozšíření CKAN Storage)
    • api - zdroj je odkazem na aplikační rozhraní (API)
    • service - zdroj je odkazem na službu. CKAN wiki uvádí jako příklad služby Google Docs.
    • listing - zdroj je odkazem na webovou stránku, která obsahuje seznam stažitelných souborů. Místo přidávání každého z těchto souborů jako samostatného zdroje je přidán jako zdroj pouze odkaz na stránku, ze které lze tyto soubory stáhnout
  • Formát (Format) - formát zdroje. Uvádí se koncovka souboru nebo typ API. Označení formátu se nepřekládá. CKAN wiki uvádí některá doporučení pro označování formátu zdroje:
    • Pokud se jedná o komprimované nebo složené soubory, například soubor sešitu MS Excel, který je zkomprimován pomocí zip algoritmu, pak se uvede označení formátu tak, že je nejprve uvedena koncovka, kterou má soubor archivu a za dvojtečku se uvede koncovka zkomprimovaného souboru. Pro výše uvedený příklad je to zip:xls. Pokud je zdroj odkazem na API, uvede se označení formátu tak, že je nejprve uveden textový řetězec api a za lomítko se uvede formát dat poskytovaných skrze API. Pro API, které zpřístupňuje data ve formátu JSON by označení typu vypadalo takto: api/json.
    • Pokud je zdrojem služba, pak se uvede nejprve textový řetězec service a za lomítko se uvede typ služby. Například pro Google Docs by označení služby vypadalo následovně: service/gdocs.
    • V případě, že se jedná jedná o typ listing, pak se v označení uveden nejprve textový řetězec index a za lomítko se uvede typ seznamu. Pokud by seznam byl zachycen na stránce v jazyce HTML, pak by označení vypadalo takto: index/html. Pokud by seznam byl odkazem na úložiště dostupné pomocí protokolu FTP, pak by označení bylo: index/ftp.
  • Mimetype (Mimetype) - MIME typ zdroje.
  • Mimetype (Inner) (Mimetype (Inner)) - MIME typ vnitřního soboru. Použije se například v situaci, kdy je jeden soubor zkomprimovaný. Například sešit MS Excel je zkomprimován zip algoritmem. Archiv zip je vnější soubor a k němu se vztahuje atribut MIME typ. Zkomprimovaný sešit MS Excel je vnitřní soubor a k němu se vztahuje atribut Mimetype (Inner).
  • Velikost (Byte) (Size (Byte)) - velikost souboru v bytech. Uvádí pouze u zdrojů, které mají formát souboru.
  • Naposledy změněno (Last Modified) - datum, kdy se datový zdroj, respektive v něm vyjádřená datová množina, naposledy změnila. Nejedná se tedy o datum poslední úpravy CKAN datasetu, ale o datum změny samotné datové množiny, respektive datového zdroje.

Popis zdroje je tvořen popisem v angličtině a popisem v češtině. Obě jazykové verze by si měly odpovídat. U zdrojů je evidována perioda aktualizace a jazyk zdroje. Tyto doplňující informace o zdroj mají označení v anglickém jazyce: language (jazyk zdroje), frequency (periodicita/četnost aktualizace zdroje). Pokud je hodnota výše uvedených atributů stejná pro všechny zdroje v rámci jednoho CKAN datasetu, pak je tato hodnota evidována jako pole Extras (dvojice název atributu: hodnota atributu, např. Language: Czech).

Pokud perioda aktualizace datového zdroje není známá, pak samozřejmě nebude uvedena. V tomto případě není třeba ani uvádět klíčové slovo frequency, které by muselo být následováno klíčovým slovem unknown (neznámo).

Pokud se hodnota některého z atributů liší u dvou a více zdrojů v rámci jednoho CKAN datasetu, pak se příslušná dvojice atribut: hodnota zapíše do pole popisu zdroje a to na začátek tak, aby dvojice atribut: hodnota předcházely slovnímu popisu zdroje. V tomto případě je pak sekce věnovaná atributům oddělena od sekce se slovním popisem pomocí znaku |. Za názvem atributu je třeba vždy přidat dvojtečku. Dvojice atribut: hodnota jsou odděleny středníkem. Příkladem popisu může být: language: Czech; frequency: monthly| Description of the resource A. Popis zdroje A.

Je třeba ještě doplnit, že ačkoli je každý zdroj v CKAN datasetu popsán celou řadou atributů a při zakládání nebo při úpravách CKAN datasetu je můžete nastavit, v současné době se při zobrazení CKAN datasetu u každého jeho zdroje zobrazí pouze název zdroje a formát zdroje. Pokud zdroj nemá vyplněn název, zobrazí se jeho popis. Hodnoty ostatních atributů každého zdroje můžete získat pomocí CKAN API.

Grafická reprezentace struktury datových množin

Software CKAN neumožňuje přímo vkládat obrázky jako součást popisu datových množin v rámci CKAN datasetu a nelze je vložit ani jako jeho jiný atribut. V rámci atributu CKAN datasetu určeného pro popis datových množin (atribut Description) je možno text tohoto popisu formátovat pomocí formátování Markdown. Toto formátování umožňuje vložení obrázku pomocí odkazu a lze ho tedy využít například pro přidání obrázku s entitně-relačním modelem nebo modelem tříd objektů jazyka UML, který vyjadřuje strukturu datové množiny či datových množin uložených či odkazovaných jako zdroje v rámci CKAN datasetu.

Pro přidání obrázku odkazem v Markdown formátování slouží formulace: ![Alt text](/path/to/img.jpg) V kulatých závorkách místo /path/to/img.jpg uveďte cestu k Vámi požadovanému obrázku, např. http://www.mujweb.domena/mujobrazek.jpg.

Pokud chcete, aby Váš obrázek byl opatřen názvem, pak použijte formulaci: ![Alt text](/path/to/img.jpg "Optional title") Do uvozovek místo Optional title napište název obrázku.

Přidání obrázku tedy jednoduše provedete tak, že v popisu datové množiny přidáte samostatný řádek, na který napíšete výše uvedenou formulaci s cestou k vašemu obrázku a případně také s jeho názvem. Protože je obrázek přidáván odkazem a není přímo vložen do software CKAN, je zřejmé, že abyste mohli obrázky tímto způsobem přidat do popisu datové množiny, musíte mít vlastní úložiště, kam obrázky uložíte a ze kterého budou pomocí URI dostupné v rámci internetu.

Existují služby, která Vám umožní ukládání a zpřístupnění souborů s obrázky v rámci internetu3. Některé z těchto služeb lze využívat i zdarma. Žádná z těchto služeb není z hlediska této metodiky preferovaná a neuvádíme tak ani žádná doporučení ohledně volny takovéto služby.

Modely struktury datových množin je vhodné vkládat na konec samotného popisu datových množin. Modely by také neměly být vloženy do popisu bez komentáře. Modely struktury datových množin vložte do samostatného oddílu, který pojmenujte Dataset structure (Struktura datasetu). Tento oddíl oddělte samostatným řádkem od zbytku popisu datové množiny. Ke každému obrázku přidejte popis, alespoň na té úrovni, že uvedete, k čemu se model vztahuje. Vždy by z popisu mělo být zřejmé, ke kterým datovým zdrojům v rámci CKAN datasetu se modely vztahují. Model struktury datové množiny nemusí být platný pro všechny zdroje v CKAN datasetu. Důvodem může být například situace, kdy CKAN dataset sdružuje data z určité oblasti za delší časový úsek. V průběhu času se mohla změnit struktura datové množiny. Proto v popisu vždy uvádějte, ke kterým datovým zdrojům (datovým množinám) se model vztahuje. Text popisu by měl být opět vytvořen v češtině i angličtině.

Odkaz na hlavní stránku

Abychom se vyhnuli právnímu problému tzv. deep linking je třeba, aby v rámci popisu datové množiny nebo jako výstižně pojmenované pole Extras (např. author_homepage), byl uveden odkaz na hlavní stránku webového sídla subjektu, na jehož stránkách jsou zpřístupněny datové soubory či služby, které jsou uvedeny jako zdroje v rámci CKAN datasetu.

Pokud v rámci webového sídla jsou uvedeny podmínky užití webových stránek, je vhodné uvést odkaz také na tyto podmínky užití.

V rámci atributů CKAN datasetu je k dispozici atribut Domovská stránka (Home page). Ten slouží ale pro uvedení odkazu na stránku, která obsahuje doplňující informace nebo popis datové množiny. Není tak určen pro uvedení odkazu na hlavní stránku organizace, která je původcem datového množiny.

Výše popsané lze demonstrovat na příkladu CKAN datasetu s titulkem Agriculture status report - Zpráva o stavu zemědělství. Datové množiny v tomto CKAN datasetu pocházejí z Ministerstva zemědělství České republiky. Odkaz na hlavní stránku Ministerstva zemědělství (http://eagri.cz/public/web/mze/) je uveden v rámci popisu CKAN datasetu. Atribut home page CKAN datasetu obsahuje odkaz přímo na stránku, kde jsou ke stažení vystaveny soubory uvedené jako zdroje tohoto CKAN datasetu.

Možná se ptáte, proč nepoužít pro odkaz na hlavní stránku subjektu atribut home page CKAN datasetu. Podle komentáře k tomuto atributu, který můžete vidět pokud vytváříte nový CKAN dataset nebo upravujete některý ze stávajících, je tento atribut skutečně zamýšlen k použití jako odkaz na stránku, kde se nachází datová množina nebo informace o ní. Abychom byli v souladu s tímto záměrem autorů software CKAN, nepoužíváme atribut home page pro dokaz na hlavní stránku subjektu, který je původcem datové množiny.

Jelikož je ale třeba odkaz na hlavní stránku subjektu uvést, abychom se vyhnuli výše zmíněnému deep linkingu, rozhodli jsme se uvádět odkaz na hlavní stránku buď jako doplňkové pole (extras) nebo přímo v popisu CKAN datasetu.

Licence datových zdrojů

Pokud zdroje v rámci CKAN datasetů jsou licencovány pod některou z licencí, jež je uvedena na seznamu licencí v CKAN, tak je třeba tuto licenci uvést jako licenci v rámci atributů CKAN datasetu.

Pokud licence není uvedena nebo existují pochybnosti o tom, jaké právní podmínky se váží k daným zdrojům, pak je vhodné zvolit jako licenci hodnotu Other:License not specified.

Pokud webové sídlo organizace, která je původcem datových množin, obsahuje vymezení právních podmínek jejich užití, uveďte odkaz na webovou stránku s popisem právních podmínek v popisu CKAN datasetu.

Sdílení

Aby byl umožněn přístup a úpravy všech CKAN datasetů všem spolupracovníkům a nejen jeho autorovi, je třeba přidat v záložce autorizace do role editor (nebo admin) autorizační skupinu uep-survey.

Pokud chcete, aby CKAN dataset nemohl být upravován nepřihlášenými uživateli, je třeba v záložce autorizace nastavit pro roli visitor práva pouze pro čtení (volba reader).

Ve výchozím nastavení může CKAN dataset upravovat každý přihlášený uživatel. Pokud chcete zamezit situaci, kdy každý přihlášený uživatel může CKAN dataset upravovat, je třeba práva přístupu pro roli logged_in nastavit na hodnotu reader.

Oprávnění jsou 3, resp. 4 typů:

  • admin - jako editor, plus úpravy oprávnění
  • editor - jako reader, plus úpravy CKAN datasetu
  • reader - jen čtení CKAN datasetu
  • neuvedení role v seznamu oprávnění - nevidí ani, že CKAN dataset existuje

Oprávnění lze nastavit pro jednotlivé role, jimiž jsou:

  • konkrétní uživatel
  • autorizační skupina
  • logged_in - role představující všechny přihlášené uživatele
  • visitor - role představující jakéhokoli (i nepřihlášeného) uživatele

CKAN API

V této části jsou popsány návody a doporučení pro práci se software CKAN prostřednictvím aplikačního rozhraní (API). Text je platný pro CKAN API verze 1.

Kromě webového rozhraní lze s CKAN pracovat pomocí API. Bližší informace o CKAN API jsou k dispozici na webové stránce http://docs.ckan.org/en/latest/api.html.

Pro využívání CKAN API je zapotřebí API key. Ten je přidělen každému registrovanému uživateli. API key si můžete zobrazit pomocí webového rozhraní CKAN pod odkazem Můj účet (My Account).

CKAN API je postaveno na architektonickém stylu REST (REpresentational State Transfer). Každá metoda/funkce je tedy dostupná pomocí URI.

Hlavní URI CKAN API pro cz.ckan.net je http://cz.ckan.net/api/rest/package, respektive http://cz.ckan.net/api/rest/package/identifikator_datasetu (kde identifikator_datasetu na konci řetězce URI je třeba nahradit názvem (atribut Name) CKAN datasetu, se kterým chcete pracovat).

Pro získávání dat pomocí CKAN API (např. seznamu všech CKAN datasetů) je využit HTTP GET požadavek. Po odeslání požadavku na CKAN API získáte soubor ve formátu JSON, který obsahuje data vrácená funkcí, jejíž URI bylo použito. Pro vkládání dat do CKAN prostřednictvím API je použit HTTP POST požadavek.

Pro jeho vytvoření HTTP požadavků GET a POST lze využít např. nástrojů curl nebo wget. Obecně je možno využít jakéhokoli programovacího jazyku, který má k dispozici knihovnu pro práci s protokolem HTTP. Při vkládání dat pomocí CKAN API je třeba do HTTP POST požadavku přidat Authorization hlavičku s hodnotou vašeho API key. Bližší informace najdete v dokumentaci CKAN API.

Nastavení vazeb mezi CKAN datasety pomocí API

API software CKAN umožňuje nastavit vazby mezi CKAN datasety. Všechny vazby, které má CKAN dataset k jiným CKAN datasetům jsou ukládány do atributu Vazby (Relationships). V současné době nelze nastavit vazby mezi CKAN datasety v rámci webového rozhraní software CKAN.

Základní informace o vazbách mezi CKAN datasety včetně příkladu, jak nastavit tyto vazby, jsou uvedeny v tomto článku na wiki software CKAN. V rámci příkladu v odkazovaném článku je pro nastavení vazeb využito nástroje curl, pomocí kterého je vytvořen příslušný požadavek na CKAN API. V následujícím textu bude popsáno, jak nastavit vazby mezi CKAN datasety s využitím klienta CKAN API v programovacím jazyce Python.

V software CKAN lze mezi CKAN datasety vytvářet následující typy vazeb:

  • depends_on - CKAN dataset, že je závislý na jiném CKAN datasetu
  • dependency_of - na CKAN datasetu závisí jiný CKAN dataset
  • derives_from - CKAN dataset je odvozen z jiného CKAN datasetu
  • has_derivation - od CKAN datasetu je odvozen jiný CKAN dataset
  • child_of - CKAN dataset je potomkem jiného CKAN datasetu; tuto vazbu budeme používat pro vyjádření vztahu, že CKAN dataset je přidružen k jinému CKAN datasetu, který představuje nadřazený CKAN dataset pro určitou skupinu CKAN datasetů.
  • parent_of - CKAN dataset je předkem jiného CKAN datasetu; tuto vazbu budeme používat v případě, že CKAN dataset je nadřazeným CKAN datasetem určité skupiny CKAN datasetů.
  • sibling - CKAN dataset je příbuzný k jinému CKAN datasetu; tato vazba vznikne v případě, že 2 a více CKAN datasetů jsou označeny vazbou child_of k jinému CKAN datasetu, jednotlivé CKAN datasety označené vazbou child_of pak mají mezi sebou vazbu sibling.
  • links - CKAN dataset odkazuje na jiný CKAN dataset.

Následující obrázek ilustruje vztahy mezi CKAN datasety typu parent_of, child_of a sibling.

Diagram vztahů

Pokud u některého CKAN datasetu nastavíte vazbu, pak dojde i k nastavení dalších souvisejících vazeb. Pokud tedy nastavíte vazbu mezi dvěma CKAN datasety typu child_of, pak automaticky dojde k i nastavení vazby parent_of a případně i k nastavení vazeb typu sibling.

Python klient pro CKAN API představuje knihovnu funkcí, která umožňuje přistupovat k CKAN API z programů vytvářených pomocí programovacího jazyka Python. Python klient pro CKAN API je možné získat zde: pypi.python.org/pypi/ckanclient. Pro použití tohoto klienta je třeba mít nainstalován interpret jazyka Python verze 2, který je k dispozici pro různé platformy z webové stránky www.python.org. Python klient pro CKAN API zatím není kompatibilní s verzí 3 jazyka Python.

Pro nastavení vazby mezi CKAN datasety postačí velmi jednoduchý skript napsaný v programovacím jazyce Python. V příkladu budeme vytvářet vazbu typu child_of mezi podřazeným CKAN datasetem s názvem podrazeny a nadřazeným CKAN datasetem s názvem nadrazeny. Skript pro nastavení uvedené vazby mezi CKAN datasety bude vypadat následovně (text za znakem # je komentář, je možné ho vynechat).

# Připojení knihovny python klienta pro CKAN API
import ckanclient

# Inicializace CKAN klienta
# Parametr base_location označuje adresu instance software CKAN,
# se kterou pracuje
# Do parametru api_key uveďte Váš klíč pro CKAN API
ckan = ckanclient.CkanClient(base_location = 'http://cz.ckan.net/api', api_key = 'vas_api_key')

# Nastavení vazby mezi balíčky
ckan.package_relationship_entity_post('podrazeny', 'child_of', 'nadrazeny', 'Nadrazeny je nadřazeným CKAN datasetem')

Pro použití klienta CKAN API pro jazyk Python je třeba ve skriptu nejprve importovat knihovnu samotného klienta. To se provede pomocí příkazu import ckanclient. Dále je třeba inicializovat instanci klienta. Při inicializaci je třeba určit URL adresu software CKAN, se kterým se bude v rámci skriptu pracovat (v našem případě pracujeme s cz.ckan.net) a dále je třeba při inicializaci zadat Váš klíč k API (API key). Inicializace se provede pomocí příkazu ckan = ckanclient.CkanClient(base_location = 'http://cz.ckan.net/api', api_key = 'vas_api_key'). Řetězec vas_api_key je třeba nahradit textovým řetězcem, který představuje Váš klíč k API.

Pro vytvoření vazby mezi CKAN datasety slouží v Python klientu pro CKAN API příkaz package_relationship_entity_post(subject_package_name, relationship_type, object_package_name, comment). Parametr příkazu subject_package_name představuje CKAN dataset, kterému je nastavována vazba na jiný CKAN dataset. V našem případě nastavujeme vazbu CKAN datasetu s označením podrazeny. Parametr relationship_type představuje typ vazby, který je mezi CKAN datasety nastavován. V našem případě je to typ vazby child_of. Dalším atributem je object_package_name, což je název CKAN datasetu, ke kterému je nastavována vazba. V našem případě je nastavována vazba směrem k CKAN datasetu s názvem nadrazeny. Posledním parametrem je komentář k vazbě, do kterého může být uveden libovolný textový řetězec. Komentář by měl být krátký a výstižný.

Výše uvedený skript můžete vykonat tak, že skript uložíte do textového souboru v kódování UTF-8. Uvažujme tedy, že soubor se skriptem je pojmenován relationships.py. Pro vykonání skriptu je třeba přejít do složky, kde je soubor uložen, a z příkazové řádky zadat příkaz python relationships.py.

Interpret jazyka Python umožňuje interaktivní zadávání příkazů. Druhou možností, jak provést výše uvedený skript, je zadat z příkazové řádky příkaz python (bez parametrů), čímž vstoupíte do interaktivního módu pro zadávání příkazů jazyka Python. V tomto módu pak můžete zadávat jednotlivé příkazy.

Výše uvedený skript obsahoval pouze jeden příkaz pro nastavení vazby mezi CKAN datasety. Je ale samozřejmě možné vytvořit skript, který bude obsahovat více takovýchto příkazů dle potřeby. Je tedy možné napsat takový skript, který nastaví vazby mezi celou skupinou CKAN datasetů.

Využití CKAN API pro šablony CKAN datasetů

V této části je popsáno využití CKAN API pro vytváření CKAN datasetů na základě šablony. Šablonou v tomto případě je textový soubor ve formátu JSON.

Šablony CKAN datasetu

CKAN dataset je možné popsat pomocí textového souboru ve formátu JSON. Tento soubor má následující strukturu.

{
  "name": "",
  "title": "",
  "version": "",
  "url": "",
  "author": "",
  "author_email": "",
  "maintainer": "",
  "maintainer_email": "",
  "notes": "",
  "license_id": "",
  "tags": ["", "", "", "", ""],
  "relationships": [],
  "state": "active",
  "extras": {
    "language": "",
    "frequency": "",
    "size": ""
    },
  "resources": [
    {
      "name": "",
  "url": "",
      "description": "",
  "mimetype": "",
  "mimetype_inner": "",
  "last_modified": "",
  "size": "",
      "format": "",
      "resource_type": ""
    },
    {
      "name": "",
  "url": "",
      "description": "",
  "mimetype": "",
  "mimetype_inner": "",
  "last_modified": "",
  "size": "",
      "format": "",
      "resource_type": ""
    },
    {
      "name": "",
  "url": "",
      "description": "",
  "mimetype": "",
  "mimetype_inner": "",
  "last_modified": "",
  "size": "",
      "format": "",
      "resource_type": ""
    }]
}

Hodnota každého atributu je zapsána do uvozovek (text). Pokud se jedná o složenou hodnotu pak je uvedena do složených, respektive hranatých závorek. Pokud chcete, aby hodnota určitého atributu zůstala nevyplněna, jako jeho hodnotu uveďte klíčové slovo null. Pokud atributu nenastavíte žádnou hodnotu, je možné ho místo uvádění hodnoty null zcela vynechat. Vynechání nepoužitého atributu se ukázalo jako vhodné, protože to eliminuje prostor, ve kterém je možné udělat překlep nebo chybu. Jako hodnotu atributu licence je vhodné zadat identifikátor některé z licence, která je na seznamu, který CKAN standardně nabízí. Seznam licencí a jejich identifikátorů je uveden v samostatné kapitole.

V oblasti extras mohou být zadány libovolné dvojice atribut: hodnota. Zdrojů lze do souboru uvést libovolný počet.

Vytvoření šablony

Šablonu vytvoříte tak, že vytvoříte textový soubor v kódování UTF-8 (CKAN API vyžaduje kódování UTF-8), který bude mít strukturu, která je uvedena výše. V souboru vyplňte hodnoty atributů, u kterých chcete, aby byly součástí šablony. Po uložení souboru je šablona vytvořena.

Textový popis datové množiny (atribut notes)

Pokud chcete jako součást šablony uvést i popis datové množiny nebo část tohoto popisu, která bude všem CKAN datasetům založeným na šabloně společná, je třeba tento popis vložit jako hodnotu atributu notes. Při užití kódování UTF-8 je možné používat českou diakritiku. Je třeba si ale uvědomit, že se hodnota atributu zpracovává jako textový řetězec. Proto je třeba, aby zalomení řádku v textu popis bylo reprezentováno sekvencí \n, respektive \r\n.

Vytvoření CKAN datasetu založeného na šabloně

Pro vytvoření CKAN datasetu založeného na šabloně je třeba otevřít soubor šablony, uložit ho jako jiný soubor, doplnit do něj chybějící údaje o CKAN datasetu a soubor uložit. Pro vložení CKAN datasetu do software CKAN je třeba odeslat obsah nově vytvořeného souboru s popisem tohoto CKAN datasetu pomocí HTTP metody POST na CKAN API (pro cz.ckan.net je to URL http://cz.ckan.net/api/rest/package). Pokud ve formátování souboru není chyba a je určen jednoznačný identifikátor jako hodnota atributu name, pak by mělo dojít ke vložení CKAN datasetu do CKAN. Při úspěšném vložení CKAN datasetu je vrácen JSON soubor s popisem nově vloženého CKAN datasetu (obsahuje i údaje, které jsou nastaveny až po vložení do CKAN např. id).

Seznam licencí CKAN a jejich identifikátorů

Seznam licencí CKAN a jejich identifikátorů platný ke dni 24.10. 2011.

Identifikátor Název licence
notspecified Other::License Not Specified
odc-pddl OKD Compliant::Open Data Commons Public Domain Dedication and Licence (PDDL)
odc-odbl OKD Compliant::Open Data Commons Open Database License (ODbL)
cc-zero OKD Compliant::Creative Commons CCZero
cc-by OKD Compliant::Creative Commons Attribution
cc-by-sa OKD Compliant::Creative Commons Share-Alike
gfdl OKD Compliant::GNU Free Documentation License
ukclickusepsi OKD Compliant::UK Click Use PSI
other-open OKD Compliant::Other (Open)
other-pd OKD Compliant::Other (Public Domain)
other-at OKD Compliant::Other (Attribution)
ukcrown-withrights OKD Compliant::UK Crown Copyright with data.gov.uk rights
hesa-withrights OKD Compliant::Higher Education Statistics Agency Copyright with data.gov.uk rights
localauth-withrights OKD Compliant::Local Authority Copyright with data.gov.uk rights
uk-ogl OKD Compliant::UK Open Government Licence (OGL)
cc-nc Non-OKD Compliant::Creative Commons Non-Commercial (Any)
ukcrown Non-OKD Compliant::UK Crown Copyright
other-nc Non-OKD Compliant::Other (Non-Commercial)
other-closed Non-OKD Compliant::Other (Not Open)
bsd-license OSI Approved::New and Simplified BSD licenses
gpl-2.0 OSI Approved::GNU General Public License (GPL)
gpl-3.0 OSI Approved::GNU General Public License version 3.0 (GPLv3)
lgpl-2.1 OSI Approved::GNU Library or "Lesser" General Public License (LGPL)
mit-license OSI Approved::MIT license
afl-3.0 OSI Approved::Academic Free License 3.0 (AFL 3.0)
apl1.0 OSI Approved::Adaptive Public License
apache OSI Approved::Apache Software License
apache2.0 OSI Approved::Apache License, 2.0
apsl-2.0 OSI Approved::Apple Public Source License
artistic-license-2.0 OSI Approved::Artistic license 2.0
attribution OSI Approved::Attribution Assurance Licenses
ca-tosl1.1 OSI Approved::Computer Associates Trusted Open Source License 1.1
cddl1 OSI Approved::Common Development and Distribution License
cpal_1.0 OSI Approved::Common Public Attribution License 1.0 (CPAL)
cuaoffice OSI Approved::CUA Office Public License Version 1.0
eudatagrid OSI Approved::EU DataGrid Software License
eclipse-1.0 OSI Approved::Eclipse Public License
ecl2 OSI Approved::Educational Community License, Version 2.0
eiffel OSI Approved::Eiffel Forum License
ver2_eiffel OSI Approved::Eiffel Forum License V2.0
entessa OSI Approved::Entessa Public License
fair OSI Approved::Fair License
frameworx OSI Approved::Frameworx License
ibmpl OSI Approved::IBM Public License
intel-osl OSI Approved::Intel Open Source License
jabber-osl OSI Approved::Jabber Open Source License
lucent-plan9 OSI Approved::Lucent Public License (Plan9)
lucent1.02 OSI Approved::Lucent Public License Version 1.02
mitre OSI Approved::MITRE Collaborative Virtual Workspace License (CVW License)
motosoto OSI Approved::Motosoto License
mozilla OSI Approved::Mozilla Public License 1.0 (MPL)
mozilla1.1 OSI Approved::Mozilla Public License 1.1 (MPL)
nasa1.3 OSI Approved::NASA Open Source Agreement 1.3
naumen OSI Approved::Naumen Public License
nethack OSI Approved::Nethack General Public License
nokia OSI Approved::Nokia Open Source License
oclc2 OSI Approved::OCLC Research Public License 2.0
opengroup OSI Approved::Open Group Test Suite License
osl-3.0 OSI Approved::Open Software License 3.0 (OSL 3.0)
php OSI Approved::PHP License
pythonpl OSI Approved::Python license
PythonSoftFoundation OSI Approved::Python Software Foundation License
qtpl OSI Approved::Qt Public License (QPL)
real OSI Approved::RealNetworks Public Source License V1.0
rpl1.5 OSI Approved::Reciprocal Public License 1.5 (RPL1.5)
ricohpl OSI Approved::Ricoh Source Code Public License
sleepycat OSI Approved::Sleepycat License
sun-issl OSI Approved::Sun Industry Standards Source License (SISSL)
sunpublic OSI Approved::Sun Public License
sybase OSI Approved::Sybase Open Watcom Public License 1.0
UoI-NCSA OSI Approved::University of Illinois/NCSA Open Source License
vidapl OSI Approved::Vovida Software License v. 1.0
W3C OSI Approved::W3C License
wxwindows OSI Approved::wxWindows Library License
xnet OSI Approved::X.Net License
zpl OSI Approved::Zope Public License
zlib-license OSI Approved::zlib/libpng license

Poznámky

  1. V dřívějších verzích CKAN byla základní jednotka pro popis datových množin označována jako balíček (anglicky package). S příchodem verze 1.5 se ale od označení balíček ustupuje a tento pojem je nahrazen pojmem dataset.
  2. Informace o grantu lze dohledat zde: http://search.vse.cz/granty/.
  3. Na Wikipedii je průběžně vytvářen seznam existujících služeb pro sdílení souborů s obrázky: https://en.wikipedia.org/wiki/List_of_photo_sharing_websites.
Česky