Nástroj Open Data Network (zkr. ODN) slouží jako vyhledávač otevřených dat. Konkrétně se zaměřuje na oblast vládních dat v rámci USA na úroveň jednotlivých okresů a umožňuje vyhledávat různé volně dostupné informace z jednotlivých kategorií. Využitelný je tedy jak pro širokou veřejnost, tak pro výzkumníky, soukromé společnosti apod. Zároveň nabízí software pro organizace/státní orgány, které tato data vydávají a umožňují jim pomocí distribuovaného prostředí jejich data sdílet a analyzovat. Cílem Open Data Network je tedy umožnit plošnou distribuci těchto dat na jednom místě. A jelikož se jedná o otevřená data (open data), data jsou volně použitelná jak pro vlastní, tak komerční účely. [1]
Software vytvořila společnost Socrata v r. 2014, kterou odkoupila společnost Tyler Technologies v r. 2018. [2]
Struktura a vyhledávání
Jak již bylo zmíněno, nástroj slouží k vyhledávání otevřených dat. K tomu využívá aplikační rozhraní REST API a pro správu používá program Apiary (zkr. ODN API).
Kategorie dat
Mezi hlavní kategorie, které ODN nabízí, patří:
- finance
- infrastruktura
- životní prostředí
- doprava
- veřejná bezpečnost
- demografie
- ekonomika
- vzdělání
- zdraví
- bydlení a rozvoj
- sociální služby
- rekreace/zábava
- politika
Tyto data dále dělí dle jednotlivých států a jejich okresů. Podobně jako ostatní informační nástroje, i ODN umožnuje vyhledávání pro více i méně zkušené uživatele pomocí uživatelského rozhraní.
Možnosti vyhledávání
Webové stránky vyhledávače mají velmi jednoduchý a přehledný design, který pro základní (přímé) vyhledávání dokáže využít i nezkušený uživatel. Na hlavní stránce je vyhledávací okno, které zobrazuje nápovědu k možnému vyhledávání. Dále jsou zde zobrazeny kategorie dat a jednotlivé státy, ve kterých je možné data hledat.
Obr. 1 – vyhledávací pole ODN, zdroj: autor
Přímé vyhledávání
Vyhledávací dotaz je možné zadat jak formou otázky, tak pomocí klíčových slov. Na obrázku níže (viz Obr. 2) je vidět výsledek vyhledávání „The median female earnings of Kings County, NY“ (medián příjmů žen z Kings County v New Yorku). Kromě samotné informace, tedy konkrétní hodnoty, je vidět i mnoho dalších relevantních informací, jako např. porovnání s mediánem u mužů a obecným mediánem, geografickým rozdělením aj. Vždy záleží na povaze dotazu, jaké další možnosti nástroj zobrazí.
Obr. 2 – okno výsledku vyhledávání, zdroj: autor
V levé části je nabídka dalších podobných otázek a případné doplnění/změny lokality dotazu (stát/okres). V horním menu je pak možné dále přepínat mezi kategoriemi dat v rámci dané oblasti včetně možnosti filtrování. To opět závisí na dané kategorii a dostupnosti dat. Resp. zobrazují se jiné filtry u ekonomických dat než u dat ze zdravotnictví.
V dolní části obrazovky jsou zobrazené datasety relevantní s daným dotazem. U každé z nich je vidět název, zdroj, popis a datum poslední úpravy. Při rozkliknutí je možné dohledat další podrobné informaci včetně konkrétního původu dat.
Pokročilejší vyhledávání
Co se týče pokročilejšího/konkrétnějšího vyhledávání, aplikace jej umožňuje přes již zmíněné rozhraní ODN API. Tento způsob přístupu má velmi široké využití ve vlastních aplikacích, kde pomocí rozhraní HTTP snadno získat potřebná data ve formátu JSON.
Pro nezkušeného uživatele je tvorba dotazu poměrně složitá a vyžaduje určitou znalost REST API, HTTP a formátu JSON. ODN API ovšem nabízí přehlednou nápovědu a příklady užití. Skupiny příkazů dělí na:
- suggestions
- search datasets
- search questions
- entity lookup
- entity relationships
- data availability
- data constraints
- data values
- map creation
Při zpracování se používá fulltextové vyhledávání, takže při správné syntaxi by dotaz měl vždy vrátit výsledek bez ohledu na fakt, zda informaci nalezl či nikoliv (výsledek ve smyslu úspěšného HTTP dotazu).
Pokud bychom chtěli replikovat dotaz z přímého vyhledávání (medián výdělku žen), tak bychom využili příkaz „question“, resp. vyhledání otázky, a syntaxe dotazu bude vypadat následovně:
http://api.opendatanetwork.com/search/v1/question?query=The%20median%20female%20earnings%20of%20Kings%20County%2C%20NY
Aplikace nám vrátí odpověď, v jejímž těle (angl. response body) bude následující JSON:
Obr. 3 – ukázka výstupu v JSON kódu, zdroj: autor
Pod každým příkazem je zobrazena ukázka, jak správně nastavit připojení k ODN API pro různé programovací jazyky (Javascript, C#, Python, PHP aj.), což může být velmi užitečné právě pro méně zkušené uživatele, kteří si chtějí propojit vlastní řešení s ODN API. [3]
Obr. 4 – ukázka PHP kódu k připojení ODN API, zdroj: autor
Příklady užití
V prvním příkladu pomocí přímého vyhledávání zkusíme dohledat data o úspěšnosti dokončení vysoké školy ve státě New York. Na úvodní stránce do vyhledávače zadáme „college graduation rate NY“. V tomto konkrétním příkladu našel nástroj více konkrétních otázek, a proto nám zobrazil nabídku možností, kterou nejvíce definuje náš dotaz. Pokud by ani jedna nevyhovovala našemu zadání, je možné prohledávat mezi jednotlivými datasety zobrazenými pod nabídkou. Vybereme „What is the college graduation rate of New York, NY?“.
Obr. 5 – výsledek vyhledávání (příklad 1), zdroj: autor
V horní části okna je zobrazen výsledek – úspěšnost je 37,4 % v r. 2018. Ve filtrech můžeme dále vybírat dostupné období a případně zvolit podobné otázky (např. úspěšnost absolvování střední školy). Všechny tyto data jsou ale již zobrazeny v tabulce níže. Dále je zde vidět mapa, které ovšem z důvodu chybějících dat nebo technické závadě v době zkoušení nezobrazovala výsledky. Podobně jako na předchozí stránce jsou pak vidět konkrétní datasety týkající se tématu úspěšnosti absolvování škol v New Yorku.
Pro druhý příklad použijeme ODN API a konkrétně chceme zjistit počet obyvatel ve státě Washington. Pro získání dat (příkaz data) nejdříve potřebujeme zjistit „entity_id“, resp. kód státu Washington. Ten zjistíme pomocí příkazu entity:
http://api.opendatanetwork.com/entity/v1?entity_name=washington
Tento dotaz nám vrátí velké množství výsledků od jednotlivých okresů až po konkrétní body na mapě. Proto dotaz více specifikujeme přidáním typu entity (typy entit jsou uvedené v dokumentaci ODN API):
http://api.opendatanetwork.com/entity/v1?entity_name=washington&entity_type=region.state
Tím dostaneme požadovaný výsledek v JSON a identifikátor státu Washington.
{
"entities": [
{
"id": "0400000US53",
"name": "Washington",
"type": "region.state"
}
]
}
Nyní už můžeme vyhledat konkrétní data o populaci přes příkaz data:
http://api.opendatanetwork.com/data/v1/values?variable=demographics.population.count&entity_id=0400000US53
Opět nám nástroj vrátí data ve formátu JSON[1]:
{
"data": [
[
"year",
"0400000US53"
],
[
2009,
6465755
],
[
2010,
6561297
],
Další zpracování dat už je na uživateli. Jak již bylo řečeno, využití ODN API je vhodné pro zkušenější uživatele, kterým nestačí pouze zobrazení přes ODN, ale potřebují otevřená data ve vlastním rozhraní/aplikaci.
[1] Seznam ve formátu JSON není uveden celý.
Shrnutí
Cílem této práce bylo představit nástroj Open Data Network a jeho možnosti pro vyhledávání dat. Jedná se o velmi dobře zpracovaný program, který umožňuje sofistikované využití otevřených dat pro vlastní použití. Jedinou značnou nevýhodou je omezení na vládní data pouze v rámci USA.
Použitá literatura
[1] SOCRATA. What Is the Open Data Network? [online]. 2015 [vid. 2021-02-10]. Dostupné z: https://www.youtube.com/watch?v=FvcFW6DhRHQ&ab_channel=Socrata
[2] LERMAN, Rachel. Seattle tech company Socrata bought by Tyler Technologies. The Seattle Times [online]. 18. duben 2018 [vid. 2021-02-10]. Dostupné z: https://www.seattletimes.com/business/technology/seattle-tech-company-socrata-bought-by-tyler-technologies/
[3] SOCRATA. ODN API · Apiary. ODN API [online]. 2021 [vid. 2021-02-10]. Dostupné z: https://odn.docs.apiary.io/#reference/0/suggestions