RESTful žiniatinklio paslaugos
OSP RESTful žiniatinklio paslauga suteikia programinę prieigą prie Rodiklių duomenų bazės statistinių duomenų ir struktūrinių metaduomenų. Žiniatinklio paslauga konstruojama remiantis SDMX 2.1 RESTful žiniatinklio paslaugų specifikacija.
Žiniatinklio paslauga turi 2 veikimo režimus:
- duomenų ištraukimas: kai žinomi duomenys, kuriuos norima paimti
- struktūrinių metaduomenų ištraukimas: kai norima sužinoti žiniatinklio paslaugos duomenų tarnybinius (aprašomuosius) duomenis, reikalingus užklausai sukonstruoti ar duomenims interpretuoti
Žiniatinklio paslauga užklausos atsakymą gali grąžinti 2 formatais:
- XML formatu, skirtu keistis SDMX struktūrizuotais duomenimis ir metaduomenimis
- JSON formatu, skirtu duomenims pateikti ir vizualizuoti interneto puslapiuose
Visų SDMX užklausos atsakymo pranešimų struktūra yra tokia pati, t.y.:
- antraštė
- turinys (0..1)
- poraštė (0..1)
Antraštėje pateikiami pranešimo tarnybiniai duomenys. Turinys priklauso nuo užklausos tipo ir formato. Poraštėje, pateikiamos duomenų užklausos apdorojimo klaidos, jei tokių buvo.
Duomenų ištraukimas
Visi Rodiklių duomenų bazėje saugomi duomenys gali būti gaunami naudojant žemiau pateiktą užklausos eilutę:
protocol://ws-entry-point/resource/flowRef/key/providerRef?queryStringParameters
Kur:
- protocol – Žiniatinklio paslauga teikiama per https.
- ws-entry-point – Žiniatinklio paslauga pasiekiama adresu
https://osp-rs.stat.gov.lt/rest_xml/ arba https://osp-rs.stat.gov.lt/rest_json/ - resource – Duomenų užklausos išteklius yra data
- flowRef - Duomenų srauto nuoroda, apibudinanti duomenis, kuriuos reikia grąžinti. Nuorodos formatas: <AGENCY_ID>, <FLOW_ID>, <VERSION> arba <AGENCY_ID>, <FLOW_ID> arba <FLOW_ID>, kur AGENCY_ID – agentūros, kuri palaiko duomenų srautą, identifikatorius, FLOW_ID – duomenų srauto identifikatorius, VERSION – duomenų srauto versija
- Key – Grąžinamos serijos raktas, leidžiantis vienareikšmiškai nustatyti statistinius duomenis. Šioje paslaugos versijoje kelio parametras yra nepalaikomas.
- providerRef – Duomenų teikėjas. Šioje paslaugos versijoje kelio parametras yra nepalaikomas.
- queryStringParameters – šioje paslaugos versijoje palaikomi tik startPeriod ir endPeriod. Palaikomi datų formatai:
- YYYY – metiniams duomenims, pvz., 2017
- YYYY-S[1-2] – pusmečio duomenims, pvz., 2017-S1
- YYYY-Q[1-4] – ketvirčio duomenims, pvz, 2017-Q1
- YYYY-MM – mėnesiniams duomenims, pvz., 2017-01
- YYYY-W[01-52] – savaitiniams duomenims, pvz., 2017-W01
- YYYY-MM-DD - dieniniams duomenims, pvz., 2017-01-01
Pavyzdžiai:
- kai norima stebėjimų duomenis gauti XML formatu
- kai norima gauti 2005-2007 metų stebėjimų duomenis
https://osp-rs.stat.gov.lt/rest_xml/data/S3R629_M3010217/?startPeriod=2005-01&endPeriod=2007-01 - Kai norima gauti visus duomenų rinkinio stebėjimų duomenis
https://osp-rs.stat.gov.lt/rest_xml/data/S3R629_M3010217 - kai norima stebėjimų duomenis gauti JSON formatu
https://osp-rs.stat.gov.lt/rest_json/data/S3R629_M3010217/?startPeriod=2005-01&endPeriod=2007-01
Struktūrinių metaduomenų ištraukimas
Visi struktūriniai metaduomenys gali būti gaunami naudojant žemiau pateiktą užklausos eilutę:
protocol://ws-entry-point/resource/agencyID/resourceID/version/itemID?queryStringParameters
Kur:
- protocol - Žiniatinklio paslauga teikiama per https.
- ws-entry-point - Žiniatinklio paslauga pasiekiama adresu https://osp-rs.stat.gov.lt/rest_xml/
- resource - Grąžintinų struktūrinių metaduomenų tipas: dataflow arba datastructure
- agencyID - Agentūros, palaikančios artefaktą, identifikatorius
- resourceID - Artefakto identifikatorius
- version - Grąžintino artefakto versija. Šioje paslaugos versijoje reikšmė visuomet vėliausia (latest)
- queryStringParameters - Šioje paslaugos versijoje neprivalomi parametrai nepalaikomi
Pavyzdžiai:
- kai norima gauti duomenų rinkinių sąrašą
https://osp-rs.stat.gov.lt/rest_xml/dataflow/ - kai norima gauti konkretaus duomenų rinkinio apibrėžimą
https://osp-rs.stat.gov.lt/rest_xml/dataflow/LSD/S3R629_M3010217 - kai norima gauti duomenų struktūros apibrėžimą
https://osp-rs.stat.gov.lt/rest_xml/datastructure/lsd/M3010217/
Apribojimai
Žemiau yra išvardyti OSP RESTful žiniatinklio paslaugų apribojimai:
- palaikomos anoniminės užklausos, nėra naudotojų autentifikacijos
- duomenų užklausos atsakymo dydis ribojamas 1 000 000 stebėjimų įrašų.
- didžiausias užklausos URL ilgis – 1000 simbolių
- palaikomas tik bendrasis (angl. Generic) XML pranešimo formatas
- palaikomas tik „plokščias“ duomenų vaizdas (parametras dimensionAtObservation = AllDimensions), nepalaikomas duomenų grupavimas (serijos ir grupės)
- nepalaikomas versijavimas: visada grąžinama paskutinė duomenų versija
- duomenų suspaudimas palaikomas naudojant HTTP Header lauką Accept-Encoding=gzip
- nepalaikomi neprivalomi duomenų užklausos kelio parametrai key (=all) ir providerRef (=all)
- nepalaikomi neprivalomi duomenų užklausos eilutės parametrai updatedAfter, firstNObservations, lastNObservations, dimensionAtObservation (=AllDimensions), detail (=full), includeHistory (=falsel)
- nepalaikomi neprivalomi struktūrinių metaduomenų užklausos eilutės parametrai detail (=full), references (=parentsandsiblings)
Pastaba: Atkreipiame dėmesį, kad ateityje vystant žiniatinklio paslaugą pagal SDMX standartą, apribojimų sąrašas bus atnaujintas, kad atitiktų naujas funkcijas.