Národní katalog otevřených dat je realizován v LinkedPipes ETL pomocí 16 pipeline, které jsou v této sekci popsány.
Přípravné pipeline se spouští při inicializaci instance NKOD a pak v případě aktualizace externích číselníků či nutnosti aktualizace datové sady Seznam OVM (orgánů veřejné moci).
01 Cache externích zdrojů - stáhne evropské číselníky, použité pomocné dokumenty z Google Drive a IRI objektů z RÚIAN z instance SPARQL endpointu provozované na MFF UK a uloží je do místní cache ve filesystému. 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.
02 Seznam OVM - převede do RDF datovou sadu Seznam OVM.
Výsledek opět uloží do cache.
Seznam OVM, konkrétně položka kód OVM
, se používá pro kontrolu existence datových schránek a přiřazení registrovaných datových sad a katalogů registrovaných před updatem NKOD v roce 2017 správnému poskytovateli dat.
U novějších registrací je jako základ IRI poskytovatelů použito jejich IČO ze seznamu datových schránek a kód OVM
se dále již nepoužívá.
03 Konverze záznamů z PVS do DCAT-AP - Zkonvertuje staré záznamy (měsíční indexy a rejstřík datových zdrojů) zaslané do NKOD před rokem 2017, kdy byl NKOD součástí Portálu veřejné zprávy (PVS), do aktuálního formátu dle DCAT-AP.
04 Nahrát externí data do SPARQL endpointu - Nahraje evropské číselníky a prvky RÚIAN z cache do SPARQL endpointu NKOD.
05 Nahrát číselníky do Solr pro LP DCAT-AP Forms - Nahraje evropské číselníky a prvky RÚIAN do Apache Solr pro autocomplete v LP DCAT-AP Forms, tj. formuláře NKOD.
06 Nahrát čísleníky do CouchDB pro LP DCAT-AP Viewer - Nahraje evropské číselníky a prvky RÚIAN do Apache CouchDB pro LP DCAT-AP Viewer, tj. uživatelské rozhraní NKOD.
Tyto pipeline běží v pravidelných intervalech a zajišťují aktualizaci obsahu NKOD.
07 Spouštěcí pipeline
se spouští externě pomocí API LinkedPipes ETL z plánovače cron
.
07 Spouštěcí pipeline - Spouští hlavní pipeliny - Harvestace LKOD a formulářů, aktualizace uživatelského rozhraní
, vytvoření inventárního seznamu (07.2 RPP => NSIP (DGA)
) a zpracování registrovaných aplikací (07.3 Zpracování aplikací
). Následně spouští následující pipeline (08.1 Nahrát NKOD do SPARQL endpointu a spustit pipeliny pro kvalitu
)
07.1 Harvestace LKOD a formulářů, aktualizace uživatelského rozhraní - 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 Otevřené formální normy Rozhraní katalogů otevřených dat: DCAT-AP-CZ, tj. CKAN API, DCAT-AP SPARQL Endpoint a DCAT-AP Dokumenty. Má také režim pro spuštění v prostředí testovacích datových schránek. Po dokončení harvestace a transformace dat data nahrává do Apache CouchDB a Apache Solr pro LP-DAV, přidává metadata pro samotný NKOD, generuje RDF, CSV, JSON a HDT dumpy, spouští znovunahrání HDT dumpu do Linked Data Fragments endpointu a JSON dumpu do GraphQL endpointu, zasílá základní informace na Slack DIA.
07.2 RPP => NSIP (DGA) - Na základě dat z Registru práv a povinností (RPP) tvoří český National Single Information Point (NSIP) dle Data Governance Act (DGA).
07.3 Zpracování aplikací - Zpracovává a publikuje informace o registrovaných aplikacích využívajících otevřená data.
08.1 Nahrát NKOD do SPARQL endpointu a spustit pipeliny pro kvalitu - Restartuje Virtuoso SPARQL endpoint, vyčistí ho, nahraje čerstvé RDF dumpy a spustí 3 navazující pipeline (09
, 10
, 11
) pro měření datové kvality a jednu (08.2
) spouštějící další návazné pipeline.
Tato pipeline je spouštěna automaticky z předchozí pipeline (07
).
09 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.
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.
Neagregované indikátory jsou při každém běhu přepsány.
10 Statistika dostupnosti distribucí, schémat, podmínek užití a dokumentace - CORS - Zkontroluje dostupnost techniky CORS na všech v NKOD zaregistrovaných URL pomocí HTTP OPTIONS
požadavku.
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.
Neagregované indikátory jsou při každém běhu přepsány.
11 Kvalita metadatových záznamů v NKOD DQV - Počítá indikátory kvality metadatových záznamů v NKOD s ohledem na úplnost záznamu vůči Otevřené formální normě Rozhraní katalogů otevřených dat: DCAT-AP-CZ a základní statistiky. Agregované indikátory dostupnosti jsou uchovávány jako časová řada.
12 Kombinované indikátory kvality - Počítá indikátory kvality kombinované z předchozích výsledků.
13 Generování reportů v CSV - Z naměřených indikátorů generuje CSV soubory s přehledy, které jsou dostupné na stránce statistik z NKOD v Portálu otevřených dat.
14 Generování zprávy o novinkách v NKOD - Porovnává aktuální stav NKOD s předchozím a generuje zprávu o rozdílech na Slack MV ČR a na stránku statistik z NKOD.
15 Vytvořit NKOD sitemapy - Tvoří sitemapy Portálu otevřených dat. Dělení po 50 000 je kvůli omezení Google na velikost jedné sitemapy a na základě horního odhadu počtu datových sad v NKOD. V případě překročení hranice 150 000 datových sad je nutné přidat další sitemapy. Ve spodní části je generována sitemapa Otevřených formálních norem https://ofn.gov.cz/sitemap.xml.