Dereferenciácia je proces, kedy je URI identifikátor entity zároveň možné použiť aj ako URL lokátor entity. Tým je možné zabezpečiť zobrazenie entity vo webovom prehliadači. Aby bola zabezpečená šifrovaná komunikácia od počiatku, všetky referenčné URI identifikátory vydávane MetaIS majú doménu data.gov.sk a komunikačný protokol https tj. https://data.gov.sk. Zobrazenie informácií, ktoré sú výsledkom dereferenciácie sú plne v kompetencii zdroja tj. vlastníka menného priestoru. Dereferenciácia bude zohladňovať prístupové práva a zobrazovať citlivé údaje v zmysle platnej legislatívy.
Kľúčovú rolu v dereferenciacii zohrávajú dva komponenty : MetaIS ako referenčných register URI identifikátorov a portál data.gov.sk
Riešenie dereferenciácie na sieťovej úrovni pozostáva z nastavenia presmerovania všetkých dopytov na data.gov.sk, ktoré spĺňajú regulárny výraz :
Code Block |
---|
https://data.gov.sk/(id|def|set|doc)/.* |
na stránku MetaIS a to takým spôsobom, že všetko čo sa nachádza za https://data.gov.sk/(id|def|set|doc)/.* automaticky presmeruje na
Code Block |
---|
https://metais.finance.gov.sk/refid/(id|def|set|doc)/.* |
Dereferenciácia je založená na volaní URI vo webovom prehliadači a preto je vykonávana cez GET metódu.
1.Algoritmus vyhodnocovania dereferenciácie prostredníctvom MetaIS
1.1 Dereferenciácia menného
priestorupriestoru neverzionovateľnej entity - bez zadania identifikátora entity
Žiadateľ môže v systéme MetaIS požadať o pridelenie celého menného priestoru. Napr. RPO požiada o zaregistrovanie menného priestoru :
Code Block |
---|
https://data.gov.sk/id/legal-subject/{id} |
pre potreby URI identifikácie RPO entít. Samotný menný priestor je
Code Block |
---|
https://data.gov.sk/id/legal-subject/ |
Po zadaní tohto menného priestoru do webového prehliadača, portál data.gov.sk presmeruje dopyt na :
Code Block |
---|
https://metais.finance.gov.sk/refid/id/legal-subject/ |
Nakoľko nie je zadaná presná entita ale menný priestor, MetaIS zobrazí stránku o popise menného priestoru s údajmi ako kto je vlastníkom daného menného priestoru, dátum registrácie a pod.
1.2. Dereferenciácia entity mimo správy MetaIS
Žiadateľ môže v systéme MetaIS požadať o pridelenie celého menného priestoru tj. identický proces ako v bode 1.
1.2.1 Neverzionovateľné URI entity
RPO požiada o zaregistrovanie menného priestoru :
Code Block |
---|
https://data.gov.sk/id/legal-subject/{id} |
pre potreby URI identifikácie RPO entít.Samotný vlastník menného priestoru RPO, môže definovať šablónu na presmerovania pri dereferenciácii v dvoch možnostiach
a) Použitím celej URI tj. využitie nahradzujúceho vzoru {uri} napr.
Code Block |
---|
https://rpo.statistics.sk/rpo/view?uri={uri} // Konkrétny príklad pre UPVII https://rpo.statistics.sk/rpo/view?uri=https://data.gov.sk/id/legal-subject/50349287 |
b) Použitím ID časti tj. využitie nahradzujúceho vzoru {id}
Code Block |
---|
https://rpo.statistics.sk/rpo/view?id={id} alebo https://rpo.statistics.sk/rpo/view/{id} // Konkrétny príklad pre UPVII https://rpo.statistics.sk/rpo/view?id=50349287 https://rpo.statistics.sk/rpo/view/50349287 |
Entita Úradu podpredsedu vlády SR pre investície a informatizáciu pre daný menný priestor by vyzerala nasledovne :
Code Block |
---|
https://data.gov.sk/id/legal-subject/50349287 |
Po zadaní tohto URI identifikátora do webového prehliadača, portál data.gov.sk presmeruje dopyt na :
Code Block |
---|
https://metais.finance.gov.sk/refid/id/legal-subject/50349287 |
V prípade, že RPO vyplní šablónu na presmerovani, MetaIS spraví presmerovanie na stránku registrátora podľa definovaného zdroja.
Code Block |
---|
https://rpo.statistics.sk/rpo/view?id=50349287 alebo https://rpo.statistics.sk/rpo/view/50349287 |
V prípade, že RPO nevyplní šablónu na presmerovani, MetaIS zobrazí stránku o popise menného priestoru s údajmi ako kto je vlastníkom daného menného priestoru, dátum registrácie a pod.
1.2.2 Verzionovateľné URI entity (verzionovateľné entity podliehajú špeciálnej špecifikácii)
a) Verzionovateľné entity pre DOC
Verzionovateľné entity typu doc predstavujú špeciálnu kategóriu pre potreby dereferenciácie.
Žiadateľ môže v systéme MetaIS požadať o pridelenie celého menného priestoru. Napr. MEF (modul elektronických formulárov) požiada o zaregistrovanie menného priestoru pre úložisko na dereferenciáciu súborov z definičného balíčka elektronických formulárov:
Code Block |
---|
https://data.gov.sk/doc/egov/eform/{id}/{version} |
Samotný unikátny menný priestor je
Code Block |
---|
https://data.gov.sk/doc/egov/eform/ |
b) Ostatené verzionovateľné entity
Code Block |
---|
https://data.gov.sk/doc/egov/eform/30807484.ziadost_o_vydanie_potvrdenia_o_nedoplatkoch_na_socialnom_poisteni_fo.sk/1.1 |
...
1. Dereferenciácia URI pre neregistrovaný menný priestor
V prípade, že používateľ chce dereferencovať URI, ktorého menný priestor nie je registrovaný v MetaIS alebo daná entita nie je v správe MetaIS, systém MetaIS vráti HTTP status code 404.
2. Dereferenciácia URI pre registrovaný menný priestor no neexistujúcu entitu
V prípade, že entita identifikovaná prostredníctvom URI neexistuje v systéme na ktorý bolo z MetaIS spravené presmerovanie, daný systém má povinnosť vrátiť návratovú hodnotu HTTP status code 404. V takom prípade MetaIS zobrazí vlastníka menného priestoru s oznamom, že daná entita neexistuje v zdrojovom systéme.
3. Dereferenciácia nereferenčného URI prvku
V praxi môže nastať situácia, kedy je jedna entita reprezentovaná viacerými URI. Podľa štandardu je povinnosť mať vytvorený mapovací dataset, ktorý premapováva vlastné URI na referenčné URI, ktoré sú schválené v MetaIS.
Priklad:
Bratislavský kraj sa nachádza vo viacerých číselníkoch s rozdielnymi URI, kde jedno referenčné a používa data.gov.sk. Poskytovateľ má mapovací dataset, kde pozná vzťah :
<https://statistics.sk/id/region/1> owl:sameAs <https://data.gov.sk/id/nuts3/SK010>
V prípade, že poskytovateľ (v tomto príklade štatistický úrad) by mal implementovanú dereferenciáciu, je požadované, aby na zadanie URI https://statistics.sk/id/region/1 do webového prehliadača bola odpoveď HTTP Status code 303 (See Other), ktorá vráti pre danú entitu referenčné URI tj https://data.gov.sk/id/nuts3/SK010 čí sa postupne prečistí celý URI priestor.
4. Not modified pri použití hlavičky If-Modified-Since
V prípade, že sa nezmení verzinovateľný zdroj od času definovaného v If-Modified-Since, je návratová hodnota HTTP Status Code 304 Not Modified.
2.3 Použitie Fragment Identifier (#) v URI
. Referencia entit a ich premapovanie na centralny model udajov
Jeden z navrhov na prepojenie centralneho modelu udajov navrhuje prepojenie cez referovanie pomocou XPath v posielanom XML subor. Na zaklade tejto poziadavky, je zapracovany aj navrh refereovania konkretnej entity vramci suboru. Pre XML vychadza navrh zo https://www.w3.org/TR/xptr-framework/ , kde je mozne referovat vramci subor Subor.xml cez XPath konkretny element cim si nechavame otvoreny priestor pre dalsie kolo standardizacie vramci prechodu na Centralny model udajov a��jeho napojenie na elektronicke formulare.
Na zaklade specifikacie, ktora vyuziva Fragment Identifiery vid https://en.wikipedia.org/wiki/Fragment_identifier je mozne referovat obsah aj inych typov dokumentov prostrednictvom URI. Priklad referovania 20 strany PDF dokumentu
https://data.gov.sk/doc/metais/strategicka-priorita-open-data/1.0/ADRESAR/V/METAIS/strategicka-priorita.pdf#page=20