1
C3V6 Návrh využití ontologických konceptuálních modelů agend v NKOD
Vytvořeno v rámci projektu
Rozvoj datových politik v oblasti zlepšování kvality a interoperability dat veřejné správy CZ.03.4.74/0.0/0.0/15_025/0013983
Klíčová aktivita: 04: Návrhy a realizace opatření pro zvyšování povědomí o otevřených datech
Indikátor: 8 05 00 Počet napsaných a zveřejněných analytických a strategických dokumentů (vč. evaluačních)
Verze výstupu: 01
2 Úvod Národní katalog otevřených dat (NKOD) popisuje datové sady v podobě katalogizačních záznamů podle otevřené formální normy pro rozhraní katalogů otevřených dat. Katalogizační záznam datové sady v NKOD sestává z metadat popisujících datovou sadu z různých úhlů pohledu. Jedním z úhlů pohledu je tzv. sémantický (významový) úhel pohledu, který umožňuje systematickým způsobem popsat význam datové sady tak, že je datová sada označena (anotována) pojmem nebo pojmy z předpřipraveného slovníku pojmů. K tomu je možné využít dvě metadatové položky:
● Téma - odkazuje na kategorii či téma datové sady, kdy alespoň jedno téma musí být z evropského číselníku datových témat ● Klasifikace dle EuroVoc - odkazuje na kategorii či téma datové sady z evropského tezauru EuroVoc
Evropský číselník datových témat i evropský tezaurus EuroVoc jsou příklady předpřipravených slovníků pojmů. Každý pojem ve slovníku má svůj jasně definovaný a široce akceptovaný význam. Pojem použitý k označení datové sady tak jasně charakterizuje význam datové sady. Navíc dvě datové sady označené stejným tématem nebo stejnou položkou tezauru EuroVoc spolu věcně souvisejí, protože se týkají stejného tématu, tj. mají určitý společný význam. Těchto věcných souvislostí je možné využít při vyhledávání datových sad v NKOD.
Podporované řízené slovníky zmíněné výše jsou ale pouze základními slovníky. MV ČR pracuje na koncepci pokročilejšího řízeného slovníku, který nazývá sémantický slovník pojmů veřejné správy ČR (SSP), což je ontologický konceptuální model, jehož ambicí je popsat jednotlivé agendy veřejné správy ve strukturované a vzájemně propojené podobě.
Cílem tohoto dokumentu je popsat, jakým způsobem by měly být rozšířeny katalogizační záznamy o datových sadách v NKOD o možnost anotace významu datových sad pojmy z SSP a jak mohou být rozšířeny funkcionality NKOD vystavěnými nad takovým rozšířením.
Tento dokument předpokládá znalost následujících dokumentů: ● Koncepce sémantického slovníku pojmů ● Metodika tvorby a údržby konceptuálních datových modelů agend Stávající řešení Katalogizační záznam Dle otevřené formální normy pro rozhraní katalogů otevřených dat je téma datové sady z evropského číselníku datových schémat nebo z tezauru EuroVoc přiřazeno k datové sadě v jejím katalogizačním záznamu pomocí vlastnosti dcat:theme (katalogizační záznamy jsou vyjádřeny v modelu RDF, viz otevřená formální norma). Např. datová sada Agendy z registru práv a povinností je popsána následujícím způsobem:
3
https://data.gov.cz/zdroj/datové-sady/00007064/9c73b802263c5e0ccf5542f10fbc35bb dcat:theme http://publications.europa.eu/resource/authority/data-theme/GOVE, http://eurovoc.europa.eu/2588, http://eurovoc.europa.eu/39 .
Prvním tématem je téma Vláda a veřejný sektor z evropského číselníku datových témat. Další dvě témata jsou témata Orgány veřejné správy a Pravomoc výkonné moci z tezauru EuroVoc. Jinými slovy témata říkají, že datová sada je o vládě a veřejném sektoru, o orgánech veřejné správy a pravomocech výkonné moci. Využití v NKOD NKOD předpokládá tato témata zobrazuje v detailu datové sady, čímž potenciálnímu uživateli dat vysvětluje význam datové sady. Viz následující obrazovka z NKOD.
Dále NKOD předpokládá, že dvě datové sady označené stejným tématem jsou tematicky příbuzné a má proto smysl uživatelům umožnit podle témat vyhledávat. Filtrování datových sad dle témat (ať už témata dle evropského číselníku datových schémat tak témata dle tezauru EuroVoc) tak nabízí jako součást facetového vyhledávání. Viz následující obrazovka z NKOD.
4
Návrh rozšíření o SSP Katalogizační záznam s pojmy ze SSP Struktura katalogizačního záznamu dle otevřené formální normy pro rozhraní katalogů otevřených dat nebude rozšířena o nové položky. Bude využita existující položka dcat:theme, která je používána pro anotace pojmy z předpřipravených slovníků. SSP bude jedním z podporovaných slovníků. SSP sestává z pojmů, které reprezentují typy objektů, vlastností a vztahů, které popisují realitu domény, např. domény registru práv a povinností.
Pro popis datové sady jsou vybrány ● typy objektů, o nichž jsou v datové sadě údaje ● typy vlastností, které jsou v datové sadě o objektech vyjádřeny v podobě údajů ● typy vztahů mezi objekty, které jsou v datové sadě vyjádřeny v podobě údajů
Např. pro popis datové sady s agendami z registru práv a povinností mohou být vybrány pojmy ze SSP zobrazené na následujícím diagramu:
5
● Typy objektů Agenda, Orgán veřejné moci a Činnost vyjadřují, že datová sada obsahuje údaje o objektech, které jsou agendami, agendovými činnostmi a orgány veřejné moci. ● Typy vlastností Má kód agendy, Má název agendy, Má identifikační číslo osoby orgánu veřejné moci, Má kód činnosti, Má název činnosti a Má popis činnosti vyjadřují, pro jaké vlastnosti objektů z předchozího bodu lze v datové sadě získat údaje. ● Typy vztahů Ohlašuje agendu a je vykonávána v agendě vyjadřují, jaké vztahy mezi agendami, orgány veřejné moci a činnostmi jsou v datové sadě reprezentovány jako údaje.
Technicky je ve strojově čitelné podobě datová sada pojmy označena následujícím způsobem:
https://data.gov.cz/zdroj/datové-sady/00007064/9c73b802263c5e0ccf5542f10fbc35bb dcat:theme https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/agenda, https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/orgán-veřejné-moci, https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/činnost, https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/má-kód-agendy, https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/má-název-agendy, https://slovník.…/111/2009/pojem/má-identifikační-číslo-osoby-orgánu-veřejné-moci, https://slovník.gov.cz/agendový/104/pojem/má-kód-činnosti, https://slovník.gov.cz/agendový/104/pojem/má-název-činnosti, https://slovník.gov.cz/agendový/104/pojem/má-popis-činnosti, https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/ohlašuje-agendu, https://slovník.gov.cz/legislativní/sbírka/111/2009/pojem/je-vykonávána-v-agendě .
Využití SSP v NKOD SSP sestává ze dvou částí. První částí je glosář pojmů agend veřejné správy. Z tohoto pohledu je podobný jiným řízeným slovníkům, se kterými již NKOD pracuje, tj. výše zmíněný evropský číselník datových témat nebo tezaurus EuroVoc. V glosáři má každý pojem svůj preferovaný název, alternativní názvy, definici a popis.
Druhou částí je pak ontologický konceptuální model, který pojmy glosáře propojuje do vzájemných souvislostí následujícími vazbami:
6 ● Specializace pojmů propojující speciální pojem s obecnějším pojmem ● Přiřazení typu vlastnosti k typu objektu ● Přiřazení účastnících se typů objektů k typu vztahu
Ontologický konceptuální model tak pro každý pojem definuje strukturovaným způsobem jeho významový kontext tvořený dalšími pojmy připojenými k pojmu vazbami.
● Kontextem typu vlastnosti je typ objektu, ke které je typ vlastnosti přiřazen. ● Kontextem typu vztahu jsou vztažené typy objektů. ● Kontextem typu objektu jsou k ní přiřazené typy vlastností a typy vztahů, kterých se typ objektů účastní a další typy objektů, které se účastní těchto typů vztahů.
SSP je pak možné v NKOD využít 3 způsoby:
- Zobrazení charakteristiky datové sady v podobě seznamu pojmů, kterými je datová sada označena.
- Zobrazení detailu pojmu, kterými je datová sada označena.
- Zobrazení konceptuálního modelu datové sady v podobě vizuálního diagramu. Zobrazení charakteristiky datové sady Obrazovka s detailem datové sady, na které jsou zobrazovány pojmy z evropského číselníku datových témat a z tezauru EuroVoc, kterými je datová sada označena, bude rozšířena o sekci, ve které budou zobrazeny pojmy ze SSP, kterými je datová sada označena.
Takových pojmů ale může být poměrně hodně. Seznam pojmů nesmí být příliš velký, protože by byl pro uživatele nepřehledný. Proto budou zobrazeny pouze typy objektů, kterými je datová sada označena, a pro které navíc existuje alespoň jeden jim přiřazený typ vlastnosti, kterým je datová sada označena. Typy vlastností a typy vztahů nebudou zobrazeny.
7
Seznam typů objektů pro zobrazení v detailu datové sady lze získat následujícími SPARQL dotazy. První dotaz získá ze SPARQL endpointu NKOD seznam všech pojmů, kterými je datová sada označena. Za #datováSada musí být dosazeno IRI dané datové sady. (příklad)
PREFIX dcat: http://www.w3.org/ns/dcat#
SELECT ?pojem WHERE { #datováSada dcat:theme ?pojem . }
Druhý dotaz pak vybere ze seznamu pojmů, které jsou výsledkem předchozího dotazu, ty pojmy, které mají být zobrazeny v detailu datové sady. Za #pojmy musí být dosazen seznam IRI pojmů, které jsou výsledkem předchozího dotazu, a tento dotaz musí být spuštěn na SPARQL endpointu SSP. (příklad)
PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# PREFIX owl: http://www.w3.org/2002/07/owl# PREFIX z-sgov: https://slovník.gov.cz/základní/pojem/
SELECT ?typObjektu ?typObjektuLabel WHERE { VALUES ?typObjektu { #pojmy } ?typObjektu a z-sgov:typ-objektu ; skos:prefLabel ?typObjektuLabel .
8 FILTER EXISTS { ?typVlastnosti a z-sgov:typ-vlastnosti ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty z-sgov:je-vlastností ; owl:someValuesFrom ?typObjektu ] . } } Zobrazení detailu pojmu Zobrazení typů objektů v detailu datové sady poskytuje základní informaci o sémantice datové sady. NKOD umožní zobrazit detail každého jednotlivého zobrazeného pojmu tím, že pojmy ze SSP zobrazí jako odkazy do prohlížečky SSP ve tvaru
https://slovník.gov.cz/prohlížíme/pojem?iri=[IRI pojmu] (příklad)
Pro detailní specifikaci prohlížečky SSP viz příslušný GitHub repozitář se zdrojovými kódy a dokumentací.
Následující obrázek ukazuje výsledek zobrazení detailu pojmu agenda.
9
Zobrazení konceptuálního modelu datové sady Uživatel může také potřebovat zobrazit kompletní konceptuální model. K tomu NKOD nabídne pod seznamem pojmů ze SSP v detailu datové sady tlačítko, které povede na zobrazení diagramu kompletního konceptuálního modelu. Tento diagram musí být automaticky vygenerován na základě seznamu pojmů, kterými je datová sada označena. K vygenerování lze použít volně dostupná řešení, jako např. PlantUML.
10
Následující obrázek ukazuje návrh umístění tlačítka.
Po kliknutí na tlačítko se v novém okně zobrazí kompletní ontologický konceptuální model vizualizovaný v podobě UML diagramu tříd podobnému tomu, uvedenému v příkladu výše. Doporučujeme jej maximálně zjednodušit, což by mělo určitě zahrnovat neuvedení kardinalit. Příklad zobrazení:
11
Pro konstrukci UML diagramu je nejprve nutno získat seznam pojmů, kterými je datová sada označena pomocí následujícího SPARQL dotazu do NKOD. Za #datováSada musí být dosazeno IRI dané datové sady. (příklad)
PREFIX dcat: http://www.w3.org/ns/dcat#
SELECT ?pojem WHERE { #datováSada dcat:theme ?pojem . }
Dále je potřeba vybrat pouze ty pojmy, které jsou typy objektů, typy vlastností a typy vztahů pomocí následujícího dotazu do SPARQL endpointu SSP. Za #pojmy musí být dosazen seznam IRI pojmů, které jsou výsledkem předchozího dotazu. (příklad)
12
PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema# PREFIX owl: http://www.w3.org/2002/07/owl# PREFIX z-sgov: https://slovník.gov.cz/základní/pojem/
SELECT ?pojem ?typ WHERE { VALUES ?pojem { #pojmy } ?pojem a ?typ . FILTER ( ?typ IN ( z-sgov:typ-objektu, z-sgov:typ-vlastnosti, z-sgov:typ-vztahu ) ) }
Dotaz vrací ze všech pojmů, kterými je datová sada popsána pouze pojmy ze SSP, které jsou typy objektů, typy vlastností nebo typy vztahů. Pro každý je nutno získat detail pro diagram.
Detail pro typy objektů je získán následujícím SPARQL dotazem nad SPARQL endpointem SSP. Za #typy_objektů musí být dosazen seznam IRI typů objektů, které jsou výsledkem předchozího dotazu. Dotaz vrátí pro každý dosazený typ objektu jeho název a seznam všech typů objektů, které specializuje, a jejich názvy. Nevrací specializované pojmy ze slovníku veřejného sektoru a ze základního slovníku. (příklad)
PREFIX z-sgov: https://slovník.gov.cz/základní/pojem/ PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema#
CONSTRUCT { ?typObjektu a z-sgov:typ-objektu ; rdfs:subClassOf ?předek ; skos:prefLabel ?typObjektuLabel .
?předek a z-sgov:typ-objektu ; skos:prefLabel ?předekLabel . } WHERE { VALUES ?typObjektu { #typy_objektů } ?typObjektu a z-sgov:typ-objektu ; skos:prefLabel ?typObjektuLabel . OPTIONAL { ?typObjektu rdfs:subClassOf ?předek . ?předek a z-sgov:typ-objektu ; skos:prefLabel ?předekLabel .
13 FILTER NOT EXISTS { ?předek skos:inScheme https://slovník.gov.cz/veřejný-sektor/glosář } FILTER NOT EXISTS { ?předek skos:inScheme https://slovník.gov.cz/základní/glosář } } }
Detail pro typy vlastností je získán následujícím SPARQL dotazem nad SPARQL endpointem SSP. Za #typy_vlastností musí být dosazen seznam IRI typů vlastností, které jsou výsledkem předchozího dotazu. Dotaz vrátí pro každý dosazený typ vlastnosti její název a typů objektů, kterému patří. Pro typ objektu také vrací jeho název. Pokud by jím nebyla datová sada označena, tj. byla by označena pouze typem vlastnosti, nebyl by název ve výsledku předchozích dotazů výše. (příklad)
PREFIX z-sgov: https://slovník.gov.cz/základní/pojem/ PREFIX skos: http://www.w3.org/2004/02/skos/core# PREFIX rdfs: http://www.w3.org/2000/01/rdf-schema#
CONSTRUCT { ?typVlastnosti a z-sgov:typ-vlastnosti ; skos:prefLabel ?typVlastnostiLabel ; rdfs:domain ?typObjektu .
?typObjektu a z-sgov:typ-objektu ; skos:prefLabel ?typObjektuLabel .
} WHERE { VALUES ?typVlastnosti { #typy_vlastností }
?typVlastnosti a z-sgov:typ-vlastnosti ; skos:prefLabel ?typVlastnostiLabel .
{ ?typVlastnosti rdfs:subClassOf [ owl:allValuesFrom ?typObjektu ; owl:onProperty z-sgov:je-vlastností ] . ?typObjektu skos:prefLabel ?typObjektuLabel . } UNION { ?typObjektu rdfs:subClassOf [ owl:allValuesFrom ?typVlastnosti ; owl:onProperty z-sgov:má-vlastnost ] . ?typObjektu skos:prefLabel ?typObjektuLabel . } }
A nakonec detail pro typy vztahů je získán následujícím SPARQL dotazem nad SPARQL endpointem SSP. Za #typy_vztahů musí být dosazen seznam IRI typů vztahů, které jsou