Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 24 Next »

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 :

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

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 priestoru 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 :

https://data.gov.sk/id/legal-subject/{id}

pre potreby URI identifikácie RPO entít. Samotný menný priestor je

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 :

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 :

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.

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}

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 :

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 :

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.

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:

https://data.gov.sk/doc/egov/eform/{id}/{version}

Samotný unikátny menný priestor je

https://data.gov.sk/doc/egov/eform/

 

b) Ostatené verzionovateľné entity

https://data.gov.sk/doc/egov/eform/30807484.ziadost_o_vydanie_potvrdenia_o_nedoplatkoch_na_socialnom_poisteni_fo.sk/1.1

 

Samotný vlastník menného priestoru, 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.

 

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}

 

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 :

 

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 :

 

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.

 

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.3. Dereferenciácia URI entít v správe MetaIS

MetaIS je primárnym registrátorom niektorých základných entít ako napríklad dátové prvky, ontológie a preto v prípade zadania do webového prehliadača URI entity, ktorá je v gescii MetaIS, MetaIS presmeruje URI samo do seba ako je definované v bode 2. V priklade v bode 2 je zobrazená neverzionovateľná entita tj. entita, ktorá nemá verzie . Jediným rozdielom je pridanie parametru version, ktorý je nutné špecifikovať

Príklad šablóny verzionovateľnej entity:

 

https://data.gov.sk/def/ontology/{id}/{version}

 

URI ontológie právneho subjektu je :

 

https://data.gov.sk/def/ontology/legal-subject/2017-05-30.owl

 

Po zadaní toho URI do webového prehliadača, portál data.gov.sk spraví presmerovanie na:

 

https://metais.finance.gov.sk/refid/def/ontology/legal-subject/2017-05-30.owl

 

Nakoľko MetaIS je priamo správcom ontológiíí, vrámci MetaIS prebehne presmerovanie napríklad na URI

 

https://metais.finance.gov.sk/view/ontology?view=legal-subject&version=2017-05-30.owl

 


2. Technická špecifkácia dopytovania a odpovedí dereferenciácie

2.1 Dynamická zmena dereferenciácie prostredníctvom parametrov

V určitých prípadoch je vhodné, aby mal zdroj viacero možností návratových hodnôt URI entity. Na zaklade tychto poziadaviek je vytvorená metodika, ktorá povoľuje dynamicky dereferencovať zdroj a to :

  • použitím query časti v URI tj. časti za otáznikom
  • modifikovaním odpovede dereferenciácie prostredníctvom hlavičky

Tým vzniká pre vlastníka URI šablóny, ktorý dereferenciuje svoje entity povinnosť zdokumentovať v MetaIS parametre dereferenciacie. Parametre či už v hlavičke alebo za znakom otáznik nemenia samotnú identitu URI. Je možné ich chápať ako parametre služby na ten istý zdroj. Identifikátor entity v štandarde nepoužíva query časť v URI tj. identita medzi dvoma URI je preto určená bez query časti v URI.

2.1.1 Prostredníctvom query part v URI

Modifikácia dereferenciácie použitím otáznika, za ktorým pokračujú key=value parametre väzbené cez & znak.

2.1.2 Prostredníctvom hlavičky

Výsledok dereferenciácie je možné ovplyvňovať aj na základe hlavičiek. Povolené sú preto hlavičky : 

Content-Type

Použitie tejto hlavičky dovoľuje dereferencovať zdroj a to ako pre bežného používateľa, ktorý očakáva webovú vizualizáciu, tak aj pre technického používateľa, ktorý by chcel dostať informácie o zdroji v štruktúrovanej podobe tj. prostredníctom JSON, XML alebo RDF/XML formátu.


Štandardne používame nasledovné hodnoty pre Content-Type hlavičku :

  • Vizualizácia pre koncového použ ívateľa
    • application/xhtml+xml
    • text/html
  • Strojov spracovateľný výstup
    • application/xml
    • application/json
    • application/ld+json
    • application/rdf+xml
    • application/zip
    • ...

 

Version/Media type versioning
Nakoľko sa API poskytovateľov dereferenciácie môže vyvíjať v čase, hlavička Version povoľuje zmeniť návratovú hodnotu/vizualizáciu pre dané URI. Táto hlavička nemení verziu entity (napr. pri verzionovateľných entitých) ale LEN návratovú hodnotu pri dereferenciácii. V prípade, že pri volaní nie je verzia špecifikovaná, používa sa najnovšia verzia.

 


If-Modified-Since

Používatelia sa môžu často dopytovať na zdroj, ktorý je verzionovateľný. V prípade, že nie je zadaná verzia v URI, automaticky sa vracia vždy posledná verzia, čo môže byť požadovaná integračná vlastnosť pre mnohé systémy. Pre optimalizáciu poskytovania obsahu sa preto používa práve táto hlavička. Príklad: 

Používateľ chce sťahovať zoznam právnických osôb, ktoré sú vypublikované na portály data.gov.sk. Nakoľko chce mať vždy prehľad o najnovších entitách dopytuje sa na dataset všetkých právnických osôb s URI bez verzie. Daný dataset je ale veľký a tým pádom by často sťahoval obsah čo zaťažuje infraštruktúru. Prostredníctvom tejto hlavičky vie nastaviť, že nový obsah sťahuje len v prípade, že je vypublikovaná nová verzia. Ak sa obsah nezmenil, návratová hodnota má HTTP Status code 304 Not Modified

2.2 HTTP Status codes

 

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.

 

https://data.gov.sk/doc/egov/eform/123456/1.0/HOCI/AKE/ADRESARE/Subor.xml#xpointer(//Osoba/Priezviesko)

 

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
  • No labels
Unknown macro: {add-label}