Spinta yra mano asmeninė iniciatyva, nesusijusi su ADP viešojo pirkimo technine specifikacija. Tačiau Spintos funkcionalumas dengia dalį techninės specifikacijos reikalavimų.
Manau tave dominančios vietos iš specifikacijos yra šios:
9.7 Funkciniai reikalavimai panaudos atvejui „Atvėrimo planavimas“:
[...]
R5 Aprašyti prioritetinių AD struktūrą.ADP turi būti realizuota galimybė kiekvienam AD rinkiniui, kuris turi būseną „Įtrauktas į planą“ parengti duomenų struktūros aprašymą, kuris apima šiuos privalomus parametrus:
- Duomens pavadinimas;
- Duomens techninis pavadinimas;
- Tipas;
ir šiuos neprivalomus:
- Schema;
- Duomenų bazės lentelė;
- Duomens pavadinimas standartiniame žodyne.
[...]
9.10 Funkciniai reikalavimai pagal panaudos atvejį „Duomenų transformavimas“: [...]
R 5.1 AD koordinatorius ir/ar AD tvarkytojas naudodamiesi trečiųjų šalių programine įranga esant galimybei parengia duomenų schemą ir ją publikuoja ADP kartu su duomenų rinkiniu.
Duomenų schema turi būti rengiama vadovaujantis viešai prieinamais duomenų schemų resursais, pvz.:
XML tipo failams -
https://www.w3.org/XML/Schema;
RDF tipo failams -
https://www.w3.org/TR/rdf-schema.
Mano interpretacija yra tokia, kad techninė specifikacija nedraudžia kurti RDF grafus, bet tuo pačiu tai nėra privaloma.
Bet čia yra tik bendro pobūdžio reikalavimai duomenų atvėrimo procesui. Konkrečiai apie partnerių duomenų atvėrimą rašoma II ir III viešojo pirkimo dalyse ir ten parašyta taip:
18 Reikalavimai II ir III pirkimo dalyse nurodytų partnerių atvirų duomenų rinkinių ir jų metaduomenų parengimui
[...]
18.1.4 ne žemesniu kaip trečias brandos lygmuo (žiūr. Techninės specifikacijos 1 priedas)
Čia aiškiai nurodyta, orientuojamasi į trečią brandos lygį, bet žinoma niekas nedraudžia, jei yra noro, duomenis atverti ir aukščiausiu brandos lygiu.
Spintoje yra naudojamas vidinis žodynas su vardų erdvėmis. Tai yra tarpinis variantas tarp jokio žodyno ir tarp standartinio žodyno. Standartiniu žodynu vadinu žinomus žodynus tokius kaip FOAF, DCT ir pan. Tačiau taip pat yra galimybė nurodyti ir standartinio žodyno nuorodas atskiriems duomenų laukams.
Teoriškai, naudojant vien tik vidinį žodyną, galima generuoti RDF grafus.
Bent jau, kaip aš pats tai suprantu. Duomenų atvėrimas vyks tokiu principu:
1. Įstaigos atveria duomenis, kaip išmano, CSV, JSON, REST API, SOAP API ar pan.
2. Atvirų duomenų manifeste aprašomi duomenų šaltiniai ir pritempiama duomenų struktūra prie normalizuotų lentelių, naudojant kiek įmanoma vieningesnį žodyną. Tose vietose, kur tiekėjo to pačio objekto interpretacija išsiskiria, naudojami išvestiniai objektai, atskirose vardų erdvėse.
Čia duomenų šaltinis aprašytas ir susietas su vidiniu žodynu, o čia „sukramtyti“ duomenys:
Tačiau šie duomenys vis dar neturi globalių identifikatorių ir duomenis galima sieti tik vieno tiekėjo rinkinio ribose.
3. Galiausiai identifikuojami kanoniniai duomenys (vienas tiesos šaltinis), tie duomenys keliauja į nuo tiekėjo nepriklausomus objektus turinčius globalius identifikatorius, atsiveria kelias sieti skirtingų rinkinių duomenis.
4. Galiausiai išgryninus kanoninius duomenų objektus, galima pradėti juos žymėti nuorodomis iš standartinių žodynų ir duomenis sieti su pasauliniais duomenų rinkiniais, bet iki to yra gan tolimas kelias.
Bet kokiu atveju, kiekvienam žingsnyje galima naudoti duomenis. Pavyzdžiui, galima imti tiesiai XLSX failą iš VRK svetainės, galima imti šiek tiek pagerintą variantą iš
atviriduomenys.lt, be globalių identifikatorių, galima imti kanoninius duomenis su globaliais identifikatoriais ir sieti juos su kitais duomenimis ir pan.