DogeDC, kirjastotieteen ja kirjastojen metadataprosessien ytimessä.
Tag Archives: luettelointi
PIKI-kirjastojen tietokantapöyhintäni lähdekoodi, työpäiväkirja ja raportti julkistettu
Tein marras-joulukuussa freelancena töitä PIKI-kirjastoille tietokannan siivouksen parissa. Pöyhin about 2 miljoonaa MARC21 -tietuetta kokonaan kirjastojärjestelmän (Axiell Aurora) ulkopuolella ja hauskaa oli. Lisäksi suunnittelin miten kirjastojärjestelmän ulkopuolella tehtyjä muutoksia voi tuoda tuotantotietokantaan ym. ym.
Projektin- ja asianhallintaan käytin Kirjastot.fi:n tarjoamaa Redmineä, ja käytin sitä myös työpäiväkirjanani. Avasin sen julkiseksi ja se on siis kaikkien nähtävissä. Tonkimiseen paras alku lienee lista kaikista issue-trackeriin merkityistä asioista. Kaikki kirjoittamani XQuery -kielinen lähdekoodi löytyy sensijaan GitHubista ja minua, sinua ja lähdekoodia suojaa GNU GPL-lisenssi. Työpäiväkirja ja lähdekoodi ovat mielestäni mielenkiintoisimmat dokumentit työstäni ja analyyseistä. Laadin myös raportin, joka löytyy Google Docsista, jossa sitä voi myös kommentoida.
(: Check all classification fields which claim to get their value from YKL classification systems, see if they are really define there. Based on my screenscraped YKL :) declare namespace srw="http://www.loc.gov/zing/srw/"; declare namespace marc="http://www.loc.gov/MARC21/slim"; declare variable $yklres := fn:doc('ykl.xml'); declare variable $ykl := $yklres/ykl/class/@no/data(); <yklClasses>{ for $field in /records/record/srw:recordData/marc:record/marc:datafield[@tag="084"] let $classNo := $field/marc:subfield[@code="a"]/data() where $field[marc:subfield[@code="2"] = "ykl"] return <yklClass inYkl="{if ($classNo = $ykl) then 'true' else 'false'}">{ $classNo }</yklClass> }</yklClasses>
Esitelmöin ja toivottavasti myös demoan hommiani Kansalliskirjaston järkkäämillä sisällönkuvailun tiedostuspäivillä lounaan jälkeen keskiviikkona 20.3.2013 Helsingin yliopiston päärakennuksen pienessä juhlasalissa. Päivillä on muutakin mukavaa ja mielenkiintoista aihetta tarjolla. Tilaisuuteen voi osallistua etänä, ja webinaari ilmeisesti myös taltioidaan. Toivottavasti siellä tavataan.
Kirjastotietokantojen laatua käsittelevä tohtorisväikkäri
Törmäsin Cycling for libraries -yhteisön kautta sattumalta väitöskirjaan Latvian yliopistosta vuodelta 2007, Baiba Mūzen Bibliotēku elektroniskie katalogi un to kvalitāte.
Mitä on tietokannan ja datan laatu?
Kun katsotaan kirjastojen bibliografista dataa ja tietokantaa jossa se asuu, mitä teidän mielestänne on ”laatu”?
Mitä laatu yleensäkin on, miten sitä nykyään mitataan kirjastojen tietokannoissa ja mistä voimme tietää, että tämä kirjastojen tietyllä tavalla key asset on hyvä? Näissä tietokannoissa on paljon rahaa, aikaa, vaivaa, kunnianhimoa ja jopa ammatti-identiteettiä kiinni, miten voimme varmistua siitä että ne oikeasti ovat hyviä?
Mitä tapahtuisi jos yrittäisi hankkia vaikkapa ISO-9000 -sarjan laatusertifikaatin kirjaston bibliografiselle metadatalle, aineistotietokannalle ja siihen liittyville prosesseille?
Mielenkiintoisia kysymyksiä, ja tärkeitä koska kirjastojen palveluja on suunniteltu enemmän ja enemmän sen varaan että tietokanta ja sen käytettävyys on erinomaista (kts. varaukset).
Q. Ethan McCallum: Bad Data–Mapping the World of Data Problems
O’Reilly on vastikään julkaissut huonoa dataa käsittelevän oppaan Q. Ethan McCallum ja työryhmä: Bad Data Handbook – Mapping the World Of Data Problems (O’Reilly Media, 2012, ISBN 9781449321871).
Miltäs tämän teoksen MARC-tietue mahtaa näyttää? Ai täydelliseltä ja tyhjentävältä? Kiva. Entäs 5 vuoden päästä kun tietueparka on vedetty läpi parista formaattikonversiosta ja järjestelmäuudistuksesta?
Ostin e-kirjana, tästä on luultavasti iloa nykyisessä työssäni kun siivoan PIKI-kirjastojen tietokantaa.
Cycling for libraries -läksyni epäonnistui: en löytänyt syitä miksi kirjastot eivät ole avointa dataa
Epäonnistuin vähän aikaa sitten päättynyttä Cycling for libraries -epäkonferenssiamme varten valitsemani ”läksyn” teossa. Läksynäni oli löytää vähintään viisi argumenttia jolla kirjastot puolustavat kantaansa vastustaa avoimeen dataan siirtymistä. En löytänyt yhtäkään perustetta Cycling for libraries -osallistujilta enkä niiltä vierailemistamme Liettuan, Latvian ja Viron kirjastoilta joissa onnistuin ottamaan asian puheeksi.
Ainoa mielestäni vakavasti otettava argumentti johon olen aiemmin törmännyt on, että emme voi parantaa bibliografisen datamme saatavuutta Avoimen Datan myötä siksi, että me kirjastot emme omista dataamme, vaan niiden tekijänoikeudet ovat sisällöntuottajallamme eli käytännössä BTJ:llä. Tämä argumentti on ainakin Suomen tekijänoikeuslain nojalla virheellinen, sillä
- yksittäiset MARC (tms.) tietueet eivät ole tekijänoikeuden suojaamia
- tietokanta kokonaisuutena on tekijänoikeuden suojaama (49 §)
- työsuhteessa tehdyn tietokannan tekijänoikeus siirtyy poikkeuksellisesti tekijältä työnantajalle, eli luetteloijalta/ylläpitäjältä kirjastolle (40 b § 3)
Pyynnöistäni huolimatta en ole saanut selvyyttä millaisilla sopimuksilla BTJ:ltä tietueita ostetaan heidän Arvo-palvelustaan, ja mitä niissä sopimuksissa sanotaan. Kirjastojärjestelmien sopimukset eivät ymmärtääkseni siirrä tietokannan omistajuutta kirjastolta järjestelmätoimittajillemme Axiellille tai Innovativelle.
Erilaisia spekulaatiota tietenkin liikkuu, tyyliin kirjastojohtajien tai luettelointiammattilaisten taidottomuus, nousevien tietoliikennekustannusten pelko, välinpitämättömyys, kirjasto datan heikon laadun tuoma epävarmuus sen hyödyllisyydestä jne. Tällaisiä argumentteja en tietenkään ole kuullut kirjasto-organisaatioilta, vaan kollegoilta.
Kirjastotietokannat ovat kirjastojen immateraalista omaisuutta. Kirjastokimpoissa omistajuus on hieman epäselvää, mutta kirjastojen on pystyttävä perustelemaan omaisuutensa suojelemisen avoimessa tietoyhteiskunnassa.
Sillävälin YLEllä: ontologiat+Onki+Drupal+avoin lähdekoodi
YLE käyttää Drupal -julkaisujärjestelmää monissa sivustoissaan. Ilahduin kovasti, kun viime lauantaisessa DrupalCampissa Isolla pajalla Teemo Tebest esitteli Svenskalle kehitettyä Drupal-moduulia, joka helpottaa YLEn sisällöhallintaa.

Resource Description Framework
Drupalhan ymmärtää itsekin semanttisen webin perustana olevaa RDF:ää, mutta nyt nähty moduuli on kirjastomaailmasta katsellen erityisen kiinnostava; moduuli yhdistää Drupalin Onki -ontologiapalveluun. Näin YLEn sisällöntuottajat voivat noukkia ontologioista sisältöään kuvailevia termejä. Kirjastoihminen voisi kutsua tätä vaikkapa luettelointi 2.0:ksi tai auktoriteettikontrolli 2.0:ksi. Vastaavaa ei meidän alallamme Suomessa tehdä kuin Kirjasammossa SAHA-annotaatioeditorilla. DrupalCampissa puhuttiinkin hieman myös siitä, sekä Onkin ja ontologioiden ylläpidon tulevaisuudesta.
YLE on avoimen lähdekoodin hengessä julkaissut moduulin Drupal.org:issa, jossa se on paraikaa menossa Drupal-yhteisön vertaisarviointiprosessin läpi. Moduulin lähdekoodi on jo saatavissa tarkastelua ja muutosten tekoa varten.
Viimeaikaisten järjestelmäkehitysten myötä kirjastot ovat ottaneet lähinnä takapakkia auktoriteettikontrollin ja muunkin automaattisen tietojenkäsittelyn osalta, mutta hienoa nähdä että tietotyön ammattilaiset toisaalla, esim. juuri YLEläiset, ottavat metadatan, avoimuuden ja muulla tehtävän metadatatyön (esim. ontologiat) näin vakavasti ja kunnianhimoisesti. Pisteet YLElle (taas)!
[edit 24.09.2012: upotin videotaltioinnin tähän mukaan, Teemo aloittaa kohdassa 16:30]
Kuka nää on luetteloinu?
Jos kirjallisuutta luetteloitaisi ja kuvailtaisi kuten digitaalisia pelejä luetteloidaan ja kuvaillaan, kaikilla kirjoilla olisi sisällönkuvailuna asiasanat kirjat, kirjallisuus sekä selluloosa. Huomautuskentässä voisi kertoa mitä vaaditaan käyttämiseen, esim. ”valot, vähintään yksi käsi, lukutaito 2000-luvun suomen kielellä”. Toisessa huomautuksessa voisi mainita että lainausoikeuden on myöntänyt Suomen tekijänoikeuslaki. Oheisessa kuvassa olevan teoksen nimeke olisi jotain tämän tyyppistä: Bibliografnen valvonta [Painettu aineisto] : Johdatus luetteloinnin ja sisällönkuvailun menetelmiin : Kirja. Kannessa mainittuja tekijöitä ei olisi olemassakaan eikä tekijät olisi muutenkaan mitenkään merkittävä asia. Poikkeuksena voisivat olla elämäkerrat, joiden tekijöinä olisi ehkä ne henkilöt/bändit josta ko. teos kertoo.
Aineistolajit eivät ole aineistolajeja, sisällönkuvailu ei kuvaile sisältöä, nimeke ei kerro nimekettä, tekijöitä ei kirjata ensinkään… onkohan kirjastojen luettelointisäännöt ja sovellusohjeet pitkäaikaissäilytyksen piirissä? Tästä datasta ei nimittäin tulevaisuuden ihmiset ota kyllä mitään tolkkua ilman niitä. LOL olisikin hauska joutua joskus päättelemään datasta että mitä oikeastaan sillä oli tarkoitus kuvata. Jos esim. Vaskia on uskominen, keskeisin kulttuurin kyseisen osa-alueen tekijä on Metallica, joka on todellisuudessa vaari-ikäinen power-rokkia soittava yhtye, jonka huippuvudet sijoittuvat minun ikästeni varhaisnuoruuteen.
Olen miettinyt ja suorastaan seuraillut pelien luettelointia muutama vuosia Vaskissa, HelMetissä, PIKIssä, Aallossa sekä Fennicassa, tilanne vaikuttaa onneksi olevan hitaasti paranemaan päin. Mistä nää tietueet oikein tulee? BTJ:ltä? Alalla on paljon kaikenlaisia hauskoja työ- ja ohjausryhmiä, ja niihin osallistuminen onkin mainio mahdollisuus saada kaffea ja ehkä pullaakin neljästi vuodessa. Mikä työryhmä ohjaa pelien luettelointia?
Ja tietenkin avauduin myös Kirjasto-kaapelilla:
Moi, tietääkö joku onko olemassa jotain tahoa joka yhtään kattoisi konsoli- ja tietskapelien yms. luetteloinnin perään? Sekä bibliografisessa kontrollissa että sisällönkuvailussa olis vielä skarpattavaa, ja ennenkaikkea yhtenäistettävää muiden julkaisujen luetteloinnin kanssa. BTJ:ltä nää tietueet kai tulee, mutta onko tähän jotain ohjausryhmää tai jotain?
Jos alkaisi viimein – about 30 vuoden jälkeen – kirjaamaan peleihin tekijät (joo pelit asuu tietokoneessa, mutta kyllä ne on ihminen ihan oikeeasti tehny) ja vaikka joku yhteinen ontologia pelityypeistä, ni päästäis jo ihan kivaan alkuun.
Yliopistossa mulle opetettiin että just tässä me ollaan ihan mielettömän hyviä.
Bibliografinen data on blääh, meillä on parempaakin
Mitä Lukas sanoi, bibliografinen metadata ja kuvailutiedot eivät ole kiinnostavinta dataa mitä meillä kirjastoilla on. Se on itseasiassa aika tylsää faktojen luettelemista ja se voidaan tuottaa, säilöä ja ylläpitää keskitetysti, ja jopa ostaa kuten tapana onkin (BTJ:ltä).
Bibliographic metadata as such describe publications, in the broadest sense, providing information about title, authors, subjects, editions, dates, urls, but also physical attributes like dimensions, number of pages, formats, etc. This type of information, in FRBR terms: Work, Expression and Manifestation metadata, is typically shared among a large number of libraries, publishers, booksellers, etc. ‘Shared’ in this case means ‘multiplied and redundantly stored in many different local systems‘. It doesn’t really make sense if all libraries in the world publish identical metadata side by side, does it?
Se mikä sensijaan oikeasti on mielenkiintoista, on paikallinen käyttödata sekä niteistä ja kokoelmista kertova data.
Currently, library data that is really unique and interesting is administrative information about holdings and circulation. After having found metadata about a potentially relevant publication it is very useful for someone to know how and where to get access to it, if it’s not freely available online. Do you need to go to a specific library location to get the physical item, or to have access to the online article? Do you have to be affiliated to a specific institution to be entitled to borrow or access it?
Usage data about publications, both print and digital, can be very useful in establishing relevance and impact. This way information seekers can be supported in finding the best possible publications for their specific circumstances.
Tästä on Suomessakin ollut puhetta tietyissä piireissä. Mitään kehitystä tähän suuntaan ei ole kuitenkaan otettu eikä toistaiseksi ole näkyvissäkään. Ehkä sitten, kun yhteisluettelo kansallinen metadatavaranto (”Melinda”), KDK:n asiakasliittymä, Axiell Arenan kansalliset ulottuvuudet tai jokin vastaava valmistuu ja teostaso voidaan kokonaan siirtää veke kaikista kirjastoista ja tehdä haut yhteen indeksiin (ja rajata halutuin ehdoin, esim. kuuluuko teos oman kirjastoni kokoelmaan), voidaan ruveta miettimään tällaisia asioita.
Lukekaa Lukaksen kirjoitus Local library data in the new global framework, jossa Lukas kertoo paikallisdatan merkityksestä tarkemmin ja myös esittelee malleja miten homman voisi toteuttaa.
Howto: FinMARC→MARC21 video
Tein 14 minuutin opetusvideon miten kirjaston aineistotietokanta muunnetaan FinMARC -formaatista MARC21:een.
Työkaluna Kansalliskirjaston ylläpitämä USEMARCON, jota Axiellkin ilmeisesti (=toivottavasti) käyttää.
Jos USEMARCON -konversiosääntöjä haluaa itse muokata, ne näyttävät tältä:
100I1 | 100I1 | If (I1=1 Or I1=2) Then '1' Else S 100I2 | 100I2 | ' ' 100$a | <E00$a | S 100$h | <E00$a | + ', '+S; RegReplace('\\s*\\([^\\.]{2,} [^\\.]{2,}\\)\$', '') 100$f | <E00$c | S 100$c | <E00$d | S 100$x | <E00$e | S; RegReplace('^\\((.*)\\)\$', '\\1') E00 | 100 | S; MoveBefore ('d', $e); MoveBefore ('c', $d); Replace ('$c' By ',$c'); Replace ('$d' By ',$d'); Replace ('$e' By ',$e'); If (((RegFind('.*\\$(.)') < 0) Or (RegMatch(1) != '4')) And RegFind('\\.\$') < 0 And RegFind('\\-\$') < 0) S + '.'
Avoin kirje Tuijalle viitteidenhallintatyökaluista kuten Zotero, Mendeley ja RefWorks
Minulta kyseltiin privana suhteestani näihin RefWorksin yms. kaltaisiin viitteidenhallintatyökaluihin joista on kollegoiden kesken ollut toisaalla puhetta. Tässä avoin kirjeeni:
Suhteeni kirjallisuusviitetyökaluihin on lähinnä poleeminen. Mainitsemasi Mendeley on mennyt minulta täysin tutkan alta, en ole moista edes huomannut. En ole täten erityisesti suunnitellut Zoterosta siihen siirtymistä.
Vaikka Zotero on minulla kyllä koneellani asennettuna, ei sitä rehellisyyden nimissä tule koskaan käytettyä. Olen oikeastaan käyttänyt sitä vain muutamassa isommassa kirjoitusjutussa kun olen vääntänyt artikkelia kirjaan tms… itseasiassa kaikki Zoteron käyttötapaukseni taitavat olla juuri tuollaisten muodollisempien, kirjamaisempien tekstien laatimiseen liittyneitä… Lasken PDF-tiedostot (kuten raporttimme Kirjastojärjestelmät Nyt!) kirjamaisiksi, tai no e-kirjoiksi kai niitä pitäisi kutsua.
Kieltämättä tuntuu hassulta että joitain tietyntyyppisiä tuotoksia varten käyttää jotain tällaisia erityisiä työkaluja, kuten juuri tekstinkäsittelyohjelmaa ja viitteidenhallintatyökalua. Ehkä siitä tulee vähän tärkeä olo… kuin tekisi jotain oikeampaa kirjoittamista kuin normaalisti. Todellisuudessaan tekstin kirjoittamisen ja viitteiden hallinnan kanssa on tekemisissä joka-ikinen päivä, tuntikausia. Tekstinkäsittelyohjelmat ja erityiset viitteidenhallintatyökalut eivät tosin kuulu arkeen, vaan selain ja tietenkin mahdollisimman hyvät URL-osoitteet.
Yksi selkeä etu mikä Zoteron, RefWorksin tai vastaavan työkalun käytössä on, on siististi muotoiltu viiteluettelo. Luonnellisemmassa ympäristössäni eli verkossa tykkään aina laatia viitteet tekstin sisään, mutta printissä tai printtiä mallintavassa tekstissä (kuten juuri PDF:t), tämä ei ole tyypillisesti tapana. Silloin se, että napin painalluksella saa hienosti muotoillut viiteluettelon on ollut kiva juttu.
Normaalisti käytän viitteidenhallintaan lähinnä Diigoa. Aiemmin del.icio.usia. Ei näitäkään tule loppujenlopuksi niin paljoa käytettyä. Selaimen sivuhistoria ja Google ovat minulle aika kattavat viitteidenhallintatyökalut 🙂 Riippuu tilanteesta. Käytän aika paljon selaimen osoiteriviä tiedonhakuun. Näin käytän esim. valokuviani (jotka ovat Flickrissä, jolle voi tehdä kyselyjä suoraan URL-osoitteilla) sekä juuri selaimeni historiaa.
RefWorksista minulla ei ole oikeastaan mitään sanottavaa, paitsi että se on alansa establishmentti.
Zoterosta vielä yleisemmin. Sehän on Firefox-selaimen laajennos, ja sikäli aina naimisissa Firefoxiin. Stand-alone versio on kehitteillä, kuten Chrome ja Safari-versiotkin. Muistan kun Zoteroon tuli myös web-liittymä, jota voi nyt käyttää myös mobiilina. Se on ihan kiva. Zotero on kyllä monipuolinen ja varmasti kattava työkalu, mutta siistin, formaalin ja kontrolloidun metadatan ylläpitäminen vaatii aina työtä, joka monesti palvelee loppujenlopuksi jotain anaalista kontrollifriikkeyttä, eikä oikeaa tiedon käyttämistä aidosti (kirjastoihminen jos kuka tietää tämän). Tokihan tällaisen työkalut, niiden välinen tiedonsiirto ja ajatus jonkinlaisista ”rikkaammista”, ei suoraan perille johtavista linkeistä on kiehtovaa.
Zoteron tai muidenkaan viitteidenhallintatyökalujen ns. ”sosiaalisista” ominaisuuksista olen käyttänyt vähän. Deliciousin aikaan enemmän, ja jos on ollut jotain selkeitä porukoita joiden kanssa ja selkeä tehtävä, silloin tällaiset työkalut ovat olleet kyllä hyviä. Jos kirjoittaisin enemmän ”asiallista” ja ei-elävää tekstiä, niin käyttäisin enemmän. Varmaan jossain gradun ähläämisessä olisi hyvä, tai jos itse kirjottelisi akateemisa tekstejä niin voisi ehkä pitää omaa bibliografiaansa yllä tuollalailla.
Kaksi avoin data -sovellusta tällä viikolla: tuplakontrolli ja VuFind
Turun ja naapurikuntien kunnankirjastojen Vaski-kirjastokimppa julkaisi aineistotietokantansa avoimena datana vähän aikaa sitten. Avoimen datan idea on, että hyödyllinen annetaan esteettä kaikkien käyttöön. Tällainen ajattelu sopii erinomaisesti kirjastoihin. Yksi hauska puoli avoimessa datassa on se, että data on silloin myös meidän itsemme käytössä. Tämä ei ole ollenkaan itsestäänselvää – normaalisti voimme itsekin käsitellä MARC-tietueitamme vain yhdellä työkalulla, nimittäin kirjastojärjestelmällämme. Vaskissa käytämme Axiellin PallasProta, jolla ei voi tehdä kaikkea. On tärkeää päästä dataan käsiksi monin eri tavoin, ja monien eri tahojen toimesta.
Tässä kaksi casea, joissa kuluneella viikolla hyödyin siitä, että minulla (kuten kakikilla maailman ihmisillä) on esteetön pääsy luettelointidataamme.
Case 1: tuplakontrollia
Täällä Vaskissa me valmistaudumme vaihtamaan PallasPron toiseen Axiell-tuotteeseen, Auroraan. Samassa tietokantaamme tulee mukaan lisää kirjastoja, ja siirrymme FinMARC -luettelointiformaattista MARC21:een. Anna valvoo ja suunnittelee sitä, yhdessä muiden luetteloijien ja Axiellin kanssa.
Vaski, kuten muutkin kirjastotietokannat ovat sangen sotkuisia monellakin tapaa. Esimerkiksi yhdestä teoksesta saattaa olla useita luettelointitietueita (ns. tuplia (tai tripliä (tai quadruplia (ad nauseaum)))). Ne ovat tietokannan käytön kannalta ärsyttäviä, ja niitä yritetään nyt siivoilla pois.
Tein Annalle tällaisen Perl-ohjelman, joka etsii tuplia ISBN-koodin perusteella (joka on tallennettu kenttään 021‡a
):
#!/usr/bin/perl # lists ISBN-codes which appear in more than one MARC record use MARC::Batch; my $file = "vaski-kunnostettu.mrc"; my $batch = MARC::Batch->new('USMARC', $file); $batch->strict_off(); # First, let's create a magnificient hash or arrays, with ISBNs as keys, and # lists of record ids as values while ($record = $batch->next()) { for my $field ($record->field('021')) { my $isbn = $field->subfield('a'); push(@{$recsperisbn{$isbn}}, $record->field('001')->data()); } ++$i; } # then let's see through the hash, and print all the ISBNs which appear in more # than one record, and list all the records ids per ISBN too while (my ($key, $value) = each(%recsperisbn)) { if (@$value > 1) { print($key, ": "); foreach $recid (values($value)) { print($recid,","); } print("\n"); } }
Tämä ohjelma käy järjestyksessä läpi kaikki tietueemme, ja muodostaa kaikista esiintyvistä ISBN-koodeista listan missä kaikissa tietueissa se esiintyy. Lopuksi se tulostaa kaikkien sellaisten tietueiden tunnisteen (kentästä 001
), joiden ISBN esiintyy useammassa kuin yhdessä tietueessa. Näitä löytyi reilu 15 000. Anna arvioikoot, mitkä niistä voisi yhdistää keskenään. Yllä oleva Perl-ohjelma on rakennettu MARC::Record
ja MARC::Batch
-ohjelmointikirjastojen päälle, jotka ovat ilmaisia, standardin mukaisia ja avointa lähdekoodia.
Case 2: verkkokirjaston pystyttäminen
Toinen tämänviikkoinen näpertelyn kohde on VuFind. Se on täysiverinen verkkokirjasto-ohjelmisto, verrattavissa esim. KDK-hankkeessa pilotoitavana olevaan ExLibriksen Primoon. Hakumoottorina VuFind käyttää Solria. Vain paras on kyllin hyvää! Sanomattakin selvää, että sekä VuFind että Solr ovat avointa lähdekoodia ja vapaasti käytettävissä.
Taustajärjestelminä VuFind voi suoraan käyttää Alephia, Voyageria, Innovativen Milleniumia, avoimen lähdekoodin eXtensible Catalogia, Kohaa ja Evergreeniä, OCLC PICAa ynnä muita. Kuten erittäin hyvin tiedämme, me suomalaiset yleiset kirjastot olemme marginalisoituneita kansainvälisistä kollegoistamme omine Axiell-järjestelminemme, mutta VuFindin ja Axiellin järjestelmien väliin voi kyllä rakentaa yhteyden. Tämä tapahtuu laatimalla ohjelma, jota VuFindissa kutsutaan ILS -ajuriksi. Toisessa päässä, eli Axiellin kirjastojärjestelmän päässä käytetään Axiell Web Services -rajapintaa, joka on useiden suomalaisten Axiellin tuotteita käyttävien kirjastojen käytettävissä.
Suomessa VuFind on käytössä ainakin Helsingin yliopiston Viikin kampuskirjastossa, jonka palvelu on nimeltään eViikki. Maailmalta löytyy paljon kirjastoja, jotka ovat valinneet VuFindin.
En perjantaina jaksanut alkaa säätämään virallisen tietohallinnon kanssa tai ehdottelemaan mitään toimiryhmien perustamista ja kerran kuukaudessa pidettäviä pullakahvikokouksia, joten laitoin omin nokkineni palvelimen pystyyn Amazonin EC2 -pilveen. Se oli asiaan jo ennalta tutustuneena oikeastaan pöyristyttävän helppoa ja siihen meni alle tunti. VuFindin olen aiemmin asentanut omalle läppärilleni, mutta nyt pystyttämääni palvelimeen indeksoin myös Vaskin bibliografisen datan ja katsoin järjestelmää muutenkin tarkemmin. Datamme on FinMARCia, mutta olen konvertoinut sen itse MARC21:ksi Kansalliskirjaston ylläpitämillä konvertointisäännöillä sekä USEMARCON-ohjelmalla (kiitos Ulla, Ere ym.). Näitä Axiellkin käyttää kun teetätämme heillä konvertointityötä.
Hyvältä ja selkeältä näyttää toi VuFind kyllä 🙂
Laadukas viikko takana 🙂
Turku ym. Vaski-kirjastot nyt avointa dataa
Moi, terveisiä Varsinais-Suomesta. Laitoimme tänään koko Vaski-kimppamme luettelointitietokannan sisällön sellaisenaan verkkoon.
Vaskin, eli Turun, Liedon, Maskun, Mynämäen, Naantalin, Nousiaisten, Raision, Ruskon ja Taivassalon kunnankirjastojen yhteisessä tietokannassa on noin 1.7 miljoonaa tietuetta ja niihin on vaihtelevalla tarkkuudella kuvailtu kaikki ne kirjat, lehdet, cd-levyt, DVD:t, nuottivihot, yksittäisiä musiikkikappaleita ynnä muita aineistoja, joita kirjastojen hyllyistä voit löytää. Juuri nämä bibliografiset tietueet ovat historiallisesti muodostaneet kirjastojen tiedonhaun keskeisimmän ytimen, ja haluamme tällä julkistuksella olla mukana kaikenlaisten tietovarantojen käytön esteitä vähentävässä avoin data -liikehdinnässä (engl. Open Data).
Tässä tiedoitteemme, joka lähti tänään lehdistölle sekä tietenkin myös Kirjastot.fi:hin:
Varsinais-Suomen kirjastojen data avoimeksi
30. syyskuuta 2011 10:00
Varsinaissuomalaiset Vaski-kirjastot ovat avanneet aineistotietokantansa sisällön julkiseen käyttöön. Aiemmin vain hakuliittymän kautta käytettävä tietokanta on nyt lisäksi ladattavissa verkosta kokonaisuudessaan, tietokoneella käsiteltävässä muodossa. Tämä mahdollistaa kokonaisuudelle paljon uudenlaisia käyttömahdollisuuksia. Vaski-tietokanta sisältää noin 1.7 miljoonan kirjan, levyn, musiikkikappaleen ynnä muiden teosten julkaisutiedot sekä kirjastoammattilaisten tekemät luokittelu- ja hakusanatiedot.
Open data, tai suomalaisittain avoin data on pyrkimys avata erilaisia tietolähteitä mahdollisimman vapaaseen käyttöön. Erityisesti julkisin varoin tuotettua ja ylläpidettyä dataa ollaan Suomessa avaamassa monilla eri tahoilla.
Kirjastot ovat merkittävä osa yhteiskunnan avointa ja yhdenvertaista tietoinfrastruktuuria. Niiden tietokannat sisältävät paljon huolellisesti koottua tietoa erilaisista kulttuurijulkaisuista ja luonnollisesti kirjastot haluavat edistää näiden tietojen monipuolista saatavuutta. Suomessa kirjaston aineistotietokantojen saatavuutta pyrkivät parantamaan kirjastojen yhteinen Kirjastot.fi Labs -hanke, sekä Kansallinen Digitaalinen Kirjasto, jonka rakentamiseen Vaski-kirjastot myös osallistuvat. Vaski-kirjastoihin kuuluu tällä hetkellä yhdeksän kaupungin- ja kunnankirjastoa (vuonna 2012 17), ja ne palvelvat noin 340 000 suomalaista.
Lisätietoja antavat Varsinais-Suomen maakuntakirjastona toimivan Turun kaupunginkirjaston projektisuunnittelija Mace Ojala (mace.ojala@turku.fi) ja palvelujohtaja Ulla-Maija Maunu (ulla-maija.maunu@turku.fi).
Vaski-kirjastojen tietokanta on avattu yhteistyössä sisältöä tuottavan BTJ:n kanssa.
Henkilökohtainen kiitokseni kollegoilleni täällä Vaski-kirjastoissa ja erityisesti pomoille ja luetteloijille, sekä BTJ:lle jolta suuri osa suomalaisten kirjastojen luettelointityöstä on ostettu ja joka on käytännössä meidän yhteisluettelomme. Terkut myös kansainväliselle open data -yhteisölle 🙂
Nyt avattu Vaski-kirjastojen data on ladattavissa isona läjänä sekä XML-muodossa että MARCille tyypillisessä ISO-2709 -siirtomuodossa osoitteesta http://data.kirjastot.fi. Lisenssinä on erittäin salliva Creative Commons CC0. Kirjastoalan yhteisestä bibliografisesta MARC-standardista on erilaisia versioita, olemme Suomessa vielä siirtymävaiheessa FinMARCista kansainväliseen MARC21:een. MARCista sekä sen eri formaateista löydät lisää tietoa Kansalliskirjaston sivuilta ja meillä on myös erityinen sähköpostilista MARC-asioille… joka on tosin nykyään erittäin hiljainen. Olen bloggaillutkin silloin tällöin MARCista.
Tämä Vaski-julkistus on siis FinMARCia, ja yksittäinen tietue näyttää esim. tällaiselta:
00791nam a22002533 450
001 Ppro853_148215
008 921022s1992 fi 8
021 $a 951-581-008-6 $c sid. $d 162 FIM
041 1 $a fin $c rus
057 $a 68
064 $a 68.22
065 $a 68.22
068 $a 68.22
098 $a 68.22
100 1 $a Ponomareva $h Julia
241 $a Gribnaja kuhnja
245 2 $a Vaskiratsastajan sienisalaatti $b 201 mainiota sieniohjetta $d [Julia Ponomareva & Aleksei Ponomarev] $e [toimittanut ja suomentanut Liisa Viitanen]
260 $a Helsinki $b Taifuuni $c 1992 $e [Pieksämäki] $f RT-paino
300 $a 231 s. $b kuv. $c 22 cm
652 $a keittokirjat
652 $a sieniruoat
700 10 $a Ponomarev $h Aleksei
745 $a 201 mainiota sieniohjetta
745 $a Vaskiratsastajan sienisalaatti
Tai vastaavasti XML:nä
<record>
<leader>00791nam a22002533 450 </leader>
<controlfield tag="001">Ppro853_148215</controlfield>
<controlfield tag="008">921022s1992 fi 8</controlfield>
<datafield tag="021" ind1=" " ind2=" ">
<subfield code="a">951-581-008-6</subfield>
<subfield code="c">sid.</subfield>
<subfield code="d">162 FIM</subfield>
</datafield>
<datafield tag="041" ind1="1" ind2=" ">
<subfield code="a">fin</subfield>
<subfield code="c">rus</subfield>
</datafield>
<datafield tag="057" ind1=" " ind2=" ">
<subfield code="a">68</subfield>
</datafield>
<datafield tag="064" ind1=" " ind2=" ">
<subfield code="a">68.22</subfield>
</datafield>
<datafield tag="065" ind1=" " ind2=" ">
<subfield code="a">68.22</subfield>
</datafield>
<datafield tag="068" ind1=" " ind2=" ">
<subfield code="a">68.22</subfield>
</datafield>
<datafield tag="098" ind1=" " ind2=" ">
<subfield code="a">68.22</subfield>
</datafield>
<datafield tag="100" ind1="1" ind2=" ">
<subfield code="a">Ponomareva</subfield>
<subfield code="h">Julia</subfield>
</datafield>
<datafield tag="241" ind1=" " ind2=" ">
<subfield code="a">Gribnaja kuhnja</subfield>
</datafield>
<datafield tag="245" ind1="2" ind2=" ">
<subfield code="a">Vaskiratsastajan sienisalaatti</subfield>
<subfield code="b">201 mainiota sieniohjetta</subfield>
<subfield code="d">[Julia Ponomareva & Aleksei Ponomarev]</subfield>
<subfield code="e">[toimittanut ja suomentanut Liisa Viitanen]</subfield>
</datafield>
<datafield tag="260" ind1=" " ind2=" ">
<subfield code="a">Helsinki</subfield>
<subfield code="b">Taifuuni</subfield>
<subfield code="c">1992</subfield>
<subfield code="e">[Pieksämäki]</subfield>
<subfield code="f">RT-paino</subfield>
</datafield>
<datafield tag="300" ind1=" " ind2=" ">
<subfield code="a">231 s.</subfield>
<subfield code="b">kuv.</subfield>
<subfield code="c">22 cm</subfield>
</datafield>
<datafield tag="652" ind1=" " ind2=" ">
<subfield code="a">keittokirjat</subfield>
</datafield>
<datafield tag="652" ind1=" " ind2=" ">
<subfield code="a">sieniruoat</subfield>
</datafield>
<datafield tag="700" ind1="1" ind2="0">
<subfield code="a">Ponomarev</subfield>
<subfield code="h">Aleksei</subfield>
</datafield>
<datafield tag="745" ind1=" " ind2=" ">
<subfield code="a">201 mainiota sieniohjetta</subfield>
</datafield>
<datafield tag="745" ind1=" " ind2=" ">
<subfield code="a">Vaskiratsastajan sienisalaatti</subfield>
</datafield>
</record>
Vaskin asiasanat, jotka eivät ole YSAssa
Kävin läpi Vaski-kirjastojen aineistotietokannan ja etsin asiasanat, jotka eivät esiinny tesauruksessa. Ohessa lista yleisimmistä:
esiintymien lkm | termi |
202 | sotaromaanit |
108 | Lieto-kokoelma |
100 | korjausoppaat |
66 | eräkirjat |
38 | matkakirjat |
29 | sisustusoppaat |
27 | Suomen historia |
23 | kansanmusiikki: Venäjä |
23 | jouluaskartelu |
22 | posliinimaalaus |
21 | viihdetaiteilija : Suomi |
21 | salapoliisiromaanit |
20 | Yhdistyneet kansakunnat |
20 | kirjasto- ja informaatiopalveluala |
20 | 1980-LUKU |
18 | vaateompelu |
17 | rock and roll |
16 | MURRENÄYTTEET |
16 | itämaiset taistelulajit |
15 | sosiaali- ja terveydenhuolto |
15 | rajavartiolaitos |
15 | paperiaskartelu |
15 | laivaluettelo |
15 | DVD-elokuvat |
14 | tiedeakatemiat |
14 | Suomen taideyhdistys |
14 | piirroselokuvat |
13 | tabulatuurinotaatiot |
13 | ranskalainen keittiö |
13 | nuorten aikuisten kirjat |
13 | Jeesus Kristus |
13 | äänentoistotekniikka |
13 | šamanismi |
12 | YKSINLAULU |
12 | vauvanhoito |
12 | Titanic |
12 | tilastollinen tutkimus |
12 | punk rock |
12 | kaupunkihistoriat |
12 | historia : 1900-luku |
12 | arabialainen musiikki |
12 | 1960-luku |
11 | tšekin kieli |
11 | säveltäjät : Suomi |
11 | rentoutuminen |
11 | muodin historia |
11 | kuultokudos |
10 | varastaminen |
10 | Uusi testamentti |
10 | taitelijat |
10 | seminaarit (kokoukset) |
10 | samanismi |
10 | rockmusiikki |
10 | kiinalainen keittiö |
10 | 1800-LUKU |
Ohjelman (kts. alla) antamista tiedoista näkee myös, että esim. asiasana muodin historia
(jota ei ole YSAssa) esiintyy Vaskin tietueissa Ppro853_137785, Ppro853_541141, Ppro853_541143, Ppro853_541144, Ppro853_541145, Ppro853_541146, Ppro853_541634, Ppro853_561083, Ppro853_561086, Ppro853_561087 sekä Ppro853_561088.
Eri asiasanoja joilla on vain yksi esiintymä Vaskissa löysin 1761 kappaletta. Kymmesti esiintyviä asiasanoja on kahdeksan kappaletta. Miten tällaista dataa olisi parasta havainnoillistaa? Ideoita vastaanotetaan.
Vaski on FinMARC 1998 -muotoa ja kyseisen standardin mukaan kentässä 652
olevat asiasanat ovat peräisin Yleisestä suomalaisesta asiasanastosta, eli YSA:sta (kansainvälisessä MARC21:ssä asia ilmaistaan hieman toisin, kuvaamalla asiasanakenttien osakentässä ‡2
mikä sanasto on kyseessä, tyyliin 650 #7
).
bibliografinen valvonta ‡a
‡2
ysa
Tein aiemmin pienen työkalun jolle voi antaa yksittäisiä MARC-tietueita ja se kyselee ONKI-palvelun ohjelmointirajapintaa (APIa) käyttäen ovatko tietueen asiasanat YSO-ontologiassa. Kun YSA julkaisiin vastikään avoimena datana, tuli nyt tekemäni massakäsittely helpommaksi. Työn voi nykyään tehdä omalla koneella, pommittamatta ONKIn rajapintaa noin suurella kyselymäärällä.
Prosessi
Noukin ensin YSA:n SKOS-muotoisesta tiedostosta varsinaiset sanat (prefLabel
ja altLabel
) tekstitiedostoon yhdeksi pitkäksi, pitkäksi listaksi. 14.6.2011 lataamassani tesauruksessa oli 36991 termiä.
Sekä MARC-data että sanasto ovat saatavilla myös XML:nä, jonka käyttäminen olisi oikeaoppisempaa, mutta en nyt jaksanut säätää niiden kanssa sillä XML:n käsittelytyökalut ovat minulle aika tuntemattomia. Sensijaan olen tottunut operoimaan unixin komentoriviltä ja opettelen myös Perliä.
Tässä kirjoittamani Perl-kielinen ohjelma jota käytin:
#!/usr/bin/perl use MARC::Batch; my $file = "vaski-kunnostettu.mrc"; my $batch = MARC::Batch->new('USMARC', $file); my $sanasto = "~/ysa.lista.alt_too"; $batch->strict_off(); while (my $record = $batch->next()) { for my $termi ($record->subfield('652', 'a')) { if (system("grep -q -i \"$termi\" $sanasto")) { print($termi, ";", $record->field('001')->as_string,"\n"); } } }
Kuten ehkä huomaat, tämä on hyvin kaukana elegantista. Ensinnäkin käsiteltävät tiedostot on nimetty ohjelman sisällä ja toisekseen kukin termi etsitään sanastosta käyttäen ulkoista ohjelmaa. Tämä aiheuttaa yhden forkin per asiasana, joka on huono asia. Oikeasti vertailu pitäisi tehdä tämän ohjelman sisällä, lukemalla asiasanat tiedostosta yksiulotteiseen taulokkoon tai listaan. Mutta toimii tämä näinkin, kun huonoa ohjelmistosuunnittelua voi korvata prosessoriteholla 🙂 Miniläppärini (joka on ainoa käyttämäni työväline) rouskutteli tätä useita tunteja.
Mutta tämän ei olekaan tarkoitus olla eleganttia. Tämän on tarkoitus osoittaa kirjastoammattilaisille, että me itse voimme ottaa aloitteen käsimme sen sijaan, että odottelemme että järjestelmätoimittajamme tekee kivoja asioita puolestamme (sitä on turha odotella).
Vielä pari huomiota laatimani menetelmän puutteista: se ei huomioi asiasanaketjuja, ja tuon kaltainen huoleton merkkijonojen etsintä johtaa vääriin tuloksiin mikäli etsittävä epäkelpo asiasana esiintyy osana kelpoa asiasanaa. Tälle asialle pitäisi todella tehdä jotain.
Mitä välii?
Ymmärtääkseni kaikkien 652
-kentässä olevien termien pitäisi olla peräisin YSA:sta. Näin sanoo myös FinMARC -formaatti. Asiasanoja joita ei YSAssa ole, ei pitäisi käyttää ainakaan kyseisessä kentässä. Kuten tiedämme, ei asiasanasto kuvaa kaikkia maailman ilmiöitä. Siksi paikallisille sanastoille onkin tarvetta.
Minua paremmin luettelointiin perehtyneet tietänevät mitä sisällönkuvailussa oikeasti kuvaillaan. Jossain lienee sovittu, onko sisällön lisäksi aiheellista kuvailla muotoa. Esim. Vaskissa käytetään termejä ”Nintendo Wii”, ”sotaromaanit” ja ”elämäkerrat” kuvailemaan muotoa. Nämä teokset eivät kerro Nintendon Wii-peleistä, sotaa kuvaavista romaaneista tai elämäkertojen kirjoittamisesta, vaan ovat niitä. Ehkä tämä on ookoo – en jaksa nyt lueskella luettelointisäännöstöä asiaa tarkistaakseni enkä muista ulkoa mitä siellä sanotaan. Mutta ei ole vaikea nähdä että tämä on problemaattista. Ihmettelin samaa asiaa aiemmin, kun mietin minkähänlaista olisi “ihan oikea kirjastotyö” pelien parissa?
Mainiot luetteloijat ovat arvatenkin tämän muoto vs. sisältö -asian ratkaisseet jollain sopimuksella (joka siis lienee kirjattuna luettelointisääntöihin). Käytännössä ainakin Vaskissa kuvaillaan surutta sekä muotoa että sisältöä 652
-kentässä.
Tässä on muitakin mielenkiintoisia puolia: MARC-tietueessa ei esimerkiksi ole mitään tietoa siitä, mitä YSAssa on ollut tietueen luontihetkellä. YSA muuttuu ajan myötä, kenties osa nyt listaamistani termeistä on ollut kyseisen luetteloijan käyttämässä YSA:n versiossa luettelointihetkellä… MARC-tietueesta itsestään puuttuu tällainen tekninen metadata.
Kirjoitusvirhe luetteloinnissa on fataali virhe, ja teos katoaa kyseisen aiheen kannalta mustaan aukkoon. Varsinaisia kirjoitusvirheitä löysin Vaskista onneksi vain ihan muutaman.
Monet löytämäni, YSA:n ulkopuoliset termit ovat hyvin käytännöllisiä ja olen oikeasti onnellinen että niitä on tietueisiin luettelointisääntöjen vastaisesti tallennettu. Tämä kertoo sanaston puutteellisuudesta ja myös luokitusjärjestelmän puutteista, sekä kirjastoihmisten omatoimisista ongelmanratkaisupyrkimyksistä. Se on tietenkin aivan oikein. Nämä itse keksityt termit voisi eristää omaan sanastoonsa, jolla YSAa täydennetään, ellei ole YSAn tarkoituksenmukainen ylläpito ole mahdollista. Lisäksi meillä on käytettävissämme useampia sanastoja YSAn rinnalla ja niitä olisikin hyvä käyttää MARC-tietueen sellaisissa paikoissa, jotka eivät ole YSAlle varattuja.
I � you
Makupaloja Molesworth Instituutin sanastosta
Alla muutamia valitsemiani maistiaista aiemmin mainitsemastani Norman D. Stevensin kokoelman ”Archives of Library Research from The Molesworth Institute” (1985, ISBN 0-86656-466-7) ohessa olevasta sanastosta:
- Administration: The term commonly applied to a small body of tyrants, usually male, who were assigned, but seldom adequately exercised, responsibility for the control and direction of libraries in the late twentieth century. […]
- Audiovisual services: A manifestation of the antiquated practice of distinguishing oral and visual forms of information from written forms based on those characteristics, and of organizing library services around those distinctions. Analogous to the equally antiquated library practice of distinguishing printed material on the basis of format (e.g., monograph/serial). […]
- Cataloging: An obsolete term for both a set of especially arcane procedures and a functional unit that dominated library practise in the twentieth century. The procedures, which were taught in hightly specialized courses in library schools and which governed by incomprehensible rules adopted by library associations, involved the most complex techniques imaginable for providing the individual library what if felt were the necessary bibliographic recoded needed to differentiate items in its collections. The quality of local cataloging was often a source of pride so that, despite the advent of shared systems such as OCLC in the last half of the twentieth century, cataloging procedures tended to continue to have a local flavor for a number of years thereafter. The functional unit known as the Cataloging Department was most often located in a remot part of the library building isolated from other staff and users. That unit, which was generally the largest single body of library staff, spent large amounts of time providing exact and precise bibliographic records that were difficult to interpret and of limited use. […]
- Cooperation: A term, which many variants, used to describe a range of library activities in the nineteeth and twentieth century allegedly designed to enable libraries to work with each other in the sharing of resources to provide better service to all users but which, in effect, were a means whereby individual libraries sought to provide the best service to their own users with the least direct expenditure of funds while making the maximum use, at the least cost, of the resources and services of other libraries.
- Cross-reference: The technique, once widely used in library and information systems, of confusing users by providing multiple alternative forms of reference to a term, linked to the obscure term actually used in the system, rather than the direct use of the term normally used […]
- Information explosion: The dramatic term adopted by many twentieth century librarians and information scientist to describe the normal expansion of information which they were unprepared and unable to deal with because of their own limitations and those of their primitive information systems.
Kun (bibliografinen) kontrolli pettää…
Tiesitkö tämän MARCista: salainen kolmas indikaattori
Harva tietää, että MARC -luettelointiformaattissa kullakin kentällä on todellisudessa kolme indikaattoripaikka. Tyypillisesti kirjastoammattilaisille, jopa luettelointia päätyönään tekevillekin kerrotaan vain ensimmäisestä kahdesta indikaattorista. Vain harvat saavat koskaan kuulla kolmannesta indikaattorista.
Oletko huomannut, että kentän numerokoodin ja indikaattoreiden jälkeen on miltei poikkeuksetta tyhjä sarake? Se on todellisuudessa se paikka, jonne piilotettu kolmas indikaattori on tallennettu.
Kolmas indikaattori, jonka käyttö kuvataan erillisessä, aiemmin vain todella harvojen luettelointiammattilaisten käsiin annettavassa dokumentissa. Usein tieto kolmannesta indikaattorista onkin kulkenut suullisena perimätietona, niinsanottuna hiljaisena tietona. Tämän salaperäisen indikaattorin käyttö vaihtelee eri kentissä eikä ole varmaa missä kentissä se edes on määritelty, mutta yleensä sitä käytetään kuvailemaan luetteloijan sieluntilaa luettelointihetkellä: arvo 0 tarkoittaa että luetteloija kyseistä kenttää täyttäessään oli nälkäinen, 1 että hän oli hyvin, hyvin väsynyt, 2 että hän oli päihtynyt ja arvo 3 että hän pilaili.
Kiinteämittaisissa kentissä ja nimiössähän ei indikaattoreitä käytetä, mutta hatarien ja vahvistamattomien tietojeni mukaan niihin saattaa olla piilotettuna dataa luettelointiformaatin, siis MARCin itsensä kehittäjien mahdollisista sieluntiloista.
Kenttä 245, kenen keksintö?
Kenenhän idea tää MARCin kenttä 245
on (kts. formaatin lisäksi mm. monografioiden kuvailusäännöt (PDF), osio 1. Nimeke- ja vastullisuusalue)? Viimeksi tänään KDK:n Primo -koulutuksessa hämmästeltiin tätä ihmeellistä kenttää. Mahtaako tätä blogia seurata joku, joka osaisi hieman valottaa koska tämä kenttä keksittiin, miksi ja mitä ongelmia sen oli tarkoitus ratkaista sekä miten 245 on aikojen saatossa kehittynyt?
Olis kiva kuulla tästä, laittakaahan kommenttia tuohon alle jos 245
herättää muistoja tai tunteita.
HelMet-tietue b1915995 (xrecord)
245 10 Bibliografinen valvonta :|bjohdatus luetteloinnin ja sisällönkuvailun menetelmiin /|cVesa Suominen, Jarmo Saarti, Pirjo Tuomi
HelMet-tietue b1752703 (xrecord)
245 10 Suomalaiset luettelointisäännöt. Monografioiden kuvailu / [Kansallinen luetteloinnin ohjausryhmä]; [julkaisija:] Helsingin yliopiston kirjasto
HelMet-tietue b1380128 (xrecord)
245 10 Tutkielma hallitusvallasta :|btutkimus poliittisen vallan oikeasta alkuperästä,laajuudesta ja tarkoituksesta /|cJohn Locke ; suomennos ja esipuhe Mikko Yrjönsuuri
HelMet-tietue b1551077 (xrecord)
245 10 Taru sormusten herrasta. 2 : Kaksi tornia / [suom. Kersti Juva ja Eila Pennanen ; runot suom. Panu Pekkanen] /|cJ. R. R. Tolkien
Kopioluettelointi on ehkä hajoamassa
Tuli tuossa sattumalta esiin, että kirjastojen välinen kopioluettelointi (aka. poiminta) nähtävästi menee ainakin vähän rikki seuraavaksi pariksi vuodeksi. En vielä tässä vaiheessa tiedä asiasta tarpeeksi (kuten ensimmäisen virkkeen epämääräisyys antaa jo ymmärtää) ja tästä on ehkä jossain keskusteltu jo, mutta otanpa asian kuitenkin varmuuden vuoksi esiin.
Saattaa olla ehkä syytä kiinnittää huomiota siihen, että kun yleiset kirjastot pikkuhiljaa vaihtavat Axiellin PallasProsta ja Origosta Auroraan ja kun samalla vaihtuu myös metadataformaatti FinMARCista MARC21:een, eriytyy Suomi kahteen kopioluetteloinnin maailmaan, jotka ovat keskenään erilaisia formaatin eroista johtuen.
En tiedä onko tämä ongelma, MARC mikä MARC, ja kopioluetteloidessa jokatapauksessa kopsattavia tietueita muokataan paikallisesti. MARC21:stä (Auroroista) vanhempiin PallasProihin ja Origoihin kopsailu (ja toisinpäin) tullee kuitenkin muuttumaan työläämmäksi, kunnes kaikilla lopulta on MARC21. Voi toki olla, että Aurorassa itsessään on jo olemassa mahdollisuus pyytää tietueita muissakin muodoissa kuin MARC21:nä, se olisi hienoa.
Tässä olisi vielä aikaa toimia ja kenties ideoida joku keskitetty helpotuskeino. FinMARC↔MARC21 -muunnoshan onnistuu koneellisesti Kansalliskirjaston USEMARCON -ohjelmalle laatimilla muuntosäännöillä. En tiedä olisiko mitään järkeä rakennella jotenkin keskitetysti härveli, joka tekisi muunnoksen automaattisesti poiminnan yhteydessä? Index-Datan YAZ Proxyä voisi ehkä käyttää, tai rakennella YAZ-kirjastojen päälle oman gatewayn joka esim. USERMARCONia käyttäen murjoisi kopioitavat tietueet läpi Kansalliskirjaston muuntosäännöstöstä.
Oliskohan tollaiselle tarvetta? Yhteisluettelo sitten aikanaan poistaa tällaiset haasteet lopullisesti. Jos tämä nyt osoittautuu merkittävästi työllistäväksi asiaksi, niin positiivisena asiana nähtäkööt se, että se jouduttaa yhteisluettelon rakentamista.
Asia tuli esiin, kun eräästä toisesta maakuntakirjastosta oltiin yhteydessä minuun, kun sekä Pirkanmaan PIKI:stä että meiltä Varsinais-Suomen Vaskista kopioluetteloiunti oli lakannut toimimasta. Syy on ilmeisesti kuitenkin eri kuin yllä kuvasin.
⋮ // ***245+248 ALKAA TÄSTÄ*** 245I1 | = 0) Then RegMatch(1) Else S; RegReplaceTable('pieni-isoksi-merkkijonon-alussa.tbl'); If (%000/7/ = 'p' And RegFind('[Aa]rkisto') < 0) 'Arkistoaineisto'; '[' + S + ']' 245$b | 1', Strict); If (NextSub($a, '=1') = 'a') ReplaceOcc ('$a' By ' ;$b', '=2', Strict); ReplaceOcc ('$a' By ' ; ', '>1', Strict); If (NextSub($a, '=1') != 'a' And Not ExistsIn(S, $b)) ReplaceOcc ('$r' By ' =$b', '=1', Strict); Replace ('$r' By ' = ', Strict); Replace ('$t' By '. ', Strict); ReplaceOcc ('$c' By ' / ', '>1', Strict); Replace ('$c' By ' /$c', Strict); If (ExistsIn(S, $c)) Replace ('$d' By ' / ', Strict); ReplaceOcc ('$d' By ' / ', '>1', Strict); Replace ('$d' By ' /$c', Strict); Replace ('$e' By ' ; ', Strict); If (PreviousSub($n, '=1') = 'h' Or PreviousSub($p, '=1') = 'h') MoveBefore('np', $h, 'np', '', '', ' :| /| ;|.| ='); If ($c Precedes $p And PreviousSub($p, '=1') = 'n') ReplaceOcc ('$p' By ', ', '=1', Strict); If ($c Precedes $p And PreviousSub($p, '=1') != 'n') ReplaceOcc ('$p' By '. ', '=1', Strict); If ($c Precedes $p And PreviousSub($p, '=2') = 'n') ReplaceOcc ('$p' By ', ', '=2', Strict); If ($c Precedes $p And PreviousSub($p, '=2') != 'n') ReplaceOcc ('$p' By '. ', '=2', Strict); If ($c Precedes $n) Replace ('$n' By '. ', Strict) Else Replace ('$n' By '.$n') // Info: Käsitellään 248 248$g | 1', Strict) Else ReplaceOcc ('$D' By ' / ', '>1', Strict); RegReplace ('($D.*)$B', '\\1 : ', 'g'); RegReplace ('($D.*)$R', '\\1 = ', 'g'); RegReplace ('($D.*)$C', '\\1. ', 'g'); If (Exists(@245$d) Or Exists(@248$d)) Then { while (RegFind ('$D.*$E') >= 0) { RegReplace ('($D.*)$E', '\\1 ; ', 'g'); }; } Else { while (RegFind ('$D.*$E') >= 0) { RegReplace ('($D.*)$E', '\\1 / ', 'g'); }; } // Info: Jos $n/$p on ennen $b:tä tai $b:tä ei ole, siirretään $n/$p $a:n perään If (RegFind('$b.*$[np]') < 0) MoveAfter('np', $a, 'np', '', '', ' : | / | ; |. | = '); // Info: G:n (n) ja H:n (p) vlimerkit Replace ('$G' By '.$G', Strict); // Info: Siirretään g ja h oikeille paikoille If (PreviousSub(@245$n, '>=1') != 'c' And PreviousSub(@245$p, '>=1') != 'c' And ExistsIn(S, $c)) MoveBefore('GH', $c, 'np', '', '', ' :| /| ;|.| =', 'BR'); If ((Not ExistsIn(S, $n)) And (Not ExistsIn(S, $p)) And (Not ExistsIn(S, $b))) MoveAfter('GH', $a, 'np', '', '', ' :| /| ;|.| =', 'BR'); Replace ('$G' By '$n'); Replace ('$H' By '$p'); If (ExistsIn(S, $c)) { If (Exists(@245$d)) Then Replace ('$D' By ' ; ', Strict) Else Replace ('$D' By ' / ', Strict); } Else Replace ('$D' By ' /$c', Strict); If (Not ExistsIn(S, $b)) ReplaceOcc ('$B' By ' :$b', '=1', Strict); If (Not ExistsIn(S, $b)) ReplaceOcc ('$R' By ' :$b', '=1', Strict); Replace ('$B' By ' : ', Strict); Replace ('$R' By ' = ', Strict); Replace ('$C' By '. ', Strict); If (ExistsIn(S, $b)) MoveBefore('h', $b, 'h', '', '', ' :| /| ;|.| =') Else If (ExistsIn(S, $c)) MoveBefore('h', $c, 'h', '', '', ' :| /| ;|.| ='); For (OCC From 1 To 3) While (PreviousSubIn(S, $n, '=OCC') = 'c' Or PreviousSubIn(S, $p, '=OCC') = 'c') { If (PreviousSubIn(S, $p, '=OCC') = 'c') { If (RegFind(S, '$c.*\\.$') < 0) ReplaceOcc('$p' By '. ', '=OCC', Strict) Else ReplaceOcc('$p' By ' ', '=OCC', Strict); } Else ReplaceOcc('$p' By ', ', '=OCC', Strict); If (RegFind(S, '$c.*\\.$') < 0) ReplaceOcc('$n' By '. ', '=OCC', Strict) Else ReplaceOcc('$n' By ' ', '=OCC', Strict); }; RegReplaceTable('pieni-isoksi-osakentan-alussa.tbl') Z48 | 245 | If (RegFind(D, '\\.\$') < 0) D + S Else D; Pvalimerkitys(); // ***245+248 PÄÄTTYY TÄHÄN*** ⋮
Voihan tämän tehdä käsinkin, mutta voisi olla kiva että tietokone tekisi nämä luetteloijan puolesta.