Komisia pre štandardy ISVS - PS1

No veď predsa, keď mám kľúčové/referenčné registre, ktoré môžu byť otvorené (RPO, RA, RDS), a tieto samozrejme používajú URI a Centrálny model, tak podľa mňa rovnaké identifikátory a rovnaký model sú použité aj v 1xdosť (kde sú použité aj ďalšie, uzavreté dáta). Napr. URI Štefanovičovej ulici v Bratislave

bude jednak použité v rôznych open data (zoznam ulíc, zoznam križovatiek …), ale rovnako bude použitá aj v niektorej službe 1xdosť.

Ja priznávam že projekt ITMS2014+ moc nepoznám, zachytil som ho pár krát na opendata. Ale už dlhšie plánujem sa naň pozrieť, týmto idem na to. Až potom budem trošku viac v obraze aby som niečo počiatočne správne povedal.

Do konca roka chystáme vydať nový LOD, a myslím že prvé hlavné dáta projektu ITMS by som tam mohol stihnúť vložiť. Myslím tým ontológiu a príklady namapované na ostatné registre RPO, RA, … Na začiatok uvažujem o použití PROCC ( an Ontology for Transparency in Public Procurement), ale to asi nebude stačiť. Myslím, že to môže aj pomôcť ujasniť si veci.

Mozu lebo to zakon dovoluje alebo je to bordel? Podla mna skorej bordel a ten musi byt skor ci neskor vycisteny lebo inak sa to nikam nepohne. Tam podla mna nie je ziaden rozdiel vo vnimani.
Ak sa pouzije vlastny identifikator URI tj. nie https://data.gov.sk/… ale napr. https://opendata.itms2014.sk/… tak hovorime o 4 hviezdickach. Ten princip popisuje @Lubor v komente nizsie.
Dalsia dolezita vec je, ze tak ako sme sa bavili aj s @anton-somora tak pre kazde z tychto cielov bolo velmi narocne napisat spravnu vetnu definiciu tak aby to veci posuvalo no zaroven aby to malo hlavu a patu. Ak je v RPO bordel, ktory sa do 1.5 roka neopravi (projekt datova integracia bol prvy a pojde najskorej o rok von z obstaravania + kym sa nieco vyprodukuje tak 1.5 roka sa vlastne nic netyka daneho pravidla), tak bude to sice smutne ale kazdopadne definicia znie “maju vysoky potencial pre znovapouzitie”. Ked je to bordel tak tato veta moze znamenat ze RPO a jeho identifikatory zatial na to nie su pripravene aby spadali do chlievika “vysoky potencial pre znovupouzitie”.

Ako ma vyzerat 5 hviezdickovy dataset? Su to datasety, kde vacsina identifikatorov v nom je referencnych a pouziva Centralny model.

Ktoru cast mas na mysli? Tu s mapovanim a ze ako toma fungovat alebo tu kde namiesto ciselneho ID bude URI ako ID?

Kazdu integracnu REST alebo aj SOAP sluzbu - sluzba ktoru iny system/aplikacia vola a pouziva.

Vystup je stale ten isty JSON. V externom systeme (MetaIS) sa len cez JsonPath http://jsonpath.com/ (pri SOAP to bude XPath) napise mapovanie
JsonPath pre attribut1 = URI_referencny_identifikator

Priznam sa ze uplne neviem ci je ITMS pre niekoho dalsieho referencnym registrom alebo len prepouziva identifikatory a ciselniky od inych. Preto scenare mozu byt dva :

  1. Identifikatory, ktore spominas maju “potencial pre znovupouzitie” a preto by sa pouziadala Datova kancelaria aby ich zaviedla do Centralneho modelu + aby im bol prideleny nejaky namespace https://data.gov.sk/id/zonfp/{id}
  2. Bude odmietnuta datovkou ze takato vec nema zmysel aby mala referency URI identifikator a tym padom nebudu identifikatory v tvare https://data.gov.sk/id/zonfp/{id} tj nepatria ani do 5 hviezdiciek. V 4 hviezdickach sa meni v principe len to, ze namiesto https://data.gov.sk by bolo https://opendata.itms.sk/id/zonpf/{id}. Nie je to referencny identifikator, je to “len” ITMS identifikator. Pre tieto identifikatory nie je povinna dereferenciacia a je Optional : vid definicia na spodku tejto stranky 4 vs 5 : https://wiki.finance.gov.sk/pages/viewpage.action?pageId=16416799

Premapovanim na centralny model sa v samotnej sluzbe nic v principe nemeni, az teda na to ze entity, ktore maju referecne URI tak take sa aj ma pouzivat (v NUTS ciselniku bordel nie je tak ten moze byt automaticky https://data.gov.sk/…). Prepisovat sem celu sluzbu by bolo nadlho tak aspon koncepcne. V tom vystupnom JSONe je

,{“nuts3”:{“id”:10,“kodZdroj”:“SK021”,“nazov”:“Trnavský kraj”}.

a jedina zmena je ze by sa to zmenilo na

,{"nuts3":{"id":10,"kodZdroj":"https://data.gov.sk/id/nuts3/SK021","nazov":"Trnavský kraj"}

Samotny model JSONu by bol ale bez zmeny. V MetaIS by bolo napisane ze

$.miestaRealizacie[*].nuts3.kodZdroj = https://data.gov.sk/def/ontology/location/NUTS3

Co reprezentuje, ze na danom JSONPath sa nachadzaju URI individua typu NUTS3 a tak vlastne stat zisti, ze kde sa tento ciselnik vobec pouziva.

Tvoj navrh je ± taky ako si ho cely cas predstavujem aj ja. Rozdiel je ten ze tvoj interny identifikator, ktory ma URI som ja oznacoval ako 4 hviezdickove data a ked uz bude register precisteny tj. bez duplikatov a podobnych veci, tak vznikne centralny referencny identifikator URI a to je to co zacina https://data.gov.sk/… Som rad ze v principe veci vidime rovnako len sme ich inak nazyvalii a mozno aj z toho to nedorozumenie.
Co sa tyka prilepku k OpenData tak ono je to mierne inak. Vsade sa chceme aby to postupovalo tak ako si hore popisal a preto aj OpenData sa stale jednou z takych oblasti, ale urcite nie jedinou - preto hovorim, ze URI sa ma pouzivat na komunikaciu na rozhraniach a publikacia udajov. Urcite to nie je zamyslane LEN pre OpenData, ale aj pre OpenData.

1 Like

Nebolo mozne tam napisat ze sa to tyka LEN referecnych udajov a to aj preto co popisuje @balgava kde jedno ICO ma viac entit a to by tak samozrejme nemalo byt a je to kvoli bordelu. Preto sa tam napisala ta salamunska veta “vysoky potencial na znovupouzitie”, kde ked je aj bordel v referencnych data, tak dokym nebudu precistene tak sa im taky identifikator neda pridelit.

Ako som pisal, sluzba a dataset sa vnimaju aspon v navrhu odlisne. Preto JSON-LD by bol sice super ale tam zatial nie sme, a staci obycajny JSON/XML/… ale bude mat v MetaIS popisane mapovanie vstupneho aj vystupneho modelu sluzby na Centralny model vid ako som popisal v predchadzajucom prispevku.

Scope - v idealnom pripade referencne data a zakladne ciselniky ale az ked budu v bezchybnom stave co sa tyka identifikatorov. Takisto aj napriklad niektore udaje z DCOM a samospravy.
URI - som rad ze sa zhodneme
triplety - pre API suhlasim ze nie, datasety podla mna ale mozu mat odlisne kriteria nakolko maju aj odlisny usecase

Finalny model by mal byt zakresleny do nejakeho ERD aby sa kazdy lahko zorientoval. Pri tvorbe toho final modelu je nutne sa pozerat ale aj na “sub modely” a tam to nie je vzdy trivialne vyjadrit. Napriklad to co som ti spominal - tagovanie entit v zakonoch ale v principe to iste bude aj v sluzbach kde bude ta ista entita a atribut vystupovat v N roznych sluzbach.

S tym maximalne suhlasim, vzhladom na hore popisane a dovysvetlovane … myslis si ze tlak na zvysenu kvalitu zhltne vyznamnu cast rozpoctu/casu? Co sa tyka zlepsenia existujucej sluzby tak tam som urcite za, ved drviva vacsina sluzieb je extremne pouzivatelsky neprivetiva. V ramci deklaracie udrzatelnosti sa nesmu na tu istu vec, ktoru chceme len vylepsit tj. priklad sluzbu, pouzit prostriedky z EU po dobu minimalne 5 rokov po odovzdani tj. v takmer vsetko 31.12.2015 + 5 rokov, ale musi sa to spravit z vlastnych nakladov. Nakolko sa v DFS a akceptacnych protokol popisali aj myty a legendy o funkcionalitach tak to chce hodne kreativity aby vobec nejake peniaze na to boli a EU audit to neroztrhal. Papierovo sa totiz dodalo take nieco ze teraz uz vlastne ani neviem co vobec chceme zlepsovat :slight_smile:

PS:
S tym NLP by sa mi to ale pacilo :stuck_out_tongue: .

Nuž ako je to nakoniec naplánované si pozrite tu:

Bolo by fajn vedieť čo si o tomto dokumente myslia skutoční používatelia OpenData.

Dobrý deň, skúsim položiť doplňujúce otázky, aby som sa lepšie zorientoval.

Aby sme sa lepšie pochopili - skúsme sa vrátiť k 5stardata.info. Ospravedlňujem sa ak to tu už bolo vysvetlené, ale prečo za definíciou 4* vidíme automaticky “RDF/XML”?. Prečo úroveň 4* nemôže spĺňať obyčajný JSON (schema alebo export), kde sú použité URI ako “referencujúce” identifikátory? Keď sa pozriem na definíciu: “use URIs to denote things, so that people can point at your stuff” tak sa takýto výklad pod to zmestí nie? Kde presne je tam “automaticky” RDF?

Pozeral som model, a mám pocit, že keby bol zadefinovaný v úrovni 4* (tak ako si ju zatiaľ vykladám), tak sa výrazne jednoduchšie číta a chápe, zároveň je priamočiarejšie prepoužiteľný do OpenAPI (lebo napr. JSON schéma) a pod.

Skúmam, či si vieme zafixovať také členenie, ktoré bude postačujúce pre “referenčné údaje” (4* napríklad dereferencovanie by sme nemuseli mať automaticky) a zároveň nezavrie cestu pre zmysluplnú množinu otvorených údajov - tak aby boli na vyššej úrovni (5* a pobavme sa čo presne táto vyššia úroveň je, a čo prináša).

1 Like

Na danej stranke co je tu postovana je ako na obrazku, tak aj v samotnych popisoch co jednotlive stupne znamenaju ze 4* = RDF.

Kazdopadne samotne pouzitie je odlisne podla typu publikacie.

Treba rozlisovat dataset a API, pretoze pre jednu je potrebne aby vsetko malo URI (dataset) presne podla definicie a pre druhe je to obycajny JSON s tym, ze cez MetaIS je tam mapovanie.

Samotneho JSONu sa to dotkne iba tak ze ked sa v nom niekde hovori o identifikatore (kodKraja z predhadzajuceho prikladu, ktory som vypisoval ako to je presne na ITMS sluzbe) tak to ma byt URI. Samotny model je ale uplne standardny JSON a ziadne veci navyse. Zaroven aby sa ale vedelo co sa kde pouziva a posiela tak preto to mapovanie v MetaIS, lebo vlastne stat momentalne nevie robit analyticke dopyty nad tym ze v akej sluzbe sa ake data poskytuju a pouzivaju aby napriklad vedel aj lepsie vyhlasovat referencne udaje alebo robil presnejsie financne analyzy pri zmenach.

Ked sa bavime o datasetoch, tak “URI to denote things”, vyjadruje presne to co to hovori. Clovek vie ukazat presne aj na atribut a nie len na jeho hodnotu. Ja teda mozem hovorit o konkretnom atribute lebo aj ten ma URI a zaroven aj o jeho hodnote. Prakticky na kazdu vec v datach sa da ukazat. Preto az toto je mozne chapat ako realne RDF, lebo az vtedy je vlastne atribut URI a aj hodnota atributu bud URI alebo nejaky Literal (string, integer, …).

Ano, bavili sme sa o tom ze asi to je to preco tu vznika nepochopenie a momentalne sa robia standardne UML class diagramy (tam nie je problem to kreslit ako UMLka). Do standardu sa davala low level technicka specifikacia a tieto “big picture” obrazky tam chybaju a je pravda ze mali by tam byt prilepene o com sa porozpravame na najblizsom stretnuti a prihodia sa na confluence. Kazdopadne existujuce referencne registre(RFO, RPO, …), maju tieto udaje vo Worde v tabulke len sa to nepreklopilo aj do Confluence. Nastarosti to ma u Vas pani Niksova, kazdopadne aj UMLka budu coskoro dostupne.
Myslim si ze sa tu dost tocime a vraciame stale k tym istym veciam a preto idealne je sa k tomu stretnut a prejst si to. Tak ako je pisane v postoch vyssie, pre 4 hviezdicky sa dereferenciacia ani nevyzaduje (je to OPTIONAL) a to je tak aj v standardoch, kde link je hore uvedeny. Myslim si ze priestor na diskusiu je tu isto velky a definicie su dostatocne flexibilne aby naplnili ciel ale zbytocne nevytvarali nezmyselne bariery. Verim ze naozaj je mnohe sposobene nedostatocnym vysvetlovanim navrhu.

1 Like

Dobre, snáď iterujeme k potrebnej miere detailu. Ja som to pochopil z textovej definície inak (use URIs to denote things, so that people can point at your stuff) = trošku v užšej miere. Skúsme sa na stretnutí (privítam ho) pobaviť aj na tému, ktorú vopred avizujem: Čo ak nebudeme evidovať atribúty ako URI (iba hodnoty). O čo presne prídeme? Pretože prepájať datasety bude možné (URI v “hodnotách” nepustia). Čo presne získame evidovaním atribútov ako URI, resp. zostrojovaním niečoho takéhoto: Schema.org - Schema.org. Dataset v mojej (jednoduchej) predstave buď používa primitívne typy, alebo komplexné. Komplexné buď definované v rámci datasetu, alebo cez @ref v samostatnej - napríklad json schema - definícii (aha tu je URI tiež - ale nie konkrétneho atribútu, ale celého typu ktorý “vnáram”). Veľmi ale príklady pre zdieľané komplexné typy (medzi datasetmi) nevidím - možno sa na to pozerám zle - ale keď chcem publikovať dataset, alebo referenčný údaj - tak tam dávam prevažne atribúty ktoré sú unikátne pre mňa a čo môžem to linkujem na údaje z iných registrov (čiže len URI). Možno zistíme, že sa vieme zhodnúť na úrovni 3.5* (alebo 3*+) :wink: pre “bázu” a samozrejme určitú skupinu údajov potiahneme do 4*, resp. 5* (ale budeme vedieť čo od toho očakávame).

1 Like

Prideme o to, ze schema nie je unifikovana a tym padom aj tahsie prepojitelna lebo nemusi byt jednoznacna. Zaroven ako som napisal, narocnejsie je to aj z pohladu toho ze neviem ake presne data sa kde pouzivaju.

Rozdiel je cca asi takyto:
X si nazve atribut nazve “meno”
Y si nazve atribut ako “meno” a ma aj dalsi atribut “priezvisko”
Je mozne povedat ze X meno == meno z Y? alebo X meno == meno + priezvisko z Y?

Ak ten atribut bude https://data.gov.sk/def/ontology/physical-person/familyName tak je hned jasne ze nie je meno ako meno a raz je to meno a priezvisko dokopy a raz je to iba krstne meno (pri API len cez externe mapovanie v MetaIS).To je to co razi Google, Microsoft, EU a spol tym ze tvoria unifikovany model udajov, ktory oni nazyvaju schema.org resp Core Vocabulary pre EU a u nas Centralny model udajov od nich “dedi” a rozsiruje ho pre slovenske specifika.

Google vie taketo URIfikovane data na urovni schemy strukturovane indexovat, vyhladava ich podstatne lepsie a zaroven vie robit semanticke infoboxy (query do Google “Dunaj” alebo “Andrej Kiska”). Proste neindexuje ten obsah hlupo ale vie ze co je to tam popisane.
Tym ze je nejaky spolocny jazyk jednoznacnych identifikatorov a to nie len hodnot (long identifikatorov) ale aj modelu (atributy su tiez ako URI) tak sa nad nim daju robit strojove spracovania. Takze atribut “meno” pomoze Google len ako fulltext token, ak je to ale otagovane v JSON-LD ako familyName - Schema.org Property a je to vlozene ako metadata do HTML stranky tak si to zaraduje do svojho knowledge grafu a pracuje s tym ako so strukturovanou informaciou. : Intro to How Structured Data Markup Works | Google Search Central  |  Documentation  |  Google for Developers
Vsetky nase datasety tak mozu byt vyhladavatelne nasobne lepsie uz cez Google. Verim ze tento Google priklad ukazal, preco ma zmysle mat atributy URI a nie len texty. Kazdopadne znova len pripomeniem ze v navrhu je rozdiel medzi API a datasetom.

Presne, ale ked chce na ne niekto iny odkazat tak to vlastne nevie inak ako slovne. Proste ked chce niekto povedat ze v sluzbe XY atribut Z tak to musi takto napisat namiesto toho ze to vie vyjadrit jednoznacnym identifikatorov. Takisto ked chce povedat ze obe sluzby posielaju rodne cislo tak to vedia len tak ze pouziju URI identifikator na urovni modelu (znova problem ze ci je to personID, rodCislo, rodneCislo…)

Tak to je viac menej aj zapisane. Pretoze jedine 3 hviezdicky su na 100% a zvysne urovne maju nizsie percenta + aj tahsie podmienky ako “iba pre nove alebo inovovane” alebo len “z vysokym potencialom znovupouzitia”. Preto ak sa na to pozerame takto tak baza/minimum su stale 3 (ak sa dohodneme na minimum 3.5 tak o to lepsie). Proste len pokracujeme v nastolenom trende.
Vyhody su ako som povedal jednoznacna identifikacia toku dat v sluzbach a datach, strukturovane vyhladavanie na narodnej urovni (dopytovanie prirozdenym jazykom - mozem ukazat ukazku ale neoficialne :angel: ), dohladatelnost aj cez Google na vyssej urovni, unifikacia modelu nad ktorym sa daju robit unifikovane validacie( ked poviem ze meno = https://data.gov.sk/def/ontology/physical-person/familyName a vieme ze familyName ma constrain maxLength = 255 znakov, tak automaticky viem centralne poskytovat validacne constrainy a nebude to rozbite tak ako teraz. Datasety je taktiez mozne validovat nie len na zaklade syntaxe ale aj semantiky, zladenie s EU,semanticke mashupy a dopytovanie cez SPARQL endpointy,… nakonci dna by to mal byt hlavne poriadok a setrenie penazi.

Som za.

2 Likes

Ak sa má štandardizovať Centrálny model, nie je možné oddeliť vlastnosti od tried, to potom nie je štandardizácia. Toto nebolo ambicíou ani v historickom KDP, veď predsa musia sa definovať požiadavky na názov spoločnosti, resp. alternatívny názov, resp. formátované meno spoločnosti. To sú tri rôzne vlastnosti a vyjadrujú rôzne veci. A to je kľúčové aj pri výmene údajov medzi ISVS a aj pri publikácií datasetov. My musíme spoločne vedieť, akú vlastnosť mám na mysli, a preto je globálny identifikátor nutný. Tj. raz je to lsub:name, raz lsub:alternativeName a raz lsub:formattedName.

Navyše, URI pre vlastnosti sú dôležité aj pre identifikovanie referečných údajov, čo je už podporované aj v MetaIS. Napr. referenčný register pre lsub:name je RPO, ale pre pper:givenName je to už RFO.

Centrálny model je ľahko možné vizualizovať aj prostredníctvom UML, pretože podobne ako UML aj OWL používa triedy, relácie (dedenie) a podobne. Keď študujeme rôzne iné zahraničné ontológie, veľmi často používame ich UML podobu. Aby informácie o centrálnom modeli neboli príliš roztrúsené vo viacerých vláknach, vytvoril som preň domovské samostatné vlákno, kde môžeš spomenutú vizualizáciu vidieť:

Chápem. Iný pohľad je nasledovný - to meno z “physical-person” predsa používam len pri jednej entite (v ostatných len odkazujem identifikátorom na celú entitu (physical-person)). Keďže v tom jednom prípade bude jasne v dokumentácii typu povedané čo je to za atribút (či je tam meno alebo meno + priezvisko) - tak problém ktorý je tu uvedený vlastne nevzniká.

Iný pohľad je nasledovný - ak mám dobre zadefinované a zdokumentované typy v datasetoch, tak tento “strojovo spracovateľný meta-popis”, resp. napojenie na akúsi “globálnu” verziu - viem zostrojiť ako nadstavbovú vrstvu. Toto jasné členenie (základ a nadstavbová vrstva) mi umožní aplikovať “ontologický prístup” najprv len na vybranú podmnožinu údajov - následne vyhodnotiť prínosy voči prácnosti (či Google, Facebook, alebo EÚ sa pripojí a aké z toho budú efekty) a až potom rozširovať ďalej. Nazdávam sa, že toto je obojstranne výhodný princíp - najprv overiť a až postupne rozširovať - a pomôže k tvorbe širšieho konsenzu k tejto otázke.

Toto by som upresnil. V definíciach OpenAPI vieme presne povedať, ktorá služba má aké vstupy a aké výstupy (štruktúrovane). Adresácia celého API je pomocou URI, pričom je to už len o strojovom spracovaní formátu určeného na strojové spracovanie (= bez problémov). Takže tu nemusíme ísť do ontológie - stačí využiť štandard.

Otázka je ako to formálne dotiahneme v dokumente, ktorý je výstupom z PS. A o tom bude stretnutie - myslím si, že niektoré definície príliš striktne fixujú ontológiu a veci s ňou súvisiace (a náš názor zatiaľ je, že by nemuseli). Ale všetko je otvorené, závery budeme robiť až po stretnutí a diskusii.

1 Like

Ak sa bavime o dokumentacii, tak ta je vecinou slovna. Tu ide o strojovo citatelnu a jednoznacnu identifikaciu. A validacia centralna sa potom vlastne ako robi ked je to len v texte ze je to meno ale je to akekolvek meno? Ci bude sa to riesit ako doteraz ze validacia vlastne nie je?

Presli sme teda od API k datasetom? (je tu pomotany meta popis pre sluzby a jednoznacna schema tak neviem). Bavime sa o CSV? Kde sa tam definuje typ? Akoze textova dokumentacia? Ma CSV nieco take ako validaciu typov ako je XSD? Alebo predpiseme ze jediny mozny format je XML s XSD?

Ak sa bavime o API sluzbach, tym ze je to v MetaIS tak to moze byt chapane ako nadstavba a nie sucast.

EU to vyzaduje a viaze na to cerpanie eurofondov takze nie ze EU sa pripoji, ale my sa mame pripojit. Posielal som to sem uz viac krat, ale znova davam do pozornosti : https://www.europeandataportal.eu/sites/default/files/goldbook.pdf
Kde v kapitole 4.1.3 Preparing data: technical openness hovoria len o koncepte linkovanych datach a ako sa ma kazdy dataset donho transformovat a v kapitole 4.1.5 to popisuju ako potrebny check pred publikaciou. Nakolko Google a spol. to pouzivaju a my nie, tak znova si myslim ze to my sa pripajame na nich a nie oni na nas.

Zo dna na den to nebude mozne spravit takze rollout bude isto trvat a rozsirovanie bude postupne. Ked sa to tak vezme tak zatial len dva projekty sli na hearing a termin zaciatku je najskor koniec dalsieho roka. Myslim si ze rychly nastup nehrozi.

pokial viem tak viem definovat ze “meno” a viem povedat ze je to json. Ale to ze toto meno je to iste ako meno v inej sluzbe neviem kde sa prepaja v OpenAPI specifikacii. Ako teda viem povedat ze tato sluzba s meno je ta ista ako ina sluzba kde je taky atribut? a ze stat posiela v tu take data v tam zasa take a je to unifikovane?

Suhlasim, pobavme sa o tom.

1 Like

Marek, uisťujem vás, že technologicky je možné všetko aj mimo ontológie. Validácie viete urobiť pomocou JSON schémy (napríklad). Nie som zatiaľ presvedčený, že nejaké validácie (publikované) potrebujeme (veď sa bavíme o exportoch kde sú tie dáta správne). V časti API predsa validuje služba (čo nezvaliduje z pohľadu formátu schéma) a pod. Ale možno mi len niečo v uvažovaní chýba.

“Strojovo čitateľná dokumentácia” je super, ale musíme vedieť kto ju na čo využije. Tu tvrdím, že je možné ju urobiť ako nadstavbu, overiť jej užitočnosť a v prípade osvedčenia postupne rozširovať.

V mojom rozmýšľaní (kde beriem RDF a ontológie ako jeden z možných nástrojov) sa svet API (vstupov alebo výstupov z metód) a svet datasetov celkom dobre prepája - ak budeme chcieť (to čo je definované v datasete je +/- súčasťou výstupu z nejakej služby a pod.). Neťahajme sem CSV - bavme sa o OpenAPI a bavme sa o JSON exportoch (datasetoch) - tam je aký problém s typmi?

V prvom rade sa bavme o tom, či je to užitočné, alebo nie. Využívať EÚ zdroje na niečo o čom nebudeme presvedčení že plní úžitok - nie je prístup, ktorý by sa od nás očakával (skôr by sme na to mali upozorniť, a keďže tá dohoda sa formovala už pred nejakým časom - možno dosiahnuť jej zmenu). Na druhej strane nikto netvrdí že to má zájsť sem, sústreďme sa na postupné zavedenie a skúsme nájsť mechanizmus, ktorý nám pomôže zaviesť novú myšlienku v miere, ktorá bude mať najlepší pomer prácnosť/úžitok. Ak sa ukáže téma ako užitočná - tak nikto nebude proti, aby sme ju zaviedli hoc aj v plnom rozsahu. Nazdávam sa, že oddelenie centrálneho dátového modelu od “ontologickej nadstavby” by mohol byť takýto mechanizmus.

Viac už v tejto chvíli nestíham, nechajme si niečo aj na stretnutie.

To je kto my?

Pretože na Slovensku existuje jediná pracovná skupina pre dátové štandardy a to je
PS1 - Pracovná skupina pre dátové štandardy a štandardy názvoslovia elektronických služieb

ktorá bola navyše pomerne nedávno aktualizovaná/renominovaná, takže jej stav je plne oficiálny, keď to mám tak povedať (A pracovnú skupinu NKIVS::K9.4 zatiaľ ešte dávam bokom). Na základe viacerých stretnutí, publikovaných informácií (a to aj tu na platforme) bol Centrálny model údajov verejnej správy schválený zástupcami rôznych inštitúcií, verejných a komerčných.

Kedže si nechodil na žiadnu pracovnú skupinu hoc mohol si vždy prísť, ja by som tomu bol rád, asi by sme veľa vecí mali vysvetlených lepšie (a keď privriem oči, tak si viem predstaviť že by sme aj spolupracovali) ; tak ti tú otázku musím položiť tu:

Čiže máme 1) oficiálne schválený Centrálny model, ktorý je otvorene komunikovaný a publikovaný postupne viac než rok, 2) umožňuje referencovateľnosť (URI), 3) vychádza z KDP (jeden po druhom dátovom prvku sú prenesené do Centrálneho modelu), 4) je namapovaný na vybrané ontológie EK, s ktorými pracujú už rôzne štáty, 5) a keďže RDF používa tiež triedy a relácie ako známe UML, ktoré je možné z neho generovať a zobrazovať ho v jednoduchej podobe, viď.

tak ty navrhuješ, že toto teraz zahoďme?
Resp. takto sa štandardy nerobia, otvorene, oficiálne, zohľadňujúc iné štandardy …

Alebo čo vlastne, lebo ja sa fakt ale strácam.
:roll_eyes:

Netvrdím že je Centrálny model dokonalý, akiste je tam pár chýb, treba pridávať nové prvky, atď. Ale to už proste osud Centrálneho modelu v digitálnom svete, ktorý bude len rád že sa vieme spojiť pre lepší zajtrajšok.

Alebo inak sa spýtam: Čo navrhuješ? Máš spracovaný iný centrálny model v celej šírke bodov 1…5? Prosím, postni ho.

Dňa 31.10.2017 v čase 09:00 až 11:00 sa uskutoční (na Úrade podpredsedu vlády SR pre investície a informatizáciu v zasadačke Bratislava 1. poschodie blok B) zasadnutie pracovnej skupiny PS1.

Program :

  • Prezentácia návrhu Open API (diskusia a pripomienkovanie)
  • Štandardizovaný spôsob a obsah zverejňovaných datasetov (diskusia a schválenie)

Podklady :

Pozri @kyselat, mrzí ma vypisovať také srdcervúce posty a najradšej by som tento čas strávil nejakou spoločnou produktívnou prácou. Ak som povedal že

nemyslel som v tom duchu, že sú to páni bohovia, ktorý sa musia počúvať a bodka, ale že je to príslušná pracovná skupina pre túto oblasť. A bol by som rád, keby sme sa tam stretli a veci si vysvetlili, aby potom tu to nemuselo takto vyzerať. Veď keď sa bavíme o otvorenosti a participatívnosti, načo je potom taká skupina. Tak ju treba otvorene navrhnúť na zrušenie (proti čomu samozrejme som), ale nech je všetko jasné.

A to isté platí pre SP Otvorené dáta. Súhlasíš s týmto dokumentom, alebo si podstatne proti niektorým častiam? OOK, príď na skupinu, vysvetli to všetkým členom, možno to prinesie opäť zlepšenie pre všetkých. Dnes je, 14:00, máš pozvánku. Podľa mňa si to za tú námahu členovia tejto skupiny zaslúžia počut názor priamo.

Občas naozaj snívam, ako aspoň na nejaké obdobie spolupracujeme a pozitívne míňame energiu. Že pracovné skupiny navzájom lepšie spolupracujú, aj samotný členovia, aj úrad aj firmy, aj slovensko digital, a vlastne všetci.

1 Like

(miesto" “niekde v Bratislave”, operativne podla potvrdenych zucastnenych, idealne kde maju dobre pivo)

Tot hlasovanie, ze ci a kedy sa stretneme k teme Open API. Pointa je stretnut sa pred PS1 a vydebatit aj niektore vyssie uvedene veci, kedze spojenie “Open API” uz v SR aj world-wide nadobuda privela vyznamov a teda prudko stupa sanca na velke nedorozumenie (vid Janovu poznamku k openapis.org v napr. Open API štandardy - #6 by jsuchal).

2 Likes

Stretnutie ohladom pripravy Open API (Open API štandardy) bude dnes (27.10.) o 17:30 v Drag, Stare Grunty 64, Bratislava (nedaleko MFUK).

1 Like

Odlišovanie triedy a relácie veľkosťou znakov v URI

Keďže sa už viac krát riešilo či je URI case (in)sensitive, najmä v spojitosti: či môže existovať URI s rovnakými znakmi iba s rozdielom malých/veľkých písmen, pokúsim sa k tomu pridať viac informácií a príkladov.

1) URI a case-sensitivita

6.2.2.1. Case Normalization
https://tools.ietf.org/html/rfc3986#section-6.2.2.1

tj. doména je case-insensitive, https://data.gov.sk je to isté ako HTTPS://DATA.GOV.SK, ale ostatok je case-sensitive, tj. nasledovné URI reprezentujú iné entity

lsub:LegalForm (https://data.gov.sk/def/ontology/legal-subject/LegalForm)
lsub:legalForm (https://data.gov.sk/def/ontology/legal-subject/legalForm)

Rozdiel uvedených URI je, že prvý reprezentuje triedu LegalForm a druhý reláciu (objektovu vlastnosť).

2) DCAT ako príklad

Príkladom keď sa používa len odlišná veľkosť písmena (tiež) na definíciu triedy a objektovej vlastnosti je základná ontológia pre publikáciu otvorených údajov DCAT. Medzi základné triedy patrí dcat:Catalog, dcat:Dataset, dcat:Distribution a iné. Existujú aj ďalšie definované entity (relácie) dcat:dataset, dcat:distribution ktoré sú použité na definíciu vzájomných vzťahov týchto tried.

Čiže napr. v oficiálnej špecifikácii DCATu

je vidno že dcat:dataset je relácia (owl:ObjectProperty) a dcat:Dataset je trieda (owl:Class). Detailne

:catalog
   a dcat:Catalog ;
   dcat:daset :dataset-001 .  

kde dcat:dataset je relácia (objektová vlastnosť) katalógu na svoje datasety.

:dataset-001
   a dcat:Dataset .

kde dcat:Dataset je trieda pre konkrétny dataset-001:

3) Prípady odlišovania URI entít veľkosťou znakou

Uvedená konvencia je asi známa viac developerskému svetu, je to klasický CamelCase, kde je trieda veľkým, relácia malým. Nevidel som ešte štandardizovanú ontológiu, kde by sa toto nepoužívalo. Presne to je aj ten prípad z predchádzajúcich bodov. Je to vyjadrenie dvoch entít vo forme 1) URI relácie na 2) URI triedu. Príklady použitia sú pri referencovaní číselníkov alebo pri začlenení vzájomných vzťahov tried do hierarchií, pri vzniku tzv. top relácie.

4) Použitie v Centrálnom modeli údajov

URI pattern pre Triedu/objektovuVlastnost je použitý v prípade číselníkov, aj v prípade top relácií.

Ako číselník: Potrebujem riešiť situáciu priradenia číselníkovej hodnoty pre nejaký objekt (záznam, inštanciu, indivíduum). Stanovím možným hodnotám typy, tj. ich triedu. Následne urobim dve URI (vzor): ClassURI a objektovaVlastnostURI.

Napr. lsub:LegalForm je trieda inštancií (definícií) ako: akciová spoločnosť, spoločnosť s ručením obmedzeným a podobne. Súvisiaca objektová vlastnosť tj. lsub:legalForm spája konkrétny právny subjekt s týmto typom. Napr. Slovensko.Digital je združenie

<lsub:LegalSubject rdf:about="https://data.gov.sk/id/legal-subject/50158635">
   <lsub:legalForm rdf:resource="https://data.gov.sk/def/legal-form/701"/>
</lsub:LegalSubject>

pričom “združenie” je položka číselníka definovaná ako inštancia triedy

<lsub:LegalForm rdf:about="https://data.gov.sk/def/legal-form/701">
   <rdfs:label xml:lang="sk">Združenie (zväz, spolok, spoločnosť, klub ai.)</rdfs:label>
</lsub:LegalForm>

Tu je vidieť použitie dvoch samostatných entít - lsub:legalForm a lsub:LegalForm.

5) Registrácia v MetaIS

V Metais sú niektoré dátové prvky zaevidované týmto spôsobom a nie je to preklep :innocent:
https://metais.finance.gov.sk/uri/list/accepted

Ked si zobrazíte detail jednotlivých URI, tak je to dobre vidieť že raz je to trieda
https://metais.finance.gov.sk/uri/detail/d43acd16-bb4f-41f3-9bb8-635ac18809f6?navBack=accepted

a v druhom prípade je to zas objektová vlastnosť.
https://metais.finance.gov.sk/uri/detail/bc2a695f-c780-40fd-9762-eab8e82bbc7e?navBack=accepted