sunnuntai 14. syyskuuta 2014

Simberg, open data ja GlamWikiToolset

Kuva:Kansallisgalleria
PÄIVITETTY 22.9.2014
Kansallisgalleria on avannut hienon kokoelman Hugo Simbergin valokuvia osana Avoin Kulttuuridata -mestarikurssia.Metadata on saatavilla useassa eri formaatissa ja kuvat ovat saatavilla yhtenä zip-pakettina.

Tässä blogikirjoituksessa selvitän mitä tarvitaan Simberg-aineiston viemiseksi Wikimedia Commonssiin GWToolsetin avulla. GWToolsetin esittelin lyhyesti edellisessä kirjoituksessani. Kirjoitus on osa Wikimedia Suomen GLAM-yhteistyötä.

Simberg-aineisto

Simberg-aineiston muodostavat noin tuhat negatiivikuvaa, joista on digitaalisesti tehty positiivit. Lisäksi metadata on saatavilla usessa eri muodossa. Metadata on XML-muodossa seuraavan näköistä:



<photograph> 
  <author> Simberg, Hugo</author>
  <title> HS Familjeliv 1907 83</title> 
  <type> mustavalkonegatiivi, filmi</type> 
  <date> 1907</date> 
  <keeper> Kokoelmienhallinta, Kansallisgalleria</keeper> 
  <material> valokuvafilmi, selluloosanitraatti</material> 
  <keyword> Simberg</keyword> 
  <keyword> Hugo</keyword> 
  <keyword> taiteilija</keyword> 
  ...
  <image type="positive"> 130617Ha018</image> 
  <image type="negative"> 130617Ha019</image> 
</photograph> 


Mitä pitää muuttaa GWToolsettiä varten?

Aineistojen vieminen Wikimedia Commonssiin GWToolsetin avulla edellyttää kahta perusasiaa. Ensinnäkin aineistojen metadatan täytyy olla saatavilla jossain muodossa. Toiseksi, itse aineistoilla täytyy olla osoite, josta yksittäiset tiedostot voi ladata kuka tahansa.

URL

Ensimmäinen korjattava asia aineiston Simberg-metadatassa on siis URL:n ja tiedostopäätteen lisääminen tiedostonimeen (image-tagi). Eli rivi
<image type="positive">130617Ha018</image>
pitää muuttaa muotoon:
<image>http://esimerkkipalvelin.fi/kuvat/130617Ha018.jpg</image> 
Myös negatiivikuvat pitää poistaa, koska niiden lataamisessa Commonssiin ei ole tarvetta. Tällä kohtaa oletan, että kaikista kuvista on positiivit.

Instituution ja instituutiomallineen yhdistäminen

Aineistojen tarjoaja ja säilyttäjä on siis Kansallisgalleria. Siksi muutamme keeper -tagin sisällön muotoon, joka voidaan yhdistää suoraan Commonssissa jo olevaan Kansallisgallerian omaan instituutiomallineeseen.

Eli rivi:
<keeper> Kokoelmienhallinta, Kansallisgalleria</keeper> 
muutetaan muotoon
<keeper> Finnish National Gallery</keeper> 

GWToolsetissä voimme sitten ruksata option "Wrap institution in the institution template", jolloin Kansallisgallerian malline liitetään kaikkiin kuviin.

Photograph > record

Tämä on vain pieni mukavuuslisä. GWToolset oletusarvoisesti arvelee yksittäisten tietueiden olevan record -nimisiä. Siksi photograph tägi kannattaa muuttaa recordiksi, jotta tätä ei tarvitse muistaa muuttaa tuontivaiheessa.

Kuinka muunnos tehdään? vastaus:XSLT

XSLT on XML-pohjainen merkintäkieli XML-tiedostojen muunnoksiin. Sen avulla on helppo tehdä juuri edellä mainitun tapaisia muutoksia XML-tiedostoihin.Alla on selitetty miten hyvin yksinkertaisella XSLT-tiedostolla voidaan tehdä tarvittavat muutokset Simberg-aineiston XML-tiedostoon.

<!-- palvelimen osoite muuttujaan -->
<xsl:variable name="servername">http://esimerkkipalvelin.fi/kuvat/</xsl:variable>

<!-- kopioidaan kaikki -->
 <xsl:template match="node()|@*">
     <xsl:copy>
       <xsl:apply-templates select="node()|@*"/>
     </xsl:copy>
 </xsl:template>

<!-- poistetaan negatiivit -->
<xsl:template match="image[@type='negative']" />

<!-- lisätään kuvaan URL ja tiedostopääte -->
<xsl:template match="image[@type='positive']" >
    <image>
    <xsl:value-of select="concat($servername,.,'.jpg')" />
    </image>
</xsl:template>
</xsl:transform>


<!-- muutetaan Kansallisgallerian nimi vastaamaan instituutiomallinetta -->
<xsl:template match="keeper[.='Kokoelmienhallinta, Kansallisgalleria']" >
    <keeper>Finnish National Gallery</keeper>
</xsl:template>

<!-- lopuksi vielä vaihdetaan photograph recordiksi -->
<xsl:template match="photograph" >
    <record>
        <xsl:apply-templates select="@*|node()" />
    </record>
</xsl:template>

Tuloksena on GWToolset-ready XML-tiedosto. Hieman se vaati nypräämistä mutta ei mitään mahdottomia. Ainut puuttuva asia on palvelin, jossa kuvat olisivat saatavissa yksittäin sekä kyseisen palvelimen saaminen GWToolsetin latauslistalle.

DEMO:

Selaimessa toimiva demo löytyy tästä.

Voit käyttää XSLT-tiedostoa myös suoraan. Esimerkiksi Linuxissa konversion voi tehdä näin xsltproc-nimisen ohjelman asennuksen jälkeen:
 xsltproc --stringparam server 'http://jokupalvelin/kuvat/' xsl/simberg_clean.xsl xml/simberg_sample.xml

Lopputulos

Avoimen kulttuuridatan ja Wikimedia Commonssin ajatuksena on osallistuminen. Siksi lähtökohdan aineistolataukselle ei tarvitse olla täydellinen. Simberg -aineiston metatiedot voisivat olla *teknisesti* paremmin eroteltuja esimerkiksi kuvissa näkyvien henkilöiden osalta. Mutta niin ne voisivat AINA olla, täydellisyyttä tällä saralla ei voi saavuttaa.

Tärkeää kuitenkin on saada aineistot liikkeellä ja antaa ihmisille mahdollisuus täydentää ja käyttää aineistoja. Jos aineistojen pitäisi olla lähtötilanteessa täydellisesti luokiteltuja, virheettömiä ja täysin jonkin standardin mukaisia, niin silloin julkaisukynnys nousisi liian ylös, varsinkin kun resursseja ei monesti ainakaan liikaa ole. Tämä taas tarkoittaisi vähemmän avointa kulttuuridataa.