Národní katalog otevřených dat je realizován jako sada 11 pipeline v LinkedPipes ETL, které jsou v této sekci popsány. Porozumění pipelinám vyžaduje znalost RDF a SPARQL. Dokumentace jednotlivých komponent v pipeline je součástí dokumentace nástroje LinkedPipes ETL.
Pro nasazení do testovacího a prodkučního prostředí je potřeba jejich export nahrát do repozitáře pro import.
Přípravné pipeline se spouští při inicializaci instance NKOD a pak v případě aktualizace externích číselníků. Mezi přípravné pipeline se řadí i ty zpracovávající aktuální obsah data.gov.sk, jelikož se počítá s jeho eventuálním vypnutím, a tedy tyto pipeliny už dále nebudou spouštěny.
00 - Cache - stáhne evropské číselníky pro typy souborů a frekvence. Ostatní pipeline pak používají tuto cache. Jedná se o omezení závislostí na externích datových zdrojích v následném každodenním běhu NKOD. Pokud se zdrojové číselníky změní, je vhodné cache přegenerovat.
01 - Harvestace data.gov.sk stáhne aktuální obsah starého katalogu data.gov.sk pomocí jeho CKAN API. Výsledek je sada JSON souborů, které se uloží na disk pro následné zpracování. Součástí běhu je i generování reportu chyb, který obsahuje přehled záznamů, které se nepovedlo získat. To se děje zejména z důvodu timeoutů na straně CKAN API.
02 Transformace data.gov.sk převede záznamy z data.gov.sk stažené předchozí pipeline do výsledné podoby dle DCAT-AP-SK. Převod zahrnuje mapování IRI poskytovatelů, mapování územního pokrytí z polygonové reprezentace na IRI, sdružování a rozdělování datových sad do sérií a mapování hodnot ze CKAN API na hodnoty dle DCAT-AP-SK a evropských číselníků. Tato pipeline vyžaduje jako vstup CSV podobu mapovacích tabulek, které jsou připravovány Datovou kanceláří. Výsledkem je RDF dump ve formátu RDF TriG. Vypnuté komponenty představují různé statistiky, které mohou být použity pro přehled o použitých hodnotách různých položek v záznamech datových sad.
Tyto pipeline běží v pravidelných intervalech a zajišťují vytvoření aktuálního obsahu NKOD. Platí, že pipeline na svém konci vždy pouští jednu či více navazujících pipeline.
03 - Harvestace LKOD a registrací je hlavní pipeline zajišťující zpracování záznamů z registračních formulářů a harvestaci lokálních katalogů otevřených dat (LKODů), aktuálně ve 3 provedeních dle DCAT-AP-SK 2.0, tj. CKAN API, DCAT-AP SPARQL Endpoint a DCAT-AP Dokumenty. Po dokončení harvestace přidává metadata pro samotný NKOD a generuje RDF TriG dump. V levé části pipeline se přistupuje k registračním záznamům datových sad, lokálních katalogů a k registracím poskytovatelů. Tyto vstupy existují v podobě adresářů se záznamy na serveru. Do těchto adresářů se aktuálně dostávají z GitHub repozitáře. Toto bude v dalším vývoji nahrazeno plněním z ostatních částí portálu otevřených dat.
V prostřední části pipeline je patrných 5 horizontálních částí.
- V první části tečou data z původního data.gov.sk, která byla připravena v předchozích pipeline.
- V druhé části tečou jednotlivé záznamy datových sad pořízené v budoucnu formulářem na portálu otevřených dat.
- Třetí část zpracovává lokální katalogy používající rozhraní DCAT-AP SPARQL Endpoint.
- Čtvrtá část zpracovává lokální katalogy používající rozhraní DCAT-AP Dokumenty.
- Pátá část zpracovává lokální katalogy používající rozhraní CKAN API
Záznamy o datových sadách z různých zdrojů se následně spojí, pročistí, jsou přidána metadata NKOD, zejména datum harvestace, a nakonec je vytvořen RDF TriG dump obsahující aktuální podobu NKOD.
03.1 - Nahrát NKOD do GraphDB nahrává obsah NKOD vygenerovaný v minulé pipeline do GraphDB. Nejprve je aktuální obsah GraphDB smazán, následně je nahrazen aktuální podobou NKOD.
03.2 - Spustit pipeliny pro kvalitu spouští následující pipeliny, které generují na základě aktuálního obsahu NKOD indikátory (meta)datové kvality.
04 - Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - HEAD - Zkontroluje dostupnost všech v NKOD zaregistrovaných URL pomocí HTTP HEAD
požadavku s timeoutem 3 vteřiny.
Jednotlivé větve představují jednotlivé druhy URL registrované v NKOD, jako je například URL souboru ke stažení, URL dokumentace datové sady, atd.
Následně je informace o (ne)dostupnosti reprezentována pomocí Data Quality Vocabulary a nahrána do SPARQL endpointu NKOD.
Agregované indikátory dostupnosti jsou uchovávány jako časová řada v souborech.
Neagregované indikátory jsou při každém běhu přepsány.
05 - Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - CORS - Zkontroluje dostupnost techniky CORS na vybraných v NKOD zaregistrovaných URL pomocí HTTP OPTIONS
požadavku s timeoutem 3 vteřiny.
Jednotlivé větve představují jednotlivé druhy URL registrované v NKOD, jako je například URL souboru ke stažení, URL dokumentace datové sady, atd.
Následně je informace o (ne)dostupnosti CORS reprezentována pomocí Data Quality Vocabulary a nahrána do SPARQL endpointu NKOD.
Agregované indikátory dostupnosti jsou uchovávány jako časová řada v souborech.
Neagregované indikátory jsou při každém běhu přepsány.
06 - Kvalita metadatových záznamů v NKOD DQV - Počítá jednotlivé indikátory kvality metadatových záznamů v NKOD s ohledem na úplnost záznamu vůči DCAT-AP-SK a základní statistiky. Agregované indikátory dostupnosti jsou uchovávány jako časová řada v souborech.
07 - Kombinované indikátory kvality - Počítá indikátory kvality kombinované z předchozích výsledků.
08 - Generování reportů v CSV - Z naměřených indikátorů generuje CSV soubory s přehledy, které jsou dostupné ke stažení přes portál otevřených dat.
Servisní pipeliny jsou určeny pro administrátorské zásahy, testování a ladění a v běžném produkčním režimu nejsou spouštěny.
00 - Nahrát aktuální stav do GraphDB - Smaže aktuální obsah GraphDB a nahraje znovu její obsah z RDF dumpů.