MARC-kenttien käyttö Helmet-tietokannassa

Kirjastot — Avainsanat: , , — Matti @ 0:09

Otin asiakseni tutkia, mitä kirjastoissa vuosikymmeniä eri muodoissa käytetyn MARC-metadataformaatin kenttiä hyödynnetään pääkaupunkiseudun Helmet-tietokannassa. Alkujaan tarkoituksenani oli seuloa MarcXimiL-työkalun avulla tietokannasta esiin siitä todennäköisesti löytyvät duplikaattitietueet. Ohjelman osoittauduttua tuskaisen hitaaksi ja hieman bugiseksi, päätin jättää asian sikseen ja julkaista duplikaattivertailua varten laatimani kenttäyhteenvedon nyt, ja toteuttaa duplikaattivertailun XQueryn avulla joskus myöhemmin, jollei joku muu ratkaise pulmaa minua ennen.

Kenttäyhteenvedon pohjana käytin MarcXimil-työkalun mukana tulleen colldescr -skriptin tulostetta. Oletusarvoisesti colldescr tulostaa kenttien käytöstä prosenttijakaumat sekä kenttien pituuksien keskiarvot. Muokkasin skriptiä niin, että se tulosteeseen saadaan kenttien absoluuttiset määrät sekä pituuksien mediaanit. Muunnetun skriptin voi ladata käyttöön Gist-palvelusta. Ajoin colldescr-skriptin jokaisen Helmet-datadumpin 68 MARCXML-tiedoston kohdalla, joista kukin sisälsi keskimäärin 10000 MARC-tietuetta. Helmet-tietokannan nykyisessä datadumpissa on kaikkiaan 672206 tietuetta (versio 1.1 / 20.5.2011).

Luonnollisestikaan skriptiä ei kannattanut ajaa käsipelillä, vaan kutsuin sitä BASH-komentotulkkiskriptin kautta. Oheisessa komentotulkkiskriptissä viitattu files_to_process.tmp sisältää listan kaikista 68 MARCXML-tiedostosta:


#!/bin/bash

while read line; do
echo $line
python misc/colldescr.py $line > $line.csv
done < files_to_process.tmp%

Skriptin suoritettuani minulla oli 68 kappaletta CSV-muotoisia tiedostoja, joista kukin sisälsi ennen taulukkosarakkeita muutaman rivin skriptin ajonaikaisia viestejä. Nämä täytyi saada poistettua tiedostoista ennen tiedostojen jatkokäsittelyä. Maltoin kuitenkin mieleni ryhtyä poistamaan rivejä käsin ja tutkin hieman R-tilasto-ohjelman dokumentaatiota - olin joka tapauksessa päättänyt laskea yhteenvedon R:ssä, joten jos mahdollista, myös taulukot kannattaisi siivota samaa työkalua käyttäen. Kuinka ollakaan, R:n taulukkolukija osaa jättää pois tiedostojen alusta halutun määrän rivejä ja onnekseni ajonaikaisten viestien määrä tiedostoissa oli vakio. Seuraava R-skripti lataa CSV-muotoiset tiedostot sekä yhdistää taulukkojen arvot yhteisten avainten (l. kenttätunnisteiden) perusteella.


require(plyr)
require(reshape)
csv_files = list.files(
path="/Users/matti/Documents/2012/HelmetMARCUsage/csv",
pattern = '*.csv',
all.files = TRUE,
full.names = TRUE)


csv_file_list = lapply(
csv_files,
function(x){
read.csv(
file = x,
skip = 13,
sep = '\t',
col.names = c('field', 'count', 'length')
)})


merged_csv <- merge_all(csv_file_list)


marc_field_usage<-ddply(
merged_csv,
c("field"),
summarise,
count = sum(count),
length = median(length)
)

Luotu marc_field_usage -muuttuja sisältää kaikkien Helmet-tietokannassa käytettyjen MARC-kenttien ja osakenttien lukumäärät sekä näiden pituuksien mediaanit. Alla olevaan taulukkoon olen ottanut 96 useimmin käytettyä kenttää, sekä liittänyt näiden yhteyteen kenttäkuvaukset Helmet-luettelointiohjeesta.

KenttäLkmMediaanipituusKuvaus
650 4 a260356511.0Asiasana, lähdettä ei määritetty
700 1 a106176614.0Lisäkirjaus henkilötekijästä: nimien järjestys käänteinen, sukunimi.
700 1 e8390566.0Lisäkirjaus henkilötekijästä: tekijän funktio
245 10 a58894023.0Päänimeke
730 0 a56371121.0Lisäkirjaus yhtenäistetystä nimekkeestä: yhtenäistetty nimeke.
730 0 g56159414.0Lisäkirjaus yhtenäistetystä nimekkeestä: säveltäjä.
300 a55229913.0Ulko- tai ilmiasutiedot: aineiston eritysmääre ja laajuus.
041 0 a5479863.0Kielikoodi: teoksen pääkieli.
001controlfield53678610.0Kontrollinumero. ISBN tai ISMN ilman väliviivoja, mikäli saatavissa.
245 10 c51465631.0Vastuullisuusmerkinnöt
260 b51228213.0Julkaisutiedot: kustantaja.
588 a4907974.0Luokka: Helsinki. pääluokka.
260 a4828289.0Julkaisutiedot: kustannuspaikka.
546 a4812038.0Kielihuomautus: teoksen pääkielet.
100 1 a47008114.0Pääkirjaus henkilön nimestä, nimien järjestys käänteinen: sukunimi
020 a45250417.0ISBN-tunnus väliviivoin.
740 0 a39875218.0Lisäkirjaus nimekkeestä: nimeke.
651 4 a3837878.0Maantieteellinen nimi asiasanana, lähdettä ei määritetty: maantieteellinen asiasana.
589 a3713534.0Luokka: Espoo. Pääluokka.
005controlfiled36682716.0Viimeisen transaktion tiedot (konversiohetki Plussa-järjestelmästä?)
590 a3280064.0Luokka: Vantaa. Pääluokka.
913 00 a32150812.0Tuntematon
300 b2807616.0Ulko- tai ilmiasutiedot: kuvitus.
599 a27192912.0Materiaali
260 c2502384.0Julkaisutiedot: julkaisuaika.
300 c2364035.0Ulko- tai ilmiasutiedot: koko.
574 a22338816.0Kirjastokohtainen huomautuskenttä:helsinki. luetteloijan nimi.
500 a20855264.5Yleinen huomautus, soitinkokoonpanohuomautus, laulun alkusanat.
008controlfield19210437.0MARC21-formaatin kiinteämittainen kontrollikenttä.
245 10 b17268535.0Nimeke- ja vastuullisuustiedot: toinen päänimeke.
028 01 a1536428.0ISBN-tunnus väliviivoin.
591 a1438794.0Luokka:Kauniainen. pääluokka.
7102 a14271317.0Lisäkirjaus yhteisötekijästä: analyyttinen tekijä-nimeke -lisäkirjaus.
505 0 a138765354.5Sisältöä tai aihetta koskeva huomautus.
577 a13775616.0Kirjastokohtainen huomautuskenttä: Vantaa.
084 a1377495.0Luokituskoodi
440 0 a13736422.0Sarjamerkintö: sarjan päänimeke.
080 a1272995.5Tuntematon
7102 e1248977.0Lisäkirjaus yhteisötekijästä: analyyttinen tekijä-nimeke -lisäkirjaus. tekijän funktio.
575 a11563116.0Kirjastokohtainen huomautuskenttä: espoo. luetteloijan nimi.
0411 a1143753.0Kielikoodit. teos on käännös tai sisältää käännöksen. teoksen pääkieli.
0411 h1097955.0Kielikoodit. teos on käännös tai sisältää käännöksen. teoksen alkukieli.
300 e10648912.0Ulko- tai ilmiasutiedot. teoksen liiteaineisto.
600 14 a10581815.0Kohdehenkilö. nimien osien järjestys käänteinen, sukunimi.
511 0 a105443111.0Osallistuja- tai esittäjähuomautus.
577 b1024009.0Kirjastokohtainen huomautuskenttä: Vantaa. MuistiVantaa-merkintä, uutuusluettelomerkintä.
028 01 b1016829.0Tuotetunnus. Tuotemerkki.
575 b974489.0Kirjastokohtainen huomautuskenttä: Espoo.
7650 t9700621.0Alkuteoksen nimeke.
588 b908095.0Luokka: Helsinki. luokkalisäkirjaus.
574 b8831610.0Kirjastokohtainen huomautuskenttä: Helsinki.
100 1 e784387.0Pääkirjaus henkilön nimestä, nimen osien järjestys käänteinen. tekijän funktio.
250 a7413513.0Painostiedot, painosmerkintö.
003controlfield644393.0MARC-kontrollikenttä
590 b548115.0Luokka: Vantaa. Luokkalisäkirjaus.
589 b535035.0Luokka: Espoo. Luokkalisäkirjaus.
440 0 v532003.0Sarjamerkintö. sarjan sisäinen numerointi.
245 14 a4902326.0Nimeke- ja vastuullisuustiedot, ohitettavien merkkien määrä neljä
245 14 c4626127.0Nimeke- ja vastuullisuustiedot, ohitettavien merkkien määrä 4.
7000 a442438.0Lisäkirjaus henkilötekijästä. sukunimi tai vastaava hakuelementtinä toimiva nimen osa.
700 12 a4196715.0Lisäkirjaus henkilötekijästä. analyyttinen tekijä-nimeke -lisäkirjaus. sukunimi tai vastaava hakuelementtinä toimiva nimen osa.
700 12 t4184729.0Lisäkirjaus henkilötekijästä. analyyttinen tekijä-nimeke -liskirjasu. nimeke.
110 2 a4122011.0Pääkirjaus yhteisön nimestä. valtion tai hallintoalueen nimi tai pääyhteisö.
110 2 e402537.0Pääkirjaus yhteisön nimestä. tekijän funktio.
700 0 e401866.0Lisäkirjaus henkilötekijästä. tekijän funktio.
730 0 l3750624.5Lisäkirjaus yhtenäistetystä nimekkestä. teoksen kieliversio.
730 0 p3453416.0Lisäkirjaus yhtenäistetystä nimekkeestä. teoksen osan mikeme.
730 0 o3164218.0Lisäkirjaus yhtenäistetystä niekkeestä. sovitusmerkintö.
600 04 a309588.0Kohdehenkilö, lähdettä ei määritetty. sukunimi tai vastaava hakuelementtinä toimiva nimen osa.
0243 a2875612.0Muu kansainvälinen tunnus, ean. kansainvälinen tunnus.
7304 a2740024.0Lisäkirjaus yhtenäistetystä nimekkeestä, yhtenäistetty nimeke.
7304 g2694613.0Lisäkirjaus yhtenäistetystä nimekkeestä, säveltäjä.
7404 a2367023.0Lisäkirjaus yhtenäistetystä nimekkeestä, yhtenäistetty nimeke.
578 b2251510.0Kirjastokohtainen huomautuskenttä: kauniainen.
610 24 a2158917.0Kohdeyleisö. muut yhteisöt, ei lähdettä määritetty. valtion tai hallintoalueen nimi, tai pääyhteisö.
440 0x2071110.0Sarjamerkintö, ISSN.
260 f1855314.0Julkaisutiedot, kirjapainon nimi.
730 0 n179047.0Lisäkirjaus yhtenäistetystä nimekkeestä.
506 a1583028.0Tarkastus tai inventointi, käyttörajoitushuomautus.
260 e1551110.0Julkaisutuiedot, painopaikka.
041 0 b140565.0Kielikoodi, teos on käännös tai sisältää käännöksen. tiivistelmän tai teoksen muun osan kielti.
100 0 a135928.0Pääkirjaus henkilön nimestä, nimien järjestys suora
245 14 b1356235.0Nimeke ja vastuullisuustiedot. ohitettavien merkkien määrä neljä, toinen päänimeke.
591 b124995.0Luokka: Kauniainen.
520 a1226656.5Tiivistelmä ja tiivistelmää tai yhteenvetoa kosketa huomautus. tiivistelmän nimeke.
035 a1220619.0Tunnistenumero järjestelmässä.
518 a1193947.0Äänitys- tai kuvausaikaa ja -paikkaa tai esinelöydön aikaa ja paikkaa koskeva huomautus. huomautus.
730 3 a1165321.0Lisäkirjaus yhtenäistetystä nimekkeestä, yhtenäistetty nimeke.
730 3 g1144811.0Lisäkirjaus yhtenäistetystä nimekkeestä, säveltäjä.
534 c1100025.0Alkuperäisjulkaisua koskeva huomautus, julkaisutiedot.
245 13 a1066524.0Nimeke ja vastuullisuustiedot. päänimeke, ohitettava kolme merkkiä.
240 10 a1040124.0Yhtenäistetty nimeke.
245 13 c998528.0Nimeke ja vastuullisuustieto, ohitettavia merkkejä kolme
240 10 g97448.0Nimeke- ja vastuullisuustiedot.
578 a869910.0Kirjastokohtainen huomautuskenttä: Kauniainen. Luetteloijan nimi.
028 0 a68818.0Tuotetunnus

1 kommentti

  1. Hyvää työtä ja huolellisesti ja päättäväisesti automatisoitu! :)

    Comment by Mace — 13.11.12 @ 1:17

RSS-syöte tämän artikkelin kommenteille.

Pahoittelut, kommentointi on nyt suljettu.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2013 Kaukomieli | powered by WordPress with Barecity