OpenRefine

OpenRefine, entiseltä nimeltään Google Refine ja sitä ennen Freebase Gridworks, on itsenäinen avoimen lähdekoodin työpöytäsovellus tiedon siivoamiseen ja muuntamiseen muihin muotoihin. Se toimii vastaavalla tavalla kuin taulukkolaskentasovellukset (ja voi työstää taulukkolaskennan tiedostomuotoja). Se kuitenkin käyttäytyy enemmän kuin tietokanta.

Ohjelmiston toimintaperiaate 

OpenRefine käsittelee tietorivejä, joissa on soluja sarakkeissa, samaan tapaan kuin relaatiotietokantojen taulukoissa. OpenRefinessa projekti koostuu yhdestä taulukosta. Käyttäjä voi suodattaa näytettäviä rivejä käyttämällä fasetteja, jotka määrittävät suodatuskriteerit (esimerkiksi näyttää rivit, jossa tietty sarake ei ole tyhjä). Toisin kuin taulukkolaskennassa, useimmat toiminnot OpenRefinessa tehdään kaikille suodatettuna oleville riveille: tietyssä sarakkeessa olevan tiedon muokkaus, uuden sarakkeen luominen perustuen olemassa olevan sarakkeen tietoihin, jne. Kaikki datasetissä tehdyt toimet tallennetaan ohjelmaan ja ne voidaan toistaa toiselle datasetille.

Toisin kuin taulukkolaskennassa, kaavoja ei tallenneta soluihin, vaan muuntaminen kaavalla tehdään kerran ja kaava tallennetaan myöhempää käyttöä varten. Muuntamislausekkeet voidaan kirjoittaa General Refine Expression Language (GREL) -kielellä, Jythonilla (eli Python) ja Clojurella.

Ohjelmalla on web-käyttöliittymä. Se ei kuitenkaan ole verkossa isännöity (SAAS), vaan sen voi ladata vapaasti ja asentaa paikallisesti. Kun OpenRefine käynnistetään, se käynnistää web-palvelimen ja selainkäyttöliittymän, jolla palvelinta hyödynnetään.

Ohjelmiston mahdollisia käyttötapoja 

 Sotkuisen datan siivous: jos työstää esimerkiksi tekstitiedostoa, jossa on semi-strukturoitua dataa, sitä voidaan muokata käyttämällä muunnoksia, fasetteja ja klusterointia, jotta tiedot saadaan siististi jäsennellyksi.
 Tietojen muuntaminen: arvojen muuntaminen muihin muotoihin, normalisointi ja denormalisointi.
 Tietojen jäsentäminen web-sivustoilta: OpenRefinessa on ominaisuus URL:n noutamiseksi, jsoup-HTML-jäsennin ja DOM-moottori.
 Datasetin rikastaminen hakemalla lisätietoa verkkopalveluista (eli jsonin palauttaminen). Sitä voidaan käyttää esimerkiksi osoitteiden geokoodaamiseen maantieteellisiksi koordinaateiksi.
 Tietojen yhdistäminen Wikidataan (perustuu vastaavaan Freebaselle kehitettyyn lisäosaan). Keskeisenä tässä on rekonsiliaatio — vastaavien kohteiden löytäminen Wikidatasta datasetissä oleville tekstimuotoisille arvoille.

Tuettuja tuonnin ja viennin tiedostomuotoja 
Tuonti on tuettu seuraavissa muodoissa:

 TSV, CSV
 Tekstitiedosto, jossa on mukautettuja erottimia tai sarakkeet erotellaan kiinteän leveyden perusteella
 XML
 RDF-tripletit (RDF/XML ja Notation3 -serialisointiformaatit)
 JSON
 Google Sheets, Google Fusion Tables

Jos lähtötiedot ovat ei-standardissa tekstimuodossa, ne voidaan tuoda konaisina riveinä jakamatta sarakkeisiin, ja sarakkeet erotetaan myöhemmin OpenRefinen työkaluilla. Refine tukee arkistoituja ja pakattuja tiedostoja (.zip, .tar.gz, .tgz, .terva.bz2, .gz tai .bz2) ja se voi ladata lähtötiedostoja URL-osoitteesta.

Vienti on tuettu seuraavissa tiedostomuodoissa:

 TSV
 CSV
 Microsoft Excel
 HTML-taulukko
 Vienti mallinemoottorilla. On mahdollista määritellä malline tietojen tulostamiseen esimerkiksi MediaWiki-taulukoksi.

OpenRefine -projektin voi viedä .tar.gz arkistona.

Historia 
OpenRefine oli alkujaan Metawebin kehittämä Freebase Gridworks ja se on ollut saatavilla avoimena lähdekoodina tammikuusta 2010 alkaen. Google osti Freebasen kehittäjän Metawebin 16. heinäkuuta 2010, ja nimesi Freebase Gridworksin Google Refineksi 10. marraskuuta 2010, julkistamalla samalla version 2.0. Alkuperäinen ohjelmoija David Huynh ilmoitti 2. lokakuuta 2012, että Google lopettaisi pian aktiivisen tukensa Google Refinelle. Siitä lähtien ohjelmistokoodi on ollut siirtymävaiheessa avoimen lähdekoodin projektiksi nimeltä OpenRefine.

Lähteet

Aiheesta muualla 
 https://openrefine.org/

Vapaat ohjelmistot