data.deichman – Deichman-data i ny drakt

I forbindelse med prosjektene Bokanbefalinger og Aktive hyller, har det blitt arbeidet mye med konvertering av bibliotekkatalogen til RDF-format. Dette er et arbeid vi jobbet med allerede i 2010, i forbindelse med Pode-prosjektet. Det arbeidet som foregår på området nå er langt mer detaljert og grundig, og gir langt flere muligheter, enn den litt mer forsøksvise konverteringen vi gjorde for et og et halvt år siden.

RDF er et format som gjør dataene våre virkelig maskinlesbare. Der maskinlesbarhet i forbindelse med MARC-formatet betyr at en datamaskin kan lese, lagre og behandle tegnene i en katalogpost, betyr maskinlesbarhet i RDF at en datamaskin kan lese selve betydningen av dataene våre. I korthet handler en konvertering til RDF om å «oversette» katalogpostene til sett av enkeltstående opplysninger, der vi bruker unike identifikatorer for både det vi vil si noe om og for de opplysningene vi vil gi.

I Pode-prosjektet brukte vi XSL-transformasjoner til å gjøre slik konvertering. Dette viste seg å være en tung og kompleks arbeidsmåte, hvor det virkelig gjaldt å holde tunga rett i munnen. Vi bruker nå i stedet et Ruby-program sammen med en mappingfil i yaml-format i dette arbeidet. Dette gir oss en langt mer oversiktlig arbeidssituasjon, hvor det også er langt lettere å gjøre endringer og rettinger. I utgangspunktet er konverteringen utført på en eksport av hele katalogen; så håndteres tilvekst, endringer og slettinger ved hjelp av OAI-PMH-protokollen. Kode og dokumentasjon er tilgjengelig her:

https://github.com/digibib/marc2rdf

 

Modell for katalogdata i RDF-format

 

«Elsk og berik med drøm, alt stort som var»

Greier vi å tenke nytt uten å glemme det vi kan fra før? Vi er ikke det første biblioteket i verden som konverterer katalogdata til RDF. Her har det blant annet skjedd ting i Sverige, Ungarn, Tyskland og Storbritannia. Men der mye av arbeidet ellers har fokusert på å sortere ut de mest vesentlige opplysningene i katalogen, har vi i større grad prøvd å få med oss «alt». Katalogiserere i bibliotekene gjør et grundig og uvurderlig arbeid, og vi som jobber i bibliotek vet at det er avgjørende å ha tilgang til langt flere opplysninger enn tittel, forfatternavn, emneord og ISBN. Vi har derfor ønsket å ta med oss så mye som mulig av informasjonen i katalogen over i RDF-formatet, og å uttrykke det så presist og korrekt som mulig. Vi har systematisk jobbet oss gjennom NORMARC-formatet, felt for felt, og tatt stilling til hvordan dataene skal tolkes og hvordan innholdet best mulig kan uttrykkes.

Samtidig er det et poeng at den RDF-iserte katalogen ikke bare blir et annet datasett som sier akkurat det samme som katalogen på et annet språk. Katalogiseringsreglene og MARC-formatet bærer preg av at de er utformet for å få et best mulig resultat innenfor visse begrensninger, og en del av disse begrensningene er kanskje ikke like relevante nå som de var da reglene ble utformet. I tillegg er mange av reglene preget av de både skal beskrive dokumenter og hjelpe til med å lokalisere dem.  Hvis vi tar med de gamle reglene og den gamle tankegangen over i det nye formatet, får vi også med oss de gamle begrensningene som en nisse på lasset. RDF-formatet er friere og gir flere muligheter enn MARC, og det må vi selvfølgelig utnytte.

Et konkret eksempel: Hva betyr det når en katalogpost forteller at Jon Bing er forfatter av boken Oslo 2084, mens Tor Åge Bringsværd bare er medforfatter? Denne distinksjonen mellom funksjonsbetegnelser har ikke egentlig noe som helst med funksjonen til de to personene å gjøre. Saken er at vi egentlig ikke har noe felt for forfatter i MARC; vi bruker i stedet et felt for hovedordningsord, en term som sier noe om hvor en bok skal plasseres i samlingen. En fysisk bok kan bare befinne seg ett sted, følgelig kan katalogposten bare ha ett hovedordningsord. Jon Bings navn står nevnt først av de to på tittelbladet, og derfor får han alene æren av å stå som forfatter, mens Bringsværds rolle blir redusert til «medforfatter». Når vi uttrykker dette i RDF, trenger vi ikke forholde oss til slike kunstige, ikkefunksjonelle distinksjoner. Vi lager i stedet ganske enkelt én opplysning som sier at boken har forfatter Jon Bing og en annen opplysning som sier at boken har forfatter Tor Åge Bringsværd. Det er ingen konflikt mellom disse påstandene.

Et annet eksempel som krever at vi tenker på en annen måte enn vi vanligvis gjør innenfor katalogiseringen, er tilfeller der informasjonen i postene er flertydig og kontekstavhengig. Ta denne biinnførselen som et eksempel:

*700 0 $a King, Stephen
       $d 1947-
       $e forf.
       $j am.
       $t Rita Hayworth and Shawshank Redemption

Hva er forbindelsen mellom kortromanen Rita Hayworth and Shawshank Redemption og det katalogiserte dokumentet i dette tilfellet? Det kommer helt an på sammenhengen biinnførselen opptrer i. Hvis det katalogiserte dokumentet er en bok, betyr opplysningen at kortromanen utgjør en del av dokumentet. Men hvis det katalogiserte dokumentet er en DVD, betyr biinnførselen at filmen er basert på historien som kortromanen forteller. Riktig tolkning forutsetter at leseren vet noe om hva en tekst og en film er, og om hvordan de kan forholde seg til hverandre. Tolkningen forutsetter med andre ord en menneskelig leser.

Begge disse eksemplene sier noe om begrensninger i hva vi kan uttrykke ved hjelp av katalogiseringsreglene og MARC-formatet. Det første har å gjøre med hvordan reglene har den dobbelte funksjonen å både skulle beskrive og å lokalisere dokumenter. Begreper som hovedordningsord og biinnførsel er ikke noe vi har funnet opp primært for å beskrive bøker, film eller musikk; funksjonen er å organisere fysiske samlinger og å velge oppslagsmuligheter i kortkataloger. Det andre har å gjøre med graden av maskinlesbarhet: Når det kreves menneskelig common sense-kunnskap for å forstå dataene riktig, kan de ikke sies å være reelt maskinlesbare.

 

Fabio – «FRBR light»

Ett av vokabularene vi bruker i RDF-datasettet er FabioThe FRBR aligned bibliographic ontology. Dette vokabularet gir oss mulighet til å uttrykke noe av det nyttige funksjonelle i FRBR-modellen, uten de strenge formelle kravene denne modellen har. Blant annet gir det oss muligheten til å assosiere manifestasjoner direkte med verk, uten å gå veien via uttrykksnivået. Vi har brukt opplysninger om titler, originaltitler og opphavspersoner til å finne forbindelser mellom ulike manifestasjoner av samme verk. Verkene får sine egne instanser i datasettet, med koblinger til alle utgaver og oversettelser. Slike koblinger er avgjørende i prosjektene Bokanbefalinger og Aktive hyller, siden vi ønsker å gi knytte den samme informasjonen til alle utgaver av ett verk. Verksinstansene opptrer også som emne for eller del av andre verk. Når boka Dyret i mennesket har Ibsens Peer Gynt som emne, så er det selve verket vi snakker om, og ikke én bestemt utgave av det.

 

Nye muligheter med RDF og SPARQL

SPARQL er et spørrespråk for data i RDF-format. Ved hjelp av SPARQL kan vi gjøre alle vanlige søk og oppslag i katalogdata; i tillegg får vi mye nytt med på kjøpet.

CCL-søk gir oss mange muligheter til å kombinere opplysninger og lage avanserte og spesifikke søk, men det er én begrensning man aldri slipper unna: Uansett hvordan du søker, får du katalogposter tilbake. Sagt på en annen måte: Man kan spørre om hva som helst, men bare så lenge spørsmålet innledes med ordene «Hvilke bøker…».

Det lar seg for eksempel ikke gjøre på noen lett måte å besvare spørsmål som «Hvilke emner har vi nynorske romaner om?» eller «Hvilke norske forfattere har skrevet bøker om andre verdenskrig», til tross for at katalogen inneholder all nødvendig informasjon. For å besvare slike spørsmål må man først søke etter hvilke bøker som er romaner på nynorsk eller hvilke bøker som handler om andre verdenskrig og er skrevet av en norsk forfatter. Så må man selv gå gjennom hele lista av poster for å finne de unike emneordene eller forfatternavnene.

En annen begrensning med CCL-søk er at de ikke kan inneholde ukjente størrelser. Det går for eksempel ikke an å formulere et CCL-søk slik at man med utgangspunkt i en boktittel kan få returnert alle andre titler som er skrevet av samme forfatter. Da må man først søke opp den kjente boken, finne navnet på forfatteren ut fra posten, for så å sende et nytt søk. Dette er ikke spesielt plagsomt, men hva om svaret man vil finne avhenger av flere ukjente størrelser? Spørsmål som «Hvilke romaner har vi som vi også har filmatiseringen av på DVD?» er det håpløst å kunne besvare med hjelp av vanlige søkeverktøy. Med SPARQL kan man spørre på følgende måte:

Gi meg alle par av dokumenter, dokument-1 og dokument-2, som er sånn at:

  • dokument-1 er en roman i bokform
  • dokument-2 er en film på DVD
  • dokument-1 er skrevet av forfatter X og har tittel Y
  • dokument-2 er basert på et litterært verk av forfatter X, med tittel Y

 

Veien videre

Det gjenstår en del arbeid med koblinger av verk og manifestasjoner. Her har vi støtt på noen utfordringer som gjør at den foreløpige strukturen har en del mangler. Vi har foreløpig heller ikke fått på plass en metode for å håndtere de konsekvensene endringer i katalogen får for verksstrukturen, etter hvert som de skjer. Vi ønsker også å gjøre en innsats med å berike og koble sammen våre katalogdata med data fra eksterne datakilder. Dette er noe som kan være svært verdifullt i de pågående prosjektene. Her har blant annet BIBSYS og NTNU-bibliotekets prosjekt Rådata nå! gjort et arbeid med personautoriteter som vi kan trekke mye nytte av.

Se de nye Deichman-dataene på http://data.deichman.no/

Om Asgeir Rekkavik

Bibliotekar ved Deichmanske bibliotek. Avdeling for kunnskapsorganisering