Runolliset tietueet
Muokattu 4.4: Nyt julkaistuja teoksia kuvaavien ympyröiden koko määräytyy teosten lukumäärän logaritmina. Pakkautumisongelma tuntuu helpottavan ja yksityiskohdat säilyvät paremmin. Päivitin esikatselukuvan ja ladattavan PDF-tiedoston.
Jatkoin Helmet-datadumpin pyörittelyä. Istuskelin perjantai-iltapäivän työ/opiskelupaikkani järjestämässä verkostoanalyysi-metodipajassa, josta sain ajatuksen kokeilla SNA-menetelmiä Helmet-aineistoon.
Koska aineisto on melkoisen suuri — satojatuhansia tietueita — mopokonetta ja hermoja säästääkseni päätin ottaa aineistosta jonkin kiinnostavan osajoukon käsiteltäväkseni. Päädyin Suomessa suomeksi tai ruotsiksi julkaistuihin runoihin ja runojen kustantajiin: näin näppitultumalta runoja ei julkaista vuositasolla kovin hurjia määriä ja on mielenkiintoista tietää, mitkä tahot hoitavat tätä julkaisutoimintaa.
Aloitin tarvitsemani aineiston koostamisen ajamalla aiemmin MODS-muotoon saattamastani Helmet-datadumpista XSLT-muunnoksen CSV-taulukkomuotoon, johon tallensin kunkin runoteoksen tekijän, kustantajan ja julkaisuvuoden.
XSLT-muunnoksen synnyttämät taulukot eivät olleet suoralta käsin käyttövalmiita, vaan aineistoa joutui siivoilemaan jonkin verran käsin.
Tämän jälkeen järjestelin ja suodatin UNIX-komentorivityökalujen (sort ja unique) avulla tiedoston sellaiseen muotoon, jossa riveillä on kirjailijan nimi, kustantaja ja kyseisen kustantajan kautta julkaistujen teosten lukumäärä. Nyt data oli sellaisessa muodossa, että käytettävissäni oli kaikki ne tiedot, jotka oletin tarvitsevani mielessäni olevan grafiikan toteuttamiseksi koneen avulla.
Datasta syntyi kaavio Python-ohjelmointikielen NetworkX verkostoanalyysipaketin sekä Graphviz -visualisointityökalun suosiollisella avustuksella.
Python-skriptin nielemä tieto näytti tältä:
4 WSOY Töyrylä, Timo
19 WSOY Vaara, Elina
4 WSOY Vala, Katri
5 WSOY Venho, Johanna
…ja skriptin tuottama, DOT-muotoinen tieto kutakuinkin tältä:
"Vaara, Elina" [style=filled, fixedsize=true, height="0.25", width="0.25", shape=circle, role=author, fontsize=1, label="", color=lightgray];
WSOY [width="2.5", style=filled, fontsize=12, fixedsize=true, role=publisher, color=red, height="2.5"];
"Vaara, Elina" -> WSOY [color=gray37, penwidth=4];
Loppu olikin silkkaa automagiaa suurimmaksi osaksi. Latasin DOT-tiedoston Graphviz-ohjelmaan, joka pienen asetustensäätelyn jälkeen lykkäsi ulos haluamani grafiikan. Jahka saan opeteltua Graphviziä lisää, koitan josko saisin mankeloitua esityksen hieman havainnollisempaan muotoon.
Kuvassa punaiset ympyrät ovat kustantajia ja harmaat kirjailijoita. Ympyrän koko heijastelee julkaistujen teosten määriä.
Esikatselukuva sisältää vain pienen osan koko grafiikasta — ohessa kuva kokonaisuudessaan PDF-muodossa.

Jahas jahas taas on ahkeroitu
Aika moneen kertaan olet joutunut dataa leipomaan, joka ohjelmistolle eri muotoon. Mutta homma hoituu. Jos tällaista tekisi säännöllisesti niin varmaan haluaisi kehitellä hieman työkaluja tuohon väliin, kunhan on suunnitellut millaisia datoja haluaa oikeastaan haluaa.
Tuohon saisi ajallisenkin ulottuvuuden julkaisuvuodesta ja jos siitä nyt jotain haluaa päätellä, niin hahmottuisi esim. omakustantamisen suhde kokonaisuudessa sekä kustantamisen keskittyminen/hajaantuminen kustantajien kesken.
Olisipa Fennica avointa dataa, HelMetin data on sikäli epäoptimaalinen aineisto että se on kuratoitu kokoelma ja tämä on syytä pitää mielessä.
[...] hääräillyt Open Dataksi avatun HelMet-aineiston kimpussa. Nyt syntyi kuvaelmaa siitä, mitä kirjaston aineistotietokanta kertoo suomalaisen runouden kustantamisesta ja julkaisemisesta. Käykäähän hämmästelemässä, ja painostakaa samalla Kansalliskirjasto avaaman [...]
Kauniin näköinen. Mutta kiinnostaa kustantamojen ryhmittely yhteen ja jopa päällekkäin, mitä logiikkaa se noudattaa? Entä mikä aikaväli?
Tuo päällekkäin pakkautuminen on se asia, jota koitan vähentää perehtyessäni lisää Graphviziin. Grafiikan asettelu tapahtuu tietynlaisen matemaattisen algoritmin ohjaamana ja nyt jos ohjaan algoritmia pitämään kuvion osat visusti toisistaan erillään, koko kuva räjähtää kappaleiksi. Jokin välimuoto täytyisi löytää. Kustantamojen pakkautuminen on siis tahatonta, eikä noudata mitään tietoisesti valittua periaatetta.
Kaaviossa on mukana kaikki Helmet-datadumpin runous-asiasanalla luetteloidut teokset, joiden kieli on joko suomi tai ruotsi. Raakadatasta katsoen julkaisuvuosien aikaväli näyttäisi olevan 1800-luvulta viime vuoteen. Seassa on varmasti myös muita kuin varsinaisia runoteoksia, mutta kokonaiskuvan kannalta nämä ovat epäolennaisia.
Kuten Mace totesi, Fennica olisi tämäntyyppisiin visualisointeihin ehdottomasti se paras aineisto. Täytyy nyt harjoitella Helmet-datalla, josko sitten jossain vaiheessa Fennicakin vapautuisi
Tässä kuvaamani työnkulku on siinä mielessä epäoptimaalinen, että taitava XSLT-muunnostiedostojen käyttäjä saisi kyllä koostettua halutunmuotoista dataa suoraan, tarvitsematta turvautua UNIX-komentorivityökaluihin. Vielä vähemmillä työkaluilla selviäisi, jos lataisi datan XML-tiedostoista suoraan (Python)-skriptiin. Useimmiten dataa joutuu siivoamaan kuitenkin käsin, joten tämä viimeinen vaihtoehto toiminee järkevästi vain koneellisesti tuotetun datan kohdalla esim. lokitietoa käsitellessä.
[...] haluamaansa aineistoa. Yksi tämäntapainen esimerkki on Matti Lassilan (Kartta kirjastosta, Runolliset tietueet) tekemät mainiot visualisoinnit [...]