Riippumaton asiantuntija

Päävalikko

Siirry sisältöön
  • Etusivu
  • About
  • Minusta

Tag Archives: yaz proxy

Artikkelien selaus

Kopioluettelointi on ehkä hajoamassa

Posted on 23 tammikuun, 2011 by mace

1

Eräs muunnostyökalu bibliografisten tietueiden käsittelyyn :^)

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.

Advertisement

Arvioi tämä:

Posted in kirjasto Tagged aurora, automaatio, axiell, axiell aurora, finmarc, formatti, index-data, kansalliskirjasto, kirjasto, konversio, kopioluettelointi, luettelointi, marc, marc konversio, marc21, metadata, ohjelmointi, origo, pallas, pallaspro, poiminta, tietokone, usemarcon, yaz, yaz proxy, z39.50

Artikkelien selaus

Viimeisimmät kommentit

ดูหนังโป๊ออนไลน์: Jean-Noël Jeanneney: Google–An…
Keitä meillä palvell…: Oletko kirjaston asiakas vai…
mace: Open Access Button – raportoi…
Hannu: Open Access Button – raportoi…
Kalle: Mitä on tietokannan ja datan…
mace: Helsingin kaupungin tietokesku…
Heikki Poroila: Sillävälin internetissä: musii…
Erja: Paljon onnea tämä blogi 5…
mace: E-kirjat kotiinkuljetettuina
mace: Hesari 18.02.2013: ”Kirj…
Liina: Hesari 18.02.2013: ”Kirj…
Kari Blomster: Four Shades Of Grey
Kari Blomster: Trancend Lex Karpela
Jarppi: Mitä on tietokannan ja datan…
Petri: Mitä on tietokannan ja datan…
helmikuu 2023
ma ti ke to pe la su
 12345
6789101112
13141516171819
20212223242526
2728  
« Maa    

Arkistot

  • maaliskuu 2014 (4)
  • tammikuu 2014 (2)
  • marraskuu 2013 (7)
  • lokakuu 2013 (2)
  • syyskuu 2013 (1)
  • elokuu 2013 (2)
  • heinäkuu 2013 (7)
  • toukokuu 2013 (6)
  • huhtikuu 2013 (4)
  • maaliskuu 2013 (4)
  • helmikuu 2013 (3)
  • tammikuu 2013 (4)
  • joulukuu 2012 (5)
  • marraskuu 2012 (4)
  • lokakuu 2012 (4)
  • syyskuu 2012 (5)
  • elokuu 2012 (2)
  • heinäkuu 2012 (1)
  • kesäkuu 2012 (3)
  • toukokuu 2012 (3)
  • huhtikuu 2012 (3)
  • maaliskuu 2012 (3)
  • helmikuu 2012 (1)
  • tammikuu 2012 (7)
  • joulukuu 2011 (5)
  • marraskuu 2011 (6)
  • lokakuu 2011 (4)
  • syyskuu 2011 (6)
  • elokuu 2011 (2)
  • heinäkuu 2011 (11)
  • kesäkuu 2011 (6)
  • toukokuu 2011 (3)
  • huhtikuu 2011 (8)
  • maaliskuu 2011 (7)
  • helmikuu 2011 (12)
  • tammikuu 2011 (9)
  • joulukuu 2010 (13)
  • marraskuu 2010 (12)
  • lokakuu 2010 (10)
  • syyskuu 2010 (8)
  • elokuu 2010 (8)
  • heinäkuu 2010 (11)
  • kesäkuu 2010 (10)
  • toukokuu 2010 (14)
  • huhtikuu 2010 (9)
  • maaliskuu 2010 (10)
  • helmikuu 2010 (8)
  • tammikuu 2010 (13)
  • joulukuu 2009 (7)
  • marraskuu 2009 (15)
  • lokakuu 2009 (13)
  • syyskuu 2009 (7)
  • elokuu 2009 (6)
  • heinäkuu 2009 (4)
  • kesäkuu 2009 (3)
  • toukokuu 2009 (3)
  • huhtikuu 2009 (4)
  • maaliskuu 2009 (5)
  • helmikuu 2009 (4)
  • tammikuu 2009 (4)
  • marraskuu 2008 (3)
  • lokakuu 2008 (7)
  • syyskuu 2008 (3)
  • elokuu 2008 (4)
  • kesäkuu 2008 (4)
  • toukokuu 2008 (4)
  • huhtikuu 2008 (13)
  • maaliskuu 2008 (3)

twitter -twiitit

  • @npseaver @MichHockenhull ✌️ 2 weeks ago
  • @DooleyMurphy Already mostly gone 🎣 The baby goes out with the bath water... it's a shame but let's face it this w… twitter.com/i/web/status/1… 2 weeks ago
  • @HHenriikka Big heart to this place 3 weeks ago
  • lowercase sts #STS https://t.co/2n6SFz9tw6 3 weeks ago
  • @HHenriikka Amazing place! I went on an impromptu, snackless, improvised 30km and 1000m elevation hike up and down… twitter.com/i/web/status/1… 3 weeks ago

Flickr

Vibes :wavy_dash::wavy_dash::wavy_dash:. Reading mathematical concepts of Hamiltonian Monte CarloMathieu and others from Sciences Po médialab developer team presenting performance measures after a week of Hyphe programming retreat at AAU TANT-LabYou organize a voyage to the end of the world, and naturally you take some nice furries inboard :blush:. #uncertainarchives #vestindienOrit Halpern presenting a narrative of the "demo", evoking in me strong sensations of sympathy and gratitude for those before us and their excitement about ideas, change, learning, art, future, possibilities and interventions. "The Smart Mandate: InfrastrBirkan Taş talking about narrative life of data, starting with the case of #ItGetsBetter. "Cripping Time: A Hopeful Endeavour". #data #statistics #uncertainarchivesSome outrageously unnecessary, and popular story of software, particularly #AI catches your attention. You trace the references and read the original paper "Multi-agent Reinforcement Learning in Sequential Social Dilemmas" (https://arxiv.org/abs/1702.0303
More Photos

RSS Tutustumiani kirjoja

  • On tapahtunut virhe; syötteen palvelin ei luultavasti vastaa. Yritä myöhemmin uudestaan.

Blogroll

  • Cycling for libraries
  • Digitaalinen kirjasto
  • First Monday
  • Garfield minus Garfield
  • Heikin blogi
  • I can has cheezburger?
  • if:book
  • Informaatikko irrallaan
  • Informaatiomuotoilu
  • Labs.kirjastot.fi
  • Parlamenttikirjasto
  • Re-public
  • Sorvipenkin äärellä
  • Sula Pinta
  • Tuhat sanaa
  • Verkostouutiset

RSS qaiku -qaikausut

  • On tapahtunut virhe; syötteen palvelin ei luultavasti vastaa. Yritä myöhemmin uudestaan.

RSS jaiku -jaikausut

  • On tapahtunut virhe; syötteen palvelin ei luultavasti vastaa. Yritä myöhemmin uudestaan.

RSS del.icio.us

  • On tapahtunut virhe; syötteen palvelin ei luultavasti vastaa. Yritä myöhemmin uudestaan.

Meta

  • Rekisteröidy
  • Kirjaudu sisään
  • Sisältösyöte
  • Kommenttisyöte
  • WordPress.com

Blog Stats

  • 125 121 hits
Suomen kirjastoseura
Free Software Foundation Europe -donor
EFFI-tukija
Luo ilmainen kotisivu tai blogi osoitteessa WordPress.com.
Privacy & Cookies: This site uses cookies. By continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here: Cookie Policy
  • Seuraa Seurataan
    • Riippumaton asiantuntija
    • Liity 40 muun seuraajan joukkoon
    • Already have a WordPress.com account? Log in now.
    • Riippumaton asiantuntija
    • Mukauta
    • Seuraa Seurataan
    • Kirjaudu
    • Kirjaudu sisään
    • Ilmoita sisällöstä
    • Näytä sivu lukijassa
    • Hallitse tilauksia
    • Pienennä tämä palkki