- CORS
- Cross-Origin Resource Sharing
- DCAT-AP-CZ
- Otevřená formální norma "Rozhraní katalogů otevřených dat: DCAT-AP-CZ" založená na evropském standardu DCAT-AP, který je založen na webovém standardu DCAT
- DGA
- Data Governance Act - Akt o správě dat
- ISDS
- Informační systém datových schránek
- LKOD
- Lokální katalog otevřených dat
- NKOD
- Národní katalog otevřených dat
- POD
- Portál otevřených dat
- RDF
- Resource Description Framework - datový model využívaný NKOD
- SPARQL
- Dotazovací jazyk nad daty v RDF
Národní katalog otevřených dat (NKOD) obsahuje zejména databázi metadatových záznamů datových sad otevřených dat poskytovaných různými institucemi veřejné správy, která poskytuje SPARQL endpoint pro dotazování. V databázi se zrcadlí metadataové záznamy datových sad registrovaných jednotlivě přímo v NKOD a záznamy pocházející z Lokálních katalogů otevřených dat (LKOD) provozovaných přímo poskytovateli dat. Metadatové záznamy odpovídají specifikaci Rozhraní katalogů otevřených dat: DCAT-AP-CZ. Databáze NKOD je tvořena pravidelně denně. Po každém vytvoření databáze NKOD je zhodnocena i kvalita metadatových záznamů vzhledem k DCAT-AP-CZ a dostupnost registrovaných zdrojů. Na základě naměřených hodnot jsou vygenerovány reporty obsahující zjištěné skutečnosti.
Kromě datových sad otevřených dat NKOD obsahuje i datové sady Inventárního seznamu, což je seznam datových sad, ke kterým je třeba žádat o přístup dle DGA. Datové sady inventárního seznamu jsou přítomny ve SPARQL Endpoint, nejsou však viditelné v uživatelském rozhraní. Slouží primárně pro harvestaci do National Single Information Point (NSIP) v rámci "European Register for Protected Data held by the Public Sector".
Kromě záznamů o datových sadách obsahuje NKOD i záznamy o aplikacích využívajících registrované datové sady a záznamy o požadavcích na datové sady k otevření.
Na vstupu tedy NKOD zajišťuje zpracování příchozích registrací z ISDS, následnou harvestaci metadat z LKOD, včetně registrace metadat přímo do NKOD, a také zpracovává registrace aplikací pracujících s otevřenými daty a požadavků na data k otevření. Na základě těchto vstupů pak pravidelně nahránvá obsah NKOD do RDF databáze přístupné přes SPARQL endpoint, dále do Triple Pattern Fragments endpointu, GraphQL endpointu, vystavuje obsah NKOD v podobě souborů na webu, a nakonec také naplňuje databázi a indexy frontendové aplikace pro lidské uživatele, která obsahuje i registrační formuláře pro tvorbu registračních záznamů zasílaných pomocí ISDS.
NKOD je integrován do POD - portálu otevřených dat https://data.gov.cz, který také obsahuje informace pro poskytovatele a uživatele otevřených dat, školení a otevřené formální normy. Tato dokumentace se dále zabývá pouze částí NKOD.
Národní katalog otevřených dat se skládá ze 8 propojených hlavních částí:
- Prohlížeč datových sad (LinkedPipes DCAT-AP Viewer)
- Prohlížeč registrovaných aplikací (Aplikace)
- Zadávací formuláře pro registraci datových sad a lokálních katalogů (LinkedPipes DCAT-AP Forms)
- Část zpracování dat z formulářů a harvestace lokálních katalogů (LinkedPipes ETL)
- Vyzvedávač datových zpráv z ISDS (NKOD-ISDS)
- Databáze pro dotazování nad metadaty a poskytování metadat Oficiálnímu portálu evropských dat (OpenLink Virtuoso Open-Source)
- Linked Data Fragments server
- GraphQL server NKOD
NKOD očekává, že jednotlivé harvestované lokální katalogy otevřených dat (LKODy) dodržují Otevřenou formální normu Rozhraní katalogů otevřených dat: DCAT-AP-CZ. Na Portálu otevřených dat je dále popsána Správa záznamů lokálních katalogů a Správa záznamů jednotlivých datových sad.
Komunikace jednotlivých částí je ilustrována v diagramu komunikace a popsána v této sekci (nakresleno v diagrams.net - zdroj).
- Přístup přes protokoly HTTP a HTTPS. Využívají ho jak lidští uživatelé, tak aplikace přistupující na SPARQL, Linked Data Fragments a GraphQL endpointy nebo stahující dumpy.
- Stahování dumpů s obsahem NKOD.
- Přístup ke SPARQL endpointům, například pro Oficiální portál evropských dat.
- Přístup k prohlížeči datových sad (LinkedPipes DCAT-AP Viewer - LP-DAV).
- Přístup k zadávacím formulářům (LinkedPipes DCAT-AP Forms - LP-DAF).
- Přístup k Linked Data Fragments API NKOD.
- Přístup k GraphQL API NKOD.
- Zabezpečené přihlášení k frontendu LinkedPipes ETL (LP-ETL) pro monitorování běhu pipeline (přístup na nginx).
- Zabezpečené přihlášení k frontendu LinkedPipes ETL (LP-ETL) pro monitorování běhu pipeline (komunikace s LP-ETL).
- LinkedPipes DCAT-AP Forms používá Apache Solr pro autocomplete číselníků.
- LinkedPipes ETL nahrávají do CouchDB číselníky pro LP-DAV a LP-DAF a záznamy pro jednotlivé datové sady pro LP-DAV.
- LP-DAV načítá záznamy o detailech datových sad a názvy číselníkových položek z Apache CouchDB
- LP-DAV využívá Apache Solr pro vyhledvání datových sad.
- LP-ETL nahrává index a číselníky do Apache Solr.
- LP-ETL nahrává přes SSH/SCP dumpy ke stažení (komunikace s SSH), navazuje 27 - uložení do filesystému.
- LP-ETL si přes nginx vyzvedává externí číselníky a datové sady z cache.
- NKOD-ISDS ukládá vyzvednuté datové zprávy do filesystému.
- LP-ETL nahrává vyzvednuté datové zprávy a jejich metadata z filesystému. Naopak ukládá do cache externí datové sady a číselníky.
- LP-ETL harvestuje jednotlivé lokální katalogy otevřených dat (LKODy).
- NKOD-ISDS vyzvedává datové zprávy a jejich metadata z ISDS.
- (nepoužito)
- LP-ETL stahuje externí číselníky a datové sady do cache.
- LP-ETL spouští nahrávací proces do databáze OpenLink Virtuoso nad soubory (26) skrz SQL, maže stávající obsah skrz HTTP.
- LP-ETL nahrává skrz SSH/SCP soubory k nahrání do databáze OpenLink Virtuoso (komunikace s SSH).
- LP-ETL nahrává skrz SSH/SCP soubory k nahrání do databáze OpenLink Virtuoso (uložení do filesystému).
- OpenLink Virtuoso si vyzvedává soubory k nahrání z filesystému a nahrává je (na základě 23).
- LP-ETL nahrává přes SSH/SCP dumpy ke stažení (uložení do filesystému), navazuje na 15 - komunikace s SSH.
- LP-ETL signalizuje potřebu znovu nahrát data do GraphQL endpointu.
- GraphQL endpoint nahrává data.
- LP-ETL spouští v nginx webhook pro signalizaci potřeby znovu nahrát data do Linked Data Fragments serveru.
- Webhook v nginx signalizuje Linked Data Fragments serveru potřebu znovu nahrát data.
- Linked Data Fragments server nahrává data.
- Přístup k prohlížeči aplikací
- Prohlížení aplikací používá Apache Solr pro vyhledávání v aplikacích
- Prohlížení aplikací používá CouchDB pro čtení názvů číselníkových položek
Pravidelný běh NKOD je zajištěn zejména pravidelně spouštěnými datovými procesy (pipelinami) implementovanými v nástroji LinkedPipes ETL.
Data NKOD jsou uchovávána v datovém modelu Resource Description Framework (RDF) a skládají se z metadat datových sad registrovaných do NKOD či harvestovaných z LKOD. Jejich struktura se řídí specifikací DCAT-AP-CZ.
Část týkající se měření kvality záznamů pak vychází ze slovníku Data Quality Vocabulary.
Kromě výše uvedených dat obsahuje SPARQL endpoint NKOD záznamy o registrovaných požadavcích a aplikacích používajících otevřená data.
Tyto záznamy se taktéž řídí DCAT-AP-CZ v případě požadavků, které jsou reprezentovány jako datové sady bez distribucí, a DCAT-AP pro aplikace, které jsou reprezentované jako dcat:Resource
s rozšířením definovaným v Sémantickém slovníku pojmů.
Lepší představu o jejich reprezentaci poskytnou příslušné pipeline 07.3
a 07.4
.
Uživatelé NKOD jsou následujících druhů.
- Běžný návštěvník
- Používá hlavně frontendovou aplikaci pro procházení registrovaných datových sad, aplikací a požadavků
- Návštěvník se znalostí SPARQL
- Pro pokročilé dotazování a strojový přístup k obsahu NKOD je třeba znát SPARQL a RDF, znát specifikaci DCAT-AP-CZ, a pro zpracovávání údajů z měření kvality pak ještě Data Quality Vocabulary.
- Externí IS
- Externí IS bude přistupovat k webové službě SPARQL endpointu, GraphQL, Triple Pattern Fragments a nebo stahovat soubory s obsahem NKOD. Potřebuje knihovnu pro práci se SPARQLem, znát RDF, znát specifikaci DCAT-AP-CZ, a pro zpracovávání údajů z měření kvality pak ještě Data Quality Vocabulary.
- Poskytovatel otevřených dat
- Poskytovatel otevřených dat potřebuje využívat zejména funkcionalitu registračních formulářů pro tvorbu registračních záznamu k zaslání pomocí ISDS. Dále potřebuje kontrolovat své datové sady v NKOD z hlediska přítomnosti a kvality, což může dělat buď v uživatelském rozhraní frontendové aplikace, nebo skrze strojově čitelná rozhraní, pro která pak potřebuje znát RDF a SPARQL, znát specifikaci DCAT-AP-CZ, a pro zpracovávání údajů z měření kvality pak ještě Data Quality Vocabulary.