/nkod-sk

LinkedPipes ETL pipeliny tvořící NKOD - vývojový repozitář a dokumentace

MIT LicenseMIT

LP-ETL pipeliny slovenského národního katalogu otevřených dat - vývojový repozitář

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

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

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. Screenshot: 00 - Cache

01 - Harvestace data.gov.sk

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. Screenshot: 01 - Harvestace data.gov.sk

02 - Transformace data.gov.sk

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. Screenshot: 02 - Transformace data.gov.sk

Pipeline pro pravidelný běh NKOD

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í

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. Screenshot: 03 - Harvestace LKOD a registrací 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í.

  1. V první části tečou data z původního data.gov.sk, která byla připravena v předchozích pipeline.
  2. V druhé části tečou jednotlivé záznamy datových sad pořízené v budoucnu formulářem na portálu otevřených dat.
  3. Třetí část zpracovává lokální katalogy používající rozhraní DCAT-AP SPARQL Endpoint.
  4. Čtvrtá část zpracovává lokální katalogy používající rozhraní DCAT-AP Dokumenty.
  5. 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

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. Screenshot: 03.1 - Nahrát NKOD do GraphDB

03.2 - Spustit pipeliny pro kvalitu

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. Screenshot: 03.2 - Spustit pipeliny pro kvalitu

04 - Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - HEAD

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. Screenshot: 04 - Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - HEAD

05 - Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - CORS

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. Screenshot: 05 - Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - CORS

06 - Kvalita metadatových záznamů v NKOD DQV

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. Screenshot: 06 - Kvalita metadatových záznamů v NKOD DQV

07 - Kombinované indikátory kvality

07 - Kombinované indikátory kvality - Počítá indikátory kvality kombinované z předchozích výsledků. Screenshot: 07 - Kombinované indikátory kvality

08 - Generování reportů v CSV

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. Screenshot: 08 - Generování reportů v CSV

Servisní pipeline

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

00 - Nahrát aktuální stav do GraphDB - Smaže aktuální obsah GraphDB a nahraje znovu její obsah z RDF dumpů. Screenshot: 00 - Nahrát aktuální stav do GraphDB