Avoin kulttuuridata

Kaikki organisaatiot keräävät toimintansa tueksi dataa. Riippumatta siitä, minkälaisia kokoelmia kulttuuriperintöorganisaatiot pitävät hallussaan, on heillä koottu tiedot näistä kokoelmista sisäiseen tietokantaan.Tietokanta voi muodostua esimerkiksi kirjaston kirjojen viitetiedoista tai taidemuseon teoksiin liittyvistä tiedoista.

Tässä kappaleessa käydään läpi datan ja metadatan käsitettä sekä datan avaamiseen liittyviä seikkoja ja vaatimuksia.

Data

Data on yksinkertaisimmillaan tiedon ja informaation rakennuspalikoita. Datalla tarkoitetaan digitaalisesti tallennettua merkeistä ja symboleista koostuvaa sekä koneellisesti luettavissa olevaa informaatiota, joka voi muodostaa esimerkiksi dokumentteja, tietokantoja ja audiotallenteita.

Data voidaan ymmärtää raaka-aineena, jota jalostamalla saadaan aikaan merkityksellistä informaatiota. Yksinkertaistettu esimerkiksi on tekstiviesti, joka koostuu merkkijonosta (data) eli yksittäisistä kirjaimista. Kirjaimet peräkkäin laitettuna (jalostettuna) muodostavat viestin informaation, siis sen, mitä viestissä lukee.

Käsitelty, jo “jalostettu” data voi olla edelleen jollekin toiselle hyödynnettävää raakadataa. Tähän perustuu avoimen datan arvo - hyödynnettävissä oleva data voi muodostaa pitkän ketjun datan hyödyntämistä, rikastamista ja julkaisemista jne.

Metadata

Metadata (myös metatieto tai kuvailutieto) on rakenteellista tietoa, joka kuvailee, selittää, sijoittaa tai muulla tavoin helpottaa informaation hakemista, käyttämistä tai hallinnointia. Metadata on siis tietoa tiedosta.

Kulttuuriorganisaatioiden tietokannoissa se parantaa objektien löydettävyyttä sekä kehystää niitä asiaankuuluvalla tiedolla. Tämä helpottaa tietokannoissa suunnistamista ja kulloinkin tarvittavien teosten tai tietojen löytämistä tuhansien muiden joukosta.

Metadata koostuu esimerkiksi teoksen nimestä, luontipäivämäärästä tai -vuodesta, tekijöiden nimistä, materiaalista, maantieteellisestä informaatiosta jne.

On tärkeää, että avattavien sisältöjen tai datan yhteydessä julkaistaan myös sitä kuvaileva metadata, joka kertoo käyttäjälle, mistä teoksessa tai itse datassa on kyse ja mitä tulee ottaa huomioon sitä käytettäessä. Monesti metadataa pitää täydentää ja parannella vielä ennen julkaisua.

Metadatassa tarvittavat kuvailutiedot riippuvat datan sisällöstä ja luonteesta, mahdollisesti sovellettavista metadatastandardeista sekä organisaation näkemyksistä siitä, mitä avattavasta datasta muidenkin pitäisi tietää.

Yleensä metadata avataan täysin vapaaseen käyttöön lisenssillä CC0, koska kyse on faktaperäisestä tiedosta. Avattu metadata voidaan lisätä myös erilaisiin datakatalogeihin, jota kautta ne voivat saavuttaa entistä suuremman yleisön.

Koneluettava rakenteellinen data

Jotta data on avointa, tulee sen olla avoimuuden määritelmän mukaisesti kokonaisuudessaan vapaasti saatavilla ja muokattavissa. Muokattavuus edellyttää, että data on koneluettavassa muodossa.

Koneluettavuus tarkoittaa yksinkertaisesti sitä, että data on koneellisesti luettavissa, jolloin sen hyödyntäminen ja jatkokäyttö tehdään helpoksi. Koneluettavuuden avulla voidaan moni toiminto automatisoida, joka mahdollistaa esimerkiksi erilaisten datan visualisointien ja monimutkaistenkin sovellusten tekemisen. Koneluettavia dataformaatteja ovat esimerkiksi CSV, TSV ja XML.

“Peukalosääntönä koneluettavuudelle voidaan pitää sitä, että etevä ohjelmoija kykenee verrattain lyhyessä ajassa tekemään ohjelman, joka automaattisesti hakee datan internetistä, lukee sen ohjelman muistiin ja tulostaa uudelleen muokattuna vaikkapa iPhonen näytölle” (Poikola ym. 2010, 37).

Koneluettavuuteen liittyy myös termi datan rakenteellisuus. Eräs tapa lähestyä rakenteellisuutta on hahmottaa se datana, jonka voi esittää laskentataulukossa (kuten Excel, LibreOffice Calc) sarakkeissa ja riveissä.

Tästä esimerkkinä on alla oleva taulukko, jonka sarakeotsikoihin on merkitty auton nopeus ja polttoaineen kulutus, joiden alla on soluissa eri autojen nopeuksia ja kulutusarvoja.


Auton nopeusPolttoaineen kulutus
aA
bB
cC
dD

Datan rakenteellisuus on ehto sille, että kone kykenee erottamaan, mitä mikänkin arvo tarkoittaa: esimerkin tapauksessa, milloin puhutaan auton nopeudesta ja milloin polttoaineen kulutuksesta sekä mitkä arvot ovat yhteydessä toisiinsa. Tarvitaan siis selkeästi ilmaistu rakenne, joka kertoo koneelle, mitkä luvut kertovat mistäkin.

On siis oleellista erottaa toisistaan formaatit, jotka kuvailevat tiedoston ulkoasua sekä formaatit, jotka kuvailevat itse dataa. Esimerkiksi PDF- ja Word-tiedostot sekä HTML-teksti kertovat tekstin ulkoasusta, siltä miltä teksti näyttää. Tästä syystä ne eivät ole helposti koneluettavia formaatteja, eivätkä siksi avoimen datan julkaisuun kelpaavia. Oikeaoppisesti tehty HTML5-sivu voi hyvinkin olla rakenteista dataa, eli HTML on käypä vaihtoehto julkaisumuodoksi; suurin osa HTML-sivuista on kuitenkin ulkoasun mukaan tehty, ei tiedon rakenteen ehdoilla.

Koneluettavuuden lisäksi hyvä dataformaatti on avointa siinä mielessä, että se ei ole sidottu mihinkään tiettyyn ohjelmistoon. Kysymys on erityisen relevantti datan jatkokäytön kannalta. Tavanomaisella koodarilla ei välttämättä ole käytössään samoja ohjelmia, joita dataa avaavalla organisaatiolla on. Mikäli data on avattu formaatilla, joka on sidottu näihin ohjelmiin, vaikeuttaa se datan hyödyntämistä. Data ei tällöin ole aidosti avointa.

Datan skeema

Otetaan kuvitteellinen esimerkki datasta, joka sisältää seuraavanlaisia tietoja kirjaston kirjoista: kirjan kirjoittaja, kirjan nimi sekä kustantaja. Nämä tiedot muodostavat kyseisen datan skeeman. Mikäli data sisältäisi esimerkiksi kustantajan sijaan painopaikan sekä painovuoden olisi datalla eri skeema. Datan skeemalla voi olla tärkeä merkitys jatkokäytön kannalta. Mikäli useat kirjastot maailmassa käyttävät sellaista skeemaa, jossa kerrotaan kunkin kirjan tiedot yhtenevällä tavalla, kannattaa kaikkien kirjastojen käyttää tätä samaa skeemaa. Mikäli yksittäinen kirjasto päätyy omaan skeemaan, ei sen dataa voi suoraan yhdistää muiden kirjastojen dataan. Kannattaa muistaa myös kansainvälinen konteksti ja selvittää, mitä skeemoja alalla yleisesti käytetään.

Dataformaatit

Eri dataformaatteja on paljon erilaisia. Dataan tottumattoman silmään data voi näytää vieraalta ja jopa pelottavalta. Dataa ei kuitenkaan kannata pelästyä. Sen avaaminen ei vaadi kaikkien dataformaattien täydellistä omaksumista. On kuitenkin hyvä tietää millaisia dataformaatteja on olemassa sekä tietää, miltä koneluettava data näyttää.

On myös hyvä oppia tuntemaan hieman enemmän sitä formaattia, jota datan avaamisessa hyödynnetään. Ei ole olemassa yhtä tiettyä formaattia, joka olisi kaikissa tilanteissa paras vaihtoehto. Valinnan voi tehdä esimerkiksi kokeilemalla. Dataformaatin valinnassa tärkeimmät kriteerit ovat koneluettavuus sekä esitysmuodon avoimuus - sen käsittely ei ole sidottu minkään tietyn toimittajan ohjelmistoihin.

Seuraavaksi esitellään lyhyesti muutamia yleisiä dataformaatteja, joilla dataa voidaan avata.

CSV

CSV (Comma-Separated Values) on yksinkertainen tiedostoformaatti, jolla voidaan julkaista taulukoita. CSV on vanha tiedostotyyppi, jonka vahvuutena ovat yksinkertaisuus, luettavuus sekä hyvä yhteensopivuus monien ohjelmien kanssa. Datan jatkokäyttäjät suosivat CSV-tiedostoja, koska ne voidaan avata melkein millä tahansa taulukkolaskentaohjelmalla, jonka jälkeen dataa on helppo muokata.

CSV-muotoista dataa on mahdollista myös tuoda ulos taulukkolaskentaohjelmista, esimerkiksi Excelistä, jonne taas on helppo tuoda dataa eri tietojärjestelmistä.

CSV-tiedosto koostuu arvoista, jotka erotetaan toisistaan pilkuin. Taulukossa samalla rivillä olevat sarakkeiden arvot tulevat pilkuin eroteltuna yhdelle riville. Seuraavan rivin sarakkaiden arvot tulevat seuraavalle riville. Ensimmäinen rivi on aina otsikkorivi: se kertoo, mitä sen alla olevat arvot tarkoittavat. Alla näkyy esimerkki CSV-tiedostosta sekä siitä, miltä se näyttää taulukkomuodossa (esimerkki otettu Wikipediasta):


Vuosi,Merkki,Malli,Pituus

1997,Ford,E350,"2,34"

2000,Mercury,Cougar,"2,38"


CSV-taulukko


CSV:n ongelma on, että solujen erottimena käytettävää pilkkua käytetään osassa maailmaa myös desimaaliluvuissa. Tätä voi kiertää käyttämällä soluerottimena puolistettä tai tabulaattoria (jota joskus kutsutaan TSV-muodoksi, tab-separated values). Yllä olevassa esimerkissä ongelma on ratkaistu niin, että luvut jotka sisältävät desimaalipilkun on ympäröity lainausmerkeillä.

Selvyyden vuoksi kannattaa CSV-tiedostoissa pitäytyä tietyissä hyvissä käytännöissä:

  • tiedoston enkoodausmuotona utf-8
  • soluerottimena pilkku, desimaalierottimena aina piste
  • jokaisessa tiedostossa vain yksi taulukko
  • ensimmäisellä rivillä taulukon sarakkeiden nimet

CSV-tiedoston toimivuutta voi testata esimerkiksi CSV Lint -työkalun/sivuston avulla. Testityökalu kertoo, onko data koneluettavaa vai tulisiko sitä vielä siivota.

TDP

TDP (Tabular Data Package) on yksinkertainen käytäntö datan julkaisuun, jossa yhdistetään data ja metadata yhteen pakettiin. Paketissa on data CSV-muodossa ja JSON-muotoinen dataa kuvaava metatietotiedosto datapackage.json. Yhdessä paketissa voi olla useita datatiedostoja.

Käytännössä data julkaistaan CSV-muodossa (tietyin nimeämis- ja enkoodauskäytännöin) ja sen metadata JSON-muodossa. Tiedostot paketoidaan yhteen zip-pakettiin ja nimetään tiettyjen käytäntöjen mukaan. Useimpien ohjelmointitaitoisten on todennäköisesti helppoa avata, ymmärtää ja ottaa käyttöön TDP-standardia noudattava paketti.

RDF

RDF (Resource Description Framework) on XML-pohjainen rakenteinen tietoformaatti, jota käytetään HTML-pohjaisissa ympäristöissä ja semanttisen webin sovelluksissa. RDF on käyttökelpoinen tekniikka metadatan lisäämiseen, kun data julkaistaan ensisijaisesti webissä web-sivuina.

Linkitetty data

Mitä pidemmälle datan ja sen metadatan rakenne on standardoitu, sitä helpompaa on niiden automaattinen käsittely ja yhdistäminen. Kun metadata standardoidaan riittävän pitkälle, puhutaan linkitetystä datasta (linked data), jossa jokaisella tiedon palasella on oma yksilöllinen osoite sekä sen tietomuoto määriteltynä.

Linkitetyn datan avulla sovelluskehittäjät voivat helposti yhdistää tietoja eri lähteistä ja laajoja aineistoja voidaan automaattisesti yhdistellä ja jatkohyödyntää.

Datan laatu

Datan julkaiseminen avoimessa ja yleisesti tunnetussa tiedostoformaatissa, sekä kattava metadata helpottavat datan jatkokäyttöä ja automaattista hyödyntämistä. World Wide Webin kehittäjä Tim Berners-Lee on kehittänyt avoimen datan laadun arviointimallin kriteereineen. Tässä mallissa avoimeen dataan vaaditaan vähintään kolme viidestä tähdestä.

  • Yhden tähden aineisto on saatavilla verkossa jossain muodossa avoimella lisenssillä. Tiedosto voi olla esimerkiksi PDF-muotoinen tai html-muotoinen ja sitä voi katsella, sen voi ladata ja sitä voi jakaa vapaasti. Esimerkki.
  • Kahden tähden aineisto on avoimesti saatavilla rakenteisessa muodossa, tyypillisesti laskentataulukkona, vaikkapa Excel-tiedostona. Esimerkki1 & Esimerkki2.
  • Kolmen tähden aineisto on avoimella ja koneluettavalla formaatilla julkaistu, esimerkiksi CSV-muodossa tai uudemmassa Linked-CSV-muodossa. Käyttäjän on helppo muokata ja hyödyntää dataa haluamallaan tavalla eikä sen käyttö ole sidottu tiettyihin ohjelmistoihin (toisin kuin esimerkiksi xls-muoto). Esimerkki1 & Esimerkki2.
  • Neljän tähden aineiston tietoalkioilla on URI (Uniform Resource Indicator), johon voidaan viitata. Tietoaineiston osiin voidaan tällöin linkittää suoraan myös muualta. Esimerkki.
  • Viiden tähden aineistossa kaikki tietoalkiot on kytketty johonkin tietomalliin. Tällainen aineisto on linkitettyä dataa ja sen sisältämä tieto voidaan ymmärtää koneellisesti. Se voidaan myös yhdistää mihin tahansa muihin verkossa oleviin tietoaineistoihin, jotka käyttävät samoja malleja. Esimerkki1 tai Esimerkki2.

Yllä esitellyn viiden tähden -mallin laajennukseksi on ehdotettu lisäksi vielä kahta tähteä:

  • Kuuden tähden aineistossa ei voida käyttää itse keksittyjä tietomalleja vaan ainoastaan kunnollisia skeemoja, jotka on julkaistu netissä ja ainakin kevyesti standardoitu. Esimerkki.
  • Seitsemän tähden aineistossa tietoaineiston vastaavuus siinä viitattuihin tietomalleihin on koneellisesti varmistettu. Jatkohyödyntäjä voi luottaa siihen, että tietoaineisto on tietomallien mukainen eikä sisällä rakenteisia virheitä.

Esitetyn linkitettyä dataa korostavan laatuluokituksen lisäksi on hyvä ottaa huomioon kullakin alalla yleisesti käytetyt julkaisuformaatit. Tietoaineiston voi toki julkaista useammassa formaatissa, eri kohderyhmien tarpeiden mukaan.

Datan siivoaminen

Datan avaamisen yhteydessä pitää kiinnittää huomiota datan hahmotettavuuteen ja käytettävyyteen. Datan siivoaminen voi viedä jopa 80% datan jatkokäyttäjän, esimerkiksi sovelluskehittäjän tai datajournalistin, työajasta. Kovin sotkuinen data voi johtaa siihen, että dataa ei haluta hyödyntää, jolloin datan omistava organisaatio voi menettää potentiaalisia hyötyjä.

Organisaation pitää siis huolehtia, että data on siistiä. Sotkuinen data tarkoittaa sitä, että se sisältää virheitä, josta syystä se ei toimi odotetulla tavalla. Datan laatua voidaan tarkastella ja siivota yksinkertaisesti taulukkolaskentaohjelman avulla. Jos esimerkiksi "Säveltäjä" sarakeotsikon alla lukee jossakin soluissa "Sibelius" , toisessa "Jean Sibelius" ja kolmannessa "J. Sibelius", tulkitsee kone näiden kaikkien solujen sisältävän eri tietoa, vaikka kyseessä todellisuudessa on viittaus samaan henkilöön. Data on sotkuista lisäksi, mikäli solut sisältävät:

  • jotakin muuta kuin niiden pitäisi (esimerkiksi sarakeotsikon “kirjailija” alla lukeekin joissain soluissa kirjojen nimiä tai sivumääriä)
  • luvuiksi määriteltyjä sisältöjä, jotka on kirjoitettu kirjaimin (esimerkiksi “sata” ja “4 miljoonaa” eivät ole lukuja - “100” ja “4000000” ovat)
  • epäyhtenäiset tavat ilmaista päivämääriä (kuten 14.2.2014, 2/14/2014, 2014-02-14) tai rahayksiköitä (kuten 1,240.00€, 1 240,00€, $1240, €1240…)
  • kirjoitusvirheitä
  • ylimääräisiä väli- tai sarkainlyöntejä (tabulaattori) teksin alussa, keskellä tai lopussa (esimerkiksi dataa käsiteltäessä tulkitsisi kone kaikki seuraavien solujen sisällöt erilaisiksi: ”likainen data”, ”likainen data ” ja ”likainen data”)
  • ylimääräisiä tekstin muotoiluja (lihavointia, kursivointia, eri värisiä fontteja jne.)

Vaikka data olisi käyty läpi kuinka huolellisesti tahansa, voi sinne kuitenkin jäädä virheitä. Tämä ei ole vaarallista, eikä datan avaamista tule tästä syystä jättää tekemättä. Virheet tulee kuitenkin korjata heti kun ne on havaittu. Samalla tulisi datan yhteyteen laittaa ilmoitus siitä, mikä virhe on havaittu ja korjattu sekä milloin korjaus on tehty (viimeisin datan päivityspäivämäärä).

Monesti virhe saatetaan huomata vasta kun dataa ollaan hyödyntämässä. Tästä syystä yhteystietojen tarjoaminen datan yhteydessä on erityisen tärkeää. Käyttäjät voivat antaa palautetta, joiden perusteella tarvittavat korjaukset tehdään ja data päivitetään. Käyttäjiltä saatu palaute on erittäin tärkeää, joten se kannattaa ottaa vakavasti ja siihen on hyvä vastata.

Lähteet ja lisätietoja

Metadata:

Data:

Dataformaatit:

Linkitetty data:

Datan hyödyntäjän näkökulma:

Muut:

Tehtävä

  • Tuo ulos jotakin dataa oman organisaatiosi tietokannasta (esim. kokoelmien metadataa) CSV-muodossa ja tallenna se koneelle.
  • Avaa tallennettu tiedosto jossakin tekstieditorissa (esim. Notepad tai TeXturi) ja tarkastele, miltä data näyttää. Mitä ensimmäisellä rivillä näkyy? Havaitsetko seuraavien rivien noudattaman logiikan?
  • Avaa datatiedosto sitten taulukkolaskentaohjelmassa (esim. Excel tai Numbers) ja vertaa sitä rinnakkain tekstieditorissa olevaan tekstimassaan. Toimiiko data niin kuin kuuluisi (ks. automalli-esimerkki yllä)? Huomaatko CSV-formaatin logiikan?
  • Näyttääkö taulukkolaskentaohjelmassa oleva data siistiltä? Lukeeko soluissa, mitä pitäisi? Löytyykö tekstistä kirjoitusvirheitä, epäjohdonmukaisuuksia tai samoja tietoja eri tavoin kirjoitettuna?
  • Extratehtävä: Datajournalismi.fi-sivustolla on tutoriaali #04, jossa opastetaan Google Refine -ohjelman käyttämistä datan siivoamiseen.

Comments

comments powered by Disqus