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.
Kansalliskirjastossa on ollut jo pitkään käytössä YAZ Proxy + USEMARCON juuri siinä tarkoituksessa, että pystymme tarjoamaan tietueita useammassa formaatissa. Tietokannoista voi siis poimia MARC 21:n lisäksi FINMARCia, joka tuotetaan lennossa MARC 21 -tietueesta. Lopputulos ei toki ole täydellinen, koska formaattien ominaisuudet eivät kaikilta osin kohtaa, mutta hyödyllinen luetteloinnissa kuitenkin.
YAZ Proxystä on mainittava, että se toimii käsittääkseni vain Z39.50 -palvelimien päällä. Jos kirjastojärjestelmä tarjoaa vain esim. SRU-rajapinnan, täytyy miettiä muita ratkaisuja. Yksi ratkaisu on lisätä YAZ Proxyn ja kirjastojärjestelmän väliin vielä Z39.50-SRU -gateway, mutta ehkä olisi parempi, ettei olisi niin monta liikkuvaa osaa. Kannatan lämpimästi keskustelun jatkamista tästä aiheesta, ja suosittelisin tiedustelemaan myös kirjastojärjestelmän toimittajilta heidän näkemyksiään aiheesta. Esim. sisäänrakennettu tuki USEMARCON:lle kirjastojärjestelmässä sekä poimintavaiheessa että palvelinrajapinnoissa helpottaisi poimintaluettelointia tässä murrosvaiheessa.
–Ere
–Ere