Atvirų duomenų manifestas

Kas yra manifestas?

Manifestas yra YAML failų rinkinys, kuriuose aprašomos duomenų struktūros. Manifestas yra vidinis komunikacijos protokolas, skirtas susikalbėti duomenų tiekėjams, duomenų naudotojams ir centriniam atvirų duomenų portalui.

Manifestas turi pakankamai daug metaduomenų (metaduomenys yra duomenys apie duomenis) apie duomenų rinkinį jį sudarančias duomenų struktūras. Tai leidžia automatizuoti duomenų importavimą į atvirų duomenų portalą, duomenų kokybės patikrinimą, duomenų eksportavimą į kitus formatus ir pan.

Pats savaime Manifestas nėra dar vienas standartas, tai yra vidinei komunikacijai skirtas protokolas, kurio pagrindu sudaroma galimybė tranformatuoti duomenis į įvairius formatus. Pats Manifestas yra aktualus tik tiekėjams norintiems atverti duomenis.

Kaip tai veikia?

Kad geriau suprasti, kaip visa tai veikia, pabandykime aprašyti CSV failo duomenų struktūrą. Tarkime turime tokį CSV faile, kuris pasiekiamas adresu https://example.com/countries.csv, šio CSV failo turinys atrodo taip:

code,country
lt,Lietuva
lv,Latvija
ee,Estija

Šiam CSV failui Manifesto duomenų struktūros aprašas atrodytų taip:

name: pavyzdziai/salys
type: dataset
resources:
  countries:
    type: csv
    objects:
      geografija/salis:
        source: https://example.com/countries.csv
        properties:
          id:
            type: pk
            source: code
          kodas:
            type: string
            source: code
          pavadinimas:
            type: string
            source: country

Šio duomenų aprašo dėka galima automatiškai importuoti duomenis iš įvairių šaltinių vėliau juos eksportuoti įvairiais formatais.

id kodas pavadinimas
552c4c24 lt Lietuva
b5dcb868 lv Latvija
68de1c04 ee Estija

Funkcijos

Toks duomenų struktūros aprašas turi pakankamai informacijos, kad galėtume automatiškai atlikti dalykus išvardintus žemiau.

  • Importuoti duomenis iš įvairių šaltinių.
  • Patikrinti šaltinio duomenų kokybę.
  • Patikrinti ar duomenų aprašas tikrai atitinka duomenų šaltinį.
  • Eksportuoti duomenis įvairiais kitais formatais.
  • Susieti įvairių šaltinių duomenis naudojant vieningą žodyną.
  • Valdyti duomenis naudojant API.
  • Normalizuoti denormalzuotas duomenų struktūras.