Avoimen datan löytäminen ja hankkiminen

Oppimistavoitteet: Tässä luvussa opitaan, mistä avointa dataa löytyy ja miten sitä voidaan käsitellä staattisissa ja dynaamisissa sovelluksissa. Samalla opitaan avoimen datan kaksi lajia, julkaistut datatiedostot ja tietovarantojen rajapinnat.

Tilanteesta riippuen dataa voi löytyä eri lähteistä. Vaihtoehtoja ovat mm:

  1. Datakatalogit, jotka keräävät esim. tietyn alueen tai toimialan tietoaineistojen kuvailutietoja.
  2. Yksittäisen julkaisijan omat datakatalogit.
  3. Yksittäiset raportit ja aineistot.
  4. Verkkosivuilla olevat materiaalit, joita voidaan kerätä automaattisesti koneluettavaan muotoon sopivalla skreippaajalla eli tiedot haravoivalla skriptillä.
  5. Joukkoistamalla eli suurilta ihmisjoukoilta kysymällä silloin, kun valmista dataa ei ole olemassa.

Datan hakeminen kannattaa aloittaa suurista datakatalogeista, joihin on kerätty tuhansia tietolähteitä ja julkaisijoita. Näissä on yleensä vain metadatat eli datan kuvailutiedot. Kun sopiva aineisto on löytynyt, seurataan linkkiä joko datatiedostoon tai kyselyrajapintaan. Datakatalogeihin tutustumisen voi aloittaa seuraavista keskeisistä katalogeista:

Avoin data voidaan jakaa kahteen lajiin: julkaistuihin datatiedostoihin (ns. data dump) sekä rajapintoihin (API eli application programming interface). Jos data on kooltaan valtavaa (kuten karttadata) tai se päivittyy tiheästi (kuten aikataulutiedot), API on käytännössä ainoa tapa datan hakemiseen, mutta muutoin avoin data julkaistaan yleensä tiedostoina.

Datatiedostojen käsittely on suoraviivaista: tiedosto kopioidaan omalle tietokoneelle, jossa sitä työstetään sopivilla välineillä. Jos rajapinta on julkaistu, niin sopivalla kyselyllä saadaan halutut tiedot jatkokäsittelyyn.

Datan käyttäjän on hyvä ottaa huomioon datan päivittymistahti. Jos data on staattista eikä muutu ensijulkaisun jälkeen, sen käyttöä voidaan jatkaa itsenäisesti. Dataan on kuitenkin saattanut päästä virheitä. Jos julkaisija havaitsee ja korjaa virheet, datan jatkokäyttäjän pitäisi seurata tilannetta ja päivittää käyttämänsä datatiedosto korjattuun versioon.

Yleensä tietoaineisto muuttuu jollain aikataululla, joka voi vaihdella vuosittaisesta päivityksestä jopa reaaliaikaiseen muuttumiseen. Harkitsethan siis käyttötarkoituksesi mukaan, miten käsittelet käyttämäsi tietoaineiston muutoksia.

Datajournalismissa uutinen liittyy tiettyyn ajanhetkeen, jolloin riittää, että otetaan huomioon vain sillä hetkellä saatavilla oleva data. Pitkäkestoisissa sovelluksissa taas pitää ottaa huomioon datan päivittyminen. Mobiilisovelluksen ei kannata aina käynnistyessään ladata uusinta datatiedostoa julkaisijan palvelimelta; parempi vaihtoehto olisi päivittää datatiedosto keskitetysti sopivin väliajoin.

Jos aineisto on saatavilla tiedostona, niin tiedosto voidaan kopioida sovelluksen osaksi (kunhan aineiston päivitysmekanismi ja -rytmi otetaan huomioon). Jos taas aineistoon pääsee vain rajapinnan kautta, niin rakennettavan sovelluksen on haettava tiedot sieltä. Tällöin pitää selvittää rajapinnan käyttöehdot: montako kyselyä tietyssä aikayksikössä saa tehdä, ovatko jotkut kyselyt erityisen työläitä ja siten rajoitetumpia, pitääkö rajapintaan kirjautua sovelluksen tunnuksilla tai jopa käyttäjän henkilökohtaisilla tunnuksilla? Rajapinnastakin voi hakea useilla kyselyillä kaiken relevantin datan (ellei datamäärä ole valtava) ja tallentaa sen tiedostoksi jatkokäyttöä varten.

Dataskreippaus eli ruudunraavinta on tekniikka, jolla julkista tietoa kerätään verkkosivuilta koneluettavaan muotoon. Tämä koskee dataa, joka ei ole siistissä muodossa vaan koostuu lukuisista verkkosivuista, joissa on esimerkiksi tuotetietoja. Sopivalla skreippaajalla nämä tiedot voidaan kerätä vaikka säännöllisin väliajoin koneluettavaan muotoon jatkokäsiteltäviksi. Skreipattava data ei yleensä alunperin ole avoimesti lisensoitua, joten skreippaamalla saatua tietoaineistoa ei ehkä voida julkaista, joskin sitä voitaneen käyttää jonkin palvelun tai visualisoinnin tietoaineistona.

Joukkoistaminen tarkoittaa uuden tietoaineiston keräämistä suoraan kohdeyleisöltä. Dataa voidaan kerätä lomakkeilla, tietoja automaattisesti keräävillä mobiilisovelluksilla, erilaisilla tietoja koostavilla verkkopalveluilla (esim. Grafetee, Diigo, Pearltrees, Storify ym.) tai muilla keinoilla. Joukkoistamisen järjestäjä päättää itse tietoaineiston julkisuudesta ja avoimuudesta. Jos aineiston julkaiseminen kiinnostaa, kannattaa tutustua Datan avaajan kurssiin.

Tiivistelmä

Avointa dataa löydetään katalogeista, raporteista, verkkosivuilta tai joukkoistamalla. Se voi olla julkaistu tiedostona tai tavoitettavissa datavarannon rajapinnan kautta. Datajournalismissa riittää saatavilla oleva tieto, muuta pitkäkestoisissa sovelluksissa otetaan huomioon datan päivittyminen, samoin julkaisijan mahdollisesti korjaamat virheelliset tiedot. Verkkosivuilta skreipattua dataa ei välttämättä ole alunperin julkaistu avoimesti. Joukkoistamalla tietoa kerätään suoraan kohdeyleisöltä lomakkeilla, mobiilisovelluksilla tai tietoja koostavilla verkkopalveluilla.

Tehtävä

Tehtävä 3. Avoimen datan hankkiminen


Comments

comments powered by Disqus