146 78 79MB
Norwegian Pages 173 Year 1994
KUNNSKAPS ORGANISERING VED HJELP AV EDB
STEINAR BAKKEN
NORSK BIBLIOTEKFORENING 1994 NBB-DEPOTBIBLIOTEKET POSTBOKS 278 ■ 8601 MO
© Norsk bibliotekforening Omslag: Astrid Nilssen Wallace Sats og trykk: A/S Joh. Nordahls trykkeri Innbinding: A/S Joh. Nordahls trykkeri ISBN 82-90790-06-6
FORORD Boka er et forsøk på å lage en oversikt over kunnskapsorganisering i bred forstand. Mellom "klassisk" kunnskapsorganisering slik det inngår i bibliotekfaget og "datalære" finnes det mange likheter og berøringspunkter. Hvis det hele plasseres under én hatt, oppnås det "synergieffekter" og berikelse av begge fag. Det samme språket kan brukes, og de samme metodene kan brukes for å gripe fenomenene. Informasjonsteknikk, dvs. datateknikk i bred forstand, dekkes ikke i boka. Boka inneholder noe om hvordan harddisken virker. Dette er med for å gi en forståelse av mulighetene som oppstår for gjenfinning når data lagres på en harddisk. Ellers forutsettes en del kunnskap om datateknikk, som f.eks. datamaskinens komponenter og dens operativsystem. Bokas målgruppe er bibliotekaren eller bibliotekskolestudenten. Dvs. at en del begreper fra bibliotekfaget antas kjent. Noen vil muligens si at dette er for mye stoff plassert under samme hatt, temaene springer fra lingvistikk til harddisker og MARC-format. Forfatteren har selv irritert seg over "suppe på en spiker"-preget til mange databøker og håper selvfølgelig (og mener) at det er en linje i denne boka. Når såpass mange temaer er med, fører det til at mye er behandlet svært summarisk og kanskje for knapt. Nå kan knapphet også bli til en dyd hvis en greier å ta tak i det vesentlige i et fenomen. Det ligger også en idé bak bredden. Oppsplittingen i fag er grunnleggende tilfeldig. Det har sannsynligvis begynt med en praktisk oppdeling; alt kan bare ikke handle om alt. Selve kunnskapsutviklingen og profesjonaliseringen av akademisk arbeid i universiteter og skoler har drevet dette videre og videre. Sammen med troen på metoder og forskning har dette ført til en situasjon som nærmer seg det absurde. Det er sannsynlig ikke mulig å gjenreise en teologisk helhet (eller en annen helhet) over hverken samfunn eller "Akademia". Sannheten i den engelske dikteren Chestertons aforisme (fritt oversatt): "Når mennesker slutter å tro på Gud, slutter de ikke å tro, men de tror på alt mulig" er lett å få på øye på innen den akademiske verdenen. Nå har bibliotekfaget bevart en slags helhet ved mangfoldet i bibliotekarens profesjon. Når teksten videre kanskje beveger seg på grensen av bokas egentlige tema, beveger den seg i hvertfall ikke lenger enn til andre deler av bibliotekfaget (bibliotekfaget pragmatisk definert som det som går inn i utdannelsen av en bibliotekar). Delkapitlet om lingvistikk er strengt tatt for
FORORD
2
stort. Det meste av stoffet er imidlertid temaer jeg har savnet som bakgrunnspensum i mitt arbeid som klassifikasjonslærer (når en nå engang får utgitt en bok, må det også være tillatt å pleie noen kjæledegger). Som samfunn lever vi i en "tekst-kultur" med radikal økning i skoletid og "tekst-konsum". Ved skrift greier vi å "fryse" de begivenhetene tekstene skildrer. Skolevesenet dogmatiserer videre disse tekstene og bibliotekene arkiverer dem. Som bibliotekar og lærer har jeg opplevd å komme i en ubehagelig rolle som "det levendes" arkivar og bokholder og revisor, som en slags "Åndens" filister. Datamaskinens hovedoppgave har skiftet fra å være tallknuser til "tekst"-behandler og "tekst"-distributør. At tekst behandles elektronisk gir muligheter for å fjerne noe av dogmatikken rundt tekster ("det står i boka!"). Nye presentasjonsformer kan også tydeliggjøre et temas "semantikk" og et temas "syntaks". Noe av denne bokas poeng er å få fram det "fuzzy" og forunderlige preget språket har og grensen for fornuftig databehandling av det. Kapitlet om indekseringsspråk er det største i boka. Indekseringsspråk og bruk av MARC-formatet er de temaene innen kunnskapsorganisering som er spesifikke for bibliotekfagene. Kapitlet om indekseringsspråk prøver å gi en oversikt over begrepene slik de brukes på SBIH og i de angelsaksiske miljøene vi er knyttet til. Kapitlet dekker ikke bruk og oppbygging av de forskjellige ispråk, men prøver å beskrive terminologien rundt dem og logikken bak dem. Kapitlet er derfor vanskelig å lese hvis en ikke har noe kjennskap til i-språk fra før. Hvis kapitlet er for stort i forhold til resten av temaene, er argumentet det samme som ovenfor. Det er en oversikt jeg har savnet som klassifikasjonslærer. Mange av temaene som berøres i boka, er i akademiske kretser matematisert og formalisert utover all måte. Troen på tall, formler og matematikk er en av tidens hellige kuer. Her er det i hvertfall forsøkt å la det vanlige språket rekke så langt som mulig. Knappheten i boka kunne vært avhjelpet ved å lage en hypertekst ut av den. Utfyllende og motstridende (jeg har aldri helt skjønt den kritikken som omtrent går sånn: "Forfatteren motsier seg selv..." Det er en del av kulturen rundt boka at den skal være motsetningsfri) og mer fullstendig stoff kunne vært aksessert direkte fra dette dokumentet. Nå er jeg i den heldige situasjon at min forlegger tillater at dette dokumentet også "utgis" som hypertekst. Konkret vil dette si at en versjon av dette stoffet vil foreligge som et World Wide Web-dokument tilgjengelig elektronisk gjennom Internet. Norsk bibliotekforening har planer
FORORD
3
om å presentere seg gjennom WWW og en versjon av dette dokumentet vil foreligge "gjennom" denne tjenesten. Boka er også et forsøk på en presentasjon av faget Kunnskapsorganisering på SBIH fra 1. til 5. år. I selve struktureringen ligger det derfor et faglig syn som en leser kan være enig eller uenig i. Uenigheter går oftere på hvordan temaer stilles i forhold til hverandre og skal vektlegges enn "innholdet" i temaene selv. En kan f.eks. være uenig om matematikk skal trekkes inn som metode i et fag, men en kan ikke være uenig om matematikken i seg selv. En lite studert del av retorikken i fagbøker, er tematikk og stil og ikke minst unnlatelser som ikke er myntet på en fjern leser, men som er der som polemikk mot kollegaer innen faget ("nå skal jeg virkelig skrive lite om Cæsar slik at kollega NN’s historiesyn får seg en smekk"). Denne boka er sikkert ikke fri for dette polemiske draget, selv om jeg håper det er lite av det. Bokas ambisjon er at den kan kan bidra til å gjøre biblioteksystemene bedre. Vi bruker nå en generasjon biblioteksystemer som er kjennetegnet ved at de er laget for bibliotekaren. Neste generasjon vil muligens bli orientert mot sluttbrukeren. Denne boka inneholder likevel lite om design av grensesnitt; et tema som gjerne veier tungt når det er snakk om sluttbrukeren. Målet er mer å gi en bibliotekar en kunnskapsorganisatorisk verktøykasse som kan brukes når systemene skal designes videre. Bak mye av teksten ligger det et faglig syn. For å gjøre dette noe klarere inneholder avslutningskapitlet noen konkrete forslag om hva som kan gjøres. Boka inneholder heller ikke noe om nett generelt og lite om Internet spesielt, kanskje tiden aller heteste tema. Det er imidlertid lagt inn et kapitel om datamaskiner som samspiller som klient og tjener. Forståelse av dette samspillet er vesentlig for hvordan bibliotektjenester kan bruke (eller allerede bruker) Internet. Videre viser koding av World Wide Web-dokumenter som et eksempel på bruk av SGML. Det er risikabelt å utpeke fenomener i samtiden til milepæler, men jeg våger likevel påstanden at Internet-tjenesten World Wide Web som kom til full utfoldelse i 1993, er en revolusjon for utvikling av informasjonssystemer og biblioteksystemer. Plutselig har en fått det grensesnittet og den muligheten for sammenbinding av informasjonssystemer en før bare har drømt om. Nå er det ikke lenger nødvendig å skissere hva som kommer, men å utnytte de verktøyene som ligger klare til bruk akkurat nå. Engelsk er enten man liker det eller ikke databehandlingens "lingua franca". Biblioteksteori i Norge er bundet opp til angelsaksisk teori. Når forfatteren i tillegg ikke er noen språkpurist, er det ikke til å unngå at teksten her og der får
FORORD
4
preg av engelsknorsk. Der norske fagmiljøer bruker etablerte norske termer, brukes disse. Der slike termer ikke finnes, brukes engelske termer direkte. Som det passer seg i et forord, må noen utvalgte takkes. Jan Arve Lægreid for sine rolege svar på sognamål om alt som vedkjem databehandlig generelt og biblioteksystemer spesielt. Helge Høiviks for sin uopphørlige interesse for datateknikk som sådan og for de sosiale mulighetene som åpner seg med ny teknologi. Knut Hegna for de idéer som dukker opp når jeg har fått følge hans konkrete utvikling av det virtuelle bibliotek ved hjelp av WWW. Jon Anjer for sitt kjennskap til irrgangene i Word Perfect og for sitt rause utlån av tegninger og tekst til matematikkkapitlet. Cecilie Naper skal ha påskjønnelse for at hun lot sitt utpregede filologintellekt bli utsatt for stoff som ellers ligger henne fjernt. Ragnar Nordlie skal ha takk for sitt konsulentarbeid med manuset. Til slutt skal min kone Kari ha en takk for hennes absolutte uinteresse for alt det denne boka dreier seg om. Det er sjelden en forfatter kan bebude neste utgave i den første. Neste utgave blir altså en elektronisk versjon. Det som måtte være av stavefeil (det går ikke lenger å kalle det trykkfeil når en sitter med en tekstbehandler), dårlig språk osv. blir forhåpentligvis bedre i neste versjon. En elektronisk versjon innebærer også at en kritiker kan "henge seg på" neste utgave. Kritikk må selvfølgelig komme som den komme vil, men kritikere innbys til å forbedre neste versjon med kritikk, kommentarer, meninger eller utfyllende stoff. Min Internetadresse er "[email protected]".
Februar 1994
INNHOLDSFORTEGNELSE 1. INNLEDNING................................................................................................. Det elektroniske dokument og den elektroniske database ......................... Bibliotekfagenes plass ..................................................................................... Hvordan presentere kunnskapsorganisering.................................................. Biblioteksystem for sluttbrukere ................................................................... Terminologiske problem.................................................................................. PRECIS som det første datamodelleringsspråk............................................. Lagdeling........................................................................................................... Eksempel på lag .................................................... Disse vanskelige ordene: Data og informasjon osv. osv............................... Fagbokas konvensjoner.....................................................................................
12 12 12 13 14 14 14 15 15 15 17
2. METODE ......................................................................................................... Temaer fra matematikken.................................................................................. Grafer og trær............................................................................................... Matriser......................................................................................................... Vektorer......................................................................................................... Boolsk logikk og mengdelære................................................................... Fuzzy set...................................................................................................... Rekursjon...................................................................................................... Algoritme.......................................... Temaer fra lingvistikk/logikk ........................................................................ Semiologi - læren om tegn........................................................................ Ting, begrep og betegelse........................................................................... Analytiske og syntetiske utsagn................................................................. Morfologi, syntaks og semantikk.............................................................. Analytiske og syntetiske språk ................................................................. Tvetydighet i språk .................................................................................... Homografer, homofoner, polysemer.................................................. Synonym, konnotasjon........................................................................ Troper eller figurer ............................................................................. Diakron og synkron lingvistikk................................................................. Typer språk ................................................................................................. Fagspråk ............................................................................................... Programmeringsspråk........................................................................... Nasjonalspråk, stilnivåer og sosiolingvistikk.......................................... Konvergens og divergens................................................................... Motsetningen mellom norm og uttrykkskraft...................................
18 18 18 20 21 23 23 24 25 25 26 27 27 27 29 30 30 31 31 31 32 33 33 34 34 35
INNHOLDSFORTEGNELSE
6
Dante på Romerike ........................................................................... Bibelspråk .......................................................................................... Om å stryke i Ambjørnsen............................................................... Temaer fra databehandling/logikk ............................................................... Objekter...................................................................................................... Virtuelle fenomen..................................................................................... Turing-maskin............................................................................................ Turing-test................................. Er språket en projeksjon?......................................................................... Informasjonsteori............................................................................................ Temaer fra kognitiv teori .............................................................................
35 36 36 37 37 38 38 38 39 39 40
3. KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER........................... Strukturert og ikke-strukturert informasjon ................................................ Organisering av fagbøker ............................................................................. Innholdsfortegnelse .................................................................................. Register...................................................................................................... Ordbøker ........................................................................................................ Leksika .......................................................................................................... Telefonkatalogen............................................................................................ Andre dokumenter.......................................................................................... Ulike lagringmedia.......................................................................................... Organisering av en samling dokumenter..................................................... Organisering av dokumentflyt i en organisasjon......................................... Organisering av våre egne hoder.................................................................
43 43 44 45 45 45 46 46 46 47 48 48 48
4. DATAMODELLERING ............................................................................. 49 Lite overblikk før vi går videre.................................................................... 49 NIAM og Descriptor ..................................................................................... 50
5. LAGRINGENS SYNTAKS: FELTER OG POSTER............................... Felt og post..................................................................................................... Formen på data i felt..................................................................................... Typer data ..................................................................................................... Varierende felt- og postlengder.................................................................... Repeterbare felt.............................................................................................. Felt og delfelt................................................................................................. Nøkkelfelt........................................................................................................
56 56 57 57 57 57 58 58
INNHOLDSFORTEGNELSE
7
Minimumsbeskrivelse....................................................................................... Kontroll av verdiene i et felt........................................................................... Kodede felt......................................................................................................... Beregnbare feltopplysninger ........................................................................... Hvis objektet selv er lagret i datamaskinen..........................
58 59 59 59 60
6. KONSTRUKSJON AV DATABASEN SEKVENSIELL ......................... Fysisk lagring og filer .................................................................................... Innlegging og søking ....................................................................................... Sekvensiell filbehandling ............................................................................... DBMS, DDL og DML.................................................................................... Dataene i SEKVENSIELL beskrevet med "kvasi-DDL".............................. Vertsspråk........................................................................................................... Fysisk og logisk nivå.......................................................................................
61 62 63 63 63 64 64 65
7. FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT Søkeinnganger.................................................................................................... Indekser og indeksering .................................................................................. Moderne lagringsmedia .................................................................................. Harddisken.................................................................................................... CD-ROM...................................................................................................... Aksesstid ...................................................................................................... Cashing ......................................................................................................... Oppbygningen av indeksfiler........................................................................... B-trær ........................................................................................................... Indeksering som frase og indeksering som ord .......................................... Forbedret base beskrevet i "kvasi-DDL"....................................................... Brukerstyring av indeksering...........................................................................
66 66 68 69 69 69 70 71 71 71 73 73 74
8. RELASJONER OG RELASJONSDATABASER ...................................... Relasjonsmodellen............................................................................................ Eksempeldatabasen KATALOG_UTLÅN.................................................... Relasjon, tabell, linjer og kolonner................................................................. Nøkler og fremmednøkler............................................................................... Forenkling og normalisering ........................................................................... Databasen KATALOG_UTLÅN2 ................................................................. Fysisk implementering av relasjonsdatabaser............................................... Redundans og konsistens ................................................................................
75 75 75 77 77 78 79 82 82
INNHOLDSFORTEGNELSE
8
Relasjonsalgebra ............................................................................................... SQL..................................................................................................................... View .................................................................................................................. Hierarki og nettverk.......................................................................................... Hv ordan designe en relasjonsdatabase .......................................................
83 84 85 85 85
9. INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE . Problemer ved faste felt-lengder ................................................................... Feltkoder ........................................................................................................... Beskrivelse av databasen MARCBASE ....................................................... Flere søkeinnganger.......................................................................................... Hva ligger i en MARC-post? ........................................................................ Syntakssjekk av en MARC-post .................................................................... MARC-formatet brukt ved flernivåkatalogisering........................................ Særtrekk ved bibliografiske databaser............................................................
87 88 88 89 90 91 92 92 93
10. ISBD, AACR2, MARC ................................................................................
95
11. FULLTEKSTDATABASER......................................................................... Fulltekstbaser og multimediabaser................................................................. Indeksering ord for ord..................................................................................... Ulike fulltekstsystemer..................................................................................... Fulltekstsøk uten indeksering ........................................................................
98 98 98 99 99
12. FORBEDRING AV FULLTEKSTGJENFINNING................................ Rotlemmatisering............................................................................................ Splitting av sammensatte ord........................................................................ Automatisk trunkering .................................................................................. Termvekting .................................................................................................... Dokumentet som vektor................................................................................ Hjelp fra datalingvistikken?...........................................................................
100 100 101 101 102 102 103
13. HYPERTEKST ........................................................................................... Fra fulltekst til hypertekst............................................................................. Rammer og lenker.......................................................................................... Hypermedia .................................................................................................... Organisering og gjenfinning ........................................................................ Fra tekstbehandling til hypertekstbehandling.............................................
104 104 104 105 105 105
INNHOLDSFORTEGNELSE
9
Bibliotekskatalogen som hypertekstorganisator ........................................ Internettjenesten World Wide Web............................................................... Fragmentering eller oversikt .........................................................................
106 107 107
14. SØKING I EN DATABASE....................................................................... Søkespråk......................................................................................................... Common Command Language...................................................................... Søk og resultatsett.......................................................................................... Trunkering og maskering .............................................................................. Boolsk algebra ............................................................................................... Nærhetsoperatorer .......................................................................................... Klassesøk......................................................................................................... Søking i relasjonsdatabaser - relasjonsalgebra ........................................... SQL................................................................................................................... Query by example.......................................................................................... Browsemuligheter .......... *.............................................................................. Rapporter......................................................................................................... Evaluering av resultatsett og rapporter.......................................................
109 109 109 109 110 110 111 111 111 112 112 112 112 113
15. SAMSPILLET MELLOM KLIENT OG TJENER................................. Protokoll mellom klient og tjener................................................................. Databasemotorer og frittstående klienter..................................................... Internettjenester............................................................................................... SQL og CCL som elementer av en protokoll............................................. SR-nett..............................................................................................................
114 114 115 115 115 115
16. LAGRINGS-OG UTVEKSLINGFORMATER...................................... Utveksling av databaser på asciifiler .......................................................... Tekstbehandleres filformat ........................................................................... Generelt lagringsformat for dokument: SGML........................................... Eks. på bruk av SGML: HTML ............................................................ Formater for ikke-tekstlig materiale............................................................ Bilder ......................................................................................................... Eksempel TIFF................................................................................... Lyd - eksempel SND................................................................................ Skriverformater...............................................................................................
117 117 118 118 120 120 120 121 122 123
17. INDEKSERINGSSPRÅK...........................................................................
124
INNHOLDSFORTEGNELSE Eksakt klassifikasjon er umulig................................................................. Språk med innebygd klassifikasjon .......................................................... I-språk som et mer presist språk ............................................................... Emnebeskrivelse uten indekseringsspråk................................................... Hva er klassifikasjon? ................................................................................ Inndelingskriterier og opplistingskriterier............................................ Rekker (array) og gjensidig utelukkethet ............................................ Et enkelt klassifikasjonsskjema over Norge ....................................... Alternative måter å presentere skjemaet på.................................. Klassifikasjon i botanikk og zoologi ................................................... Konsekvenser av feil klassifikasjon..................................................... I-språk for fysisk ordning, utlistinger eller gjenfinning i databaser .... Forsøk på terminologiavklaring................................................................. Emneanalyse (subject analysis) ................................................................. Disiplin eller fagområde........................................................................ Emne og form......................................................................................... Enkle og sammensatte fenomen .......................................................... Fasettrelasjoner og faserelasjoner ................................................ Ordning av fagområder................................................................................ Siteringsorden og nedstøpningsorden ........................................................ Fasetter og fasettanalyse..................... Rekkefølgen innen en rekke................................................................. Forskjellige plan i et i-språk ...................................................................... Begrepsplan eller semantisk plan.......................................................... Begrep og termer ........................................................................... Slektskap mellom begreper............................................................ Generisk forhold mellom begreper................................................ Kategorier ....................................................................................... Instance-relationship ...................................................................... Kvasigeneriske slektskap ............................................................... Parti ti ve forhold mellom begreper................................................ Assosiativt forhold mellom begreper............................................ Verbalplan .............................................................................................. Indekstermer..................................................................................... Hierarkiske og sideordnede forbindelser....................................... Topptermer....................................................................................... Poly-hierarki.................................................................................... Ekvivalensforhold...........................................................................
10 124 125 126 126 127 128 128 129 130 131 132 132 133 134 135 137 137 139 141 142 143 146 146 146 146 147 147 147 148 148 148 148 149 150 150 152 152 152
INNHOLDSFORTEGNELSE
11
Homonymer....................................................................................... Analytiske forhold på verbalplan.................................................... Notasjonsplanet.......................................................................................... Hierarkisk uttrykksfull notasjon....................................................... Synteser........................................................................................................... Syntesefrie i-språk..................................................................................... Siteringsorden............................................................................................ Siteringsorden og hylleoppstilling ......................................................... Post- og prekoordinering ........................................................................ Syntaktisk uttrykksfullhet........................................................................ Retroaktiv notasjon ........................................................................... Rollepresisering ................................................................................ Gjentagelse av analytiske forhold i synteser........................................ Fasett- og faserelasjon uttrykt på verbalplan........................................ Typer i-språk.................................................................................................... Enumerative og fasetterte klassifikasjonsskjemaer.............................. Dewey, UDK og Bliss...................................................................... Emneordsspråk.......................................................................................... Samlingsspesifikke registre........................................................................... Datamaskinenes behandling av i-språk.......................................................
153 153 153 154 154 154 154 155 155 155 155 156 156 156 156 156 157 158 159 159
18. OPPSUMMERING OG AVSLUTNING ................................................
160
LITTERATURLISTE..........................................................................................
163
REGISTER
168
1. INNLEDNING Det elektroniske dokument og den elektroniske database Boka tematiserer kunnskapsorganisering i bred skala. Datamaskinens muligheter tas som utgangspunkt. Det betyr ikke at tradisjonelle produkter er uten interesse, men disse produktene kan ses på som derivater av eller produkter fra databasene. Det aller meste av de tradisjonelle tekstproduktene vi i dag bruker har på ett eller annet tidspunkt eksistert i elektronisk form. Et strengt organisert dokument som telefonkatalogen i bokform er en rapport eller en utlisting fra en database. Også "mindre" organiserte produkter som aviser, fagbøker og romaner har også eksistert i elektronisk form. I stigende grad vil de også leses i elektronisk form. Det elektroniske dokumentet og den elektroniske database tas derfor som utgangspunkt i denne presentasjonen.
Bibliotekfagenes plass Det elektroniske dokument og databasen må føre til gjennomtenkning av tradisjonelle bibliotekfag. Svært mye av tradisjonell bibliotekteori er brukbar, mye av den er helt nødvendig i en elektronisk verden. Kunnskapsorganisering har lenge kunnet leve "bak" de ferdige produktene. De tradisjonelle produktene er i hvertfall noe mer intuitive enn de elektroniske; hvor intuitive de er, er vanskelig å vurdere fordi vi alle har vært omgitt av dem fra vi lærte å lese. De elektoniske produktene er svært forskjellige fra de tradisjonelle og krever nye "modeller" eller "metaforer hos brukeren. Om denne modellen er kongruent med den faktiske organiseringen, spiller egentlig liten rolle såfremt det virker i gjenfinningen. (I et leksikon i bokform, spiller de fysiske bøkene en viktig rolle i dannelsen av den nødvendig modellen). En del av den nåtidige og framtidige bibliotekarrollen er å forsyne sluttbrukere med de nødvendige metaforer for å ta seg fram i en verden av elektroniske databaser og dokumenter. Disse modellene kan gjerne være avledet av tradisjonell organisering. Det "virtuelle" bibliotek kan f.eks. bruke bibliotekhyller som metafor for å forbedre databasesøk. I en verden bortskjemt med avansert teknologi med svært enkle grensesnitt (f.eks. telefon og TV), har det ikke gått opp for hverken databehandlere eller pedagoger (eller bibliotekarer?) at gjenfinning i og bruk av elektroniske dokument og databaser trenger et teorifundament og en forståelse hos
INNLEDNING
13
sluttbrukeren. En destillert biblioteksteori må være en del av et slikt teorifundament. En bibliotekarstand som ikke behersker kunnskapsorganisering ved hjelp av elektronikk, risikerer også å bli overkjørt av sine egne kunder. Avanserte bibliotekskunder bruker allerede moderne hjelpemidler selv. Disse kundene vil bruke bibliotekaren som en konsulent og forventer å finne kunnskap som kunden selv ikke sitter inne med. Hvis ikke bibliotekaren har denne kunnskapen, vil sluttbrukeren greie seg selv eller henvende seg til andre faggrupper.
Hvordan presentere kunnskapsorganisering Det er ulike måter å presentere et fag på. Grovt sett kan et fag presenteres deduktivt eller historisk. Naturvitenskapelige fag presenteres i norsk skole stort sett deduktivt. Ordet deduktivt er kanskje noe sterkt, men målet er å presentere fag mest mulig logisk slik de foreligger i dag. Studenter i kjemi, biologi, fysikk eller matematikk får presentert fagene helt uten hensyn til fagenes historie, og lærebøkene inneholder magre henvisninger til de forskjellige idéenes oppståen. En slik måte å presentere på er ikke problemløs; for mange gjør den fagene uforståelig, fordi studentene får ikke tak i spørsmålene som ledet fram til hypotesene. En annen ulempe er at kløften mellom humanistiske fag og teknisk/naturvitenskapelige blir holdt ved like. Historie holder seg grovt til politisk historie. Litteraturfagene holder seg til skjønnlitteraturens historie. Kunnskapsorganisering har også sin historie. Alle bibliotekarer kjenner ord som Dewey, UDK, ISBD, MARC, AACR2 eller ord som nominalkatalog, systematisk katalog, kontrollregister, kjederegister. Denne boka prøver å presentere kunnskapsorganisering "deduktivt" med datamaskinens muligheter som utgangspunkt. Presentasjonens logikk avspeiles i innholdsfortegnelsen. De "gamle" begrepene er forsøkt plassert i denne rekkefølgen. Det betyr at AACR2 ses på som et eksempel som standard for å beskrive et dokument, dvs. hvilke felt som skal være med i en beskrivelse og hvordan formen på disse feltene skal være. ISBD ses på som en form for å presentere en beskrivelse. MARC-formatet ses på et utvekslingformat. Nå er ikke forholdet mellom AACR2 og MARC så enkelt. Slik MARC-formatene er formulert, fungerer de også som standarder for beskrivelse. Moderne databaseteori som ligger bak dagens datasystemer, kom senere enn f.eks. AACR2 eller MARC-formatet, dvs. at en "datamodellering" i en eller annen form ikke har vært foretatt. Biblioteksteori har tradisjonelt beskjeftiget
INNLEDNING
14
seg med referansen til dokumentet. Referansen skal være så omfattende så mulig og den skal stå på egne ben. For å få til høy kvalitet på referansen opereres det med svært mange felt. I steden for å legge så mye inn i en referanse, hadde det vært bedre med lenker eller relasjoner til andre referanser eller "rammer" (enheten i et hypertekstsystem).
Biblioteksystem for sluttbrukere Automatisering av bibliotekene i betydning overgang fra kortkatalog til database, er pr. i dag så og si fullført. Mange mener (forfatteren inkludert) at det vi har gjort, er å lage en elektronisk kortkatalog. Dette er ikke kritikkverdig i seg selv, men neste generasjon systemer bør bygges ut i fra andre premisser. Målgruppen for automatisering opp til nå har vært bibliotekaren selv. Målgruppen for neste generasjon bør være sluttbrukeren.
Terminologiske problem Når biblioteksteori og deler av datateori blir forsøkt fusjonert, oppstår det terminologiske problem. Det samme ordet brukes om ulike begrep. Like problem beskrives forskjellig. Hvis biblioteksteori skal forstås av nye grupper, bør språket i biblioteksteorien tilpasses verden rundt. Hvis dataverdenen og biblioteksteori brukes samme ord om forskjellige begrep, bør biblioteksverden bøye seg og bruke ett annet ord. Biblioteksteori kan sånn som jeg ser det, bare overleve hvis den inngår "allianser" med fag rundt. Hvis ikke vil biblioteksteorien ende som en gold øy som spises opp av den sterke elva rundt den.
PRECIS som det første datamodelleringsspråk Biblioteksteori er lite kjent utenom biblioteksmiljøet. Datakonsulenter brukes i dag til å "datamodellere" firmaer og institusjoner. For å finne ut hvordan en institusjon bør organisere seg i forhold til hva den driver med, beskrives aktivitetene med et datamodelleringsspråk. Mange slike "språk" er omtrent likt PRECIS, et indekseringsspråk SBIH har undervist i i 15 år. Dvs. at PRECIS godt kan kalles et datamodelleringsspråk. Problemer som biblioteksmiljøer har arbeidet med i årevis, f.eks. å lage et kunstspråk som er entydig nok til å være presist og fleksibelt nok til å uttrykke kompliserte forhold, er i dag blitt teoretiske utfordringer for helt andre miljøer.
INNLEDNING
15
Lagdeling Datakommunikasjon og databehandling kan ses som lagdelte prosesser. Standardiseringen rundt datakommunikasjon følger en modell der kommunikasjonen deles inn i 7 lag. En slikt oppdeling er fruktbar fordi den gjør det mulig å gå dypere ned i en del og samtidig se hvor delen ligger i helheten. I denne boka er forsøkt noe liknende, dvs. gå dypere ned i en del tema, samtidig som det er forsøkt å beskrive hvor delen befinner seg i helheten.
Eksempel på lag Når en kataloginnførsel vises på en skjerm er dette toppen av mange lag. Nedenfor vises et forsøk på en lagdeling:
- O’ere og l’ere markert med magnetiske flekker - bit’ene organisert i byte - byte organisert av operativsystemet i f.eks. sektorer - sektorer som kan ligge fysisk spredt, organisert av operativsystemet til fil - et program kan operere med filen som en enhet - filen er organisert i poster, programmet kan få tak i én post - byte i filen tolkes som ascii-tegn - byte’ene er organisert til felt ved hjelp av visse tegnkombinasjoner, f.eks. *24500$a - visse felt (f.eks. *10000$a-feltet) er indeksert, indeksene er organisert i en egen type filer: indeksfiler - posten hentet som MARC-post - programmet framviser posten i ISBD-format
Disse vanskelige ordene: Data og informasjon osv. osv. Debatten om betydning av ord, har sikkert pågått sålenge mennesker har brukt ord. Moderne kjekkaser kan med en viss støtte i filosofen Wittgenstein si at betydningen av ordene er slik ordene faktisk brukes. Hvis en studerer dagligtalen litt uhildet er det forbausende sjelden (hvis vi da ikke er ute etter å krangle) vi ikke forstår hverandres "betydninger". Verre blir det når ordene skal brukes til å lage handling. Norge (sammen med mange andre land) har sannsynligvis tapt ukjente summer når vi har satset på "informasjonsteknologi" eller vi kommer bare ut i uføre hvis vi skal utvikle "kompetanse". Mange av
INNLEDNING
16
ordene som brukes i denne boka er vanskelig å avgrense mot hverandre; data og informasjon er ett eksempel, informasjonssystem og database er et annet. Hva er f.eks. et biblioteksystem? Etter noen år som klassifikasjonslærer og tesauruskonstruktør, har jeg ikke mistet troen på at det går an å lage f.eks. brukbare tesauri og sånn noenlunde avgrense betydningen av ord ved å bøye og tøye på ord og betydninger, men vi må bare ikke tro at "verden" og språket er sånn. Det ligger også i boka natur at det er vanskelig å drive en "terminologitukt". Boka prøver å vise hvordan ulike miljøer behandler beslektede tema på en forskjellig måte. Det fagområdet denne boka prøver å beskrive utvikler seg med en fart som skaper stor glid i ordenes betydning. Det kommer nye fenomen som går på tvers av gamle produkter. Hva slags type fenomen er f.eks. WWW? Det ville vært lettere å definere ordet database for 10 år siden enn det er idag. Her brukes database svært vidt. Et fulltekstsystem kalles for en database, likeledes en hypertekst. Hvis noe er organisert utover en flat løpende tekst, blir det eller nærmer det seg en database. Ordet biblioteksystem brukes om de databasesystem bibliotekene bruker for å holde orden på sine samlinger. Målgruppen for boka er som nevnt bibliotekaren og mye biblioteksterminologi tas for gitt. En del begreper trenger likevel en foreløpig avklaring. Kunnskapsorganisering brukes svært vidt. Det dekker de "klassiske" operasjonene katalogisering og klassifikasjon, mens også f.eks. datamodellering. Her i boka dekker det også hvordan filer organiseres for å lagre et bilde eller en type tekst. Klassifikasjon brukes med en vid betydning; det dekker emneordssetting (eller emneordskatalogisering) og klassifikasjon i betydning bruk av et klassifikasjonsskjema. Indekseringsspråk eller i-språk dekker de "språk" bibliotekarer bruke for å klassifisere eller sette emneord på sine dokumenter. Tesaurus brukes om en strukturert ordliste som vanligvis brukes som utgangspunkt for å sette emneord. Når det i teksten brukes ord som foreløpig ikke er definert står det enten ".. lenger ut i teksten.." eller leseren kan bruke innholdsfortegnelsen eller registeret. (På dette punktet blir den elektroniske utgaven mer elegant.) Ellers svever det en del ord rundt i data/biblioteksmiljøer som det nesten er mote å bruke; ord som objekt, entitet, klasse, format, attributt, virtuell. Når slike ord brukes håper jeg teksten er oppklarende nok. "Språk" brukes med en vid betydning. Å bruke Dewey er å bruke et i-"språk". Matematiske symboler ses på elementer i et språk.
INNLEDNING
17
Fagbokas konvensjoner Boka prøver altså i en viss grad å følge fagbokas konvensjoner. Den prøver å ha en linje fra start til slutt. Det er iallfall forsøk på konsistens i ordbruk. Slike fagbøker skal egentlig leses fra start til slutt. Nå tror jeg fagbokas retorikk rett og slett ikke er tilpasset den måten fagbøker faktisk blir lest på. Svært få fagbøker står i sin helhet oppført på pensumlister. Svært få (tror jeg) blir lest i sin helhet. At tekster leses i biter, er en fragmentering av den sekvensielle tekst som er kommet forut for den elektroniske behandlingen av tekst. En kan heller si at et fenomen som hypertekst er en teknisk forbedring av en lesemåte som allerede er innført. En fagbok skal heller ikke gjenta seg selv (en leser skal i prinsippet gjennom alt og vil kjede seg ved å finne gjentagelser). Til en viss er denne regelen avveket siden jeg regner med få sekvensielle, fullstendige lesere. Et annet pussig trekk ved fagbøker er at de ikke skal virke subjektive. Det kan ta bort det objektive preget en slik bok skal ha. En konsekvens av dette er meninger kan opptre bare hvis de opptrer gjennom å sitere andre. Siden alle sitater virker "tyngre" og mer autoritative enn den teksten en befinner seg i, er også denne boka forsøkt "stivet opp" på denne måten. Retorikken i skriftkulturen er et tema for seg. Formaliseringen av en genre kommer etter at genren er etablert. (Lenge etter at Montaigne skriver sine "forsøk" eller essay er det noen som høytidelig utroper essayet til den strengeste av alle former).
2. METODE Vi trenger metoder for å gripe og beskrive fenomen. Det er uklare grenser mellom hva som er et fags kjerne og hva som er fagets metoder. F.eks. datamodellering berører bibliotekfaget kjerne så direkte at det bør inn i bibliotekfaget. Kapitlet er et forsøk på å definere et sett av metoder. De forskjellige temaer er forsøkt underlagt klassiske fag som matematikk, lingvistikk eller databehandling. En slik ordning er tvilsom da temaene ligger i gråsoner mellom fag, f.eks. kunne rekursjon like gjerne vært plassert under matematikk eller logikk eller databehandling. Metodekapitlet er også et forsøk på å plassere bibliotekfaget i forhold til andre. Hvor i terrenget ligger det?
Temaer fra matematikken. De matematiske temaene nedenfor er "tradisjonelle". Datamaskinene har imidlertid også ved sin regnekapasitet muliggjort helt ny matematikk som fraktaler og Mandelbrot-sett. Disse temaene blir ikke berørt her, men i drøfting av f.eks. kunstig intelligens eller komprimering blir denne matematikken brukt. Matematikken nedenfor er ment å være "kvalitativ". Den skal ikke nødvendigvis brukes til å regne med, men muliggjøre en mer eksakt beskrivelse av fenomen i kunnskapsorganisering. Hvis Dewey beskrives med ordet tre, eller at et bilde lagres som en matrise er mye allerede sagt.
Grafer og trær En graf er en figur som er satt sammen av punkter (vertices) og linjestykker (edges), slik at hvert linjestykke er begrenset av to forskjellige punkter, og slik at det mellom to gitte punkter finnes høyst et linjestykke. Punkter kalles også for noder eller hjørner og linjestykker kalles kanter. I figur 2.1 betegner bokstaver punkter, mens tallene betegner linjestykker. To samsvarende punkter er to punkter som er bundet sammen med et linjestykke. I figur 1 ser vi at a og b er samsvarende, mens a og d ikke er det. Hvert linjestykke bestemmer et samsvarende punktpar. Et endepunkt er et punkt som bare har ett linjestykke knyttet til seg. På figuren er b et endepunkt.
METODE
19
Et punkts orden forteller hvor mange samsvarende punkter det finnes til punktet, dvs. hvor mange linjestykker som ender i punktet. Vi kan ut fra dette definere et endepunkt som et punkt av 1. orden. En cykel er en graf hvor alle punktene er av 2. orden. En cykel er bestemt av antall punkter, vi kaller f.eks. delgrafen a e f g c i figur 1 for en 5-cykel. En graf kalles sammenhengende hvis alle f punkter kan forbindes innbyrdes ved en sammenhengende sekvens av linjestykker. Figur 2.1 Graf som viser 7 Grafen i figur 2.1 er sammenhengende, likeså punkter forbundet med 9 grafen i figur 2.2. linjestykker En graf kalles et tre hvis den er sammenhengende, og ikke inneholder cykler som delgrafer. I figur 2.2 er det vist et eksempel på et tre. Punkter av 1. orden i et tre, kalles blader. Punktene b, e, h og c i figur 2.2 er blader. I en digraf (directed graph) har linjestykkene retning. En digraf kan tegnes ved å utstyre linjestykkene med en pil. Et tre kan gjøres rettet ved at alle linjestykkene utstyres med pil. Hvis alle pilene er rettet vekk fra ett punkt, kalles treet et tre med rot (rooted tree). Et tre med rot kan tegnes på mange måter. Roten kan tegnes i midten, nederst eller øverst. Et tre med rot skal ofte illustrere et forhold. For å illustrere katalogstrukturen i et operativsystem eller ordningen i et klassifikasjonsskjema tegnes gjerne treet med roten opp. Hvis et tre med rot brukes for å illustrere familieforhold, tegnes også gjerne treet med roten opp. Retningen på linjestykkene i et tre betyr ikke at "bevegelse" bare er mulig én vei. Retningen betyr derimot at en kan bruke metaforer som "oppover" eller "nedover" i treet. Retning betyr også at familiemetaforer som forelder (har vi noe bedre ord for én av et foreldrepar), barn, søsken, søskenbarn osv. kan tas i bruk. I et tre med rot vil et punkt ha ett og bare ett forelderpunkt. Bevegelse mot roten eller "oppover" vil være entydig. Hvis det i et tre med rot går to
20
METODE
linjestykker og bare to ut fra et punkt ~ er treet et binærtre. Et tre med rot å vil inneholde et visst antall nivåer. / \\ Roten ligger på nivå én. I et i \ \ balansert tre ligger alle bladpunktene /\ / V på samme nivå. I figur 2.3 er det tegnet to trær. Pilene er ikke tegnet inn, men retningen på alle linjestykkene er "nedover" på tegningen. Figur b viser et balansert binærtre. b: ~ ~ , ,, „ . Figur 2.3 To trær med rot. Trær vil dukke opp nere steder i teksten: Indeksfiler er organisert i trær, et SGML-dokument er beskrevet som et tre, et klassifikasjonsskjema har trestruktur, en hypertekst kan organiseres som et tre.
/\ /y / \ /\ //X AA AA
Matriser I matematikken brukes matriser om en oppstilling eller organisering av tall i linjer eller rader (rows) og kolonner (columns). Tabellen nedenfor inneholder 5 linjer og 5 kolonner.
76
9
8
12
76
498
5
5765
65
98
21
654
6
23
2
87
43
32
533
9
5
878
123
32
21
I matematikken finnes det egne regneregler for matriser som ikke blir dekket her. I programmering kan matriser behandles i todimensjonale tabeller. I boka videre vil matriser og matriselignende fenomen dukke opp flere steder:
- relasjonsdatabasene organiserer sine data i tabeller eller relasjoner - et bilde kan lagres som en matrise
METODE
21
- forholdet mellom termer og dokumenter kan vises som en matrise
Vektorer Ved mange målinger er det tilstrekkelig med én størrelse, f.eks. et menneske veier 70 kg eller muggen inneholder 1,5 liter melk. Slike størrelser kalles skalarer (scala betyr trapp eller stige på latin). Ved andre målinger kan det være ønskelig også å beskrive retningen til noe; en romrakett har en fart (en skal ar), men også en retning. Slike sammensatte størrelser kan Figur 2.4 Vektorene a og b beskrives med en vektor (vector betyr kjører er like. eller bærer på latin). En vektor kan tegnes som en pil, der lengden på pilen avspeiler skalarverdien, mens pilens retning beskriver nettopp vektorens retning. En vektor har dermed et startpunkt og et sluttpunkt. Vektorregning brukes mye i all type fysikk, men brukes også i gjenfinningsfaget. Dokumentene i en samling kan ses som vektorer, der lengde og retning er beregnet ut i fra hvilke ord et dokument inneholder og hvor hyppig de opptrer. En vektor kan lages ut i fra alle ordene i dokumentet selv, eller vektoren kan lages ut i fra ordene i referatet eller vektoren kan lages fra emneordene som er tilordnet dokumentet. Et søkespørsmål til denne samlingen kan også ses som en vektor. Gjenfinningssystemet vil finne de dokumentene hvis vektorer er mest lik spørsmålets vektor. Teksten videre vil ha denne situasjonen som utgangspunkt for forklaringen. To vektorer er like hvis de har samme retning og er like lange. Vektorene a og b i figur 2.4 er like selv om de er plassert forskjellig, dvs. har forskjellig startpunkt og sluttpunkt. Dette bryter kanskje med en intuitiv b forståelse av likhet, men er én av vektorregningens regler. Addisjon av to vektorer er vist i figur 2.5. b parallellforskyves slik at startpunkt til b blir liggende ved sluttpunktet til a. a + b gir vektoren c. Parallellforskyvningen av b er bare mulig med Figur 2.5 Addisjon av to denne definisjonen av likhet. Med denne vektorer likhetsdefinisjonen er det er mulig å la alle
METODE
22
vektorer i et system ha samme startpunkt. Alle vektorene som vi kan tenke oss i rommet kan da plasseres inn i et koordinatsystem med tre akser eller dimensjoner. Nå byr det på vanskeligheter å se tredimensjonale vektorer på papir som er todimensjonalt. Det er derfor lettere å se på todimensjonale vektorer først. Alle todimensjonale vektorer kan plasseres inn i et todimensjonalt koordinatsystem; aksene i et slikt system kalles tradisjonelt xakse og y-akse. En vektor i et slikt system kan dekomponeres, dvs. ses som summen av en vektor parallell med x-aksen og en vektor parallell med y-aksen. En kan f.eks. si om en vektor at dens x-verdi er 2 og dens y-verdi er tre. Hvis en ønsker å vite lengden på vektoren kan den pytagoreiske læresetning brukes. Vi tenker oss nå en gruppe fiktive dokumenter som kun inneholder to ord, nemlig Norge og Russland. Norge og Russland får hver sin akse; Norge får xaksen og Russland får y-aksen. Dokumentet: "Norge Russland Norge" kan omgjøres til en vektor i dette systemet. Hvis en bruker skal gjøre et søk i dette systemet, vil søket gjøres om til en vektor, f.eks. søket "Russland" blir til en vektor. Et nokså intuitivt mål på likhet mellom dokumentvektor og søkevektor, er vinkelen mellom dem. I vårt system vil bare en del av koordinatsystemet brukes siden det ikke gir Figur 2.6 Dekomponering mening å operere med negative av en vektor. vektorkomponenter. (Hvis Russland ikke er nevnt i et dokument, gir dette verdi 0, men vi kommer ikke f.eks. til -2.) Dette betyr at vinkelforskjellen ikke kan bli større enn 90° og likhet gir 0°. Ved denne type likhetsberegninger opereres det normalt ikke med vinkler, men med cosinus til disse vinklene. Uten å vite noe om trigonometri, er det bare å merke seg at cosinus til en vinkel på 0° er 1 og cosinus til en vinkel på 90° er 0. Dette betyr at likhet mellom flere dokumenter eller mellom spørsmål og dokument alltid vil ligge mellom 0 og 1; 0 forteller at her er det ingen likhet overhodet, mens 1 sier at her er det sammenfall. Den skeptiske leser kan innvende at vi faktisk opererer med ett språk med tusenvis av ord. Her er det imidlertid at matematikkens forunderlighet kommer inn. Det lille som er forklart med utgangspunkt i to dimensjoner eller to ulike ord, er uten videre gyldig selv om vi utvider med tusen dimensjoner og retninger til. Vi lever i en romlig verden og kan ikke forestille oss mer enn tre dimensjoner, men alt som er sagt om likhetsmål, vinkler, cosinus er gyldige
23
METODE
uansett antall dimensjoner. Alle tekstdokumenter kan derfor i prinsippet gjøres om til vektorer og alle spørsmål til en gjenfinningssystem kan gjøres om til en vektor. Hvis dokumenter er gjort om til vektorer, kan en beregne likhetsmål dokumenter i mellom. De vil gruppere seg og danne klynger eller cluster på samme måten som når stjerner ligger nær hverandre og danner stjernetåker. Gjenfinningssystemer som bygger på mengelære får en enten/eller-karakter; et dokument er i resultatsettet eller ikke, og resultatsettet kan ikke være rangert. Gjenfinningssystemer basert på vektorregning vil rangere. Dokument 45 er 0,5 likt spørsmålet, mens dokument 14 er 0,31 likt osv. Vektorer og matriser er to ulike ting, men det er verdt å merke seg at én eller flere vektorer kan uttrykkes eller skrives som matriser. En dokumentsamling hvor dokumentene er gjort om til vektorer kan skrives som en term/dokumentmatrise. Figur 2.7 Union av to mengder.
Boolsk logikk og mengdelære I boolsk logikk kan utsagn kombineres og en kan finne sannhetsverdien av uttrykk. Setningene kombineres vanligvis med OG, ELLER og IKKE (AND, OR og NOT). I den boolske logikken kommer en fram til sannhetsverdien sann eller falsk. Figur 2.8 Snitt mellom to En mengde er en samling elementer. mengder. Mengder kan illustrerer med Venndiagram. Mengdealgebraen gir regler for "regning" med mengder. De viktigste operasjonene er union, snitt og differens som er illustrert i figurene 2.7 ,2.8 og 2.9. To mengder er disjunkte hvis de ikke har noen elementer felles. Boolsk logikk og mengelære er "enten/eller-systemer". Et utsagn er enten sant eller falskt, et element er i eller ikke i en mengde.
Fuzzy set Boolsk logikk er som nevnt kjennetegnet ved at et element er i en mengde eller ikke er i en mengde. "A være i" kan betegnes med 1, mens 0 kan betegne som o
METODE
24
"å ikke være i". Fuzzy mengdelære eller fuzzy set er en type matematikk som prøver å bevare regnereglene til den vanlige mengdelæren, men likevel har mulighet for å gradere et elements Figur 2.9 Differens mellom to medlemskap i en mengde. Fullt mengder. medlem betegnes som før med 1, intet medlemskap betegnes som før med 0, men alle andre verdier mellom 1 og 0 er mulige; et element kan ha medlemskap 0,3, ett annet 0,7 osv. I gjenfinning brukes ’fuzzy’ om søking som kan gi treff på annet enn ’exact match’, et feilstavet ord kan på tross av feilstavingen bli tillagt en viss verdi når resultatsettet skal etableres. (Kanskje til og med stoff av Theo Koritzinski eller Aleksander Solsjenitzyn en gang kan finnes igjen.)
Rekursjon I programmering kalles en funksjon rekursiv hvis den kaller seg selv. Generelt kan en si at noe er rekursivt hvis det samme mønsteret eller den samme logikken gjentar seg på neste "nivå". Eddik-flaskene var for noen år tilbake merket med en etikett der en dame holdt fram den samme eddik-flaske vi holdt i hånden. På denne eddik-flasken var det en etikett som var en kopi av "forrige" etikett osv. osv. Dette var et rekursivt fenomen. I trelignende strukturer finner en ofte rekursjon. I både operativsystem og klassifikasjonsskjema gjentar det samme seg på nivået under. En klasse i Dewey kan deles i ti. Disse igjen kan deles i ti osv. Fra en katalog i et operativsystem kan det gå ut kataloger, fra disse igjen kan det gå ut nye kataloger osv. Ved rekursive fenomen er det derfor nok å forstå hva som er mønsteret på ett nivå eller sted for å forstå alle nivåer eller"steder". Kinesiske esker og russiske dukker er også rekursive fenomen. Det er vanskelig å forklare hva en fil i en datamaskin er, uten å dra inn noe som ligner rekursjon. Ett kapitel i en bok kan ligge på én fil, et annet kapitel kan ligge på en annen fil, og et bilde kan ligge på en tredje fil. Disse tre filene kan imidlertid gå sammen til én fil hvis det er ønskelig. Dokumentbegrepet slik det brukes i bibliotekfaget er i samme forstand rekursivt. En diktsamling er et dokument. De enkelte diktene i diktsamlingen kan også defineres som dokument. Et tidsskrift er et dokument. Artiklene i
METODE
25
tidsskriftet er også dokument. Hvis tidsskriftene bindes inn, er den nye boka også et dokument.
Algoritme En algoritme er en steg-for-steg utførelse av en beregning eller en handling. En algoritme vil bestå av instruksjoner som ikke er tvetydige og som er fullstendige (eller komplette) for å utføre handlingen. Begrepet er ikke nytt (selve ordet er avledet av navnet til den persisk matematiker al-Khowarizme som levde på 800-tallet), men er i dag tett bundet opp til hva datamaskinen kan gjøre. Hvis det finnes en algoritme for noe, kan det programmeres og datamaskinen kan utføre det. Det er f.eks. mulig å lage algoritmer for derivasjon av funksjoner, men ikke mulig å lage algoritmer for integrasjon. Den kan lages en algoritme for å vise en MARC-post i ISBD-format, men det kan ikke lages en algoritme for å klassifisere en bok.
Temaer fra lingvistikk/logikk Lingvistikken har de siste hundre år blitt til en stor vitenskap med mange forskjellige skoler. De forskjellige retningene arbeider dels med forskjellige deler eller aspekter av språket og dels ut i fra forskjellige teorier. Den diakrone lingvistikken fikk sin moderne start da engelskmannen William Jones påviste i 1796 at sanskrit, latin og gresk måtte ha et felles opphav. Den diakrone lingvistikken fokuserer på utviklingen av språk over tid. Den sveitsiske lingvisten Saussure trakk i starten av vårt århundre opp distinksjonen mellom diakron og synkron lingvistikk. Synkron lingvistikk skal beskjeftige seg med strukturen til et språk på et gitt tidspunkt. Saussure trakk opp skillet mellom langue og parole, dvs. et språks form, selve språksystemet i motsetning til de faktiske ytringer, språkets "substans". Siden 50-tallet har amerikaneren Chomsky teorier hatt stor påvirkning på lingvistikken. Chomsky skiller mellom overflatestrukturen til et språk slik den kommer fram i deskriptiv grammatikk og dypstrukturen til språket. Setninger kan ha forskjellig overflatestruktur, men samme dypstruktur. Når en støter på mer eller mindre kompliserte teorier om språk, er det verdt å huske på at språket åpenbart kan brukes fullkomment uten å kjenne noen av disse teoriene. Det at såpass mange teorier eksisterer, tyder på at språksystemet som sådann er vanskelig eller umulig å "gripe" med en teori. Temaene nedenfor har da heller ikke noen absolutt karakter, det er en oversikt over noen
METODE
26
av måtene vi beskriver språk på. Forfatteren har prøvd å unngå så langt det er mulig alle forsøk på å beskrive eller formalisere det som har med semantikk å gjøre. ’Mening’, ’betydning’ må enten være umulig å beskrive eller så er det denne forfatteren som ikke har skjønt noe av disse forsøkene (det finnes til og med boktitler som "Meaning of meaning").
Semiologi - læren om tegn Når vi kjører bil, tolker vi tegn. Trafikkskiltene er tegn, dashbordet viser tegn. Lesning av en bok er tolking av tegn; for å følge en vaskeanvisning må tegn tolkes. Vår egen skrifthistorie går grovt sett fra piktogrammet gjennom ideogrammet til fonogrammet. Piktogrammet er en skissemessig gjengivelse av noe konkret, f.eks. en sau. Ideogrammet avbilder et begrep, f.eks. ekteskap eller å løpe eller tallet 7. Fonogrammet dekker en lyd i språket. I dagligdagen er vi omgitt av alle tre typer tegn. Trafikkskiltet som varsler om fare for kryssende elg, er dels et piktogram og dels et ideogram. Elgen er avbildet piktografisk, men symbolet for fare (trekant med hvit bunn og røde striper) er et ideogram. Tallene er ideogram: 1 2 3 4 osv. Tegn som % og & er også ideogram. Piktogram og ideogram avbilder ikke lydene i språket og er dermed språkuavhengige. Et sett av fonogrammer (a..å) fungerer sjelden perfekt. Det er flere lyder enn det er tegn, og skriftspråket vil beholde former som er forlatt. Uttaler vi engelsk slik fonogrammene antyder, er vi nær engelsk uttale i middelalderen. Historisk kan det være uklart hvilken lyd et fonogram skulle dekke (kalte romerne Cicero Kikero eller Sisero; vi uttaler Cæsar Sesar, men kaller en keiser for en keiser). Et fonogramsett vil ikke nødvendigvis avbilde hverken trykk ("hansen lever", "lever til middag") eller tonelag (eksempler følger lenger ned). Vi sier med rette at vi bruker et fonografisk tegnsett. Undersøker vi en hvilken som helst tekst, f.eks. en avisside, er det imidlertid forbausende mye av teksten som er ikke-fonogram. Selv bruken av store og små bokstaver har "ideografisk" betydning. Det finnes eksempler på skriftspråk der fonogram følger på fonogram uten bruk av andre tegn. Ikke oppdeling i ord, ikke i setninger, ikke i avsnitt, ikke bruk av små og store bokstaver. Hvis en ikke er tilvent vår avanserte bruk av andre tegn enn fonogram, ville en slik tekst sannsynligvis vært lettere leselig. Et tegnsett er "ordinalt" hvis det eksisterer en etablert rekkefølge mellom tegnene. Tegnsettene a..z og 0..9 er ordinale.
METODE
27
Moderne datamaskiner har tatt i bruk piktogram og ideogram (f.eks. Macintosh-maskinene og operativsystemet/grensesnittet Windows). Disse kalles i denne sammenhengen gjerne for ikoner.
Ting, begrep og betegelse I logikken er det vanlig å operere med tredelingen ting, begrep og betegnelse. "Vi kan ikke skrive med betegnelsen "blyant", eller med begrepet ’blyant’. Derimot kan vi skrive med en ting som betegnes med ordet "blyant" og som faller inn under begrepet ’ bly ant’." (Næss 1966, s. 90) Den trekanten som etableres kalles Ogdens trekant eller den semiologiske trekant. Et begrep kan uttrykkes forskjellig (ha forskjellige betegnelser), f.eks. Norges hovedstad eller Oslo. Nå er ikke Oslo en "ting". Ting må derfor oppfattes i den videste mulige betydning. Alder eller sommerferie er i denne forstand "ting". Det kan også tenkes at "tingen" er ikke-eksisterende:
"Vi kan altså meget godt forstå en betegnelse uten at det finnes noe som betegnelsen betegner (referansen). Undertiden er nettopp det at det merkelig nok ikke finnes eller kan finnes noe slikt, grunnen til at begrepet er viktig. Dette gjelder f.eks. ’perpetuum mobile’, ’maskin som beveger seg uopphørlig uten energitilførsel’." (Næss 1966, s. 91).
Analytiske og syntetiske utsagn Et analytisk utsagn er tomt (det er en tautologi) hvis det ikke uttrykker noe nytt om "verden". "Ungkaren er en ugift mann" er analytisk siden begrepet ungkar nettopp innebærer en ugift mann. Et syntetisk utsagn uttrykker noe "nytt om verden". "Frukttrærne i hagen min har gitt god høst i år" er syntetisk siden frukttrær ikke alltid gir god høst. Utsagn som uttrykker et anerkjent begrepshierarki er også analytiske, f.eks. "Kenguruen er et pattedyr", eller "Lastebilen er en bil". Setningene bare stadfester et anerkjent generisk slektskap.
Morfologi, syntaks og semantikk Lingvistikken opererer tradisjonelt med tredelingen morfologi, syntaks og semantikk.
28
METODE
Morfologien behandler orddannelsen og ordbøyningen. Et ords enkeltkomponenter beskrives. Den minste enkeltkomponenten er en morf. "En morf er den minste orddelen med betydning eller grammatisk funksjon." (Vårt eget språk, b. 1, s. 157). En morf vil enten være en rot eller et affiks. "Hånd" er eksempel på en rot eller rotord. Et affiks er et prefiks hvis det står foran roten; det er et suffiks hvis det står bak roten. Et suffiks kan være et avledningssuffiks eller et bøyningsuffiks. I ordet sov-n-e er "sov" roten, "n" er avledningssuffiks, "e" er et bøyningssuffiks. Rot pluss avledningssuffiks kalles for en stamme. Den formen et ord får i en ordbok kalles et leksem, f.eks. gammel, gutt eller sovne. Hvis det finnes flere røtter i et ord, er ordet et sammensatt ord, f.eks. "lærkoffert". Et sammensatt ord har forledd og etterledd. Det finnes også ord med flere ledd, f.eks. fotballkamp. En sammensetning på norsk kan lages med en sammensetningfuge. "Gudstjeneste" har sammensetningsfuge "s", "Barnehage" har "e", "dølahest" har "a", mens lærkoffert har ingen. På norsk er det vanskelig å finne noen systematikk i bruken av sammensetningsfuger; "lærkoffert", men "svinelærskoffert"; "ulltøy", men "bomullstøy". (Eksemplene er hentet fra Vårt eget språk, bd. 1, 181.) Syntaksen i et språk setter opp reglene for sammensetning av ord til setninger. Semantikken behandler meningen eller sannhetsverdien til setningene. En setning kan være syntaktisk riktig, men semantisk feil. Det opereres også med et pragmatisk nivå. Setningen "Kom deg ut!" er hverken sann eller falsk, men den har likevel en "pragmatisk" mening. I norsk avspeiler sammensatte ord vidt forskjellige semantiske forhold. Friheten til å sette sammen ord, kan føre til ord som nesten blir meningsløsheter, f.eks. kreftforening eller havarisjef. Ordrekkefølgen nedenfor har alle "ost" som etterledd, men alle avspeiler ulike semantiske forhold: geitost dessertost smelteost gulost nøkkelost jarlsbergost mysost
smøreost gudbrandsdalsost brunost pepperost ferskost gammalost norvegiaost
METODE
29
I en ordsammensetning er etterleddet hovedleddet. Det første leddet eller de første leddene utgjør en undergruppe av hovedledddet. (Fotball er en type ball og fotballdommere er en type dommere.) Alle ordene ovenfor beskriver ost, f.eks. ostedessert eller ostesmelting er noe helt annet. (Det finnes noen få unntak der hovedleddet kommer før, f.eks. i ordet slikkepott. Språklig sett skulle dette vært en type pott, det ville vært "riktigere" hvis slikkepott hadde hett potteslikker.) Noen sammensetninger er såkalte "smør på flesk"-ord eller pleonasmer, f.eks. "gammel olding". Noen dialekter bruker slike ord som faste uttrykk, f.eks. "lamunge". "ISBN-nummer" og "gerilja-krig" er også i en viss forstand pleonasmer. Pleonasme brukes også om faste uttrykk som ikke er sammensetninger, f.eks. "tjukk og feit". Semantikken behandler også forholdet mellom begrep. Et begrep opererer ikke isolert. Mye av barns språklæring foregår ved å plassere begrep i forhold til hverandre og la begrep "arve" innhold fra andre. Et barn kan nekte for at det finnes frukt på et fat siden det bare ligger bananer og epler på fatet. Fellesbegrepet frukt er ikke etablert. Fra biologien har logikken lånt begrepet generisk (genus - species) for å beskrive at ett begrep faller inn under ett annet. Noen/alle-testen, f.eks "Noen pattedyr er kuer, alle kuer er pattedyr", viser et generisk forhold. (I lingvistikken kalles dette hyponymi.) I grammatikk lærer elever å analysere setninger med ord som subjekt, predikat og objekt. Barneskolen bruker neppe ord som syntaks og semantikk, men det elevene lærer er å beskrive syntaktiske (eller formelle) forhold med ord som er "semantiske". (Hvem av oss skjønte grammatisk analyse?) I setningene "Per spiste matpakka" og "Matpakka ble spist av Per", vil henholdsvis Per og Matpakka operere som subjekt, mens Per semantisk er subjekt i begge setningene. Som nevnt snakkes det i lingvistikken om dypstrukturen til en setning. Setningene ovenfor har samme dypstruktur. I kapitlet om indekseringsspråk vil "logisk" eller "semantisk" analyse bli utdypet. Emneanalysen som går forut for klassifikasjonen prøver å finne "dypstrukturen" i emnet.
Analytiske og syntetiske språk Når ord settes sammen til setninger, presiseres meningen ved ordstilling og bøyning av enkeltord (morfologi). I tillegg brukes funksjonsord som preposisjoner. Språk som i stor grad bruker ordstilling for å uttrykke mening, kalles analytiske; språk som i stor grad bruker bøyning, kalles syntetiske.
METODE
30
Gammelnorsk var mer syntetisk enn dagens norsk. Tysk er mer syntetisk enn norsk. Engelsk er mer analytisk enn norsk. Kinesisk regnes som et analytisk språk. (Merk at lingvistikken og logikken bruker ordet analytisk på forskjellig måte.)
Tvetydighet i språk Homografer, homofoner, polysemer
Homografer er ord som skrives likt, men har flere betydninger. Eksempler er arm, ei, bue, bank, trosse, rev, tang, tunge, faste, traller, skur, bisk, støl, skottene, var. De fleste homografer har to betydninger; det finnes eksempler på tre (f.eks. lokk, var, så) og et ord som rev har åtte? (dyret rev, rev metaforisk brukt for en luring, "ta rev i seilene", "de rev huset", "de gikk på et rev", "de tok seg en rev", "rev." som forkortelse for revisor, "de rev i en øl"). Homofoner (ordet har nylig selv blitt et homofon og en homograf) er ord som uttales likt, men med ulik betydning. De fleste homografer er også homofoner. Det finnes imidlertid homofoner som ikke er homografer, eks. tjære - kjære, sik - sikh, nødt - nøtt, går - gård. Norsk bruker tonefall på en slik måte at mange ord er "nesten" homofoner (eks. løve og løvet eller "folkeslaget skottene" og "skottene på en båt" eller "åra gikk" og "ro med åra" eller "han var svart i øya" og "han rodde til øya" eller "et plan" og "en plan"). Polysemer er ord med flere betydninger som likevel er beslektet, f.eks. "Jeg har vondt i foten.", "Jeg gikk til foten av fjellet". Det er vanskelig å trekke grensen mellom homografer og polysemer. Ord kan være både polysem og homograf: "å vase rundt" og "fiskesnøre er en eneste vase" er vel polysemer, men er homografiske i forhold til "en vase med blomster". Mange homografer kan ha et fjernt etymologisk slektskap, f.eks. brynet som brukes for å slipe en ljå er sannsynligvis beslektet med (øye)brynet. Mange ord er tilnærmet homografer selv om de aldri vil opptre i eksakt samme form, f.eks. "smulere vann", "smuler på bordet". Et datamaskinprogram kan redusere både "smulere" og "smuler" til "smul" (se kapitelet om rotlemmatisering). Homonymer brukes som fellesord for homograf og homofon. Ord som har samme form, lydlig som i homofoner og skriftlig som i homografer, men ulik betydning. En setning som er korrekt og ikke inneholder homografer, kan likevel være tvetydig, f.eks. Trivial Pursuit-spørsmålet: "Hvilken stilperiode etterfølger barokken?"
31
METODE
Et ord kan "bety" det samme, men likevel ha helt ulik presis betydning. Eksemplene nedenfor bruker ordet gammel i den samme presise betydning: "Et gammelt brød", "en gammel bil", "en gammel bilmodell", "Kakerlakken er en gammel art, den var her før dinosaurene", "en gammel familie", "en gammel hund", "et gammelt marsvin". Her brukes gammel hverken i homografisk eller metaforisk (metaforisk kunne f.eks. vært "Han er født gammel"), likevel dekker "gammel" tidsspenn fra ett døgn til mange millioner år. Synonym, konnotasjon
Synonymer er ord som dekker samme begrep. Word Perfect foreslår bl.a. pram, dampbåt, farkost, fartøy, færing som synonymer til båt. To synonymer dekker sjelden eksakt det samme. Gift kone, kjerring, frue betegner nok alle "gift kvinne", men de tre ordene plasserer begrepet i ulike "rammer". Denotativt betegner de samme begrep, men de er konnotativt forskjellige. Konnotasjon defineres slik i Språkvitenskap (1982, s. 298): "bibetydning, assosiasjon til et leksems betydning, f.eks. at SVARTING i tillegg til betydningen "av negroid rase, med mørk hud" også har konnotasjonen "negativ vurdering"". Setninger kan også beskrive noe uten at det sies noe om det i det hele tatt. (Berøres nærmere i kapitlet om Turing-test).
Troper eller figurer Litteraturvitenskapen beskriver de såkalte tropene eller figurene i språket, f.eks. metaforene ("å miste tråden"). Mange polysemer er metaforer. A indirekte forsterke ved understatement ("han var ikke akkurat blid"), å forsterke ved overdrivelse ("så sint at en sprekker"), å la en del representere helheten ("Brede seil over Nordsjøen går", eller ordet "neshorn"), å la en del representeres ved helheten ("lappe en sykkel") er alle eksempel på troper. o
Diakron og synkron lingvistikk Det fortelles at Ivar Aasen en dag fant ordet shampoo hos en barberer i Christiania. Ivar Aasen ga seg ikke før han hadde sporet ordet tilbake til sanskrit. Aasen drev en etymologi-studie. "Etymologien er læren om ordenes opprinnelse, historie og slektskap. Gresk étymon betyr sann betydning, -logici betyr lære." (Vårt eget språk, bd. 1, s. 140). Språkhistorie og ordenes vandringer
METODE
32
er en del av den diakrone lingvistikken. Språket er imidlertid fullt forståelig akkurat nå selv uten det minste kjennskap til språkhistorie. Studiet av språket som et forståelig system i ett "tidsplan" tilhører den synkrone lingvistikken. Mange språklige uttrykk er f.eks. fullt synkront forståelige selv om de etymologisk sett er rene forvrengninger, f.eks. "det er ugler i mosen" (misforståelse av det danske "det er ulver på heden"), eller "å være mann for sin hatt" (misforståelse av det tyske hut for vaktpost), "krabat". (Tryti 1985) Slike "feil" ligner på feil barn lever med; en liten venninne av meg skal på "hilsestasjon" når hun skal på helsestasjon (det er jo mye hilsing der) eller faren fyller bilen med "frosk-væske" når det er kaldt om vinteren. Mye spennende kulturhistorie kan "leses ut av" språkhistorie og ordenes vandringer; å føre bok tilbake til treet bøk, forteller oss noe om norsk skrifthistorie. Homografparet dyr i betydning "koste mye" og i betydningen "vesenet dyr" viser til en tid der dyr var regneenhet. Et ord som "trikken" viser at en slangform eller en forkortelsesform erstattet elektrisk sporvogn (som igjen går tilbake til elektron som er avledet av det greske ordet for rav). Sanskritordet yoga og det engelske yoke og det norske åk viser at ett eller annet er bevart likt på tross av dagens forskjell i betydning. Mange tidsbestemte misforståelser er bevart som i indianer eller det norske kalkun (fra et sted i India) og det engelske turkey (kalkunen kom faktisk fra MellomAmerika). Bak navn kan det ligge hendelser som er fryst fast i navnet; Vasco da Gama passerte Natal rundt juletider og Natal har hett Natal siden (i hvertfall for europeere). Om et ords etymologiske betydning uttrykker noe sant eller ekte, er et omstridt språkfilosofisk spørsmål. Ligger det noe svært betydningsfullt i det engelske ordet for tinning: "Temple" eller i det norske ordet "under" for mirakel eller i det engelske "understand" for å forstå noe? En moderne filosof som Heidegger uttrykte seg i et språk der ordene etymologiske betydning skulle komme "fram". Skriver en mis-unne får en fram en betydning som ikke alltid er like klar ved den vanlige uttalen.
Typer språk Dagligspråket er som nevnt et meget komplekst system. Forskjellige fag har derfor utviklet egne språk som er mer eksakte. Programmeringspråk må være helt presise. Presist vil her si at et "ord" eller ordform betegner ett begrep. Et annet mål på et språk, er dets redundans. Brukes det unødvendig mye tegn og ord? F.eks. er bokstaven "c" redundant i vårt alfabet. Synonymi er en form for
METODE
33
redundans. I et språk som er presist og uten redundans vil det være et én-til-én forbindelse mellom ordet og det det betegner. Hvis et språk er redundant, kan det også i prinsippet reduseres. I datalingvistikken har det dukket opp spørsmål om det går an å ta en vanlig tekst, og la et annet, mindre redundant språk, representere teksten (Fenstad.) Mye tyder på at hverken skriftspråket eller det muntlige språk er redundant i den forstand at det reduseres til noe enklere. Det er faktisk mulig at språket må være såpass komplekst og tvetydig for å meddele alle mulige semantiske forhold. Setningen: "Jeg har ikke, jeg gjentar ikke, gjort det.", er teknisk sett redundant, men nettopp redundansen brukes semantisk. Fagspråk
Alle fag har sitt språk. Fagspråkene beveger seg fra historiefagets setninger som ligner på vanlig prosa til matematikkens symbolspråk. log2549, P/2 og (x+5)(y1) er eksempler på matematiske "setninger". Selv dette språket er heller ikke entydig. 1 ingenting Vi betyr 1 pluss Fa, mens (x+5) ingenting (y-1) betyr (x+5) ganger (y-1). Matematisk språk er også redundant. F.eks. bruker matematisk analyse (f.eks. derivasjon) symboler som dels går tilbake til Newton og dels til Leibniz. En slik tvetydighet og redundans er pedagogisk uheldig sålenge elever ikke gjøres oppmerksom på historien til symbolene. En setning i kjemi kan se slik ut: 2 Mg + O2 = 2 MgO Programmeringsspråk
Programmeringsspråk som Pascal, C eller Fortran er laget for å være helt presise. Ved språk som skal tolkes av mennesker, stoler vi på tolkeevnen. Datamaskinen tar derimot alt bokstavlig og må ha fullstendig klare instrukser. Språkene er også laget for å være ikke-redundante. Dette kan forvirre en nybegynner. Forskjellen mellom bruk av komma og punktum i skriftspråket, er til dels et stilspørsmål. For et programmeringsspråk betyr de to tegnene vidt forskjellige ting. Et program i Pascal kan se slik ut: program lesfil; uses ert; var s : string; f : text; tast : char; linjeteller : integer;
METODE
34
begin assign(f,'FILNAVN' ); reset(f);teller : = 1; while not eof(f) then begin readln(f,s); writeln(s) ; teller := teller + 1; if teller mod 20 = 0 then begin writeln('Trykk en tast for å se 20 linjer til!') tast := readkey; end; end; close ( f) ; end.
Programmeringsspråk er laget slik at det kan bestemmes om en setning eller et program er syntaktisk riktig. Siden et program gjør noe, får en et "lag" i tillegg til det semantiske, nemlig det pragmatiske. Språket forteller ikke noe om verden, men det får en maskin til å utføre noe. Akkurat det samme (pragmatisk sett likhet) kan utføres med program som er semantisk ulike. Dette pragmatiske element, at hver enkelt setning faktisk fører til at maskinen gjør noe, gir programmeringsspråkene en spennende dimensjon. Et program består grovt sett av sekvens (noe utføres setning for setning), valg (forskjellige veier kan tas på bakgrunn av boolske valg) og gjentagelser (programmet kan hoppe tilbake til et sted det har vært før). Programmeringsspråk er også "rekursive" ved at ethvert språkelement godt kan legges "inne i" andre språkelement. Et programmeringskurs må lære studentene språkelement etter språkelement. Noe av det vanskeligste er imidlertid å få studentene til fritt å kombinere disse elementene "i" hverandre igjen.
Nasjonalspråk, stilnivåer og sosiolingvistikk Konvergens og divergens Det er tendens til divergering i språk som har forbløffet mennesker så lenge de har tenkt over dette. Historien om tårnet i Babel uttrykker på et vis at sånn skal det være her på jorden. Denne tendens som tilsynelatende ligger i språkutviklingen selv, er til en viss grad holdt i sjakk ved at politiske eller religiøse grupper har hatt anledning og makt til å få andre til å bruke sitt språk
METODE
35
eller ved at grupper har etablert "lingua franca" for å kunne snakke sammen. Slike "lingua franca" har også spredd seg uten at det tilsynalatende ligger makt bak. Jødene på Jesu tid brukte f.eks. Midtøstens "lingua franca" arameisk som dagligspråk. Lingvister bruker språktrær for å vise genetisk slektskap mellom språk og hvordan de har divergert. Oppdeling av språk og typer språk er ingen eksakt oppdeling, dialekter, sosiolekter, nasjonalspråk - grensene er flytende. Etablering av normer for språk og forsøk på standardisering av språk er nært knyttet til kamp mellom sosialgrupper og stater. Motsetningen mellom norm og uttrykkskraft
Som språkobservatør og språkbruker blir en ofte slått av friskheten og uttrykksevnen i "folkespråket" i motsetning til det forsiktige preget og stivheten i "standard"-språkene. Forsøk på eller faktisk utvikling av nasjonalspråk følger i mange land et mønster. Én folkelig (vulgær) dialekt får en spesiell status (den latinske dialekten romersk, Chaucers Midlands, Luthers sørtysk, Dantes florentinsk). Senere knyttes det kulturelle og klassemessige konnotasjoner til bruk av nettopp dette språket (som nå er tappet for kraft og sus). For mange blir det slik at tekster uttrykt i den offisielle språkbruken, blir noe som apriori ikke angår dem pga. av stilen det er formulert i. Den norske språkkampen i forrige århundre med Aasen i spissen kan derfor ses som et forsøk på å få til noe av det samme som hadde skjedd i andre språk. (Som en ikke-målmann, mener jeg at grunnen til at dette ikke ble en suksess, var at det hele ble for "laget". Det nye språket fikk fort preg av standardspråk tappet for friskhet. Å la et nytt språk så fort bli til statsadministrasjonsspråk er det samme som å vingestekke det. Når en kjenner litt til norske dialekter og ser et offisielt skriv på nynorsk, er det lett å se at her har noe gått galt.) Dante på Romerike Den norske Danteoversetteren Gundelach gjorde et forsøk som illustrerer dette. Hans leverte offisielle oversettelser av Dantes dikt som var "riktige". Han prøvde så nærmest for spøk å oversette én av disse sonettene til et slags folkemål fra distriktene rundt Oslo. For ham ble det et tankekors at det var denne versjonen som sannsynligvis var stilmessig riktigst i forhold til Dantes dikt. Et utsnitt av diktet i folkemåls versjon går slik: "Amor i aua har’a, dama mi,
METODE
36
så alt blir vakkert der et blikk’a sender. Går hu forbi, hver mann seg mot’a vender, og den’a helser skjælver hjærte’ ti, så’n står-att bleik når hu har gått-forbi og sukkere for si synd og anger kjenner. Storaktighet og hat flyr unna henner. Hjælp meg å lovpris, henner priser vi!
Ei mild, mjuk hælj får den i hjertet sitt som hører stemmen og dem stille orda, sali’ ble dæffor han som fysst fekk se’a. fl (Det umuliges kunst, s. 226)
Bibelspråk For lutheranere, som vi er, er tekst og stil viktig. Filologi følger naturlig i lutheranismens kjølvann. Vi skal gå til teksten. En tekst som delvis ble uttalt på arameisk, oversatt til et standardgresk og derfra videre. Den opprinnelige Lutheroversettelsen av Bibelen var sannsynlig "vulgær" når den kom og ble "høytidelig" etterhvert som tiden gikk. Dansk sitt forhold til tysk og norsk sitt forhold til dansk, har ført at våre bibeloversettelser kanskje aldri har vært "vulgære" nok.
Om å stryke i Ambjørnsen Mye av litteraturhistorien behandler diktere på en måte som kan kalles "inkongruent", dvs. at diktere vurderes med en akademisk, stiv stil på premisser som ikke er samsvarende med diktningen selv. Om noen år vil det "forskes" og komme doktorgrader om Ambjørnsens diktning eller Åge Aleksandersens tekster. Skoleelever vil få G- og studenter vil få 3,3 fordi de sier feil ting om Ambjørnsens bøker. Dette er egentlig snakk om "stilclash" som er meningsløs. I en tid hvor det skal forskes på likt og ulikt, stiller det få spørsmål om hva som er grensen for hva som kan avdekkes med avhandlingenes og fagbøkenes retorikk.
METODE
37
Temaer fra databehandling/logikk Objekter De senere årene har mange programmeringsspråk innført mulighet for såkalt objektorientering. Fenomenet er ikke noe nytt. Nordmennene Kristen Nyegaard og Ole Johan Dahl la det teoretiske grunnlaget for objektorientering på 60-tallet, og de konstruerte programmeringsspråket Simula rundt denne idéen. Først de senere årene har disse forskerne fått sin fulle anerkjennelse ved at programmeringsspråk med stor utbredelse som C++ og Turbo Pascal har innført objektorientering. Utviklerne bak disse språkene anerkjenner åpent sin gjeld til Simula. I et vanlig programmeringsspråk defineres variable som har en viss struktur eller type, opplysningene om et dokument kan f.eks. behandles av en variabel som er bygget opp for dette formålet. Videre lages det funksjoner eller prosedyrer som behandler variablene. Som fellesord for funksjoner og prosedyrer brukes metoder. I objektorientert programmering defineres datastrukturer og det som skal gjøres med dataene som en enhet og denne enheten kalles et objekt. Et objekt kan "kapsles inn" slik at bare objektets egne metoder kan brukes. Hvis en katalogpost skal vises på skjerm, kan en tenke seg følgende setning i programmet:
katalogpost. vi s_deg_paa_skj em_i_IS B D eller
katalogpost.legg_deg_som_post_paa_fil Objekter kan arrangeres i hierarkier (eller klasser) der et objekt kan "arve" egenskaper fra objektene over i hierarkiet. Betingelsen for dette er at det er et generisk forhold til objektet det arves fra. Fra et programmeringsteknisk synsvinkel kan dette spare mye kildekode, ved at rutiner fra et objekt kan arves og derfor gjenbrukes. Det er store likheter mellom denne type arv og arv mellom begreper i dagligspråket. Hvis vi for første gang hører at gravensten er et eple, kan vi uten videre la all vår kunnskap om epler overføres eller arves til det for oss nye, nemlig gravensten. Diskusjon om klasser i programmeringsmiljøer er helt identisk med det en finner om klassifikasjon i biblioteksmilj øer.
METODE
38
Virtuelle fenomen Hvis en datamaskin har for lite primærhukommelse, kan den definere deler av eksternt lager som primærhukommelse. Dette kalles en virtuell primærhukommelse. Den virker som om den er primærhukommelse, men er det ikke likevel. Virtuell brukes i dataverdenen om dette og andre tilsvarende fenomener. En tabell i en relasjonsdatabase kan være virtuell. Ved moderne teknologi kan et museum lage "virtual reality". I objektorienterte programmeringsspråk snakkes det om virtuelle metoder. Begreper som virtual reality eller det virtuelle bibliotek er i dag knyttet til bruk av ny teknologi. Når det kommer ny teknologi, kastes det nytt lys over eldre kommunikasjonsformer. Hva slags virtuell verden er det romanen fører oss inn i?
Turing-maskin Den engelske logikeren Turing utviklet på 30-tallet en abstakt modell for en type maskin. Denne modellen "dekker" bl.a. operasjonene til datamaskinen slik den senere ble utviklet, og datamaskinene kan derfor kalles Turing-maskiner.
Turing-test På 50-tallet mente den samme Turing at ved år 2000 ville det være mulig for et menneske å kommunisere med en maskin som var så avansert at mennesket ikke ville oppdage at samtalepartneren var en maskin. Hvis en maskin er så intelligent, har den bestått en Turing-test. Begrepet dukker opp i forbindelse med kunstig intelligens. Debatten og forskningen rundt kunstig intelligens dreier som om temaer som bevissthet, språk, hva er algoritmisk, hva er ikkealgoritmisk. Språk er igjen sentralt. Penrose (1989) beskriver en test som i begrenset forstand kan kalles en Turing-test:
"The aim of the program is to provide a simulation of the understanding of simple stories like: ’A man went into a restaurant and ordered a hamburger. When the hamburger arrived it was burned to a crisp, and the man stormed out of the resataurant angrily, without paying the bill or leaving a tip.’ For a second example: ’A man went into a restaurant and ordered a hamburger; when the hamburger came he was very pleased with it; and as he left the restaurant he gave the waitress a large tip before paying his bill.’ A a test of
METODE
39
’understanding’ og the stories, the computer is asked whether the man ate the hamburger in each case (a fact which had not been explicitly mentioned in either story)." (S. 23) Definisjonen av hva som er algoritmisk er viktig i denne diskusjonen. Penrose (1989, s. 533) uttrykker det slik: "Why do I say that the hallmark of consciousness is a non-algorithmic forming of judgements?"
Er språket en projeksjon? Etter såpass mye snakk om språk (og noe av bokas tråd er nettopp at en hele tiden støter på språklige fenomen), er det på tide å spørre hva språk er. Det er ikke tilfeldig at såpass mye filosofi i vårt århundre har dreidd seg om språk. Én måte er å se språket vi bruker som en projeksjon fra et plan over. Hvis en tredimensjonal figur projiseres ned i det to dimensjonale plan, kan ikke den tredimensjonale figuren gjenskapes fra projeksjonen. Selveste Albert Einstein sier det slik:
"The words of the language, as they are written or spoken, do not seem to play any role in my mechanism of thought. The psychical entities which seem to serve as elements of thought are certain signs and more or less clear images which can be ’voluntarily’ reproduced and combined..." (Penrose 1990, s. 548)
Informasj onsteori De fleste av oss vet at e i morsealfabetet kodes på aller korteste måte, nemlig med en dott eller prikk. Nøyere undersøkelser av både engelsk og norsk viser at e er den mest frekvente bokstav. A markere e med en dott virker derfor intuitivt fornuftig. For den som skal lage morsesignalet, f.eks. en telegrafist, må det være arbeidsbesparende å lett kunne markere den vanligste bokstaven. Hvis telegrafisten må sende mye på kort tid, bør alfabetet kodes slik at sendingene totalt blir kortest mulig. Det hjelper ikke at e’en er kort kodet hvis andre høyfrekvente bokstaver ikke er det. Det er også verdt å merke seg at distinksjonen store og små bokstaver ikke eksisterer i morsealfabetet. Denne distinksjon var en unødig luksus i forhold til hva morse skulle brukes til. Moderne informasjonsteori føres tilbake til den amerikanske radioingeniøren Shannon som sammen med sin kollega Weaver formulerte det som senere har
METODE
40
blitt kalt informasjonsteorien i artikkelen "The Mathematical Theory of Communication". Artikkelen beskrives slik av Campbell i "Grammatical Man": "Essentially the papers consisted of a set of theorems dealing with the problems of sending messages from one place to another quickly, economically, and efficiently. But the wider and more exciting implications of Shannon’s work lay in the fact that he had been able to make the concept of information so logical and precise that it could be placed in a formal framework of ideas. By treating information in clearly defined but wholly abstract terms, Shannon was able to generalize it, establishing laws that hold good not for a few types of information, but for all kinds, everywhere. While his papers may appear quite abstruse and technical at first reading, they offer new ways of looking at world processes which seem incomprehensible when viewed through the lens of classical idea. Their full meaning still has not been exhausted. In spite of the fact that the theorems of information theory were intended chiefly for radio and telephone engineers, they can be used to investigate any system in which a "message" is sent from one place to another." (s. 17)
Shannon definerer altså informasjon på en måte som gjør at den kan måles. En kan finne hvor effektiv en kode kan være ut i fra hvilke grunntegn en har til rådighet (morse har tre: dott, strek og pause) og hva slags meldinger som skal kodes. Det blir mulig å snakke om kapasiteten til en kanal (en kanal er det meldingen sendes igjennom), en kan vurdere om en kanal er maksimal utnyttet. Det er mulig å finne ut hvor mye støy en melding kan utsettes for uten at den ødelegges. Det er mulig å kode en støy utsatt melding slik at den kan reparere seg selv. Informasjonsteori brukes også for å komprimere meldinger, dvs. utnytte mønstre i en melding eller et bilde for å lagre eller sende det mer kompakt.
Temaer fra kognitiv teori Kognitiv teori er vokst fram i skjæringspunktet mellom mange disipliner. Lakoff definerer kognitiv teori slik i sin bok "Women, Fire, and Dangerous Things : What Categories Reveal about The Mind.":
"Cognitive science is a new field that brings together what is known about the mind from many academic disiplines: psychology, linguistics, anthropology, philosophy, and computer science. It seeks detailed answers to such questions
METODE
41
as: What is reason? How do we make sense of our experience? What is a conceptual system and how is it organized? Do all people use the same conceptual system? If so, what is that system? If not, exactly what is there that is common to the way all human beings think? The questions aren’t new, but some recent answers are." (Lakoff 1987, s. xi)
En del av den kognitive teorien undersøker hvordan mennesker i sin daglige dont danner kategorier eller hvordan språket selv kategoriserer. A danne kategorier og å klassifisere er svært beslektede operasjoner. Klassifikasjon slik det gjøres i vitenskapen og i bibliotekfag blir drøftet i kapitlet om indekseringsspråk. Kognitiv teori står dels i strid med "klassisk" teori om kategorisering og klassifikasjon. Klassisk teori og dens premisser uttrykkes slik av Lakoff (1987): "From the time of Aristotle to the later work of Wittgenstein, categories were thought be well understood and unproblematic. They were assumed to be abstract containers, with things either inside or outside the category. Things were assumed to be in the same category if and only if they had certain properties in common. And the properties they had in common were taken as defming the category. The classical theory was not the result of empirical study. It was not even a subject of major debate. It was a philosophical position arrived at on the basis of a priori speculation........
... Within cognitive psychology, categorization has become a major field of study, thanks primarily to the pioneering work of Eleanor Rosch, who made categorization an issue. She focused on two implications of the classical theory: First, if categories are defined only by properties that all members share, then no members should be better examples of the category than any other members.
Second, if categories are defined only by properties inherent in the members, then categories should be independent of the peculiarities of any being doing the categorizing; that is they should not involve such matters as human neurophysiology, human body movement, and specific human capacities to
METODE
42
perceive, to form mental images, to learn and to remember, to organize the things learned, and to communicate efficiently." (S. 7)
Lakoffs bok inneholder mange temaer som også har interesse for temaer som tidligere er berørt (f.eks. betydning av ord). Her skal bare nevnes to temaer som har direkte interesse for bibliotekklassifikasjon. Vi bruker alle kategorien ’fugl’. Hvis en imidlertid setter opp en rekke arter og graderer fuglene etter "fuglethet" viser det seg at de fleste innen samme kulturkrets vil falle ned på samme rangering. Vi mennesker klassifiserer altså ikke etter den klassiske oppskriften. Hvis en setter opp alfabetisk følgende liste: Gås Høne Linerle Pingvin Spurv Struts
og ber et publikum om å rangere listen, vil de fleste mene at linerle er mer fugl enn høne. Dette kalles for ’prototype effects’. Noen er prototyper for en kategori. Når vi kategoriserer, ordner vi kategorier i forhold til hverandre. Bibliotekfaget klassifikasjon handler om hvordan en slik ordning kan gjøres. Som regel ender en opp med et tre med mange nivåer. Kognitiv teori opererer med begrepet ’basic-level primacy’. F.eks. i hierarkiet MØBLER - STOLER LENESTOLER befinner STOLER seg på primærnivået. ’Basic-level’ beskrives slik: "The idea that basic-level categories are functionally and epistemologically primary with respect to the following factors: gestalt perception, image formation, motor movement, knowledge organization, ease of cognitive Processing (learning, recognition, memory, etc.) and ease of linguistic expression." (Lakoff 1987, s. 13)
3. KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER Kunnskaporganisering kan foregå på ulike nivåer og det kan være svært forskjellig type kunnskap en ønsker å organisere. Hvert nivå bruker sine egne teknikker. En artikkel er organisert på en viss måte, en fagbok er organisert på en annen, et arkiv er organisert på en tredje. Forskjellige "nivåer" hvor kunnskapen skal organiseres kan være følgende: - en fagbok - en artikkel - en artikkelsamling - en harddisk - ett bilde på en fil - en database - en samling av dokumenter, f.eks. et bibliotek eller et arkiv - en samling av dokumenter om et avgrenset emne, f.eks. artikler og bøker skrevet etter 1960 om norsk skiidrett - organisering av dokumentflyten i en organisasjon - organisering av informasjonen og informasjonsflyten i en organisasjon Eksemplene ovenfor har en "rekursiv" karakter, de er virvlet inn i hverandre, f.eks. en bok kan ligge på en fil på en katalog på en harddisk. Inne i boka ligger bilder som igjen er organisert. Boka kan ligge i f.eks. WordPerfect’s filformat. Organisering på forskjellig nivå vil ha forskjellig hensikt og bruke forskjellige metoder.
Strukturert og ikke-strukturert informasjon Ulike typer program behandler ulik type informasjon. Det kan være hensiktsmessig å dele inn i strukturert eller formattert informasjon og dens motsats: Ustrukturert eller uformattert informasjon. Det ligger ingen valør i dette. Normal prosa er i denne forstand ustrukturert informasjon, mens en telefonkatalog er strukturert informasjon. Lenge behandlet ulike typer dataprogram hver sin type informasjon. Databaser behandlet strukturert informasjon, mens tekstbehandlere behandlet ustrukturert informasjon. Med
KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER
44
fulltekstsystemer, hypertekst og SGML-tekstbehandling får en systemer som kan behandle begge typer.
Organisering av fagbøker I en tradisjonell lærebok finnes det vanligvis forord, innledning, innholdsfortegnelse, hovedtekst, henvisninger, indeks og litteraturliste. Litteraturlister kan legges bakerst i boka eller de kan legges etter hvert kapitel. Hovedteksten er som regel Figur 3.1 Bok med "pekere". delt inn i kapitler. Noen opplysninger gis i tabeller. Bilder legges inn. Ofte legges det inn sammendrag eller oppsummering av kapitler. Mange bøker inneholder ordforklaringer på sentrale termer i teksten. En slik lærebok er vanligvis organisert slik at leseren skal lese forfra og utover. Boka skal leses sekvensielt igjennom. Sekvensielt betyr at noe har en gitt rekkefølge eller sekvens. Når det i en bok står setninger som "dette ble tematisert ovenfor" eller "lenger ned i teksten står det" eller "lenger ut i teksten" viser dette at analogien linjen eller den lineære sekvens brukes om boka. Likevel er det lagt opp til at en leser skal kunne plukke ut spesielle biter. Både innholdsfortegnelse og register gir disse mulighetene. Innholdsfortegnelse, register og ordforklaringer peker "inn" mot et kjernestoff i dokumentet. I teksten kan det ligge referanser til andre dokumenter som sier hvor fremmed stoff er hentet. Referansene pekere "ut" til dokumenter om randområder eller dokumenter som omhandler samme stoff fra andre vinkler. Litteraturlister har samme funksjon. Selv om vi er svært vant til f.eks. bilder, kart eller tabeller, er det verdt å merke seg at dette er en annen måte å organisere eller presentere kunnskap på.
KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER
45
Innholdsfortegnelse En innholdsfortegnelse og et register er ofte mer enn en opplisting av kapitler og stikkord. Innholdsfortegnelse kan bruke innrykk, forskjellige typer eller nummer og bokstaver for å markere et visst hierarki mellom kapitlene eller delene. Eks.: 4.
Regnskap og kalkulasjon............. 3 3 4.1 Bokføring av varekostnadene........ 33
Register Et register kan være "flatt" alfabetisk eller det kan være hierarkisk oppbygget, dvs. at et ord i registeret er underinndelt. Ordene på nivået under er altså tatt ut av den alfabetiske listen og plassert under et annet som det har nær forbindelse til. Eks.: Nasser, Colonel Gamal Abdul,174; impact in Saudi-Arabia, 187-8; visits Saudi-Arabia, 1889; signs Jeddah Agreement 246-7
Registeroppbygging har stor likhet med emneordssetting som blir behandlet lenger ut i kapitlet om indekseringsspråk. En konkordans lister opp alle ordene i et dokument alfabetisk, med henvisning til hvor ordet er brukt i teksten. Moderne fulltekstsdatabaser hvor alle ord er lagt i indeksfiler, ligner på en konkordans. Et register kan også lages fra visse typer ord i teksten, som f.eks. et personregister eller et stedsregister.
Ordbøker I en ordbok er ordene listet opp alfabetisk. Hvis et ord ikke får eget oppslag, men likevel er et synonym, vil det finnes en se-henvisning fra dette ordet. Hvordan ordene beskrives, skifter fra ordbok til ordbok. Noen rettskrivningsordbøker bare lister opp ordene, mens andre forklarer hva ordene betyr. Slike ordbøker kan ligne på leksika. Ved to-språklige ordbøker vil opplistingen foregå etter ett av språkene.
KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER
46
Leksika I et leksikon er kunnskapen brutt ned i passende biter. Størrelsen på disse bitene varierer og gir de forskjellige leksika sitt særpreg. Denne oppdelingen i biter er som regel supplert med et omfattende register. Noen leksika er også utstyrt med oversiktsartikler for å binde kunnskapsbitene sammen igjen. Både i ordbøker og leksika er temaer som er beslektet innholdsmessig, spredt fordi ordene som betegner temaene er stavet med forskjellige bokstaver.
T elefonkatalogen Telefonkatalogen for Norge eksisterer som en database. Denne databasen får vi tilgang til når vi ringer 018. Katalogene som forbrukerne får, er utlistinger av eller rapporter fra denne databasen. Først er katalogen brutt opp fylkesvis. Videre er det én del hvor abonnentene først er inndelt etter kommune. Så følger en alfabetisert liste der etternavnene stilles opp først. Yrkesdelen er organisert først etter bransje, deretter kommune og til slutt abonnentenes navn. Når vi ringer opplysningen kan vi bruke hele katalogen på en måte som i prinsippet er mulig i bokform, men som ville kreve mange ganger så mye papir. Vi kan spørre etter nummer og derfra komme til abonnentens navn, eller vi kan spørre etter en adresse og komme til abonnentens nummer derfra.
Andre dokumenter Når vi kommer til et valglokale finner vi lister over valgkretsen. Disse listene er organisert etter veinavn og videre på nummer i husene i veien. En avis er organisert dels etter "opprinnelsen" til dataene, om det er redaksjonelt stoff, innsendt stoff eller annonser, og dels etter temaer i det redaksjonelle stoffet, politikk, økonomi, sport. Reparasjonshåndboka til en bil kan være organisert etter "systemer" i bilen, f.eks. elektrisk system, bremser, kjølesystem, utvekslingsystem osv. En bibliografi inneholder som regel referanser til dokumenter avgrenset av et eller flere kriterier. Ett kriterium kan være at dokumentene er skrevet av én forfatter, et annet at dokumentene omhandler et spesielt emne. For å finne frem i bibliografien vil den bl.a. utstyres med registre. Det er verdt å merke seg at alle organisasjonsformer ovenfor er sekvensielle, dvs. dataene ligger i rekke og rad fra begynnelse til slutt. Denne sekvensielle lagringsformen kan være ønskelig (som i en episk roman) eller den være pålagt
KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER
47
dataene ved at dataene er trykket i en bok (som telefonkatalogen). Boka kan kalles et lagringsmedium for kunnskap eller informasjon. Nye informasjonsprodukter kan oppstå ved rett og slett å organisere data på en ny måte. For noen år sider gjorde et firma suksess ved å "omorganisere" telefonkatalogene. De lagde et produkt som var "de gule sider" for hele Norge. Alle rørleggerfirmaer i hele landet ble listet opp alfabetisk i én sekvens. Leksikonforlag kan lage nye spesialleksika ved å dra ut f.eks. alle artikler om norsk kunstnere fra et stort, generelt leksikon. En slik framgangsmåte krever en svært gjennomtenkt organisering av artiklene. Ved eksemplene ovenfor er dokumentene i ulik grad organisert. Ordboka og telefonkatalogen er organisert "strammere" enn læreboka.
Ulike lagringmedia Historien viser oss mange forskjellige lagringsmedia og forskjellige verktøy for å "feste" tegn til disse media. Leirtavlene var lenge et billig medium, og gaffelen som ble brukt, skapte sannsynligvis kileskriften. Papyrus var lett å lagre i ruller. Lesing ble ikke gjort ved å bla i sider, men ved å holde en viss del av skriften "åpen", samme teknikk som dagens tekstbehandlere bruker. For å organisere teksten på en rull, kreves en annen nummerering enn dagens sidenummerering. Bibelens inndeling i kapitel og vers avspeiler en slik ordning. (Sannsynligvis må vi nå tilbake til en slik kapitel og vers-inndeling. Dokumenter i WWW er sideløse, dvs. at klienten kan lage sider hvis den vil. Å referere til steder i WWW-dokument ved hjelp av sideangivelse er dermed umulig.) Senere kom det dyre pergamentet i bruk og etterpå det papiret. Papiret er svært greit å organisere i bøker med sider. Da det ble mulig å behandle data maskinelt, kunne hullkortene brukes til datalagring. Senere har det kommet hullbånd, magnetbånd og magnetiske disker. CD-teknologien førte til at det ble mulig med såkalt optisk lagring. Det interessante med to siste teknologiene er at de som medium ikke binder oss til en sekvensiell lagring. En harddisk i en datamaskin vil ordne dataene med hjelp av enhetene filer og kataloger (eller i dokumenter og mapper på Macintosh-maskinene). Filene igjen vil være organisert.
KUNNSKAPSORGANISERING PÅ ULIKE NIVÅER
48
Organisering av en samling dokumenter Når en samling av dokumenter skal organiseres, kreves det andre teknikker eller virkemidler enn ved organisering av dokumenter. Bokas deler er organisert når vi får den, men det finnes ingen selvinnlysende ordning av dokumentene seg i mellom. Mens innholdsfortegnelse og register viser til deler av et dokument, vil en i et bibliotek bygge opp en katalog som peker ut til de enkelte dokumenter i samlingen. Denne katalogen kan bygges opp på kort eller den ligge på en disk. Oppstillingen eller ordning på hyller foregår etter et klassifikasjonsskjema. Et arkiv ordnes etter en arkivnøkkel.
Organisering av dokumentflyt i en organisasjon En katalog over en samling kan utvides til også å registrere det "logistiske" aspekt ved dokumentet. Hvor er det, hvordan kan det eventuelt skaffes.
Organisering av våre egne hoder Våre hjerner er fantastiske redskap for datalagring og kunnskapsorganisering. Det er en multimedia-base. Vi har lagret ord, lyd, filmer, stemninger, lukter. Det er utallige assosiasjoner mellom informasjonsbitene. Hypertekst-databaser prøver å gjenskape noen av mulighetene for fri assosiasjon og sammenbinding av kunnskap. Mange pedagoger anbefaler tegning av begrepskart for å se hvordan vi binder kunnskapsbiter sammen. Istedetfor å la seg binde av hvordan lærebøker og forelesere organiserer et stoff, bør man rekonstruere det på sin egen måte for å "tilpasse" det til ens egen assosiasjonsmåte. Forelesningsnotater vil "organiseres" forskjellig fra student til student. En student bør ikke skrive ned det som er kjent stoff. Et av problemene med den overlydige student er at han/hun skriver ned alt og dermed får en "flat" tekst. En bok er flat av natur, mens den muntlige forelesning ved retoriske virkemidler kan få fram viktig/uviktig. (Et kjennetegn ved kjedelige forelesninger er nettopp at de er "flate"). En student burde heller skrive ned det som er gunstig for ens egen "kunnskapsorganisering".
4. DATAMODELLERING Lite overblikk før vi går videre Dette underkapitlet prøver å gi et lite overblikk. Det vil dukke opp ord som blir forklart lenger ut i teksten. Dagens databaser behandler både strukturert og ustrukturert informasjon. Som nevnt tidligere brukes ordet database her med en vid betydning. Med denne vide definisjonen kan dagens databasesystemer grovt sett deles inn i relasjonelle databaser, fulltekstdatabaser og hypertekstbaser. Disse grensene mellom type system er ikke absolutte og det en ser i dag er at systemer som begynte som én av disse typene prøver å bygge inn elementer fra de andre; relasjonsdatabaser legger inn mulighet for fulltekst og hypertekstsystemer legger inn muligheter for relasjonell databehandling. Før et databasesystem bygges opp, bør det skje en datamodellering av den "verden" databasen skal handle om. Datamodellering betyr rett og slett å finne ut det som er relevant for å lage en god database. I et datasystem kan det være av betydning å ta vare på den regel at en bil i Norge ikke kan ha to eiere, i et annet må modelleringen ta vare på regelen at en mann ikke kan ha flere enn én hustru (om gangen). Etter en kort innføring i datamodellering vil boka vise oppbyggingen av enkle databaser som inneholder strukturert informasjon. Eksempeldatabasene SEKVENSIELL og INDEKSERT leder opp mot relasjonsdatabasen KATALOG_UTLÅN. Relasjonsdatabaser er "state-of-the-art" for behandling av strukturert informasjon. Etter beskrivelsen av relasjonsbaser følger beskrivelse av MARC-formatet; hva er MARC-formatet og hvordan brukes MARC-formatet av biblioteksystemene? Videre følger beskrivelse av fulltekstbaser og hypertekstbaser som også kan behandle ustrukturert informasjon. Når det er snakk om databaser, er det viktig å skille forskjellige "lag" fra hverandre. En må f.eks. ikke blande sammen hvordan noe lagres fra hvordan noe vises. En må likeledes skille mellom hva som kan vises på en skjerm og hva som skal ut som en rapport på en fil eller på en papirliste. Søkbarhet er noe helt annet enn datamodell osv. Ulike tradisjoner inndeler databaseteori på forskjellige måter. En finner inndelinger i logisk nivå og fysisk nivå; en finner inndelinger som "internal database, conceptual database, external database" (Nijssen 1989). Nijssen opererer også med fem generasjoner informasjonssystemer etter hvordan menneske kan kommunisere med datamaskin. Dagens relasjonsdatabaser ses på
DATAMODELLERING
50
som fjerde generasjon med SQL som eksempel på 4. generasjon informasjonssystem. 5. generasjon er systemer der vi kan kommunisere på dagligspråket. Det har også vært flyt i terminologibruken over tid. For noen år siden var det vanlig å skille mellom fysisk og logisk nivå. På logisk nivå var det snakk om hvilken modell en skulle bruke: Hierarkisk modell, nettverksmodell eller relasjonsmodell. Så har datamodellering kommet inn som et nivå "over" disse igjen. Denne inndelingen blir også fulgt her (selv om teksten ikke akkurat har denne rekkefølgen): Generell datamodellering "på toppen", så er det snakk om det skal velges database basert på hierarkisk modell, nettverksmodell eller relasjonsmodell og så til slutt kommer det fysiske laget, dvs. hvordan skal dataene lagres og gjøres søkbare på et lagringsmedium. Hvis en relasjonsmodell velges, finnes det metoder som ligner på datamodellering og som også gir tilsvarende resultat. Datamodellering slik det beskrives nedenfor, blir da unødvendig. Innenfor relasjonsteori kalles operasjonen normalisering (blir omtalt i kapitlet om relasjonsmodellen). Modell slik det brukes i relasjonsmodell, har noe av samme betydning som metafor. Relasjonsbaser bruker metaforen tabeller, den hierarkiske modell bruker metaforen treet. Andre metaforer er i bruk i hypertekstbaser. Den gamle, gode pappkortbunken er metaforen i HyperCard. Hypertekstsystemet Toolbook bruker metaforen bok med sider. Metoden som skal brukes, vil delvis bestå i å følge visse eksempeldatas vei fra den intellektuelle behandlingen gjennom datamaskinens behandlingen av dem. Når et tema dukker opp vil det bli forsøkt forklart der og da. En del tema som går inn i vanlig databaseteori tas ikke opp, dette gjelder f.eks. teorien rundt distribuerte databaser og sikkerhets- og adgangsproblematikk.
NIAM og Descriptor Et informasjonssystem omhandler en eller annen "verden", det være seg en samling dokumenter eller en skole. Datamodellering brukes for å avklare hvordan denne "verden" er og hvordan denne verden skal representeres av informasjonssystemet. Datamodellering har likhet med det som lenge har gått under navnet systemutvikling. Datamodellering bryr seg ikke med hvordan informasjonssystemet skal realiseres, dvs. hvilket databasesystem som skal brukes eller hvordan filene skal bygges opp; datamodellering bryr seg heller
DATAMODELLERING
51
ikke med hvordan dataene skal presenteres eller hvordan brukerne skal se dataene. I Nijssens språkbruk ligger datamodellering på "conceptual level." Det finnes flere notasjoner eller "språk" i bruk i datamodellering. Det er ingen prinsipiell forskjell mellom disse notasjonene. De senere år har NIAM (Nijssen’s Information Analysis Methology) fått en ledende rolle i hvertfall på mange læresteder. En av fordelene med NIAM er at metoden tar utgangspunkt i dagligspråkets setninger. Selve metoden og notasjonen innbyr til bruk av eksempler. Blandingen av dagligspråk og eksempler gjør at datamodelleringen kan følges eller gjøres uten kjennskap til annen databaseteori. Selve notasjonen som brukes i et NIAM-diagram er i tillegg så entydig og stringent at et NIAMdiagram direkte kan brukes til å definere og opprette, f.eks. en relasjonsdatabase. ER-modellen (The Entity-Relationship Model) ble utviklet på 70-tallet av kineseren Chen. De grunnleggende begrepene er entitet, relasjon og attributt. En bil kan være en entitet, den står i en relasjon til en eier og den kan ha attributtet farge. Øren presenterer i sin bok "Semantisk datamodellering" (1992) sitt egetutviklede språk Descriptor. Descriptor er en variant av det som kalles "kråkefotnotasjon". Navnet har oppstått siden tegnet for en type relasjon ser ut som en kråkefot (se figur 4.2). Grunnbegrepene er også her entitet, relasjon og attributt. Den delen av verden som informasjonssystemet skal omhandle kalles Universe of Discourse (UoD) eller objektsystemet. Et UoD kan defineres slik: ".. the UoD is the portion of the (typically) real world relevant to our application." (Nijssen, s. 35) Selve datamodelleringen bør foretas av én eller flere personer med kjennskap til UoD (disse har såkalt doménekunnskap) og én eller flere personer med kjennskap til databaser. Datamodelleringsspråkene kan godt ses på som en brobygger mellom disse gruppene. Det gjelder å finne ut hvilke entiteter vi har med å gjøre (i et biblioteksystem er låner en type entitet), hvordan vi skal vi referere til de forskjellige entitetene (kan vi referere til en låner med etternavn eller er det bedre å bruke et lånernummer) og hvilke roller forskjellige entiteter kan spille eller hvilke egenskaper eller attributter entiter kan ha. Alle informasjonsystemer omhandler utsnitt av "verden", dvs. utsnitt av verden vi har interesse av. Det er derfor både uinteressant og umulig å bedrive datamodellering "an-sich". Når vi datamodellerer, beskriver vi også "verden". På samme vis som det er umulig å datamodellere uten å vite hva informasjonssystemet skal brukes til, kan det ikke finnes noen generell beskrivelsesteori. Det vi kan kan gjøre er å finne fram til en datamodell eller
DATAMODELLERING
52
en beskrivelse av en del av verden som er gyldig for et gitt formål. Denne fasen kalles altså gjerne datamodellering eller semantisk datamodellering. Semantisk vil her si at modellen skal si noe om verden uavhengig av representasjonen i databasen. Den "syntaktiske" delen, dvs. realisering til en faktisk database, utføres ved Figur 4.1 Et NIAM-diagram som viser et hjelp av de verktøyene et slikt mange-til-mange forhold mellom forfatter og system byr på. Et fellesord for dokument, og et en-til-mange forhold mellom slike systemer er dokument og forlag. databasehåndteringssystemer (DBHS) eller Database Management System (DBMS). Fellestrekk ved DBHS blir beskevet lenger ut i teksten. Enhver ting eller entitet i verden kan beskrives i ulike dimensjoner som ytre trekk ved tingen (eks. form, vekt), hvilke stoffer det består av; hvilken funksjon det har; hvordan det er fremkommet eller produsert; hvor det befinner seg; hvem som har laget det; hvordan det skal behandles; hvilken pris det eventuelt har osv. Alle disse egenskapene kjenner vi igjen fra hverdagen og vi vektlegger forskjellige egenskaper i ulike situasjoner. Ethvert forsøk på beskrivelse vil ta utgangspunkt i hva vi vil med beskrivelsen. F.eks. er det rimelig å tro at en kunstforretning vil være interessert i andre egenskaper ved et grafisk blad enn Nasjonalgalleriet. På samme måten vil en bokhandel beskrive en bok annerledes enn et bibliotek. Et antikvariat vil beskrive boka på en tredje måte. En transportforretning vil være interessert i helt andre egenskaper igjen. Det er også altså vanskelig å sette opp generelle regler for hva som bør med i en beskrivelse. En for snau beskrivelse kan føre til at viktige aspekter ikke kommer med. Hvis en konservator i et museum velger en subjektiv vinkel, kan beskrivelsen være ubrukbar for kolleger eller muséets kunder. En for omfattende beskrivelse kan inneholde så mye at det som er viktig blir "borte" mellom uvesentligheter. I en database som har fått en viss størrelse, er det enklere å kutte ut deler av en beskrivelse, enn å gjøre den mer omfattende. Det er imidlertid viktig å huske på at vi kan ikke putte hverken verden selv eller en
DATAMODELLERING
53
total beskrivelse av den direkte inn i en database. En relevant datamodell er en god forenkling. Selv om det ikke direkte er uttalt noe sted, kan MARC-formatet ses som en datamodell eller en beskrivelsesmal. Noe av vanskeligheten når MARC-formatet eller MARC-modellen skal styre et biblioteksystem, er at formatet inneholder så enormt mye. Katalogisering og klassifikasjon er måter å beskrive et dokument på. Beskrivelsen kan deles inn i typer. Det som kalles en formell beskrivelse og som gjerne kalles katalogisering er en beskrivelse av dokumentet "i seg selv". Beskrivelsen tas fra dokumentet selv. Hvis beskrivelsen av en bok sier noe om hvor boka befinner seg, vil dette endres hvis f.eks. boka lånes ut. Denne typen beskrivelse kan kalles en logistisk beskrivelse. Hvis emnet i en bok eller artikkel skal beskrives, eller motivet i et bilde i et billedarkiv skal beskrives, kan en snakke om en emnemessig beskrivelse. En emnebeskrivelse kan utføres med et indekseringsspråk. som viser det samme som Mulige entiteter som utgangspunkt for NIAM-diagrammet ovenfor. beskrivelse kan være: en bok, en kunde, et grafisk blad, en CD-plate, et fotografi, et arkivdokument, en ansatt i en bedrift, en bedrift, en måling, et bilde i et billedarkiv, en lov, en eiendom, en domsavsigelse, et kurs på en skole, en artikkel i en avis, en arbeidssøker, en ledig jobb, en patent, en student, en ordre, en pasient, en hussøker, et bilde i et galleri, en gjenstand i et museum osv. osv.. I NIAM begynner en med å stille opp enkle setninger om UoD. En setning kan f.eks. se slik ut: "Anne røyker", "Forfatteren Dickens var engelsk" eller "Låner Hans Hansen er 35 år" eller "Gyldendal har utgitt boka Sult" eller "Student Peder Aas studerer kurset Datamodellering". I setningen "Anne røyker" utsier predikatet "røyker" én "ting" om entiteten Anne. I setningen "Student Peder Aas studerer kurset Datamodellering" sier predikatet noe om to entiteter. I det første eksemplet kan vi velge mellom å si at entiteten spiller en rolle (rollen å røyke) eller at entiteten har en egenskap (være en røyker). I
DATAMODELLERING
54
setningen med Peder Aas uttrykker vi et forhold eller en relasjon mellom to entiteter. En viktig del av modelleringen er å finne eller isolere entitetstyper. I et bibliotekssystem kan en tenke seg entitetstypene låner, forfatter, dokument osv. I et administrativt system for en skole kan en tenke seg entitetstypene elev, rom, klasse, kurs, lærer osv. En setning i NIAM blir karakterisert etter hvor "mye" den uttrykker, dette kalles for setningens eller predikatets aritet. Setningen "Anne røyker" er således unære, mens "Student Peder Aas studerer kurset Datamodellering"er binære eller har en aritet lik to. Setningene "Programmeringsspråket Pascal ble oppfunnet av Wirth i 1971" og "Studenten Peder Aas fikk karakteren 2,4 i Datamodellering" er tertiære eller har aritet lik tre. Setninger i NIAM er uavhengig av grammatisk form. Om passiv eller aktiv brukes er likegyldig, en er ute etter setningens "dypstruktur". I det videre arbeidet er det viktig å avklare hvordan de forskjellige entitetene skal refereres. Entiteter refereres gjennom etiketter eller merkelapper (eng. label). I eksemplet ovenfor er det brukt "Studenten Peder Aas..". En student er referert til gjennom fornavn og etternavn med etiketten ’Peder Aas’. På en skole kan en slik referanse skape problemer, det er mer sannsynlig at en student må refereres til gjennom et studentnummer, f.eks. med etiketten ’#34576’. Studentens navn vil da bli en egenskap til dette nummeret. Ordet objekt er i bruk både i NIAM og i Descriptor. I Descriptor brukes det som fellesbetegnelse for entitet, relasjon og attributt, mens det i NIAM dekker entitet og etikett (label). Som et verktøy for å lage et bedre informasjonssystem skal setninger i NIAM forenkles så langt som mulig uten at informasjon tapes. Alle setninger skal ha så lav aritet som mulig. En tertiær setning skal forsøkes gjøres om til to binære. Setningen "Programmeringsspråket Pascal ble oppfunnet av Wirth i 1971" kan således brytes ned til de to binære "Wirth oppfant Pascal" og "Pascal ble oppfunnet i 1971". Ingen informasjon er tapt. Hvis vi derimot bryter ned "Studenten Peder Aas fikk karakteren 2,4 i Datamodellering" til "Peder Aas fikk 2,4" og "Peder Aas tok kurset Datamodellering" ser en at noe er tapt. Den tertiære setningen kan ikke brytes ned til to binære. Datamodellering skal også finne ut systemets beskrankninger (constraint). Dette vil si at umulige opplysninger ikke skal komme inn. I et system som dekker en barneskole, vil det legges beskrankninger på barnas alder. Hvis systemet også holder orden på klasserom, kan det legges inn en beskrankning
DATAMODELLERING
55
slik at ikke samme rom brukes på samme tid av to klasser, eller at et visst rom ikke kan ta mer enn et visst antall elever. Entiteter står i forhold eller i relasjon til hverandre. Hvis en opererer med entitetene dokument og eksemplar i et biblioteksystem, kan det eksistere flere eksemplarer av et dokument, det er mange-til-én-forhold mellom dem. Én norsk høyskole har én rektor pr. skole, det er et én-til-én-forhold. Siden en forfatter kan skrive flere bøker og en bok kan ha flere forfattere er det et mange-til-mange-forhold. NIAM illustrerer relasjoner gjennom streker over firkantdelen av diagrammet, mens Descriptor bruker kråkeføtter.
5. LAGRINGENS SYNTAKS: FELTER OG POSTER Et databaseprogram vil ha muligheter for å legge inn, endre, slette data. De vil også ha muligheter for å definere felter og poster. Slike muligheter tas for gitt videre i teksten. Ordningen i felter og poster og regler for formen på data i felt tilhører den syntaktiske delen av opprettelsen av databasen. Her er hvert datasystem forskjellig og dette kapitlet har trukket ut en del fellestrekk.
Felt og post Når vi har funnet hvilke egenskaper ved et objekt vi vil ha med i en beskrivelse, blir neste skritt å legge disse ned i felt (eng. field). F.eks. forfatteren til et dokument legges ned i forfatterfeltet. Disse beskrivelsene samles i en post (eng. record). Den greieste måten å forestille seg en post på, er som et tradisjonelt kortkartotek der hvert kort inneholder opplysninger om et dokument. En samling av poster legges på en fil. På datamaskiner er det gjerne slik at alt som lagres på et eksternlager lagres på filer. Filer som inneholder data organisert som poster, kalles postfiler. Postfiler kan ses på som en rekke poster som ligger på rekke og rad bortover. A Ved definisjonen av poster, gis feltene et navn. Hvis det opprettes ett felt for en type data, må dataene oppfylle visse krav. Alternativet til en beskrivelse hvor dataene ligger i felt, er en fritekstbeskrivelse av et Figur 13 Fil med tre poster. Tre objekt. Det er vanlig å bruke termen felt i hver post. uformaterte data om beskrivelse som legges inn på denne måte, mens termen formaterte data brukes når data legges i felt. Ved definisjonen av en post, er det ofte mulig å opprette begge typer felt, dvs. det er mulig å legge inn noe i fritekst som ikke passer i de formatterte feltene. Fil med tre poster for et idrettslag;
Navnefelt
Jo
PerAås
Nina Ås
Brødal
Bygda 8
Bygda 8
Langrenn
Håndball
Adressefelt
Skyting
Felt for aktivitet
LAGRINGENS SYNTAKS: FELTER OG POSTER
57
Formen på data i felt Når data legges inn et felt, må det eksistere regler for formen på det som legges inn, slik at samme entitet ikke risikerer å bli beskrevet med ulike navneformer: Ole Olsen; Olsen, Ole; Olsen, O.; Ole M. Olsen; Olsen, O.M.; Olsen O. M. eller Ole Martin Olsen. Mange databaser bryter med denne grunnregelen og en får fort en uhåndterlig database. Dette er kanskje databaseteorien viktigste regel. I noen felt skal dataene oppfylle bestemte krav. F.eks. kan kjønn beskrives i et felt med henholdsvis verdien M eller F.
Typer data Ved opprettelsen av en database må det defineres hva slags data som kan ligge i et felt. Det kan være snakk om alfanumeriske tegn, heltall, desimaltall, dato, valuta. Hvis et felt skal inneholde alfanumeriske tegn, må det opplyses hvor langt feltet skal være, dvs. hvor mange tegn det er lov å legge i feltet. Denne lengden vil fungere som en maksimumslengde for feltet. I noen databaser er det også mulig å definere felt som tekstfelt der lengden er variabel. Slike felt kan brukes til f.eks. fritekstbeskrivelse. Et felt kan også gi plass til et bilde. Noen databaser har også en felttype som kalles BLOB (Big Large Objects). Brukeren kan legge en mengde data som ikke databasen i prinsippet vet noen ting om.
Varierende felt- og postlengder Hvis det eksisterer en maksimumsstørrelse på et felt, snakkes det om faste feltlengder. Hvis en post kan variere i lengde, snakkes det om varierende postlengde.
Repeterbare felt Det kan også være ønskelig med repetérbare felt. En bok kan ha to eller flere forfattere. Et repetérbart felt kan og lagre informasjon om ting der mengden data er svært usikker. En kundedatabase skal f.eks. inneholde opplysninger om hvordan en kunde er fulgt opp. Slike opplysninger kan selvfølgelig ikke legges
LAGRINGENS SYNTAKS: FELTER OG POSTER
58
i ett felt, da det kan være snakk om alt fra ingen til svært mange møter, telefoner o.l. Slike opplysninger kan legges i repetérbare felt.
Felt og delfelt Mange databaser tillater brukeren å definere delfelt under et felt. Dette gir en mulighet for å gruppere flere delfelt under ett felt. En kan f.eks. tenke seg ett navnfelt delt inn i et delfelt for fornavn og ett for etternavn.
Nøkkelfelt To mennesker kan ha like navn. To mennesker kan til og med ha like navn og like adresser. En post bør derfor inneholde et felt som skiller posten fra alle andre. Et personnummerfelt vil ha denne funksjonen hvis databasen inneholder opplysninger om norske borgere. ISBN-nummer vil ha samme funksjonen hvis databasen beskriver bøker. En varekode som EAN-koden kan brukes ved beskrivelse av varer. Ett slikt felt kalles ofte et nøkkelfelt. En nøkkel kan også tenkes bygd opp fra andre felt i posten. Et nøkkelfelt vil som regel legges inn eller defineres av en bruker. I tillegg vil en database nummerere sine poster. En slik nummering er noe programmet som lagrer dataene holder styr på selv. Hvis beskrivelsen av et objekt skal knyttes sammen med beskrivelsen av andre objekt, f.eks. beskrivelsen av en student skal knyttes sammen med beskrivelsen av et kurs, må postene inneholde nøkkelfelt. (Bruk av nøkler blir forklart nøyere i kapitlet om relasjonsdatabaser.)
Minimumsbeskrivelse Når en post defineres, er det ofte mulig å definere noen felt som obligatoriske, dvs. at posten vil ikke bli lagret hvis ikke disse feltene er utfylt. En bibliografisk database kan f.eks. definere tittelfeltet som obligatorisk.
LAGRINGENS SYNTAKS: FELTER OG POSTER
59
Kontroll av verdiene i et felt Mange databaser inneholder feil, fordi data er lagt inn feil. Lønningsfeltet til en ansatt har fått to nuller for mye eller en dato er ti år feil. I den grad det er mulig, bør databaseprogrammet sjekke opplysningers rimelighet (eller ha en måte å implementere beskrankninger som er definert i datamodellen). I noen typer opplysninger er det innlagt sjekkopplysninger, f.eks. i boknummer og bankgironummer ligger sjekksummuligheter. Programmet som tar i mot data vil kunne si i fra og nekte å lagre hvis slike feil oppdages. En kontroll av verdiene i et felt, kan være en del av en større syntakssjekk av hele posten. Syntakssjekk kalles også for parsing i mange sammenhenger.
Kodede felt Hvis det skal være mulig å trekke ut visse typer opplysninger om deler av poster i en database, må opplysningene i noen felt være kodet. Hvis en database inneholder beskrivelse av kommuner, kan dette feltet være en kommunekode. Hvis deler av koder sier noe om hvilket fylke kommunenen tilhører, kan det trekkes ut opplysninger som omhandler f.eks. Oppland. Oppbyggingen av slike koder vil bli vurdert nærmere i kapitlet om indekseringsspråk. Mange av de opplysninger som legges inn i databaser, er allerede oppbygd, f.eks. postnummer, telefonnummer eller ISBN-nummer. Disse er oppbygd ut i fra organiseringen av henholdsvis postvesen, televerk og forlagsverden. Det er derfor ikke sikkert de dekker de formål vi har med databasen.
Beregnbare feltopplysninger Hvis et felt inneholder alderen til en person, vil opplysningene endres med tidens gang. I den grad det er mulig bør slike opplysninger beregnes. Alder kan f.eks. beregnes ut i fra fødselsdato og dagens dato. Et prinsipp i datamodellering var å unngå typer data som kan avledes fra andre opplysninger i basen.
LAGRINGENS SYNTAKS: FELTER OG POSTER
Hvis objektet selv er lagret i datamaskinen I eksemplene ovenfor ligger objektene "utenfor" datamaskinen. Det er imidlertid mulig at objektet selv er lagret i datamaskinen. Hvis det lages en database over bilder, kan det tenkes at bildene selv ligger lagret i maskinen i digital form. Eller en avis kan ha alle sine artikler lagret i en fulltekstbase. Selve objektet kan da tenkes lagt inn som et felt i posten, eller posten som inneholder beskrivelsen inneholder en "peker" til selve objektet. Fulltekstdatabaser og hypertekst/hypermediabaser er eksempel på slike databaser og vil bli vurdert senere i teksten.
60
6. KONSTRUKSJON AV DATABASEN SEKVENSIELL Alt som foreløpig har skjedd, kan kalles intellektuelle operasjoner. Boka vil nå følge en del data inn i datamaskinen. En enkel beskrivelse av 26 bøker skal bli til en database. Basen bruker modellen "kortbunke". I denne basen er det valgt å beskrive bøker med tre typer opplysninger: Hvem som har skrevet en bok, bokas tittel og hvilket klassifikasjonsnummer bøkene har fått. Klassifikasjonsnummeret kalles videre Deweynr. Denne beskrivelsen er selvfølgelig svært primitiv, men er tilstrekkelig til å illustrere deler av databaseteori. Databasen som opprettes kalles SEKVENSIELL. Dewey-nummeret forteller oss emnene til bøkene og i tillegg hvor bøkene står i biblioteket. De bibliografiske data er følgende: 1. Cook, Michael A manual of archivical description. 025.341
2. Benoit, John Programming in C. 005.362
3. Kleven, Terje Resultatorientert planlegging. 352
4. Heissig, Walther Religions of Mongolia. 299.42
5. 6. Fløttum, Johan Beechold, Henry Veiledning i bruk av dateltjenesten Hjemmedatamaskiner. 621.38195 621.3811954 7. Braaten, Lars Thomas Roman og film. 839.82
8. Berlitz, Charles Atlantis 398.4
9. Houm, Philip Norsk litteratur etter 1900. 839.82
10 . Carey, David Slik virker el-loket. 625.1
11. Lønning, Kjell Vesaas 839.823
12 . Carey, David Slik virker dieselloket. 625.1
KONSTRUKSJON AV DATABASEN SEKVENSIELL
62
14 . 13 . Ashby, W. Hoftun, Sigmund Andre Malraux og menneskets verdighet.Cybernetics. 001.53 840.9 15 . Foss, Oddvar Antonioni 791.4
16 . Stutley, M. Hinduism. 294.5
17 . Perkins, V. F. Film as film. 791.4
18 . Hammer, Armand Mitt eventyrlige liv. 920.71
19 . Enerstvedt, Åse Tampen brenner. 796.1
20 . Surridge, Charles Feilsøking i biler. 629.2
21. Eliot, T. S. Selected essays. 801
22 . Ullman, Jeffrey Database systems. 001.64
23 . Hoel, Sigurd 50 gule. 804
24 . Date Database systems. 001.64
25 . Bjerke, Andre Versekunsten. 808.1
26 . Young, Michael Performance programming. 005.362
Fysisk lagring og filer Når dataene ovenfor skal lagres som en database, må disse lagres på et medium som passer datamaskinen. En datamaskin lagrer fysisk sett sine data i binær form på disketter, harddisker, magnetbånd, optiske plater osv. En datamaskins operativsystem organiserer sine data i filer. Dataene ovenfor lagres på filen KATALOG. Det er rimelig her å dele opp filen i enheter slik at hver post lagrer en bokbeskrivelse. Postene deles videre inn i felt etter hva slags data som lagres, her: forfatteropplysninger, tittelopplysninger og klassifikasjonsopplysninger. En slik fil kan ses på som en
KONSTRUKSJON AV DATABASEN SEKVENSIELL
63
rekke poster som ligger bortover, eller som flere katalogkort som står etter hverandre i en katalogskuff. Filen tilsvarer skuffen, en post tilsvarer et kort, og et felt tilsvarer en type bibliografisk opplysning på et kort.
Innlegging og søking Alle databaser må gi muligheter for å legge data inn og gi muligheter for å søke i data som er kommet inn. Søkefunksjonen er svært forskjellig utformet i forskjellige program, men søkefunksjonen vil alltid inneholde muligheter for å si i fra hvilket felt søket skal gjøres i. Foreløpig kan en her tenke seg at et søk utformes på denne måten: "finn FO Bjerke, Andre" eller "finn TI 50 gule" eller "finn DE 840.9". FO gjør at programmet sjekker forfatterfeltet, ved bruk av TI sjekkes tittelfeltet og ved DE sjekkes deweyfeltet. Ved søk kan en tenke seg at trunkering (bruk av første delen av ord) er mulig med bruk av stjerne, f.eks. "finn FO B*". Hvis søket treffer noe i basen, kommer hele katalogopplysningen (dvs. alle tre feltene) frem på skjermen.
Sekvensiell filbehandling Slik som dataene i SEKVENSIELL er organisert, dvs. med poster i tilfeldig rekkefølge, må hele filen gjennomleses fra start til slutt for hvert enkelt søk; den må gjennomgås sekvensielt. Sekvensiell filbehandling henspiller på at før post 25 kan behandles, må post 24 behandles. Med "katalogskuff-analogien" gjør programmet følgende: skuffen åpnes, ett og ett kort leses i den rekkefølgen de ligger, hvis opplysningene som er søkt finnes på et kort, vises kortet til den som har bedt om søket.
DBMS, DDL og DML Et 4. generasjons verktøy eller databaseverktøy skal fungere som et generelt redskap, dvs. at det skal effektivt kunne lage databaser av alle former for data og kunne foreta operasjoner på disse dataene. Et slikt databaseredskap kalles som nevnt database management system (DBMS). Et DBMS må bestå av et språk eller en metode for å beskrive dataene som skal inn i basen. Et slikt språk kalles Data Description Language (DDL). "Språk" i denne sammenhengen kan likegjerne dekke en menystyrt, interaktiv prosess, poenget er at det er mulig å definere en datastruktur eller en post. Skal dataene behandles, trengs et Data Manipulation Language (DML). I
KONSTRUKSJON AV DATABASEN SEKVENSIELL
64
moderne databaser tilsvarer dette de muligheter for datamanipulering som programmene tilbyr. Med de fleste verktøy følger det muligheter for å skreddersy databasene. Dvs. ved bruk av såkalte makroer eller rene programmeringsspråk kan en vesentlig modifisere databasens oppførsel.
Dataene i SEKVENSIELL beskrevet med "kvasi-DDL”. Hvis dataene ovenfor skulle blitt beskrevet i en form for DDL, kunne det blitt:
post katalogkort felt ordningsord, størrelse 40 tegn felt tittel, størrelse 50 tegn felt deweynummer, størrelse 20 tegn fil KATALOG der postenhet er katalogkort.
En søke-operasjon beskrevet slik i et "kvasi-DML".
Ta i mot et søk fra bruker. Se hvilket felt søket ønskes gjort i. Gå gjennom postene i filen og skriv til skjerm poster der søket er likt med aktuelt felt i posten.
Vertsspråk Som nevnt kan databaser styres med språk som er spesifikke for databasen. Brukeren kan velge å bruke programmet med standardoppsett (f.eks. et standard menysystem) eller å spesialsy applikasjoner. En annen måte å konstruere databaser på er å begynne med et vanlig programmeringsspråk som Pascal, C eller Fortran. Databaseoperasjonene bygges opp "nedenfra", enten ved at alle databaseoperasjonene programmeres, eller ved at databasekall kjøpes ferdig og legges inn i den vanlige programmeringskoden. Pascal, C eller Fortran er da såkalt vertsspråk for databasekallene. De aller fleste bibliografiske databaser er bygd opp på denne måten. Vertsspråkene både i Mikromarc og Bibliofil er C.
KONSTRUKSJON AV DATABASEN SEKVENSIELL
65
Fysisk og logisk nivå Vellykket databehandling kan bare skje hvis mange forskjellige "nivåer" arbeider vellykket sammen. Når et søk gjøres i en database som bruker harddisk som lagringsmedium, går det meldinger fra et program til maskinens operativsystem om å finne den angitte fil. Operativsystemet holder orden på hvordan filen fysisk er organisert på harddisken, f.eks. at filen KATALOG begynner i sektor 5 390, neste del ligger i sektor 5 391, og neste og siste del ligger i sektor 6 231. Lese- og skrivehodet blir så adressert til riktige blokker for å hente og/eller legge ned data. En sektor er den minste enheten et ytre lager opererer med, og størrelsen er gjerne 512 Byte (én Byte kan lagre ett tegn). Ordet blokk er også i bruk om det ytre lagers minste "byggekloss". En moderne datamaskins filsystem er en del av maskinens operativsystem. F.eks. DOS i MSDOS betyr Disk Operating System. Som nevnt tidligere har det vist seg nyttig ved beskrivelse av databaser å skille mellom logisk nivå og fysisk nivå. På logisk nivå dreier det seg om hvordan data og forholdet mellom "data" skal representeres, hvilken modell som skal brukes. I den enkle basen SEKVENSIELL kan den logiske beskrivelsen sies å være rekken av poster ovenfor. Den logiske avbildningen er analog til en rekke med katalogkort. En datamaskin opererer med eksterne lagre som harddisker og disketter. Operativsystemer organiserer det eksterne lageret i sektorer som brukes til å bygge opp filer. Alt fra det eksterne lager opp til filer kalles gjerne det fysiske nivå. Disse to nivåene må i en database knyttes sammen. Det logiske nivå "realiserer seg selv" med hjelp av det fysiske nivå.
7. FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT Søkeinnganger De bibliografiske data slik de er lagret i databasen SEKVENSIELL, tilsvarer en rekke med kort uten ordning seg i mellom. En katalog har alltid en eller annen ordning. Hvis SEKVENSIELL skulle vært organisert med kort, ville det vært tre måter å ordne katalogen på:
- alfabetisk etter forfatter - alfabetisk etter tittel - "numerisk" etter dewey-nr Hvis alle disse tre mulighetene var ønsket, måtte en bygd opp tre separate kataloger. Hvis telefonkatalogen var utgangspunktet og en ønsket ordning etter etternavn, adresse og telefonnummere, måtte tre like tykke kataloger vært trykket.
De tre første kortene av katalogen ordnet alfabetisk etter forfatter.
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT67
De tre første kortene av katalogen ordnet alfabetisk etter tittel.
De tre første kortene av katalogen ordnet numerisk etter deweynummer.
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT68
Essensen i en slik ordning er at et forfatternavn, en tittel eller et klassifikasjonsnummer fører brukeren til et katalogkort med mer utfyllende beskrivelse av dokumentet; de fungerer som søkeinnganger eller indekser. For å oppnå disse tre nevnte søkeinngangene i en kortkatalog er det viktig å merke seg at et kort dubleres og plasseres tre forskjellige steder. Dette medfører at ved endring av en post, må alle tre kortene finnes og deretter endres. Ett av kortene må derfor vite hvor de to andre kortene befinner seg. I en kortkatalog vil hovedkortet inneholde disse opplysningene. De såkalte tracingopplysningene er laget for å dekke dette formålet. I en database finnes det andre måter å løse dette på. Her er det mulig å la de bibliografiske opplysningene ligge i en tilfeldig orden og likevel få de søkeinnganger en ønsker uten å dublere opplysningene.
Indekser og indeksering Hvis basen SEKVENSIELL utvides med flere poster, merker brukerne at svartiden ved søk blir lenger. Grunnen til dette er at filen KATALOG må gjennomgås fra start til slutt for hvert søk; den må sekvensielt gjennomløpes. For å få farten opp må filen KATALOG indekseres. Indeksering betyr at de opplysninger i en bibliografisk post som ønskes brukt som søkeinngang "trekkes ut" og brukes på en eller annen måte som henvisning til hele posten. En alfabetisk kortkatalog ordnet etter forfatter er i denne forstand en ordning der forfatternavnet brukes som indeks. Ordene indeks og indeksering brukes her om hva datamaskinen automatisk gjør med dataene, og må ikke forveksles med betydningen i bibliotekfag hvor indeksering brukes om den intellektuelle operasjonen å emnebeskrive ved hjelp av emneord. Databasen INDEKSERT skal nå bygges opp fra de samme bibliografiske dataene som finnes i SEKVENSIELL. Indeksene bygges opp ved å la et program gjennomlese filen, legge opplysningene i feltene i indeksfiler og knytte opplysninger i indeksene til postene i KATALOG. Ved en slik metode lages filene FORFATTERINDEKS, TITTEL.INDEKS og DEWEY.INDEKS. I DEWEY.INDEKS ligger opplysninger som 025.341 post 1, 005.362 post 2, 352 post 3, 299.42 post 4, osv. Helt analogt ligger så forfatteropplysninger i FORFATTERINDEKS og tittelopplysninger i TITTEL.INDEKS. Et søk vil foregå ved at programmet styrer søkespørsmålet til en indeksfil. Hvis det er treff her, brukes tilknyttet postnummer til å hente kun den aktuelle post i KATALOG. Selve søket foregår i indeksfilene, og filen
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT69
KATALOG aksesseres kun hvor den søkte post ligger. Opplysningene i indeksfilene fungerer som nøkler (merk at nøkkel i denne sammenhengen brukes i annen betydning enn ovenfor) til opplysningene i hovedfilen KATALOG.
Moderne lagringsmedia En moderne database bruker alltid et lagringsmedium som tillater direkte aksess til alle blokker. Aksess betyr omtrent det samme som tilgang eller adgang. Direkte aksess (random access) vil si at det er mulig å nå en hvilken som helst post på en fil uten å måtte gjennomløpe det som ligger foran. Et magnetbånd er eksempel på et medium som ikke tillater direkte aksess. Disketter og harddisker tillater direkte aksess. I tillegg må filsystemet kunne bruke denne muligheten. Alle nyere operativsystem tillater direkte aksess. Databasen SEKVENSIELL krever derfor et lagringsmedium og et filsystem som tillater direkte aksess.
Harddisken Harddisken er det vanligste lagringsmediet for databaser. Som figuren nedenfor viser, består en harddisk av plater i stabel med lese- og skrive-hoder som kan dras ut og inn slik at alle punktene på platene kan nås. Platene går hele tiden rundt. Et program bruker operativsystemet til å styre disse hodene for å lese og skrive data i blokkene der dataene ligger. En diskett i en diskettstasjon er i prinsippet lik en harddisk med bare én plate i stabelen. Hardisker lagrer data ved å magnetisere punkter på overflaten av platene. Lagringen av data er binær. "Alt" må lagres med hjelp av tallene 0 og 1 (ikke-magnetisert flekk betyr 0 og magnetisert flekk betyr 1).
CD-ROM CD-platene som lagrer musikk bruker også binær lagring. På disse platene markeres 1 ved at en laser brenner
Figur 7.1 Skisse av oppbygningen av en harddisk.
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT70
en flekk eller lager en "boble" på overflaten av platen. Laseren er et optisk redskap. Den bruker visse former for lys, og man snakker derfor om optiske lagringsmedia. Det trengs ca. 700 000 binære tall for å lagre bare ett sekund med musikk, slik at hvis det lagres data på disse platene er det plass til store datamengder. I dag brukes termen CD-Audio (Compact Disc) om plater som lagrer lyd, mens CD-ROM (Read Only Memory) brukes når platene lagrer data. Mens en vanlig harddisk på en PC lagrer 100-200 MByte (Mega = 1 000 000), kan en CD-ROM lagre ca. 550 Mbyte. Dette tilsvarer omtrent 225 000 A-4 sider med tekst. Lagringskapasiteten på optiske plater gjør det mulig å publisere store databaser og store bokverk som leksika på disse platene. De muliggjør også billedlagring i tillegg til vanlig tekst. Termen CD-ROM er imidlertid i ferd med å bli misvisende, siden det nå er kommet optiske plater i samme størrelse som tillater sletting av data og ny lagring av data, dvs. de fungerer likt med magnetiske media som disketter og harddisker. Generelt går utviklingen av eksterne lagringsmedia med stor fart.
Aksesstid En datamaskins tregeste del er lese/skrive-hodet som må ned til en sektor for å skrive eller lese data. Når hodet først er kommet i rett posisjon, går selve lesingen/skrivingen fort. Databehandling som videre foregår i en maskins primærhukommelse, er meget rask i forhold til operasjonene på harddisken. Den tid det tar et lese/skrivehode å komme i posisjon kalles aksesstiden. På moderne harddisker er denne meget lav. CD-ROM platene har imidlertid vesentlig lenger aksesstid. Årsaken ligger dels i at platene på en harddisk roterer med en fast fart, mens CD-ROM platene roterer med stor fart når dataene ligger inn mot senteret av platen og med liten fart når det leses data som ligger nær periferien. En CD-ROM må derfor stadig akselereres og retarderes. Årsaken til dette igjen er at en CD-ROM lagrer sine bit’s like tett over alt, mens en harddisk lagrer tett inn mot senteret av platen og mindre tett ut mot kanten. En sektor vil derfor ha ulik størrelse (flateinnhold) på en harddisk.
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT71
Cashing I tillegg til rask bevegelse av de mekaniske lese/skrive-hodene, bruker moderne harddisker cache-teknikker for å minimalisere antall aksesser. Caching vil si at en harddisk henter mer en strengt nødvendig ved en aksess. Det som hentes legges i en slags primærhukommelse (cachen). Neste gang et program skal hente noe fra disk, er det sannsynlig at det den trenger, ligger i cachehukommelsen, og en aksess kan unngås. Det er en vitenskap for seg å konstruere en cache slik at det mest sannsynlige blir hentet. I tillegg til cache vil mange databaseprogrammer utnytte ledig primærhukommelse til å "holde" så mye av databasedataene som mulig. Det som står nedenfor om antall aksesser må ikke tas helt bokstavlig, men vil modifiseres av teknologi "rundt" disken.
Oppbygningen av indeksfiler Indeksfiler må organiseres på en spesiell måte for at de skal være effektive. Uansett tallet på nøkler i en indeks må det raskt kunne fastslås om en søkt nøkkel finnes.
B-trær Den moderne måten er å organisere en indeksfil som et B-tre. Historisk sett er metoden relativt ny, og mange "eldre" databaser bruker andre metoder. Teksten videre konsentrerer seg om B-trær siden det er denne metoden som tas i bruk når nye systemer blir laget. "Inne i" filen FORFATTERINDEKS, som er organisert som et B-tre ser det ut som figuren 7.2 viser (bare etternavnene er tatt med for enkelhets skyld). På figuren ligger det to forfatternavn i hver enhet. Enhetene kalles noder eller sider (pages). Optimalt kan en slik enhet falle sammen med det fysiske mediums sektorstørrelse. Hver node inneholder to nøkler og 3 pekere til andre noder. I praksis vil det ligge langt flere nøkler i hver node. Noden øverst kalles rotnode, nodene nederst i hierarkiet kalles bladnoder. Ethvert søk i et B-tre starter i rotnoden. Hvis den søkte forfatter ligger her, tas det vare på nummeret som henviser til postnummer i filen KATALOG og riktig post hentes. Hvis forfatternavnet ikke finnes her, blir søkt forfatternavn sammenlignet med forfatternavnene i rotnoden. Hvis det søkte navn alfabetiseres før Cook, aksesseres node 2; ligger det mellom Cook og Hoftun
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT72
aksesseres node 3, og alfabetiseres det etter Hoftim, aksesseres node 4. Den samme prosessen gjentas rekursivt i noden man kommer til. Hvis man er havnet i en bladnode, og forfatternavnet ikke er funnet, er man sikker på at søket ikke har noe treff og søket avsluttes. Hvis forfatternavnet Stutley er søkt, starter søket i rotnoden. Søket fortsetter i node 4, blir så sendt videre til node 12 der opplysningen om at aktuell bok ligger i datafil KATALOG, post 16. Datafilen blir aksessert i post 16, og katalogopplysningene hentes fram. TITTEL.INDEKS og DEWEY.INDEKS er bygget opp helt analogt med FORFATTERINDEKS. Nøklene inneholder henholdsvis titler og deweynummer. Et B-tre er karakterisert ved hvor mange nøkler som kan ligge i en node. En node skal som minimum inneholde halvparten av dette antall. Hvis det maksimalt er plass til 2d nøkler i en node, skal en node som minimum inneholde d nøkler. Dette antallet, d, Figur 7.2 B-treet i indeksfilen FORFATTER.INDEKS. kalles B-treets orden. Antall nivåer i B-treet blir så en funksjon av antall nøkler og B-treets orden. I eksemplet ovenfor er det ett rotnivå, ett bladnivå og ett mellomliggende nivå, dvs. det er tre nivåer. Det betyr også at et søk maksimalt behøver å søke i tre noder. Et B-tre skal være balansert, dvs. det skal være like "stort" på alle kanter nedover, eller sagt på en annen måte: alle bladnoder skal befinne seg på samme nivå. Det er mulig å regne seg til høyden på et B-tre hvis en vet hvor mange nøkler det skal inneholde, og vet det største antall nøkler i en node. Antall nøkler i B-treet: n, maksimal antall nøkler i en node: 2d, B-treets orden: d.
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT73
Høyde på treet = logdn Hvis treet inneholder 1 000 000 nøkler, og 2d = 20 blir høyden log10 1 000 000 = 6. Det hele kan oppsummereres slik: En indeks som er godt laget vil ikke fungere tregt uansett hvor mange nøkler den inneholder.
Indeksering som frase og indeksering som ord Slik som indeksfilene i eksempelet er bygd opp, må søkene "starte" med samme ordrekkefølge som nøklene. F.eks. søkes det "finn TI Mongolia" vil ikke post 4 bli funnet. Den kan bare finnes ved å søke "finn TI Religions of Mongolia". Indekseringen er foretatt ved å se på tittelen som frase (phrase). De enkelte ordene er ikke indeksert. I bibliografiske baser er det nyttig også å kunne søke på ord. For å få dette til må det i databasen INDEKSERT opprettes ytterligere to indekser, én for enkeltstående ord i tittel og én for enkeltstående ord i forfatternavn. Disse kalles FORFJDRD.INDEKS og TIT_ORD.INDEKS. I indeksfilene FORFATTER.INDEKS, TITTEL.INDEKS og DEWEY.INDEKS bør de enkelte nøklene være like store som feltet de skal indeksere. Nøklene i FORFATTER.INDEKS er på 40 tegn eller byte, nøklene i TITTEL.INDEKS er på 50 tegn, og nøklene i DEWEY.INDEKS er på 20 tegn. Nøklene i FORF_ORD.INDEKS settes til 15 tegn, og nøklene i TIT_ORD.INDEKS settes til 15 tegn. Mange enkeltstående ord er ikke meningsbærende når de står alene. Ord som i, på, som, en, for, på skal derfor ikke indekseres. En slik "utluking" foretas av en stoppordliste. I eksempelet lagrer én fil en type indeks. Dette er ikke noe i veien for alle indeksene legges på én fil.
Forbedret base beskrevet i "kvasi-DDL” Databasen SEKVENSIELL ble tidligere beskrevet med en form for DDL på denne måten: post katalogkort felt forfatter, størrelse 40 tegn felt tittel, størrelse 50 tegn
FRA DATABASEN SEKVENSIELL TIL DATABASEN INDEKSERT74
felt dewey, størrelse 20 tegn
fil KATALOG der postenhet er katalogkort. For å beskrive databasen INDEKSERT må det legges til:
indeksfil indeksfil indeksfil indeksfil indeksfil
FORFATTERINDEKS, indekserer felt forfatter som frase TITTEL.INDEKS, indekserer felt tittel som frase DEWEY.INDEKS, indekserer felt dewey som frase FORF_ORD.INDEKS, indekserer felt forfatter som ord TIT_ORD.INDEKS, indekserer felt tittel som ord
Brukerstyring av indeksering Oppbygging og bruk av indekser foregår dels automatisk og er dels brukerstyrt. I noen databaseverktøy må brukeren ved feltdefinering si fra om indekser skal opprettes og vedlikeholdes. Normalt vil felt som defineres som nøkkelfelt bli automatisk indeksert. Distinksjonen mellom indeksering som frase og indeksering som ord finnes stort sett bare i bibliografiske databaser. Som bruker må en huske på at indekser tar stor plass på ytre lager. Noen databaseverktøy lager også midlertidige indekser for å optimalisere søk.
8. RELASJONER OG RELASJONSDATABASER I eksempeldatabasene SEKVENSIELL og INDEKSERT har dataene vært såpass enkle at vi har kunnet holde oss til "kortmodellen". Det har vært beskrevet objekter løsrevet fra andre typer objekter. Ingen av opplysningene i en post har vært "avhengig" av opplysninger i andre poster. Hvis databasen skal inneholde forskjellige typer objekter som er bundet sammen eller samhandler, får en behov for mer kompliserte modeller. Slike sammenhenger skal avklares i datamodelleringsfasen. Mange databaser lages eller implementeres i dag som relasjonsdatabaser. Det kan diskuteres om det videre bør brukes ordet relasjonsmodell eller relasjonsdatabase. Teorien rundt relasjonsmodellen har etterhvert inn gått i mer generell datamodelleringsteori. Videre brukes disse ordene med noe overlappende betydning.
Relasj onsmodellen Relasjonsmodellen er den mest moderne datamodell og er i bruk i mer eller mindre modifisert form i mange databaser. Så og si alle 4. generasjonsverktøy er bygd opp rundt denne modellen. Analogien til nå har vært "kortet", analogien som relasjonsdatabasene bruker kan sies å være tabellen eller matrisen.
Eksempeldatabasen KATALOG_UTLÅN Noen av eksempeldataene ovenfor bør nå ses slik:
76
RELASJONER OG RELASJONSDATABASER
Relasjonen BØKER. DOKl D
Forfatternavn
Tittel
Deweynr
1
Cook, Michael
A manual of archivical description
025.341
2
Benoit, John
Programming in C
005.362
3
Kleven, Terje
Resultatorientert planlegging
352
4
Heissig, Walther
Religions of Mongolia
299.42
5
Fløttum, Johan
Veiledning i bruk av dateltjenesten
621.38196
6
Beechold, Henry
Hj emmedatamaskiner
621.381195 4
7
Braaten, Lars Thomas
Roman og film
839.82
8
Berlitz, Charles
Atlantis
398.4
9
Houm, Philip
Norsk litteratur etter 1900
839.82
Figuren ovenfor er en relasjon eller tabell og relasjonen heter Bøker. Antall felt er imidlertid utvidet med ett, nemlig Dokid. Hvis relasjonen ovenfor beskriver bokstammen i et bibliotek, vil biblioteket ha lånere. Disse beskrives i følgende relasjon:
Relasjonen Lånere.
Lånerid
Navn
Adresse
Poststed
1
Olsen, Ole
Lia 35
3333 Eikenes
2
Aas, Peder
Jordet 9
4444 Sund
3
Persen, Per
Svingen 4
5555 Hagen
RELASJONER OG RELASJONSDATABASER
77
Nå er det ønskelig å beskrive en handling, nemlig et lån. Transaksjonene kan beskrives på følgende måte med relasjonen lån. Relasjonen Lån. Utlånsid
Dokid
Dato
Lånerid
9001100001
2
900111
3
9001200002
9
900112
3
9001300003
4
900113
1
Relasjon, tabell, linjer og kolonner Når relasjonsmodellen brukes, kan alle data presenteres som tabeller eller relasjoner. En relasjon har et navn, den består av et visst antall kolonner (columns) og et visst antall linjer eller rekker (rows). Innholdet i en linje tilsvarer det som til nå har blitt kalt en post. Antall kolonner tilsvarer antall felt i en post. En linje kalles ofte for en rad. I mer teoretiske fremstillinger brukes ofte ordet tuppel. En kolonne beskriver en egenskap. Kolonnen har et navn. Dette navnet tilsvarer det som ovenfor ble kalt feltnavn. Regnearkbrukere vil se at oppbygningen av en relasjon har likheter med organiseringen av et regneark. Denne likheten utnyttes av mange regneark og databaser til å utveksle data. Det eksisterer ingen ordning innen en relasjon. Det betyr at rekkefølgen blant linjene er tilfeldig på samme måten som det ikke eksisterer noen ordning blant elementene i en mengde.
Nøkler og fremmednøkler Hvis en relasjons opplysninger skal kunne brukes av andre relasjoner, må relasjonen inneholde noe som identifiserer hver linje, den må ha en nøkkel. (Nøkkel i en annen betydning enn i omtalen av B-trær) Nøkkelen må ikke nødvendigvis ligge i et eget felt, den kan godt bygges opp fra andre felt hvis en på denne måten oppnår en entydig nøkkel. Hvis det var sikkert at alle lånere i
RELASJONER OG RELASJONSDATABASER
78
et bibliotek hadde forskjellige navn, kunne navnet fungert som nøkkel. Når en nøkkel fra en annen relasjon brukes i en relasjon, som f.eks. lånerid opptrer i relasjonen lån, kalles dette for en fremmednøkkel. Utveksling av fremmednøkler er "limet" som binder forskjellige relasjoner sammen til en database. I relasjonen lån dukker opplysninger fra de forrige relasjonene opp, nemlig dokid og lånerid. For at opplysninger fra en fremmed relasjon skal fungere fornuftig for relasjonen lån, må opplysningen entydig identifisere noe fra relasjonene Bøker og Låner. Blant forskjellige forfattere brukes ordet relasjon noe ulikt. Noen bruker det om selve tabellen, mens andre bruker det om sammenbindingen av to eller flere relasjoner med fremmednøkler. Andre bruker relasjon om forholdet som oppstår mellom forskjellige kolonner i én tabell. Noe av forvirringen på norsk kan komme av at relation og relationship har forskjellig betydning på engelsk. Her brukes relasjon synonymt med tabell.
Forenkling og normalisering Relasjonsmodellen bygger på at alle objekter i en database beskrives på en så enkel måte som mulig. Beskrivelsen av forskjellige objekter deles opp i en rekke frittstående relasjoner. Denne prosessen kalles normalisering. Databaseteorien beskriver eksakt forskjellige nivåer av normalisering. Det snakkes om første nivå, annet nivå osv. På første nivå gjelder regelen at linjen skal ha en nøkkel. Det som kan fungere som en nøkkel, kalles en kandidatnøkkel. Det som faktisk velges som nøkkel, kalles primærnøkkel. Hvis et firma lager en relasjon for sine ansatte kan en tenke seg følgende kandidatnøkler:
- feltene navn og adresse satt sammen - personnummeret - et ansettelsesnummer innen bedriften Normalisering på tredje nivå betyr at opplysninger i forskjellige kolonner er uavhengige av hverandre. Det er f.eks. ingen avhengighet mellom en persons gateadresse og navn. Disse kan derfor stå i samme relasjon ut i fra denne regelen. Hvis postnummer og poststed står i samme relasjon, er relasjonen ikke normalisert på tredje nivå. Grunnen er at det er avhengighet mellom disse opplysningene; et postnummer identifiserer et poststed. Ut fra denne regelen
RELASJONER OG RELASJONSDATABASER
79
kunne postnummer fungere som primærnøkkel i relasjonen postnummer/poststed, og det ville vært tilstrekkelig å la postnummer opptre som fremmednøkkel i relasjonen ansatt eller låner. I relasjonen Lån ovenfor er det bygd opp en ny primærnøkkel uavhengig av fremmednøklene. Denne kan fungere som fremmednøkkel i en ny relasjon. Hvis en tenker seg at databasen skal rapportere noe hvor både dokumentbeskrivelsen og lånerbeskrivelsen skal med, må databasen først hente opp rette primærnøkkel i relasjonen og derfra bruke fremmednøklene for å finne opplysningene om låner og dokument. Dette kan bety masse arbeid for databasen. Hvis relasjonen Lån utvides med feltet dato, kan primærnøkkelen bygges opp av Lånerid og Dokid og dato. Disse feltene fungerer som fremmednøkler i andre relasjoner. Ved den samme operasjonen som ovenfor kan databasen bruke deler av fremmednøkkelen direkte til f.eks. å hente opplysninger om låneren. En del av debatten rundt bruk av personnummer har dreid seg om faren for sammenkobling av opplysninger om en person. Denne frykten er ikke ubegrunnet, men selv om personnummeret ikke var i bruk, er en slik sammenkobling mulig. Det det er snakk om, kan kokes ned til nøkler og fremmednøkler. Så lenge såpass mange typer av opplysninger er kandidatnøkler for en person, er en slik sammenkobling mellom databaser mulig.
Databasen KATALOG_UTLÅN2 Databasen KATALOG_UTLÅN2 er mere normalisert enn KATALOG_UTLÅN. Forfatter er skilt ut som egen relasjon. Et dokument kan finnes i flere eksemplarer, relasjonen eksemplar er innført. Databasen inneholder en relasjon for operasjonen bestilling. Databasen KATALOG_UTLAN2 består av følgende relasjoner der dataene "i" de enkelte relasjonene er fremstilt i en enkel tabell-form: (Relasjonene er forenklet, f.eks. forfatterrelasjonen ville i praksis inneholde mer enn etternavn og fødselsår. Bokdataene er skiftet ut for å få mer "egnede" data.)
80
RELASJONER OG RELASJONSDATABASER
Relasjonen Forfatter.
Fnr
Forfatternavn
Fødselsår
F001
Ibsen, Henrik
1828
F002
Kielland, Alexander
1849
F003
Hamsun, Knut
1859
F004
Hoel, Sigurd
1890
Relasjonen Dokument.
Dokid
Fnr
Tittel
D001
F001
En folkefiende
D002
F004
50 gule
D003
F003
Pan
D004
F002
Gift
D005
F001
Peer Gynt
D006
F003
Sult
D007
F001
Et dukkehjem
D008
F001
Br and
Relasjonen Eksemplar. Eksid
Dokid
E001
D005
E002
D005
E003
D003
E004
D001
E005
D004
E006
D003
81
RELASJONER OG RELASJONSDATABASER
Relasjonen Lånere.
Lånerid
Navn
Adresse
Poststed
LI
Olsen, Ole
Lia 3 5
3333 Eikenes
L2
Jensen, Peder
Jordet 9
4444 Sund
L3
Persen, Per
Svingen 4
5555 Hagen
Relasjonen Utlån.
Dato
Eksid
Lånernr
900115
E005
L2
910116
E001
L3
910117
E004
L2
910118
E002
LI
Relasjonen Leverandør.
Leverandøri d
Firmanavn
Adresse
Postnr
Poststed
LE01
Bok A/S
Kirkegt. 5
2233
Nærby
LE02
Bøker A/S
Kongensgt. 7
3322
Lilleby
LE03
Bøkene A/S
Torggt. 3
4433
Sjøtun
Relasjonen Bestilling. Levid
Dokid
LE02
D004
LE03
D008
RELASJONER OG RELASJONSDATABASER
82
Mange flere relasjoner kan innføres for eventuelt å dekke flere behov. Dataene som skal inn i denne databasen, må ikke nødvendigvis tastes inn. Relasjonen Utlån kan bli ajourført ved å få opplysninger via en lyspenn. Fra relasjonen Bestilling kan en tenke seg et automatisk generert bestillingsbrev.
Fysisk implementering av relasjonsdatabaser Hvordan denne modellen skal implementeres på fil, skal være uavhengig av modellen. En kan som en mulighet tenke seg de forskjellige relasjonene lagt ned på hver sin fil der en post inneholder en aktuell relasjon eller linje. Så bygges det opp indeksfiler på grunnlag av de feltene en ønsker indeksert. Da ville relasjonen forfatter ligget på en fil der feltene var fnr, fnavn og fødselsår. Hvis f.eks. fødselsår skulle være søkbart, måtte feltet ha sin egen indeksfil. Normalt vil databasene lage indekser automatisk på felt som er nøkler eller som opptrer som en del av en nøkkel.
Redundans og konsistens Slik basene SEKVENSIELL og INDEKSERT ble organisert, ville et forfatternavn bli gjentatt i flere poster hvis forfatteren hadde skrevet flere bøker i samlingen. Det blir redundans i basen. I KATAL0G_UTLÅN2 skal en opplysning i prinsippet lagres bare én gang selv om opplysningen brukes i flere relasjoner. Basen blir da ikke-redundant. I SEKVENSIELL og INDEKSERT kunne i tillegg et forfatternavn blitt skrevet på forskjellige måter i forskjellige dokumentbeskrivelser. Dette ville ført til at basen ikke var konsistent. Konsistens betyr nærmest det samme som riktig eller konsekvent. Hvis en database ikke er konsistent betyr det at den inneholder feil. En relasjonsdatabase gir mulighet for å unngå feil. Hvis låner Hansen får ny adresse, vil denne opplysningen endres kun ett sted. Hvis nøkkelen til låner Hansen ligger andre steder, er opplysningene om Hansen i denne relasjonen riktig i samme øyeblikk som endringer gjøres. En konsistent database er en database uten feil. Alle typer opplysninger er til enhver tid oppdatert og gir et riktig bilde av hva som er tilfelle i "verden". Dette oppnås best med liten redundans, dvs. én opplysning er lagret kun ett sted. Dette er sjelden mulig, og det snakkes da om styrt redundans. Man vet at samme opplysning finnes flere steder, men passer på at dette ikke gjør basen inkonsistent. For strenge krav til ikke-redundans kan gå ut over hurtigheten til
RELASJONER OG RELASJONSDATABASER
83
en database. For mange aksesser må til for å samle opplysningene som tilhører et svar. Hvis f.eks. bibliografiske opplysninger om et dokument er brutt opp i mange relasjoner, kan det gå for lang tid for å samle alle bibliografiske opplysninger før de vises til brukeren. At prisen på lagringsmedia er gått så meget ned, bidrar til at det er blitt billigere å "sløse" med plassen for å få større fart. I tillegg er datamaskinbrukere blitt mer kresne. De godtar ikke lange svartider.
Relasjonsalgebra Relasjonsdatabaser virker ofte for en nybegynner som en svært tungvint måte å drive databehandling på. For å få svar på et enkelt spørsmål, må mange tabeller behandles. Styrken til et relasjonelt system er imidlertid at en opplysning ligger bare ett sted. Dette fører til muligheter for hurtig oppdatering og en database uten feil eller foreldede opplysninger. Relasjonsmodellen gir muligheter for en svært presis, nærmest matematisk databeskrivelse, og det er utviklet en presis metode for datamanipulering: relasjonsalgebra. Et spørsmål til basen som f.eks. "Hvilke bøker har Hansen til utlån?" eller "Har dere bøker av Ibsen inne?", skal kunne "oversettes" til et matematisk presist symbolspråk. Et søk kan med denne symbolikken beskrives som en formel. Alle operasjonene i relasjonsalgebraen gir fra seg en ny relasjon som så igjen kan gå inn i et uttrykk. Relasjonsalgebra er analogt med at regning med de fire regneartene alltid fører til nye tall som igjen kan regnes med osv. Ved seleksjon velges ut rader eller linjer fra en tabell. Rader som tilfredsstiller visse betingelser, velges ut. Projeksjon brukes om å velge ut visse kolonner fra en tabell. Join (samling) brukes om å sette sammen to tabeller til én tabell ved bruk av nøkler. Samme nøkkel må opptre i to tabeller for å etablere en join. En kan tenke seg følgende spørsmål stilt til basen KATALOG_UTLÅN2: "Hvilke bøker har jeg til utlån nå? Det holder med utlisting av forfatter og tittel." Vi tenker oss at det er Peder Jensen som spør. Følgende operasjoner vil nå utføres (Les det som følger sakte): - Seleksjon fra Lånere. Raden tas ut der Peder Jensen er navnet. Tabell Midlertidig etableres med én rad. - Projeksjon av Midlertidig. Kolonne Lånerid tas ut. Ny tabell Midlertidig med en rad og en kolonne. Tabellen inneholder bare verdien L2.
84
RELASJONER OG RELASJONSDATABASER
- Join av tabell Midlertidig og relasjon Utlån med Lånernr som felles nøkkel. Midlertidig dannes nå av de to radene i Utlån hvor fremmednøkkel Lånernr er lik L2. Projeksjon av kolonnen Eksid. Midlertidig er nå en tabell med en kolonne og ta rader. Innholdet i radene er E005 og E004. - Join av Midlertidig og Eksemplar med Eksid som felles nøkkel. Midlertidig vil nå bestå en tabell med to kolonner og to rader: Radene E004 D001 og E005 og D004. Projeksjon av kolonnen Dokid i Midlertidig. Midlertidig inneholder nå bare D001 og D004. - Join av Midlertidig og Dokument med Dokid som felles nøkkel. Vi får en tabell med to rader. Projeksjon av Midlertidig. Fnr og Tittel tas med videre. Midlertidig inneholder nå: F001 En folkefiende og F002 Gift. - Join av Midlertidig og Forfatter med utgangspunkt i felles nøkkel Fnr. Projeksjon av kolonnene Forfatternavn og Tittel. Midlertidig inneholder svaret på spørsmålet og kan skrives ut på skjerm eller skriver: Ibsen, Henrik En folkefiende Kielland, Alexander Gift
Dette kan virke (og er) omstendelig (nå ville nesten alle databaseoperasjoner virket omstendelige hvis de hadde vært fulgt på denne måten), slik at de forskjellige systemer har bygd inn en optimalisering av spørsmålene "bak" kulissene. Systemet prøver å omforme spørsmålet slik at det kan besvares på den enkleste måten. Det finnes også andre relasjonsoperasjoner som union, snitt og differanse.
SQL Relasjonsmodellen har etterhvert vokst fram som en standard for databaser. Nærmest "over" det nivået igjen er det blitt utviklet et "språk" for håndtering av databaser. Dette språket har fått navnet Structured Query Language (SQL). Ved hjelp av SQL kan man kunne opprette og fjerne tabeller, sette inn, forandre og slette data, foreta søking og spørring og generelt administrere databasen. Opprettelse av en enkel tabell ser slik ut med SQL: CREATE TABLE PERSON FNAVN ENAVN ADR PONR TLF
(PNR CHAR(11) VARCHAR(15) NOT NOT VARCHAR(15) VARCHAR(20) NOT CHAR(4) NOT CHAR(8));
NOT NULL, NULL, NULL, NULL, NULL,
RELASJONER OG RELASJONSDATABASER
85
I kapitlet om søking vil det bli vist et eksempel på søk med hjelp av SQL. SQL er som en ser et kommandospråk med streng og omfattende syntaks. For en sluttbruker er språket i praksis umulig. SQL har størst betydning rett og slett fordi det er en standard. Noen trente databaseadministratorer kan nok bruke det direkte, men størst utbredelse vil det få (har det?) som protokoll i klient/tjener-kommunikasjon (se eget kapitel om dette).
View En relasjon kan tenkes som en postfil med indeksfiler liggende "rundt". I relasjonsdatabaser kan en tenke seg relasjoner som ikke har noe fysisk "feste". For brukeren virker de som vanlige tabeller, men er oppbygd fra andre tabeller som har sine egne filer. Slike tabeller kalles virtuelle tabeller. En spesiell bruker kan ønske å "se" databasen gjennom en virtuell tabell. Denne kan fungere som brukerens "vindu" eller "view" mot databasen.
Hierarki og nettverk Relasjonsmodellen er den moderne form for databeskrivelse eller datamodell. I databasenes tidlige fase ble en hierarkisk datamodell og på 70-tallet en nettverksmodell mye brukt. Noen av dataene fra KATALOG_UTLÅN2 vises i nettverksform nedenfor.
Hvordan designe en relasjonsdatabase Det finnes relativt klare regler for framgangsmåten for overgang fra en datamodell til relasjonsdatabase. Det finnes program som kan lage en relasjonsbase fra et NIAM-diagram. Det er også mulig å normalisere direkte uten å gå veien om en datamodell. En grei metode for å komme i gang er å sette opp én "supertabell" som inneholder alt. I eksemplet ovenfor kunne en
RELASJONER OG RELASJONSDATABASER
86
tenke seg en kjempetabell over et utlån hvor alle opplysninger ligger i samme tabell, alt i fra fødselsåret til forfatteren som har skrevet boka til lånerens adresse. Denne supertabellen kan så normaliseres.
9. INNFØRING AV MARCFORMATET I DATABASEN MARCBASE I mange bibliografiske databaser brukes feltkoder for å ordne en post. Dette er en meget smart metode for å lagre poster der det ønskes stor fleksibilitet i beskrivelsen. Egentlig ble prinsippet utviklet for å utveksle poster mellom biblioteksystemer, men det kan også brukes for å lagre data "inne i" basen. En omtale av MARC-baser (Machine Readable Cataloguing) hører ikke hjemme logisk på linje f.eks. med en omtale av relasjonsdatabase. MARCbaser er ikke en type databaser. MARC-formatet ble utviklet som et utvekslingformat på 60-tallet. Dette formatet ble senere til ISO-standard 2709. En MARC-post etter denne standarden har et "hode" eller leader som forteller hvor dataene ligger i posten og da i tillegg selve dataene. Et noe mer lesbart format brukes i utveksling mellom bibliotek (i hvertfall i Norge). Dette formatet går her i landet under navnet UB’s utvekslingsformat eller bare utvekslingformatet. Formatene er likeverdige ved at inneholde den samme informasjonen, men ISO 2709 er syntaktisk sett mer robust. Nedenfor vises samme post i utvekslingsformatet og i ISO 2709. *000nam 2200205 4500 *0019302169nbf *008931011 a 0 nor *015 $a0087364$bHORTEN *020 $a8276600077$bib.$cNkr 348.00 *0823 $a792.7 *24500$aDen store revyboka$cYngve Kvistad (red.) ; med tegninger av Gaute Isachsen *260 $a$bMarcus$ccop. 1993 *300 $a348 s.$bill. * 500 $aUndertittel påomslaget: Håndbok for revy- og teaterfolk * 500 $aUtgitt i samarbeid med Norsk Revyfaglig Senter * 650 SaRevyer * 700 $aKvistad, Yngve$jn.$eRed. * 710 $aNorsk Revyfaglig Senter * 740 $aHåndbok for revy- og teaterfolk$eUndert. * 850 $aHORTEN$cl993$sn
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 88
00691dam 2200205 450000100110000000800410001101500 2000052 020003200072082001000104245007900114260003100 1933000017002245000061002415000051003026500011003537 00002900364710002800393740004500421850002000466*93021 69nbf 931011 a 0 nor * $a00 87364$bHORTEN* $a8276600077$bib.$cNk r 348.00*3 $a79 2.7*00$aDen store revyboka$cYngve Kvistad (re d.) ; m ed tegninger av Gaute Isachsen* $a$bMarcus$cc op. 1993* $a348 s.$bill.* $aUndertittel på omslaget : Håndbok for revy- og teaterfolk* $aUtgitt i samarbeid med Norsk Revyfaglig Senter* $aRevyer* $aKvistad, Yngve $jn.$eRed.* $aNorsk Revyfaglig Senter* $aHåndbok for revy- og teaterfolk$eUndert.* $aHORTEN$cl9 93$snA
Kapitlet vil først se på et tenkt, enkelt eksempel hvor datalagringen i selve posten gjøres med et MARC-format. Videre om hvordan indeksering styres i et system som bruker MARC-formatet som lagringsformatet. Videre ses på særtrekk ved formatet og så litt om hvordan norske bibliotekssystemer bygger opp bibliografiske databaser.
Problemer ved faste felt-lengder Databasen INDEKSERT inneholder en svært primitiv beskrivelse av objektene. Det gis bare mulighet til å registrere 3 typer opplysninger. Hvis en skulle utvidet beskrivelsen og fortsatt med samme datamodellen, måtte hver type bibliografisk opplysning blitt tildelt hvert sitt felt i en post i filen KATALOG. Hvert felt måtte blitt tildelt en fast størrelse, felt tittel har f.eks. fått tildelt 50 tegn. I posten med tittelen Versekunsten betyr det at av de 50 tildelte tegn brukes 12 tegn, mens 50 - 12 = 38 blir liggende ubrukt. Hvis en skulle bygd opp KATALOG videre etter denne lesten og gitt rom for alle bibliografiske opplysninger, måtte mange tusen tegn bli satt av for hver bibliografiske post, mens en relativt liten del av posten ville blitt fylt opp av data. Likevel måtte mange felt-opplysninger blitt kuttet av fordi opplysningene tok mer plass enn det som var vanlig i feltet.
Feltkoder Databaser basert på MARC-formatet setter ikke opp faste feltstørrelser for hver opplysning. I stedet kodes de enkelte feltopplysninger, f.eks. slik:
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 89
* 100 * 245
$aHeissig, Walther $aReligions of Mongolia
* 100 og *245 fungerer som feltkoder, mens $a fungerer som delfeltkode.
Hver kode er entydig, og en kan ut fra koden vite hvilken type feltopplysning det er snakk om, uavhengig av hvor opplysningene faktisk er plassert i posten. Indekseringen kan derfor foretas ut fra disse kodene. Hvis en type opplysning ikke er aktuell å registrere i en MARC-post, tar denne ingen plass, noe den ville gjort i en base med fast feltstørrelse. Alle typer opplysninger kan komme med så lenge det finnes en entydig kode for opplysningen. Antall mulige delfelt med denne kodingen blir 999 (001 til 999) ganger 26 (a til z). I tillegg kan et felt eller et delfelt gjøres repetérbart. En MARC-post kan variere mye i størrelse slik at filsystemet må tillate variabel poststørrelse. En database for bibliografiske opplysninger i MARCformat må derfor ha muligheter for variable postlengder.
Beskrivelse av databasen MARCBASE Hvis en tenker seg at databasen MARCBASE bruker MARC-formatet internt til lagring av poster, kan beskrivelsen av denne basen se slik ut: post katalogkort En rekke av tegn, maksimal størrelse 5000 tegn fil KATALOG der postenhet er katalogkort.
indekser til filen KATALOG: indeksfil FORFATTER.INDEKS, indekserer felt som forfatter (som frase) hvis feltet er kodet med 100??$a 700??$a 600??$a 092??$b
indeksfil TITTEL.INDEKS, indekserer felt som tittel (som frase) hvis det er kodet med 245??$a 740??$a 130??$a 240??$a 730??$a 092??$a indeksfil DEWEY.INDEKS, indekserer felt som dewey (som ord) hvis det er kodet med 082??$a 092??$d
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 90
indeksfil FORF_ORD.INDEKS, indekserer felt som forfatter (som ord) hvis det er kodet med 100??$a 700??$a 600??$a 092??$b indeksfil TITJDRD.INDEKS, indekserer felt som tittel (som ord) hvis det er kodet med 245??$a 740??$a 130??$a 240??$a 73O??$a 092??$a
Flere søkeinnganger MARC-formatet tillater en svært inngående beskrivelse av en enhet, og søkeinnganger kan innstilles helt fritt. F.eks. et musikk-bibliotek som katalogiserer musikktrykk, plater, lydkassetter, tidsskrifter og bøker, beskriver de forskjellige dokumentene på litt forskjellige måter og ønsker søkeinnganger tilpasset de forskjellige dokumenttypene. I biblioteksystemet Mikromarc styres indekseringen ved hjelp av en egen fil. I samme fil ligger også listen over stoppord. Ved indeksering sjekkes denne listen før et ord havner i indeksen. I et standardoppsett ser denne filen slik ut: PHRASE TI 245??$a 730??$a 773??$t FO 100??$a 773??$a KO 110??$a 810??$a KF lll??$a SE 440??$a EM 600???? 092??$e GE 655???? KL 082??$a SI 090??$a
245??$w 245??$b 245?? 740??$a 130??$a 240?' 100??$w 700??$a 700? 110??$w 110??$b 710
lll??$w lll??$b 71? 440??$w 440??$p 44 610???? 611? ? ? ? 63
—
'
9
< rc D
710??$t $a 940??$a
?$a 800??$a ?$a 092??$f ??$a ??$a . ? ? ? ? 653????
092??$d 096??$a
WORD
OT 245??$a 740??$a OF 100??$a 110??$a lll??$b OS 440??$a IS 020??$a OE 600????
245??$b 130??$a 700??$a 110??$b 711??$a 440??$w 022??$a 610????
245??$t 240??$a 700??$w 710??$a 811??$a 440??$p
245??$p 092??$a 092??$b 710??$b 911??$a 830??$q
700??$t 930??$a 900??$a 910??$a 773??$a 940??$a
710??$t 940??$a 800??$a 092??$f
730??$a 773??$t lll??$a 810??$a
611???? 630???? 650???? 651???? 653????
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 91
092??$e ÅR 260??$c BE 094???? EX 099???? IN 008??$g 019??$e 019??$a SP 008??$q 041???? GE 019??$d 655??$a MA 019??$b KR 695???? DEFAULT OT OE OF
STOPWORDS DET DIE DU EIN DEINE DEINES ELLER EN ER ET ETTER FOR FRA FROM FRÅ FØR SKAL SOME TH THE THEIR TIL TO UND UNTER UTG VED VI VON WITH ZU ZUM ZUR AF AN AND ANDRE AS AT AUS AVD BEI BIS BY DA DAS DE DEN DER DES GJENNOM HAM HAN HAR HENNE HENNES HIS HOS HUN HVA IKKE IM IN ITS LA MAN MED MELLOM MEN MIN MIT MOT MÅ NEW NR NÅR OCH OF OG OM ON OVER PÅ ABC III II I DEM EINE EINES NICHT DOCH LES LE SOM TRE UTGAVE OPPLAG COP
Forskjellige felt og delfelt indekseres og to-bokstavskodene, f.eks. FO, OF, TI osv., viser hvordan søket må utformes for å søke i de forskjellige indeksene. Ved søket "finn FO ..." dirigeres søket til en spesiell indeks.
Hva ligger i en MARC-post? I en MARC-post ligger opplysningene om det som til enhver tid er definert som et dokument. Opplysningene har ikke gjennomgått noen modellering. Postene kan inneholde en del redundans og kodene har forskjellig funksjon. Noen koder lagrer beskrivelse, andre (f.eks. *700) er opplysninger om hvordan indeksering skal foretas. Ved en ordning av resultatsettet eller en rapportering, må postene ordnes. Ordningen kan skje ut i fra et hovedordningsord. I en MARC-basert base vil hovedordningordet normalt være verdien i *100$a-feltet. Hvis dette er tomt, brukes opplysningen i *245$a-feltet (tittelfeltet). Ett av disse feltene må derfor være utfylt. Når MARC-formatet skal plasseres i forhold til andre datalagringsformat, er det verdt å merke seg at kodene kan sies å være generiske (generisk i denne sammenhengen vil si at de forteller noe om innholdet til feltene).
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 92
Syntakssjekk av en MARC-post Et program som mottar en MARC-post, kan til en viss grad sjekke om verdier i et felt er riktige, f.eks. om ISBN er syntaktisk korrekt. Det kan også sjekkes (igjen i en viss grad) om de forskjellige feltene er riktig i forhold til hverandre, f.eks. skal ikke samme opplysning stå både i *100$a og *700$a og samme opplysning skal ikke stå både i *245 $a og *240 $a. En beskrivelse må ha et minimumsnivå, i biblioteksystemer kreves at f.eks. *245$a er utfylt.
MARC-formatet brukt ved flernivåkatalogisering Bibliotekarer ytrer ofte ønske om muligheter for flernivåkatalogisering. Disse ønskene kan formuleres i datamodelleringsspråk eller dokumentpostene kan arrangeres i hierarki der opplysninger kan arves mellom dokumentpostene (som i objektorientert programmering). De forskjellige biblioteksystemene byr ofte på muligheter for autoritetsregistre, f.eks. for forfatternavn. Disse viser at en viss grad av modellering er foretatt. I LC-MARC er det definert eget format for utveksling av f.eks. forfatteropplysninger. Det norske biblioteksystemet Bibsys knytter dokumentposter sammen med lenker. En post kan inneholde opplysninger om at den har poster hierarkisk "under" eller poster hierarkisk "over" seg. F.eks. en utgave beskrives bare med det som er spesifikt for denne utgaven og lenkes til det som er felles for alle utgavene. Det er tillatt med 5 nivåer. Hver post har en éntydig kode kalt objektid. Det opereres med objekter som f.eks. serieobjekt, hefteobjekt. Lenkingen "oppover" utføres gjennom MARC-tag *491 $nOBJEKTID. Dette feltet er repetérbart. En post kan plasseres i flere hierarkier. Det eksisterer ingen MARC-kode for lenking "nedover", men systemet tar likevel vare på denne koblingen, men ikke gjennom en MARC-kode. I det danske DANMARC er det definert egne tager for henholdsvis "oppover", f.eks. til posten for en hel verdenshistorie og "nedover" f.eks. til enkeltbindene i verdenshistorien. Et slik system krever at hver dokumentpost er identifisert med et entydig nummer. Dette nummeringen kan ikke være nummereringen databasen bruker "bak kulissene" og det kan heller ikke være ISBN. I DANMARC brukes *01500$a for å vise nedover og *01400$a for å vise oppover. *001 brukes for å lagre et entydig nummer for hver post. Eksempelet nedenfor viser en slik sammenbinding (Eksempelet et hentet fra danMARC 1989 s.67):
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 93
Hovedpost:
001 X333444555 01500$aX444555666 01500$aX555666777 24510$aGjellerups verdenshistorie$eredigeret av Jens Winther
Seksj onspost
001 X444555666 01400$aX333444555 2 4 5 0 0 $ aGrundbok Flere seksjonsposter følger.
I den siste utgaven av NORMARC kodes lenker med feltkoder fra 760 til 79X. En kan lenke f.eks. til overordnet enhet, underordnet enhet, orginalspråkutgave, oversatt utgave, supplement. Denne lenkingen kan kalles relasjonell. Det som imidlertid mangler er selve begrepene primærnøkkel og fremmednøkkel. Det er anledning til å bruke nøkler, men disse er lokale for systemet og kan derfor ikke utnyttes ved utveksling. Det en imidlertid kan tenke seg er et system for "nøkler" som vedlikehodes nasjonalt og kan utnyttes av alle systemene. Dette vil bli skissert som et forslag i avslutningskapitlet.
Særtrekk ved bibliografiske databaser Kanskje det viktigste krav til et bibliotekssystem, er muligheten til å importere og eksportere bibliografiske poster i MARC-formatet. Hvordan et system arrangerer seg på fil-nivå med poster og indekser, er mer et internt problem. Det er imidlertid vanskelig å bygge opp en bibliografisk database uten et verktøy som tillater variable lengde på felt og poster. Et biblioteksystem vil også inneholde "relasjonelle" trekk som autoritetsregister og lenking mellom ulike poster. Hvordan dette er løst på filnivå, er igjen systemenes egen sak. I praksis finner en mange særløsninger hvis en graver seg langt nok ned i systemene. For å oppnå tilstrekkelig høy fart ved søking og rapportering, legges det ofte inn mye redundans i datalagringen. Biblioteksystemet Bibsys er bygd opp med databasesystemet Adabas. Adabas tillater varabel felt- og postlengde. Programmeringsspråket som brukes er Natural. Natural er spesiallaget for å håndtere Adabas og inneholder mye
INNFØRING AV MARC-FORMATET I DATABASEN MARCBASE 94 mer enn det som ligger i et 3. generasjonsspråk, det vil si at det inneholder svært mange databasekall og databaseoperasjoner. Bibliotekssystemet Bibliofil er bygd opp med databasesystemet Informix og med programmeringspråket C. Mikromarc er bygd opp med databasesystemet Qbase og med programmeringsspråket C. Qbase er et egetutviklet databasesystem som bruker et "MARC-prinsipp" i selve lagringen av postene. Ababas, Informix og Qbase er i utgangspunktet relasjonelle systemer. SIFT-BIBLIO er bygd opp med programmeringsspråket Fortran og et databasesystem som i utgangspunktet er laget for fulltekst. Fulltekstsystemet TRIP brukes ved UBO som verktøy for å bygge opp bibliografiske databaser. TRIP er også utbygget med vanlig felt/postbehandling. Det er denne delen av systemet som er i bruk ved UBO og fulltekstdelen brukes i praksis ikke. UBO:BOK bruker et selvutviklet databasesystem skrevet i Fortran. De bibliografiske postene ligger lagret i et filsystem som tillater variabel lengde og er lagret i 2709-formatet. Å la enkle tekstfiler styre indekseringen og å styre visningen av poster også ved frittstående filer, er teknikker som begge ble utviklet ved UBO.
10. ISBD, AACR2, MARC Boka har fulgt bibliografiske data gjennom ulike systemer for å demonstrere og forklare ulike aspekter ved databaser. Utgangspunktet for et moderne system vil være en datamodell. Datamodellen brukes som utgangspunkt for å lage systemet. I mange bransjer er det imidlertid drevet ikke-elektronisk databehandling før databasenes tid. Et datasystem må ta hensyn til en slik praksis. Biblioteker har drevet ikke-elektronisk databehandling sålenge de har eksistert fantes. De moderne biblioteksystemene har derfor måttet innarbeide eksisterende praksiser og standarder. Å beskrive et dokument kalles tradisjonelt beskrivende katalogisering. Bibliotekvesenet har blitt enige om standarder slik at en beskrivelse av et dokument og oppbygging av en katalog kan være lik overalt. Standardiseringsarbeidet begynte på 60-talet. Det ble utarbeidet prinsipper for valg og utforming av ordningsord i forfatter/tittel-katalogen. Tidlig på 70-tallet ble International Standard Bibliographic Desciption etablert (ISBD) utarbeidet. Senere på 70-tallet fulgte Anglo-American Cataloguing Rules utgave 2 (AACR 2). Fra 60-tallet har ulike MARC-format vært i bruk for utveksling av bibliografiske poster. Det er utarbeidet en generell ISBD, og det er utviklet ISBD’er for ulike typer dokumenter så som monografier, kart o.l. "The three main characteristics of ISBD are as follows: (1) its comprehensiveness; (2) its fixed order of data elements; and (3) its use of punctuation as delimiters or dividers between the different bibliographic elements." (Hjortsæter 1991, s.13). En beskrivelse foretatt etter ISBD inneholder følgende hovedfelt (sitert etter Spangen 1983, s.13): Tittel og angivelse av ansvarshavende Utgave Spesielle detaljer vedrørende materiale (eller publikasjonstype) Utgivelse, distibusjon, etc. Fysisk beskrivelse Serie Note Standard-nummer og leveringsbetingelser
Nedenfor vises en bibliografisk post med rekkefølge og tegnsetting etter ISBD:
ISBD, AACR2, MARC
96
Nilsen, Tove Chaplins hemmelighet : roman / Tove Nilsen. - Oslo : Oktober, 1989. - 368 s. ; 21 cm
ISBN 82-7094-510-2
AACR2 bygger på ISBD, men går videre. AACR2 dekker spørsmål som hovedordningord, søkeelementer, hvor opplysninger skal hentes fra, formen på opplysningen (f.eks. forfatternavn og korporasjonsnavn), bruk av standardtitler, hvordan deler av verk skal katalogiseres, hvordan flernivåkatalogisering skal foretas, regler for forkortelse, henvisninger i en katalog. De norske katalogiseringsregler som er bearbeiding av AACR 2 (Spangen 1983), dekker foruten beskrivelse av monografier også beskrivelse av småtrykk, kartografisk materiale, manuskripter, musikktrykk, lydopptak, filmer, grafisk materiale, maskinlesbare filer, tre-dimensjonale gjenstander, mikrofonner og periodika. ISBD, AACR 2 og MARC henger sammen. Tom Delsey uttrykker både standardenes styrke og mangler på følgende måte (Hjortsæter 1991, s. 57): ".. That is, the analysis of bibliographic data thus far, regardless of whether it has centered on the description of a specific type of material or whether it has attempted to draw parallells between descriptions of various types, has to a very large extent confined itself to the formal structures of the conventional catalogue entry. The ISBDs, AACR2 and the MARC formats have all taken as the starting point the traditional unit entry; they have analyzed its constituent parts more from the perspective of form than of function; they have developed a kind of taxonomy of the unit entry and have marshaled into a reasonable uniform structure many previously existing anomalies within and between various types of entry. But they have not to any significant degree carried the analysis of the bibliographic data beyond that formal plane. We are now beginning to see new develoments in computer technology and the analytical methodologies associated with it that are likely to bring new pressures to bear on the formal structures that have been developed for bibliographic data over the last two decades, and as a consequence we may expect to see yet another new direction emerge in the standardiization of descriptive cataloguing. Gradually the flat-file, unit-record approach that has dominated the design of bibliographic databases for the last 20 years is giving way to the the technology of the relational databases and analytical theories og
ISBD, AACR2, MARC
97
data modeling incorporating such concepts as the third normal form and canonical synthesis. The differences between the conventional form of analysis that we have seen reflected in the MARC formats and these newer data analysis techniques are analogous to the differences in the field of linguistics between the traditional approach to prescriptive grammar that we all labored under as schoolchildren and the more recent theories of descriptive grammar as reflected in concepts such as Chomsky’s deep structure in language. .." Svenonius forsøker seg på en slik datamodellering som Delsey antyder i artikkelen "Bibliographic entities and their uses" (Hjortsæter 1991). Artikkelen definerer hva en bibliografisk post eller enhet er: "Theoretically, any description of any bibliograpic entity constitutes a "bibliographic record."" (S. 79). Videre vises det hva slags forhold en bibliografisk enhet kan stå i til andre bibliografiske enheter:
".... Bibliographic entities can also be related to other bibliographic entities. An important example is the relationship between entities representing manifestations of the same work. Other examples include the set-subset (hierarchical) relatonship, the vertical (part-whole) relationship, the chronological (successive edition) relationship and the deritative relationship."
Svenonius skisserer videre hvordan dataelementer som vanligvis ikke går inn i en bibliografisk katalog kan inkorporeres. Disse tankene blir fulgt opp i underkapitlet Bibliotekskatalogen som hypertekstorganisator.
11. FULLTEKSTDATABASER Fulltekstbaser og multimediabaser Moderne lagringsteknologi tillatter lagring av objektene og ikke bare beskrivelsen av dem. Hele tekster kan legges inn og også bilder, animasjon, lyd og video. Når hele tekster er lagt inn, snakkes det om fulltekstdatabaser. Når bilder o.l. legges inn i tillegg, blir basene multimediadatabaser. Hvis fulltekstbaser og multimediabaser organiseres på en spesiell måte, kan de kalles for hypertekst/hypermedia-baser. Organisering av hypertekst/hypermedia-baser blir omtalt i et eget kapitel. Terminologien rundt disse spørsmålene er uklar, men videre i denne boka brukes ordene på denne måten. "Hyper" brukes om organiseringsmåte, mens multimedia brukes om teknologien som brukes. Mye brukte databaser som Lovdata, DOP (database for offentlige publikasjoner) eller Aftenpostens A-tekst er fulltekstdatabaser, mens f.eks. Groliers leksikon er en hypermediabase.
Indeksering ord for ord Det har tidligere blitt beskrevet hvordan ord fra forskjellige felt legges i indeksfiler. Ved indeksering av hele tekster gås i tillegg tekstene igjennom og de enkelte ord legges på indeksfiler med opplysninger om hvilket dokument det står i, på hvilken side eller i hvilket avsnitt det befinner seg, og opplysninger om hvilken linje ordet ligger i og hvor på linja det befinner seg. Denne typen indeksering kalles fritekstindeksering. Som ved ordindekseringen som ble foretatt ovenfor, kan det legges det inn en stoppordliste som hindrer indeksering av ord som ikke har semantisk betydning. Mange mente at fritekstindeksering skulle løse alle gjenfinningsproblemer. En av problemene med fritekstindeksering er svært lav presisjon, dvs. at brukeren finner muligens det brukeren trenger, men det følger svært mye "rusk" eller "støy" på kjøpet. Det tilbys derfor mulighet for å gi tilleggsopplysninger. Selve teksten eller dokumentet må beskrives i tillegg. I en avisdatabase vil en artikkel bli beskrevet med f.eks. forfatter, dato og utførlig "intellektuell" emnebeskrivelse i tillegg. Fritekstsystemer er plasskrevende. Hvis selve dokumentet tar 1 enhet plass, kan indekser og annet som gjør søk mulig ta 4 til 6 ganger så mye plass.
FULLTEKSTDATABASER
99
Ved vanlig indeksering av bibliografiske data regner en med at indeksene tar like mye plass som selve katalogposten. Hvis det er krav om å søke venstretrunkert eller med maskeringstegn, vil indeksene vokse ytterligere.
Ulike fulltekstsystemer Det finnes flere fulltekstsystemer i bruk i Norge. De to mest utbredte i bibliotekssammenheng er det norske SIFT og det svenske TRIP. Begge har sin styrke i rask gjenfinning i store tekstmengder. Begge har også utviklet systemene slik at de opererer med mer strukturerte felt i tillegg til fulltekst. Generelt ser en at ulike databasetyper utvikler seg mot hverandre, dvs. at relasjonelle systemer utvikles for også å kunne behandle ustruktert tekst og at fulltekstsystemene utvikles i retning av relasjonelle databaser. Det finnes også databaser som kan behandle fulltekster uten at det nødvendigvis er snakk om fritekstindeksering, dvs. at tekster kan legges inn uten at de er søkbare gjennom indekser.
Fulltekstsøk uten indeksering Hvis en leter etter et ord i en ordinær tekstbehandler vil søkingen foregår ved et sekvensielt gjennomløp av dokumentet. (Nå er det utvikling på gang hvor tekstbehandlere og/eller operativsystem bygger inn fritekstindeksering inn i sine produkter.) Ved gjennomløp av store dokument eller mange dokument tar dette tid. Det er imidlertid utviklet egne prosessorer for tekstsøk som kan få stor effekt på hvordan databaser organiseres. Den norskutviklede prosessoren MSI60 kan lete gjennom tekst på en måte som tidligere ikke har vært mulig. Veien om søk i indekser kan bli unødvendig.
12. FORBEDRING AV FULLTEKSTGJENFINNING Noe av essensen i metodekapitlet var å vise at språk er meget komplekse systemer. Fritekstindeksering krever mye av både hardware og software. Fritekstindeksering må ta utgangspunkt i ordenes form, dvs. hvordan de er skrevet i teksten, "bil" er helt forskjellig fra "bilene" og "gås" er forskjellig fra "gjess", mens alle homografer oppfattes likt. Det foregår mye arbeid for å forbedre fritekstsøk, her vil noe av dette bli kort presentert. Grovt sett er det to veier å gå for å forbedre gjenfinningen. Den ene er å "databehandle" ordene i teksten slik de faktisk foreligger. Den andre er å legge inn kontrollerte ordlister for å støtte gjenfinningen. Kontrollerte ordlister kan være synonymsamlinger eller ordlistene kan være fullt utbygde tesauri. Forskjellige fulltekstsystemer som SIFT eller TRIP har støtte for vei nummer to, synonymbehandling eller tesauri. Uten å ha noen oversikt, tror jeg at disse mulighetene utnyttes i liten grad, rett og slett fordi det et vanskelig og omfattende arbeid å vedlikeholde slike ordlister. På vei nummer én (som dette kapitlet beskriver) er lite gjort bortsett fra som forsøk. Uten igjen å ha noen oversikt tror jeg grunnen til dette er flere. Systemutviklere har hatt mer enn nok å gjøre med å få til sikre og raske fulltekstsystemer for store tekstmengder. Videre er det usikkerhet om arbeidet med å implementere noe av det som skisseres nedenfor står i forhold til en mulige forbedring av gjenfinningen.
Rotlemmatisering Hvis en tenker seg en jurist som søker etter regler for arv, er det sannsynlig at både arv og arving vil være relevante søkeord selv om de har ulik betydning. Disse ordene har forskjellige stammer, men samme rot. Et lemma defineres slik: "Et lemma brukes om en samling av bøyningsformer innen samme paradigme." (Fjellvik 1987, s. 67) Slik paradigme her brukes, blir formene arv, arven, arvens ett lemma. Videre defineres rotlemma slik: "Endelig vil en la et rotlemma bety en samling av alle ord som kan føres tilbake til samme rot uten at betydningen til ordet blir endret. Et eksempel på ordformer som tilhører samme rotlemma er:
ARV(S), ARVEN(S), ARVER(S), ARVENE(S) ARVE, ARVES, ARV, ARVER, ARVET
FORBEDRING AV FULLTEKSTGJENFINNING
101
ARVING(S), ARVINGEN(S), ARVINGER(S), ARVINGENES(S)" (Fjellvik 1987, s. 67) Det som ønskes er: "En metode for automatisk rotlemmatisering vil derfor ha som oppgave å samle ord med samme rot (eller røtter hvis det er sammensatt) - forutsatt at ordene har samme betydning når man ser bort fra den forskjellen som ligger i selve bøynings- og avledningsendelsene." (Fjellvik 1987, s. 68). Hvis juristen søker med "arv", vil automatisk rotlemmatisering føre til at søket utvides eller ekspanderes med alle ordformene innen et rotlemma. Et program må være i stand til å gjøre følgende: 1) å identifisere bøyningsendelsene til et ord 2) å identifisere avledningsendelsesene til et ord 3) å sammenføre ulike rotformer med samme ord
En slikt program må omforme en masse språkregler til algoritmer. Rotlemmaet ovenfor er relativt greitt, mens f.eks. sykkel, sykler, sykling er verre. Forsøkene som er gjort, har gitt relativt gode resultater (Fjellvik 1987).
Splitting av sammensatte ord Hvis et søkeord ligger i teksten som et ledd av et sammensatt ord, kan det ha interesse for søket. Hvis søkeordet er narkotika, har narkotikasalg interesse. Ved automatisk splitting av ord, lages det program som skiller leddene fra hverandre. Også her har forsøkene som er gjort, gitt bra resultat (Fjellvik 1987).
Automatisk trunkering En enklere måte å forbedre fritekstsøk er å la et program foreta automatisk trunkering. Automatisk trunkering er mye lettere å realisere enn rotlemmatisering og en del av effektene til rotlemmatisering oppnås. (Fjellvik 1987).
FORBEDRING AV FULLTEKSTGJENFINNING
102
Termvekting Vekting vil si at et ord som står mange ganger i et dokument får høyere vekt enn et ord som står bare en gang. Ved ulike metoder for termvekting tas det utgangspunkt i en samling som består av flere dokument. Det kan da beregnes en dokumentfrekvens, dvs. hvor mange dokument en gitt term opptrer i. Termfrekvens forteller hvor mange ganger en term opptrer i ett dokument. Termens vekt (som igjen avspeiler dens semantiske betydning) kan beregnes ut i fra ulike formler. Det enkleste mål er termfrekvensen selv. Andre mål beregner termvekten i forhold til dokumentfrekvens. Hvis en term opptrer i ett dokument f.eks. én gang, men dokumentfrekvensen er høy, er termvekten lav. Hvis en annen term opptrer i samme dokument, men termens dokumentfrekvens er lavere, vil annens term termvekt være høyere (veie semantisk tyngre). Denne grunnidéen kan raffineres med ulike matematiske formler (Salton 1984, s. 63). En terms diskrimineringsverdi (term discrimination value) måler i hvilken grad den skiller dokumentene i en samling fra hverandre (som igjen viser til egnethet som søkeord). Termer med høy frekvens og termer med meget lav frekvens viser seg å ha lav diskrimineringsverdi i en samling.
Dokumentet som vektor Som forklart i kapitlet om vektorer kan et dokument ses på som en vektor i termrommet. Hver ulik term har sin akse eller dimensjon. Rommet har like mange dimensjoner som det er forskjellige termer i samlingen. Et likhetsmål mellom dokumenter blir hvor "tett" vektorene ligger. Hvis rommet har tre dimensjoner (dvs. det er tre ulike termer i samlingen), går det an å visualisere dette. Likheten mellom to dokument kan ses. Når vi går fra tre til i prinsippet uendelig mange dimensjoner, kan imidlertid likhetsmålet brukes på samme måte. (Vi kan godt late som om vektorene er synlige i det tredimensjonale rom). I kapitlet om vektorer ble vinkel og cosinus forklart som likhetsmål. Disse målene tar f.eks. ikke opp i seg lengden på dokumentvektorene. Hvis en bruker det to-dimensjonale rommet som utgangspunkt, vil alle dokumenter består bare av ordene Norge og Russland. Følgende dokumenter er da like: "Russland Norge" og "Russland Norge Russland Norge". I de enkle eksemplene har en ordform, f.eks. Norge, fått hver sin akse eller dimensjon. Metodene som er nevnt ovenfor, f.eks. rotlemmatisering eller
FORBEDRING AV FULLTEKSTGJENFINNING
103
splitting av sammensatte ord, kan godt brukes for å forbedre vektorrepresentasjon av dokumenter. Rotlemmatisering vil redusere antall dimensjoner og sammenføre semantisk beslektede ord. Her har dokumenter vært sett som en vektorer i et termrom. Det er også mulig å se termene som termvektorer i et dokumentrom.
Hjelp fra datalingvistikken? Metodene ovenfor er utviklet i bibliotek/gjenfinnings-miljøer. Datalingvistikken arbeider med språk fra en annen vinkel. En gren av datalingvistikken kalles Natural Language Processing og teknikker herfra er tatt i bruk å forbedre gjenfinningssystem. NLP arbeider med "..The applications include machine translations, natural language interfaces and the stylistic of texts.." (Smeaton 1992, s. 268) Mens teknikkene ovenfor konsentrerer seg om enkeltord prøver NLP å få med seg kontekst:
"Providing effective access to information expressed as natural language can only be successfully done by processing the actual language of the text rather than just the individual words that have occurred. However, arguably the most extensive aspect of natural language is the problem of ambiguity of interpretation, which occurs at all levels of NLP.... Ambiguity (...) are inherent properties of natural language and make automatic processing it very difficult, but not impossible." (S. 268)
Datalingvistikken prøver altså å komme lenger enn å behandle hvert ord for seg. Et annet fenomen som forsøkes fanges inn er det som kalles anafora (eng. anaphora). Det vil si at det i teksten ligger henvisninger til eller kortformer av noe som er mer fullstendig beskrevet lenger opp i teksten eller i en annen tekst eller at kortformen er forstålig siden begge parter i en dialog har samme kontekst. Hvis et brev inneholder "Saken vi diskuterte på møtet i går", sier "saken" lite om hva som ble snakket om på møtet. Hvis brevet går inn i fulltekstsystem kan det være vanskelig å finne brevet med et søk som tar utgangspunkt i en beskrivelse av "saken".
13. HYPERTEKST Fra fulltekst til hypertekst Fulltekstsystemene er kjennetegnet ved at hele tekster tas inn i databasen. Disse tekstene ligger som isolerte enheter eller som enheter i et tradisjonelt post/felt-system. Enheten kan være den enkelte artikkel, en hel bok eller et kapitel i en bok. Enheten Egger som sekvensiell tekst. Hva enheten er, bestemmes i designen av databasen. Hvis enhetene organiseres i forhold til hverandre eller det lages henvisninger eller pekere mellom disse enhetene, kan det kalles en hypertekst. Hypertekst er definert som ikke-sekvensiell tekst. En tekst i en bok er sekvensiell fordi boka er sekvensiell, avsnitt følger på avsnitt, side følger på side. Mange typer tekst er sekvensiell av "natur”, f.eks teaterstykket eller romanen, slik at boka ikke blir noe hinder. Annen type tekst er av natur ikkesekvensiell, f.eks. teksten i en ordbok eller et leksikon.
Rammer og lenker En hypertekst består grovt sett av rammer eller noder. De forskjellige rammene kan inneholde ulik mengde tekst, det kan f.eks. være en leksikonartikkel. Rammene kan ordnes i forhold til hverandre, f.eks. rammen som inneholder teksten om Halden ligger underordnet rammen om Østfold. Det kan også etableres pekere (eller lenker) fra én ramme til en annen. I en ramme som omhandler Antarktis kan det f.eks. vises en peker til rammen som inneholder Roald Amundsen. Denne pekeren kan Figur 13.1 Hierarkisk organisering av rammer. Peker fra én av rammene til en brukes til et hopp direkte til annen. rammen om Amundsen. En kan da snakke om en kilderamme og en målramme. Ordet anker brukes om steder hvor en peker går ut eller dit lenken peker til.
HYPERTEKST
105
Hypermedia En hypertekstbase kan bruke multimediateknologi og bli til en hypermediabase. "Hyper" sier noe om organiseringen, mens multimedia brukes om den teknologiske plattformen. En ramme kan da inneholde et bilde, en animasjon, et lydinnslag eller et videoinnslag. Ramme må forstås på den samme "rekursive" måten som f.eks. fil. Et billedramme kan eksistere som en selvstendig ramme, men kan også gå inn som en del av en annen ramme. I litteraturen brukes hypertekst slik at det også dekker hypermedia.
Organisering og gjenfinning Hypertekst er ikke én ting eller én måte å organisere på. Det finnes derfor nesten like mange typer hypertekst som det finnes hypertekstbaser. Når skjønnlitterære tekster publiseres som hypertekst ligger teksten som en sekvensiell "akse" mens tolkninger, litteraturhistorie o.l. ligger som rammer brukeren kan komme til med lenker hvis brukeren vil. Dette ligner på en ny måte å presentere fotnoter på og hypertekst er også blitt kalt "an extended footnote". Organiseringen av en hypertekst må være gjennomtenkt for at en bruker ikke skal gå seg vill. Ved bruk av et leksikon i bokform, spiller den fysiske boka en viktig rolle for å vurdere en del (f.eks. en artikkel) plass i helheten. Det kan være verre å gi helhetsfølelse ved bruk av en skjerm. De fleste elementene som er nevnt ovenfor spiller inn ved oppbyggingen av en hypertekst. En eller annen form for datamodellering må være foretatt. De enkelte rammene vil ha navn og kan være beskrevet. Rammene ligger som fulltekst, fullteksten kan være indeksert. Termvekting kan være lagt inn. Rammene kan være organisert i forholdet til hverandre etter samme prinsipper som ordningen av termen i et indekseringsspråk. Lenker mellom rammene må være lagt inn. Ferdiglagede stier eller veier eller "trails" kan være satt opp for brukere som vil ha en sekvens.
Fra tekstbehandling til hypertekstbehandling Hypertekst har til nå blitt bygd opp med spesielle verktøy. Macintoshmaskinene har f.eks. vært utstyrt med HyperCard, hvor en med kortanalogien har kunnet bygge opp hypertekst. Som nevnt tidligere i teksten søker så og si alle systemer etter det beste hos andre systemer. Fulltekstsystemer åpner for
HYPERTEKST
106
relasjonell databehandling, relasjonelle systemer åpner for fulltekstbehandling, tekstbehandlere tilbyr fritekstindeksering osv. Forskjellige tekstbehandlere prøver således å åpne for hypertekstmuligheter, dvs. at muligheter for å bygge opp hypertekst legges inn som verktøy i tekstbehandlere.
Bibliotekskatalogen som hypertekstorganisator Bibliotekskatalogen inneholder referanser til dokument. Det er imidlertid mulig å tenke seg katalogen som inngang og organisator til fulltekster, forfatterbiografier, multimedia-innslag som bilder og lyd. Svenonius vurderer slike løsninger fra et datamodelleringsynspunkt (Hjortsæter 1991, s. 80): "Each bibliographic entity, then, can be regarded as håving attributes. As it has several we can say it participates in a variety of entity-attribute relationship. Each attribute, deemed to be of bibliographic use, becomes a separate data element on the bibliographic record for that entity. At the same time an attribute characterizing a bibliographic entity can itself be regarded as an entity and become the object of description. For example, we can make a description of an edition which includes as a data element its author. We can then describe the author and in the description include as data elements his attributes, e.g. name, affiliation, area of study. In an entity-attribute data base of the type commonly referred to as hypertext, it is possible to leap-frog from a data element in one record to a description of the entity denoted by the dataelement in another record. For instance, in viewing a bibliographic record that provides a description of Picasso’s Guernica, one can simply put a pointer on Picasso’s name, a data element in the description, and be led to the author record which describes Picasso. A pointer to Picasso’s birthplace, a data element on the record descibing Picasso, would lead to a place record descibing that entity, etc. Because it could introduce confusion to regard entities such as people, places, organization and subjects as bibliographic entities and to call the records describing them "bibliographic records", in what follows the term "bibliographic records" will be used to designate only the individual and aggregate entities of book and nonbook materials collected by libraries."
Ved SBIH har det blitt laget program hvor forfatterbiografier, et dokuments tekst, omtale av et verk, bilder av forfattere, opplesning av verk kan nås direkte fra den tradisjonelle bibliografiske posten (Bakken 1993). Programmet opererer med den vanlige MARC-formatet, men bruker ledige tager for å angi
107
HYPERTEKST "hyperlink" til andre typer opplysninger. Et skjermbilde i dette programmet kan se slik ut: KATALOG FOR FAGOMRÅDET NORSK LYRIKK
Søkte dokumenter. Forfatter : Tittel '■ Utgiveroppl. : Kollasjon/sidetall: Vertsdokument :
530 dokumenter
4. av 8 vises.
Hauge, Olav H. Me sigler ikkje same havet Oslo : Noregs boklag, 1966 80 s. Dropar i austavind
Høre opplesing Se dokumentets tekst Oppi. om dokumentet Se forfatterbilde(r) Se forf. oppi.
F2 F3 F4 F5 F6
Fl - Hjelp Home - Første dokument End - Siste dokument PgUp - Forrige dokument PgDn - Neste dokument Esc - Tilbake
Internettjenesten World Wide Web WWW er forsøk på å lage hypertekst i virkelig stor skala. Et WWW-dokument kan fritt bruke og lenke seg til alle andre WWW-dokumenter (antallet vokser eksplosivt). (Hvordan lenkingen skjer, vil bli vist under underkapitlet om SGML der et WWW-dokument tas som eksempel). WWW legger opp til bruk av multimediaeffekter som bilder, lyd, animasjon og video. Det legges også opp til rammetyper som går ut over vanlig hypertekst, det er mulig å lage lenker til helt andre tjenester som andre Internettjenester, men også til tradisjonelle databasesøk. Det som gjør WWW særlig interessant er at grensesnittet mot brukeren er eller kan være tradisjonell, løpende tekst.
Fragmentering eller oversikt Hypertekst blir satt på spissen møtt med to ulike holdninger. Den ene er mer i retning: Vi moderne mennesker skal bli ytterligere fragmentert og forvirret. Den andre er mer: Omsider har vi fått noe langt bedre enn boka. En form
HYPERTEKST
108
som kan gi oversikt, en form hvor en leser kan velge lesenivå, en form hvor en leser lett kan komme til mer utfyllende tekst, en form hvor viktig/uviktig eller syntaks/semantikk kan tydeliggjøres. Personlig heller jeg mer til versjon 2. Her ligger det store muligheter. Det interessante spørsmålet er mer hvordan slike dokumenter skal skrives og designes og hvordan de faktisk blir lest.
14. SØKING I EN DATABASE De forrige kapitlene har prøvd å se databaser delvis fra "oppbyggersiden", dvs. hvordan de er organisert. Dette kapitlet prøver å se dem fra søkesiden.
Søkespråk Når vi søker i en database, brukes et søkespråk mot databasen. Et søkespråk kan være kommandostyrt eller menystyrt. Menystyring vil si at søkeren under søkeprosessen gjør valg fra ferdigoppstilte menyer. Ved kommandostyring må brukeren taste inn kommandoer. F.eks. inntasting av kommandoen "finn FO Ibsen, Henrik" søker etter alle dokumenter som har Ibsen som forfatter. Kommandostyring krever at søkeren vet mer om databasen og dens oppbygning enn menystyring. I eksemplet ovenfor kunne en tenke seg at brukeren først ble presentert for hvilke felt det gikk an å søke i, brukeren velger feltet forfatter og taster så inn Ibsen, Henrik. Det finnes så å si ett søkespråk for hver database. Det er forsøkt å lage standarder og det skjer en viss etteraping av de beste måtene å søke på. I dette kapitlet er det prøvd å trekke ut en del generelle trekk ved søking.
Common Command Language Common Command Language (CCL) har blitt utviklet som en standard for kommandostyrte spørrespråk i bibliografiske databaser. Når CCL gikk over til å være en offisiell ISO-standard fikk den navnet: "Information and Documentation - Commands for Interactive Text Searching" (ISO 8777). På norsk har standarden fått navnet: "Kommandoer for interaktiv tekstsøking". Der jeg ferdes går den likevel under kortnavnet CCL. CCL er mer enn et søkespråk, den angir også kommandoer for åpning av baser, for å få hjelp underveis, for å "se inn" i indekser eller for å se en søkehistorikk. At "tekstsøking" brukes i det offisielle navnet, viser at standarden også kan brukes i fulltekstbaser. Nå er det imidlertid få system som eksakt følger eller støtter standardens syntaks.
Søk og resultatsett Et søk formuleres i et søkeutsagn og etablerer et resultatsett. Et enkelt søkeutsagn kan se slik ut: FINN FO=Hamsun, Knut
SØKING I EN DATABASE
110
FINN fungerer som kommandonavn, FO fungerer som feltkode, tegnet = fungerer som operator (her som likhetsoperator) og ’ Hamsun, Knut’ fungerer som søketerm. I stedet for likhet kan en tenke seg ulikhet eller mindre enn eller større enn.
Trunkering og maskering Det kan søkes på ulike deler av opplysninger i et felt. Hvis det er mulig å søke på deler, brukes gjerne termen trunkering (trunk = stamme). Trunkering markeres ved et gitt tegn eller tegnkombinasjon, f.eks. ? eller * eller : eller ... Høyretrunkering innebærer at ord kuttes fra høyre mot venstre, d* betyr alle ord som begynner på d. Ved venstretrunkering søkes det etter ord som ender på visse tegnkombinasjoner, f.eks. *er finner alle ord som slutter på ..er. Maskering muliggjør søk på ordstammer, f.eks. *bær* finner bringebær, bærplukker, bringebærbusker. Masketegn vil si at et tegn erstatter alle mulige tegn på angitt sted i ordet, f.eks. s?l skal finne sol, sal, sel, søl, sæl, syl, sil. Masketegnet kan erstatte ett og kun ett tegn, eller ett eller flere tegn. CCL anbefaler tegnet # for å erstatte ett tegn og tegnet ? for å erstatte ett eller flere tegn.
Boolsk algebra Et søkeutsagn kan gjøres mer komplisert ved bruk av boolsk algebra. Bruk av AND eller OG etablerer et resultatsett hvor flere betingelser er oppfylt, OR eller ELLER etablerer resultatsett hvor ett eller flere kriterier er oppfylt. NOT eller IKKE brukes til å redusere et resultatsett. Boolsk algebra har lett for å gi små eller tomme resultatsett ved bruk av AND og store resultatsett ved bruk av OR. Boolsk algebra gir ikke rangering av elementene i et resultatsett. Noen databaser har derfor utviklet måter å spørre på som tar vare på det som er bra ved boolsk algebra, men som avhjelper de dårligere sidene. Ved mange søk må en bruker regne med å "finpusse" søke strategien ved å vurdere resultatsettene som forskjellige søkeutsagn fører til. Tidligere resultatsett kan settes sammen med nye spørsmål for å finne fram til et gunstig resultatsett.
SØKING I EN DATABASE
111
Nærhetsoperatorer Fulltekstsystemer gir også brukeren mulighet for å kombinere ord med nærhetsoperatorer. Dvs. et dokument skal finnes hvor to angitte ord står inntil hverandre, eller to ord befinner seg i samme setning. Hvis en bruker i en avisartikkeldatabase ønsker stoff om forholdet mellom Gorbatsjov og Sjevardnadsje, kan brukeren be om artikler der disse ordene er plassert nær hverandre.
Klassesøk I mengdelære og boolsk algebra er et element i en mengde eller elementet er ikke i mengden. Hvis elementet, f.eks. boka, er i resultatsettet er det meningsløst å snakke om den er "mye" eller "lite" i resultatsettet. Gjenfinningssystemer prøver å forbedre gjenfinningen med metoder fra "fuzzy" mengdelære og vektorregning. Det norske fritekstsystemet SIFT (Søking I Fri Tekst) har implementert noe som ligner vektorsøk under navnet klassesøk. Hvis søket er slik: "finn terml kis term2 kis term3 kis term4" (kis = klassesøk)
svarer SIFT med en rangert liste av dokumenter, der dokumenter som inneholder alle 4 termene, rangerer høyest og dokumenter som inneholder bare én term, rangerer lavest. Hvis intet dokument inneholder alle fire termene, vil dokumenter som har tre termer rangere høyest.
Søking i relasjonsdatabaser - relasjonsalgebra Hvis en database er delt opp i flere relasjoner, er det mulig at et søk setter opp kriterier fra flere tabeller eller relasjoner. I selve svaret kan det tenkes at opplysninger fra kolonner i forskjellige relasjoner skal presenteres. I teorien rundt relasjonsdatabaser er det bygd opp en egen terminologi og en egen symbolikk for disse operasjonene. Dette kalles relasjonsalgebra (se ovenfor). Hvorvidt en bruker møter disse operasjonen under søkingen avhenger av søkespråket. Et sluttbrukergrensesnitt vil sjelden inneholde disse relasjonsalgebraens operasjoner direkte, selv om disse operasjonene settes i gang av databasen ved et søk.
SØKING I EN DATABASE
112
SQL Det mest omtalte forsøket på standardisering i dag er Structured Query Language. Dette er ikke bare et spørrespråk, men et generelt databasebehandlingsverkøy, som like gjerne kan brukes til å opprette en database som å spørre den ut.
F.eks. ved SQL-kommandoen: SELECT * FROM ANSATT WHERE AVDNR=’A2’ AND LØNN > 160000 gjøres et søk i tabell eller relasjon ansatt etter de linjene eller radene som inneholder avdelingsnummer A2 og som tjener over 160000. Stjernen etter select viser at data fra alle kolonnene i relasjon skal tas med i svaret.
Query by example Query by example brukes om menystyrte spørrespråk hvor brukeren merker av hvilke felt som skal være med i svar, og eksempler på betingelser som skal oppfylles.
Browsemuligheter For å bestemme om noe er relevant i et resultatsett bør det lett kunne blas igjennom. Denne operasjonen kalles på engelsk browsing. Noen har prøvd det norske ordet gressing uten at det har slått igjennom. Gode browse-muligheter er viktig hvis en bruker ikke har eksakte spørsmål.
Rapporter Utlisting fra databaser kalles gjerne rapportering. Mye av det som er sagt om etablering av et resultatsett er like gyldig for å definere eller velge ut en rapport. En post i et resultatsett kan vises på en skjerm i et visst format eller den kan ha et visst utseende i en rapport. Hvilke felt som skal være med, hvilket felt rapporten skal utlistet etter, hva slags sorteringskriterium som skal brukes, side typografi; alt dette må oppgis i definisjonen av en rapport. Bruk av ISBD eller ikke, valg av ordningsord hører tematisk til under rapportdefinisjon.
SØKING I EN DATABASE
113
Evaluering av resultatsett og rapporter Det er utviklet målemetoder for databasers søk og rapporter. De er bygget rundt hva en database inneholder av relevant materiale og hva databasen finner når vi søker. Hvis et søk gjøres kan en tenke seg at resultatsettet inneholder akkurat det som basen inneholdt på dette punktet. Et slikt svar er det beste en kan tenke seg, svaret har en høy fullstendighet (recall) siden alt er funnet. Svaret er fullstendig. Svaret har en høy preisjon siden resultatsettet ikke inneholder noe annet det som er relevant. En kan tenke seg andre muligheter: 1) Resultatsettet inneholder alt som er relevant, men i tillegg kommer det masse som ikke er relevant. Fullstendigheten er stor, men presisjonen er lav. 2) Resultatsettet inneholder bare relevant stoff, men søkeresultatet inneholder ikke alt relevant. Presisjonen er høy, mens fullstendigheten er lav.
3) Resultatsettet inneholder mye som ikke er relevant, og mye relevant i basen ble ikke funnet. Presisjonen er lav og fullstendigheten er lav. Å måle en databases søkefunksjon med målene presisjon og fullstendighet byr på store metodiske problem; hva er relevant (en undersøkelse holdt på å gå i stå da kontrollgruppen ikke ble enige om en gitt dokument var relevant eller ikke) og hvordan etablere resultatsettet hvis ikke det vanlige gjenfinningssystemet brukes (jo ved at en eller flere stakkarer må gnage seg igjennom alt databasen inneholder), men som kvalitative, grove mål kan de si en del om en databases oppførsel. Forskjellige gjenfinningsoppgaver har ulike krav til presisjon og fullstendighet. Hvis en advokat forbereder en sak, kan det være ille hvis det endelige resultatetsettet mangler en domsavsigelse som kunne påvirket saksforberedelsene. Det vil si at fullstendigheten bør være høy. Hvis en låner i et bibliotek ønsker en innføring i digitalteknikk, kan det være bra at resultatsettet er lite. Låneren vil være fornøyd med liten fullstendighet, men ønsker stor presisjon.
15. SAMSPILLET MELLOM KLIENT OG TJENER Datamaskinene har vært bygd opp og brukt i ulike arkitekturer: Samspill stormaskin/terminal, frittstående mikromaskiner eller PC-er, PC-er i nett. Alle disse måtene har sine fordeler og ulemper, og alle er i fullt bruk. De senere årene har det vært mye snakk om klient/tjener (server er også i bruk for tjener).
Protokoll mellom klient og tjener Ordbruken indikerer at en klient ber om noe fra en tjener. En klient er aktiv, mens en tjener bare utfører det den blir bedt om. En klient og en tjener må på en eller annen måte være tilkoblet et nett, men forholdet klient/tjener kan bedre ses som et logisk forhold. Både klienten og tjeneren må være selvstendige datamaskiner som er i stand til å behandle data. Begge er styrt av hvert sitt program. Disse programmene snakker sammen ved hjelp av en protokoll. Protokoll vil si at begge sider vet hvordan en melding mellom dem skal se ut, hva slags syntaks meldingen skal ha. Som del av en protokoll kan være avtalt at klienten avslutter sine meldinger til tjeneren med linjeskift. Når klienten sender et linjeskift, er meldingen ferdig og tjeneren kan svare. Klient og tjener må også ha avtalt hvordan de skal bryte forbindelsen med hverandre (eller det være avtalt at de bryter automatisk etter at tjeneren har svart). Noe av poenget med klient/tjener-arkitektur er å minimalisere nettrafikken mellom dem. Denne foreløpige beskrivelsen avviker lite fra et tradisjonelt terminal/stormaskin-forhold. En klient kan i motsetning til en terminal databehandle det som måtte komme fra tjeneren helt fritt. En terminal tar data i mot og presenterer dem helt passivt, mens en klient selv kan bestemme hva den vil gjøre. Hvis en tenker seg en tjener som inneholder en database og en klient som brukes for å utspørre databasen, vil klienten være ansvarlig for å ta i mot spørsmålet fra brukeren. Klienten omformer brukerens spørsmål og sender spørsmålet i følge avtalt protokoll til tjener. Tjeneren tar i mot spørsmålet, tolker det og bruker sitt databaseprogram for å finne svarene. Svarene sendes så til klienten "innpakket" i følge avtalt protokoll. Klienten har nå dataene, kan evt. databehandle disse videre og så presentere dataene for brukeren. Det er klientens oppgave å presentere et grensesnitt mot brukeren.
SAMSPILLET MELLOM KLIENT OG TJENER
115
Databasemotorer og frittstående klienter Databasene blir til "databasemotorer" som durer og går i bakgrunnen. I eksemplet ovenfor er det mulig at klienten henter data fra flere tjenere før noe presenteres for brukeren. For systemutviklere betyr klient/server-løsninger en fornuftig deling av oppgaver. For sluttbrukere betyr arkitekturen at grensesnittene kan bli bedre. Sluttbrukere av dataprogram er imidlertid vant til at f.eks. en database "ser" ut på en spesiell måte. Nå oppdager brukere stadig oftere at bruk av samme tjenester ser helt forskjellig gjennom ulike klienter. For sluttbrukeren kan det også bety at samme klientprogram kan brukes mot mange baser. Brukeren kan dermed slippe å lære seg mange grensesnitt.
Internettj enester De fleste Internettjenestene er bygd opp med klient/tjener-arkitektur. Tjenester som FTP, Gopher, WAIS og WWW har dermed klientversjoner og tjenerversjoner.
SQL og CCL som elementer av en protokoll I kapitlet ovenfor ble SQL og CCL beskrevet som kommandostyrte søkespråk. Det er også mulig å bruke SQL og CCL som deler av en klient/tjener-protokoll. Brukeren vil ikke se SQL- eller CCL-setninger, men klienten omformer en sluttbrukers spørsmål til f.eks. CCL og sender dem til tjener.
SR-nett SR står for Search og Retrieve. SR-nett er en protokoll slik at ulike biblioteksystemer skal kunne snakke sammen. BRODD har hatt en ledende rolle i utviklingen av SR-nett. Et biblioteksystem skal kunne søke i et annet biblioteksystem. Hvis system A skal kunne søke i system B, må A kunne være klient og B tjener. Hvis det er omvendt neste gang, B vil søke i A, vil rollene være snudd. En sluttbruker i et biblioteksystem vil kunne bruke sitt "vanlige" søkespråk mot andre bibliotekssystem, f.eks. et søk i eller gjennom Bibsys vil "bak kulissene" kunne hente fram poster fra f.eks. UBO:BOK. Et søk oversettes til SR-protokollen og sendes til tjener. I det nevnte eksemplet vil Bibsys opptre som klient og UBO:BOK som tjener. Sluttbrukeren vil ikke
SAMSPILLET MELLOM KLIENT OG TJENER
116
møte SR-protokollen. De grunnleggende funksjoner i dagens SR-protokoll er Initialize, Search, Present, Delete result set, Close og Abort. Kjernen i protokollen er Search. "Inne" i Search kan brukes CCL eller noe som kalles Reverse Polish Notation (et boolsk søk formuleres slik at and/or/not kommer til slutt i setningen). SR-protokollen er formalisert som ISO-standard og som amerikansk standard med navnet Z39.50. Pr. i dag har mange biblioteksystem laget både klient- og tjener-del. Protokollen åpner også for utvikling av en frittstående klient, dvs. at en sluttbruker kan få/kjøpe en klient som kan brukes mot forskjellige biblioteksystem.
16. LAGRINGS- OG UTVEKSLINGFORMATER En database lagrer sine data i binær form (binærfiler brukes ofte om alle filer som ikke er asciifiler) uansett hvordan dataene ser ut på en skjerm eller på en utskrift. Alle data i en maskin ligger lagret i én eller annen form for kode. Den mest kjente av disse kodene er ascii-koden for å representere bokstaver og tegn. Stort sett behøver ikke en datamaskinbruker bekymre seg om hvordan dataene i programmene er lagret. Alle data er filtrert eller silt av egnede program; program som igjen vet hvordan dataene er kodet. Dette medfører at det finnes haugevis av filformater. De forskjellige tekstbehandlerne har hvert sitt lagringsformat, de forskjellige regnearkene har sine, de forskjellige databasene har sine. Det finns likeledes mange lagringsformater for bilder og flere for lyd og animasjoner. Det er likevel av generell interesse å se på noen av teknikkene som er brukt ved lagring eller utveksling. Kapitlet vil se på noen av formatene som er i bruk. Dataene i en database vil som regel overleve både databasesystem og datamaskintyper. Det er derfor et sentralt poeng at data smertefritt kan overføres til nye systemer. Hvis forskjellige program skal utveksle data, f.eks. én database skal bruke data fra en annen database, blir spørsmålet av interesse for brukeren. De fleste databaser har muligheter for å eksportere data. En eksport eksporterer databasens data i et format. Dette formatet kan være en annen databases databaseformat (f.eks. Paradox kan eksportere sine databaser som dBase-filer). En slik eksport vil medføre at det andre programmet umiddelbart kan bruke dataene. Databaser kan også importere data på samme måten. Av og til er ikke en slik direkte overføring mulig. Data må importeres eller eksporteres i et format som er et slags minste felles multiplum. Dette minste felles multiplum er en fil hvor alle byte tolkes som asciitegn, såkalte asciifiler (eller DOS-tekster eller bare tekstfiler).
Utveksling av databaser på asciifiler Ascii-filer er ''flate" filer hvor asciitegnene ligger på rad. Det er ikke mulig å lage noen poststruktur på en asciifil. Det eneste "avansementet" er anledningen til å lage linjeskift mellom linjene (linjeskift er igjen sammensatt av to
LAGRINGS- OG UTVEKSLINGSFORMATER
118
asciitegn). Hvis en database skal ta i mot og forstå en asciifil, må den vite hvordan dataene ligger på asciifilen. En bokbeskrivelse kan eksporteres slik: FO: Cook, Michael TI: A manual of archivical description DE: 025.341
eller slik: "Cook, Michael""A manual of archivical description""025.341"
I første eksempel fungerer FO:, TI: og DE: som feltkoder. I det andre eksempelet skilles feltene ad med tegnet ". Ved bruk av MARC-koder kan ascii-filen se slik ut: *100 *245 *082
$aCook, Michael $aA manual of archivical description $a025.341
Feltkodene er forskjellige og tegnet A er innført for å markere postslutt.
Tekstbehandleres filformat En tekstbehandler har ikke andre standarder å forholde seg til enn asciistandarden. For behandling av andre tegn enn ascii-tegnene brukes egne løsninger. For å behandle informasjon som at et ord skal understrekes, trengs koder. Disse kodene vil være forskjellige fra tekstbehandler til tekstbehandler. En kode har virkning til det kommer en ny kode som opphever den første. En understrekingskode har virkning til dit det ligger en kode som slår av understrekingen, eller en skrifttypekode har virkning til neste skrifttypekode. Noen typer koder i tekstbehandlere er rent typografiske, mens andre sier noe om hva slags tekst som følger (koden for "her ligger innholdsfortegnelse" sier noe mer enn koden som stiller inn skrifttype).
Generelt lagringsformat for dokument: SGML For databehandling av tekster er SGML (Standard Generalised Marcup Languagej-standarden utarbeidet eller under utarbeidelse. Meningen er å lage en standard for lagring og koding av de formelle sidene ved et dokument.
LAGRINGS- OG UTVEKSLINGSFORMATER
119
SGML skjelner mellom et dokuments struktur: inndeling i kapitler, underkapitler og avsnitt, og hvordan dokumentet kan bli seende ut. SGML er formulert så generelt som mulig. Det inneholder en syntaks for å beskrive ulike dokumenttyper. Det amerikanske forsvar har f.eks. brukt SGML for å formulere kravene til hvordan teknisk dokumentasjon skal behandles. Vanlige tekstbehandlere brukes som nevnt ulike koder for å si noe om et dokument. En kode som sier f.eks. at her skal teksten skrives i Times Roman 12 er specific marcup og forteller hvordan teksten skal se ut. Kodene i et SGML-dokument er generiske: "Generic marcup specifies the purpose rather than instructions on how a piece of text should be formatted." (Van Herwijnen, s. 9). De som skal bruke eller behandle et SGML-dokument må vite hva de generiske kodene betyr. Et SGML-dokument har derfor følge av en såkalt "document type definition" (DTD). Her går det fram hva de generiske kodene betyr. Hvis dokumenter skal trykkes på et trykkeri, kan setterne bruke informasjonen i DTD og f.eks. stille inn typografiske koder (f.eks. at kapiteloverskrifter skal ha en viss typografi). Moderne tekstbehandleres bruk av dokumentmaler ligner på "generisk tagging". SGML er derfor ikke en standard for dokumenter som sådan, men en standard for å beskrive dokumentstruktur, dvs. egentlig en standard for hvordan en DTD skal lages. SGML kan også brukes til å behandle strukturert informasjon, dvs. at et SGML-dokument kan søkes i som en database. Et feltsøk kan utføres ved at dokumentet gåes sekvensielt igjennom og kodene brukes til å finne hva som er angitt felt. Egne prosessorer for sekvensielle tekstsøk (nevnt i kapitlet om fulltekstdatabaser) pluss SGML-koding kan dukke opp som effektive alternativer til omfattende indeksering. I biblioteksammenheng kan en tenke seg at et dokument kan katalogiseres automatisk; biblioteksystem kan "trekke ut" de opplysninger som er relevante. Dokumentasjonsprosjektet ved Universitet i Oslo som skal legge alle typer opplysninger på papirsedler fra språkarkiv, myntarkiv osv. inn i en database, bruker SGML ved inntastingen av disse dataene. SGML inneholder muligheter for å ta vare på "hyperlink", dvs. strukturer og lenker i en hypertekst. Mer avanserte produkter kan også ha behov for å ta vare på tids- og romaspekter ved et multimediadokument. F.eks. at et musikkstykke skal spilles av samtidig med at en filmsekvens kjøres, eller at to rammer i en hypertekst skal romlig plasseres i et visst forhold. Standarden HyTime (Hypermedia/Time-based Document Structuring Language) er under utvikling for å dekke disse sidene ved et dokument. HyTime bygger på SGML.
LAGRINGS- OG UTVEKSLINGSFORMATER
120
Eks. på bruk av SGML: HTML Et WWW-dokument er kodet i Hyper Text Marcup Language (HTML). En WWW-tjener sender fra seg et HTML-dokument og en WWW-klient tolker det og presenterer det for brukeren. HTML er en DTD, dvs. en type dokumentdefinisjon. Et WWW-dokument kan se slik ut: SBIH presenteres seg. SBIH bruker nå hypertekst for å presentere seg. bla bla.
Informasjon om foreningen. NBF er ... bla bla Skolens faggrupper. Informasj onsfagene Klassifikasj on pensumb la bla
Alt som ikke er tekst er pakket inn med . Hl og H2 og H3 viser til overskriftnivåer.
betyr avsnitt. "Hypertekst" og "pensum" fungerer som ankere til andre WWW-dokument. Kun strukturelementer er kodet. Ting som fonter, linjebredde o.l. defineres ikke, siden det er WWW-klientens oppgave å bestemme dette når dokumentet skal vises på skjerm eller skrives ut. Det er også klientens å vise ankeret, eks. understreke "hypertekst", men brukeren skal ikke nødvendigvis se hva ankeret peker til.
Formater for ikke-tekstlig materiale Bilder En bilde kan ligge på en egen fil, eller den lagres inne i en annen fil, som en del av en dokumentfil. Lagringen av selve bildet må uansett følge visse regler. Grovt sett er to måter å lagre et bilde på. Enten lagres et bilde som en mengde punkter der hvert punkt har en fargeverdi. Det lagres som en matrise. Jo flere punkter et bilde deles opp i, jo bedre oppløsning har bildet. Alternativt kan et bilde lagres som en mengde vektorer. Vektor må ikke her forstås direkte som i matematikken. Hvis et bilde består av en sirkel som ligger midt på en side, kan bildet omtrent representerer slik:" En vektor går ut
LAGRINGS- OG UTVEKSLINGSFORMATER
121
fra nedre venstre hjørne. Vektoren ender i midten av bildet. Dette punktet er senteret til en sirkel. Sirkelet har en radius med en verdi som er 1/4-del av bildets høyde. Tykkelsen på sirkelbuen er 1/16-del av radien. Alt inne i sirkelen har farge rød. Fargen på selve sirkelbuen er blå." Hvis et bilde lagres som en mengde punkter, snakkes det om pixellagring. Pixellagring egner seg best for bilder uten klare mønstre eller struktur, f.eks. landskapsbilder. Vektorlagring egner seg for bildet der det finnes geometriske mønstre og tekst, f.eks. ingeniørtegninger. Komprimering av bilder kan normalt gjøres siden det er gjentagelser i et bilde. I et landskapsbilde med blå himmel, vil fargen blå gjentas i pixel etter pixel bortover. I stedet for å lagre alle punktene, kan bildet i komprimert form inneholde opplysninger om at nå følger 300 pixels med farge blå. Animasjoner har en stund vært vist på PC-skjermer. Det har særlig vært brukt i spill. PC’er viser bilder, og film er på vei inn. Det er en viktig distinksjon mellom film og animasjon. En film består av et visst antall stillbilder pr. sekund. Hvert bilde er fullstendig (ett sekunds film med videokvalitet tar ca. 20 MByte). I en animasjon lagres eller kodes bare endringene fra et bilde til et annet.
Eksempel TIFF TIFF (Tagged Information File Format) er et format for billedlagring utviklet av firmaene Microsoft og Aldus. Det er ett format blant mange, men støttes av mange program. Det er med her bare som et eksempel (også for å vise pixel i en stripe "MARC"-prinsippet anvendt på Figur 16.1 Pixeloppdeling av et bilde. annet enn bibliografisk materiale). TIFF bruker pixellagring. Eksemplet viser et meget enkel oppdeling av et bilde. Bildet deles opp i striper og kolonner, der antall pixel i en stripe tilsvarer antall kolonner. En pixel vil normalt avbildes med et tall mellom 0 og 255 slik at tallet kan lagres i en byte. Tallet kan enten representere forskjellige farger eller de representerer ulike gråtoner i et svart-hvitt bilde.
LAGRINGS- OG UTVEKSLINGSFORMATER
122
Forskjellige opplysninger om bildet "tagges". Tag-koden er som i MARCformatet et tre sifret tall, 256 som koder f.eks. hvor mange kolonner det er i bildet. En tag og opplysningene som en tag koder, ligger i en 12-bytes enhet som kalles en Image File Directory. Tag 256 og opplysningen om at det er 17 kolonner i eksempelbildet ligger i en slik 12-bytes enhet. Likeledes kodes opplysningen om at det er 11 striper i bildet med tag 278. Et TIFF-bilde lagres stripe for stripe. Tag 273 forteller hvor i filen opplysningene om lokalisering av stripene ligger. Hvis et program går til dette "stedet", finner det i vårt eksempel 11 tall. Disse tallene igjen viser hvor hver enkelt stripe starter. Vi vet allerede at hver stripe skal bestå av 17 tall. Stripene kan hentes og f.eks. tegnes ut på en skjerm. Tag-kodene og tilhørende opplysninger gir noe "overhead", men et ukomprimert TIFF-bilde vil ha en størrelse i byte som noenlunde er antall striper ganger antall kolonner. TIFF-formatet (og andre format) kan kode mange flere typer opplysninger enn det som er framkommet i eksemplet.
Lyd - eksempel SND Digital lyd lages ved å "lese" av lyd med korte intervall. Et prøve kalles et "sample" og kan tas f.eks. 7000 ganger i sekunder. Stort sett vil flere prøver pr. sekund gi bedre lyd. En prøve kan representeres med et tall mellom - 128 og + 127 eller med et tall mellom 0 og 256 (én av metodene må velges). Filformatet som brukes av de såkalte SND-filene (for sound) ser slik ut: Byte Byte Byte Byte Byte
1 - 4: 5-6: 7-8: 9 - 10: 11-16:
Forteller hvor prøver filen inneholder. Forteller hvor mange prøver er foretatt pr. sekund. Den laveste samplingsverdien (- 128 eller 0). Den høyeste samlingsverdien (127 eller 255). Ubrukt.
Fra byte 17 og utover ligger sampel verdiene (hvor mange ligger allerede i byte 1 - 4). Noe stopptegn behøves ikke. Avspilling av lyd foregår ved at et program henter sampelverdiene og sender disse i korrekt fart (opplysning i byte 5 og 6) til et kort som omformer sampelverdien til lyd.
LAGRINGS- OG UTVEKSLINGSFORMATER
123
Skriverformater Når en tekstbehandler skriver ut sine sider på en skriver, kan utskriften tilpasses skriveren, f.eks. hva slags tegn den kan skrive ut. En annen løsning er å tegne en hel side, tegne vil her si at på hvert enkelt "sted" på siden kan det legges punkter (tilsvarende som i pixelorientert billedlagring). En er ikke avhengig av en spesiell linjeavstand eller av bestemte skrifttyper, tegningen kan være hva som helst. Sideorientert utskrift har åpenbare fordeler, men krever avansert hardware og software. Forskjellige firmaer har utviklet forskjellige språk for å beskrive en side. Disse språkene ligner på andre programmeringsspråk. Det mest kjente av disse er Postscript. Hvis en side skal skrives til en postscriptskriver, må tekstbehandleren sende fra seg et program eller "kildekode" som skriveren tolker og bygger opp et bilde fra. Både oversettelsen til "kildekode" og oversettelsen fra kildekode til side, må gå fort. En bokstav er ikke lenger en bokstav, men en matematisk kurve. Et eksempel på postscript kildekode for å skrive ut bokstaven R midt på en side (programmerere vil kjenne igjen programmeringsord som for, ifelse): 2 string def/FEglyph(G )def/FE{l exch{dup 16 FEbuf cvrs FEglyph exch 1 exch putinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed /cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch 0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP cyM sub exch 0 nefcxM exch tr -90 rotate}{cxM cxPg add exch tr -90 rotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg add exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse
En del institusjoner sprer sine dokumenter som Postscript-filer. En slik fil kan mottas og uten videre sendes til en Postscript-skriver eller vises på en skjerm. En slik fil kan derimot ikke gjøres søkbar og teksten kan ikke tekstbehandles videre (den inneholder ikke bokstaver).
17. INDEKSERINGSSPRÅK "..attributes to a certain Chinese encyclopaedia entitled "Celestial Empire of benevolent Knowledge". In its remote pages it is written that the animals are divided into: (a) belonging to the emperor, (b) embalmed, (c) tame, (d) sucking pigs, (e) sirens, (f) fabulous, (g) stray dogs, (h) included in this present classification, (i) frenzied, (j) innumerable, (k) drawn with a very fine camelhair brush, (1) et cetera, (m) håving just broken the water pitcher, (n) that from a long way off look like flies." Jorge Luis Borges i "The Analytical Language of John Wilkins" Kapitlet innledes med noen spekulasjoner rundt klassifikasjon. Videre er det prøvd ut å trekke ut en del generelle trekk ved i-språk. Kapitlet behandler ikke noe i-språk, men drar inn en del eksempler som forutsetter noe kunnskap om de forskjellige i-språkene. Teorien som presenteres er hentet fra angelsaksisk miljø. Jeg tror ikke denne teorien vil ha noe "feste" eller interesse hvis en ikke har vært utsatt for de praktiske problemer med å lage eller bruke i-språk.
Eksakt klassifikasjon er umulig Dette kapitlet trekker på en del av de begrepene som ble etablert i metodekapitlet. Beskrivelsen bruker de begrepene som vi i Norge delvis har tatt fra engelske miljøer. Engelsk er delvis misvisende, for bak engelskmennene ruver inderen Ranganathan. Det ligger rimelignok et filosofisk syn bak dette igjen som ikke blir drøftet her. Dansken Hjørland prøver i sin bok "Emnerepræsentation og informationssøging" å avklare disse bakenforliggende premisser. Dette er interessant nok, men ut i fra mitt ståsted får dette preg av "barking up the wrong tree". Eksakt klassifikasjon er umulig pga. "verden selv", all klassifikasjon er dermed i utgangspunktet "dårlig", all klassifikasjon er mulig, all dogmatikk rundt spørsmål om klassifikasjon er meningsløs, all klassifikasjon bør ha et praktisk siktemål. Den argentiske forfatteren Borges gjennomgår i sin artikkel "The Analytical Language of John Wilkins" merkverdigheter i typer klassifikasjon og gir også en kort svar på hvorfor de inneholder så mye rart:
"The reason for this is very simple: we do not know what thing the universe is....
INDEKSERINGSSPRÅK
125
We are allowed to go further; we can suspect that there is no universe in the organic, unifying sense, that this ambitious term has. If there is a universe, it’s aim is not conjectured yet; we have not yet conjectured the words, the definitions, the etymologies, the synonyms, from the secret dictionary of God.
The impossibility of penetrating the divine pattern of the universe cannot stop us from planning human patterns, even though we are conscious they are not definitive." Det vi sitter med er en praksis og en teori som er "gode nok". Det er nok arbeid med å få implementert det vi sitter på slik at bibliotekssystemene blir bedre. Alle kan kritisere Dewey, men det ville være meningsløst å lage noe lignende på nytt fordi vi ville få noe som var like bra/dårlig. Som underkapitlet om kognitiv teori viste, er det ikke noen eksakt overensstemmelse mellom klassifikasjon i bibliotekfag og vitenskap og "dagliglivets" klassifikasjon. Mennesker klassifiserer ulikt ut i fra kultur og enkeltindividers type. En kan derfor ikke snakke om riktig og gal klassifikasjon, men en kan snakke om god og dårlig klassifikasjon ut i fra en mal. I gjenfinning fører det til at en kan ikke lage noe system som vil passe alle. Med hjelp av moderne teknikk er det imidlertid mulig at en kan lage systemer der en kan ta høyde for enkeltindividers subjektive klassifikasjon. Det er gjort undersøkelser av bibliotekarers klassifikasjon som er pinlig hvis en opprettholder illusjonen om at dette er et eksakt fag. Det er svært liten overstemmelse mellom hvordan bibliotekarer klassifiserer. Hvis en godtar at dette er og blir en "fuzzy" aktivitet, spiller disse resultatene liten rolle.
Språk med innebygd klassifikasjon Deweys saklige og ryddige klassifikasjonsystem står i en relativt lite kjent tradisjon, der vi også finner personer som Descartes og Leibniz. Målet var å lage universelle språk som er mer ekspressive enn dagligspråkene, hvor klassifikasjonen ligger i ordene selv, f.eks.: "In the analogous language of Letellier a means animal; ab, mammal; abo, carnivore; aboj, feline; aboje, cat; abi, herbivore; abiv, horse; etc.." (Borges)
INDEKSERINGSSPRÅK
126
I-språk som et mer presist språk Et indekseringsspråk er laget for å angi emnet eller emnene til et dokument. Det vil være "ordfattigere" enn det vanlige språket og ha strenge regler for formen til ordene (enkel morfologi). En kan finne hester, men ikke hest, hesten eller hestene; en kan finne bygging, men ikke å bygge, bygget, bygde, har bygd, hadde bygd, vil/skal bygge. Et i-språk er et språk med begrenset vokabular der enkeltordene er underlagt strenge formregler. Det vil også som regel ha regler for hvordan ord skal settes sammen til "setninger" (det vil ha en streng syntaks). Denne stramheten i indekseringspråkene gir færre muligheter til å uttrykke nyanser, men en oppnår en større forutsigbarhet. For at et indekseringsspråk skal virke, dvs. gi muligheter for effektiv gjenfinning, er betingelsen at den som ønsker å finne noe, og den som indekserer, har "formulert" seg i indekseringsspråket noenlunde likt. Et brukerspørsmål formulert i dagligspråket må derfor "oversettes" til indekseringsspråket før søket gjøres. I-språkene er forskjellige med hensyn til hvor "strenge" reglene er. Strenge regler medfører større sannsynlighet for at to indekserere vil utføre indekseringen likt, men som oftest gå på bekostning av smidigheten til språket.
Emnebeskrivelse uten indekseringsspråk Emnegjenfinning i praksis foregår mye gjennom tittelen til et dokument. Den er ofte laget for presist å angi emnet til dokumentet. I-språket COMPASS velger i noen tilfelle å ikke emnebeskrive spesifikke emner, men regner med at tittelen gjør det (Hjortsæter 1992, s. 13). Emnet til et dokument kan også angis med det vanlige språket, f.eks. slik: "Dokument x handler om reglene for bygging av brannutganger for hotell og sykehus, dokumentet beskriver nærmere hvordan brannutganger er planlagt ved Plaza hotell i Oslo." Denne form for emneangivelse er i bruk når det lages abstracts eller oppsummeringer eller referater av f.eks. tidsskriftartikler. Artikkelen "Academic Achievement, Self Esteem and Valuing of the School: Some Sex Differences" av nordmannen Skaalvik er beskrevet slik i databasen ERIC (Educational Resources Infocenter):
"A study of Norwegian elementary school children found that in fourth to eight graders, low academic achievement was associated with low self esteem and strong perceived parental pressure for boys, but not for girls. In eighth graders,
INDEKSERINGSSPRÅK
127
low achievement was associated with low perceived value of school for girls only."
Et slikt referat skal være presist, men bruke det vanlige språket. Ved fritekstindeksering lar en hvert enkelt ord i teksten fungere som en emneinngang til hele dokumentet. Et referat som vist ovenfor kan også fritekstindekseres. Med datamaskinens muligheter for behandling av store datamengder er det lov å spørre seg om i-språkene lenger tjener noen hensikt. Fritekstindeksering og andre muligheter for automatisk indeksering "hopper" over i-språkene. Nettopp datamaskinens muligheter for lagring og behandling av store datamengder vil sannsynligvis føre til større interesse for i-språkene, også utenfor tradisjonelle bibliotekmiljøer. Når datamengdene øker blir det viktigere enn noen gang å ordne dataene slik at de blir til "informasjon", noe som er nyttig for brukerne. I-språkene er et verktøy for å organisere kunnskapen på en hensiktsmessig måte. Artikler om hypertekst tematiserer i-språkene fra denne vinkelen. Ikke som tradisjonelle gjenfinningsverktøy, men som verktøy for å lage orden i en hypertekst. Systemer som er laget opprinnelig for å utnytte mulighetene ved fritekstindeksering, innfører etterhvert i-språk for å bedre gjenfinningen. De forskjellige i-språkene har sine sterkere og svakere sider. Så det er heller mer sannsynlig at forskjellige typer i-språk tas i bruk for å komplettere hverandre. Aftenpostens fulltekstdatabase A-tekst bruker både klassifikasjonsskjema og emneord for å bedre gjenfinningen.
Hva er klassifikasjon? Klassifikasjon er å dele ett eller annet inn i klasser. En klasse etableres fordi elementene i klassen deler ett eller annet kjennetegn. All måter å klassifisere på er dermed mulig; det må ligge en hensikt bak en klassifikasjonen. Spørsmålet om gyldigheten bak en klassifikasjon, har blitt stilt fra Aristoteles’ dager. I fortsettelsen vil ordet klasse bli brukt i videst mulig betydning. Sannsynligvis er klassifike jon "naturlig" i den forstand at menneskehjernen ikke kan greie seg uten. Språkdannelse og begrepsavklaring innebærer en viss form for klassifikasjon.
INDEKSERINGSSPRÅK
128
Inndelingskriterier og opplistingskriterier Hvor noe er ordnet, er det foretatt klassifikasjon. "Noe" er inndelt etter ett eller flere kriterier. En butikk ordner sine varer. En skole kan ordne sine kurs i seksjoner og faggrupper. En kontoplan kan inneholde underkonti og underkonti igjen. Telefonnummer, fylkesnummer, varenummer avspeiler en ordning av fenomener. Det kan ofte være vanskelig å si hvilket inndelingsskriterium som er brukt ved en klassifikasjon. Som regel er flere kriteria i bruk for å oppnå en ordning. En kan da snakke om første, andre, tredje osv. inndelingskriterium. En dagligvarebutikk eller et bibliotek har fått sin orden ved mange kriterier. Når et kriterium brukes, deles noe i "grener" (hvis noe deles i to, snakkes det om dikotomi), grenene deles videre med ulike kriteria. Når et bibliotek ordner sin samling, kan første kriterium være utlån/ikke-utlån. Det oppstår to grener. Utlånsgrenen kan deles etter brukergruppe (barn/voksen). Neste kriterium kan være inndeling etter størrelse. Neste inndeling kan være etter kriteriet faglitteratur/skjønnlitteratur. Inndeling av faglitteratur kan være gjort etter Deweys klassifikasjonssystem. Inndeling av skjønnlitteratur kan være gjort etter genre, f.eks. dikt, drama, noveller/romaner. Når en inndeling er foretatt, må klassene som er etablert ordnes seg i mellom; de må ha en opplistingsrekkefølge (filing order) seg i mellom. Hvis en ved et inndelingskriterium har nådd fram til gafler, skjeer, kniver, skal disse ordnes seg i mellom i skuffen. Telefonkatalogen i bokform deler først abonnentene (første inndelingskritium) etter fylker. Opplistingen av disse katalogene er 1. Oslo, 2. Akershus osv. Neste inndeling foregår etter næring/ikke-næring. Ikke-næring kommer foran (listes opp foran) næring. Neste inndeling i ikke-næring er etter kommuner, mens de gule sider er inndelt etter bransjenavn. Kommunene på de hvite sidene opplistes alfabetisk, mens de gule sider opplister de forskjellige bransjenavnene alfabetisk. De hvite sidene er nå inndelt ferdig, og opplistingen skjer alfabetisk etter etternavn - fornavn (eller firmanavn). De gule sidene inndeles videre etter kommuner opplistet alfabetisk. Inndeling er ferdig også her, og opplistingen skjer etter firmanavn ordnet alfabetisk.
Rekker (array) og gjensidig utelukkethet Hvis ett inndelingskriterium brukes, oppnås en rekke (array) hvor elementene er gjensidig utelukkende. Begrepene sjøfugler og trekkfugl er ikke gjensidig utelukkende siden en fugl kan være både sjøfugl og trekkfugl. Lagsport og
INDEKSERINGSSPRÅK
129
isidrett er heller ikke gjensidig utelukkende. Hvis flere inndelingsdelingskriterier er i bruk, etableres flere rekker.
Et enkelt klassifikasjonsskjema over Norge Norske myndigheter bruker et klassifikasjonsskjema over Norge for forskjellige formål. Et utdrag av dette skjema ser slik ut: Norge (inndelt etter fylker) Østfold (inndelt etter kommuner) Halden Sarpsborg Hvaler Borge
01
0101 0102 0111 0113
02
Akershus (inndelt etter kommuner) Vestby Ski Bærum
0211 0213 0219
Oslo
0301
Hedmark (inndelt etter kommuner) Hamar Kongsvinger Ringsaker
04
Rendalen Tolga Finnmark
0401 0402 0412
0432 0436 20
Første inndelingskriterium er Norge inndelt etter fylker. Dette etablerer rekken norske fylkesnavn. Opplistingen av fylkene foretas "ca. fra sør til nord". Fylkene igjen er inndelt etter kommuner. Rekken som oppstår er alle kommunene i et fylke. Kommuner er opplistet med bykommuner først og en tilsynelatende tilfeldig opplisting av landkommuner. Skjemaet har tre nivåer.
INDEKSERINGSSPRÅK
130
Nivå vil videre bli brukt om hvor mange trinn et skjema har. Nivå 1 er Norge, nivå 2 er fylkene, nivå 3 er kommunenene. Termene i skjemaet er gjensidig utelukkende fordi rekkene er etablert med ett kriterium. Skjemaet har en notasjon som er hierarkisk uttrykksfull (blir forklart lenger ned i teksten). En inndeling etter andre kriterier (etter kirkelig organisering, etter teledistrikt, etter politiorganisering) er selvfølgelig mulig, men ville gitt en annen klassifikasjon. Landsdelsnavn som Østlandet eller landskapsnavn som Toten faller ut på grunn av inndelingskriteriene som er brukt. Hvis tallene i skjemaet ovenfor tas vekk, får en en tesaurus eller emneordsliste. Et i-språk kalles et klassifikasjonsskjema hvis den har en notasjon, f.eks. Halden har notasjonen eller klassifikasjonsskoden 0101. Ved bruk av et klassifikasjonsskjema ender en opp med en kode, ved bruk av tesauri ender en opp med et ord, f.eks. Halden. Som fellesord for begge former brukes videre skjema. Alternative måter å presentere skjemaet på
Ovenfor er vist en systematisk presentasjon. Systematikken eller nivåene er vist med innrykk. Rekkefølgen vises dels ved selve opplistingen og dels ved notasjonen. Skjemaet kunne også vært presentert alfabetisk. Hvis en tenker seg skjemaet som klassifikasjonsskjema, vil deler av alfabetisk del se slik ut: Akershus Borge Bærum Finnmark Halden Hamar Hedmark Hvaler Kongsvinger Oslo
02 0113 0219 20 0101 0401 04 0111 0402 0301
En bruker av skjemaet kan lett komme til rett sted i systematisk del ved hjelp av kodene. Når en tesaurus presenteres alfabetisk, vises hvilken term som er på nivået over (foreldertermen) og hvilke termer som befinner seg på nivåer under (barntermene). På norsk betegnes termen over med Overordnet term (OT) og termene under med underordnet term (UT):
INDEKSERINGSSPRÅK
AKERSHUS OT Norge UT Vestby Ski Bærum
BORGE OT Østfold BÆRUM OT Akershus
FINNMARK OT Norge UT . HALDEN OT Østfold HAMAR OT Hedmark osv.
Et skjema kan også presenteres grafisk som figur 17.1 viser:
Klassifikasjon i botanikk og zoologi Fag som botanikk og zoologi er delvis bygd opp rundt klassifikasjon. Figur 17.1 Grafisk presentasjon av et skjema. Aktiviteten kalles i disse fagene for taksonomi. Nivåene i et biologisk skjema kan se slik ut: Eksempler Rike Animalia Rekke Chordata Klasse Mammalia
131
INDEKSERINGSSPRÅK
Orden Familie Slekt Art
132
Primater Hominidae Homo Homo sapiens
Dette skjemaet har seks nivåer. Hvor mange nivåer et biologisk skjema har, avhenger av hvordan taksonomien foretas. Det finnes biologiske skjema med hele 42 nivåer.
Konsekvenser av feil klassifikasjon Mange samfunnsvitenskapelige undersøkelser utfører også en form for klassifikasjon. Hvis klassifikasjon utføres feilaktig eller hvis feil inndelingskriterier brukes, oppnås mange rare resultat. For noen år siden viste en historieundersøkelse at Nasjonal samling hadde vært et mer underklasseparti enn man tidligere hadde ment. Kritikere mente at resultatet skyldtes en klassifikasjonsfeil. En som hadde arbeid på en gård, ble nemlig klassifisert som gårdsarbeider selv om vedkommende var odelsgutt til gården. Gårdsarbeider og odelsgutt er ikke gjensidig utelukkende begreper, men etablert ved ulike kriterier. Ikke for å presse klassifikasjonsteori for langt; men det er likevel interessant å se på politikk som kamp om gyldige inndelingskriterier. Hva er f.eks. inndelingskriteriet for begrepet nasjon? Versailles-kongressen etablerte Jugoslavia ut i fra god vilje; nasjonsbegrepet var etnisk/lingvistisk.
I-språk for fysisk ordning, utlistinger eller gjenfinning i databaser I-språkene er primært ordnings- og gjenfinningsredskaper, de er laget for å organisere kunnskap, dokumenter, samlinger eller databaser. Krav til ordning, utlisting og gjenfinning er ikke nødvendigvis sammenfallende. Hvis en bok skal stå på en hylle, kan den rimelig nok bare stå ett sted. Dvs. at i-språket tilordner boka en éntydig kode som forteller hvor boka skal stå. Referansen til boka kan imidlertid stå flere steder i en kortkatalog eller i en papirutlisting (f.eks. en bibliografi). Hvis boka skal gjenfinnes i en database, spiller det liten rolle om det er svært mange "steder" referansen vil gjenfinnes; det er ikke noe ved selve mediet som begrenser hvor mange "steder" et dokument skal finnes.
INDEKSERINGSSPRÅK
133
Denne distinksjoner er viktig å holde for øye ved drøfting av ulike typer ispråk. I stedet for å sette ulike i-språk opp mot hverandre, er det viktig å se hvor de har sterke eller svake sider.
Forsøk på terminologiavklaring Når i-språk brukes i beskrivelsen av noe, brukes tradisjonelt ordene indeksering eller klassifikasjon. Med databasene har det oppstått en del terminologiske problemer. "Gamle" ord brukes dels med samme betydning som før og dels brukes de med helt ny betydning. Indeksering er et eksempel på et slikt ord. Dels brukes det om å sette eller tilordne emneord på dokumenter, dels brukes det om prosessen der det bygges opp indekser fra data som finns i en database. Dels brukes det om det å bygge opp en indeks eller et register til en spesiell bok. Indeksering er også en del av ordet siteringsindekser. Alt dette viser at ordet nærmest er blitt ubrukelig, og det jo være en trøst at ordet etymologisk betyr rett og slett pekefinger. Når indeksering er en intellektuell operasjon som ved emneordsetting på hele bøker eller oppbygging av en indeks eller register bak i en bok, brukes ofte ordet tilordnet indeksering (assigned indexing), mens indeksering som gjøres av et program fra data allerede lagt inn i en datamaskin, kalles ofte avledet indeksering (derived indexing), dvs. at indeksen bygges opp fra ord som allerede finnes i dokumentet selv eller er hentet fra tittelopplysninger. Å bestemme og å beskrive et dokuments emne kalles gjerne klassifikasjon når en bruker et i-språk med notasjon, og indeksering når en bruker i-språk uten notasjon. Terminologien er imidlertid flytende, og i litteraturen har indeksering ofte en bred betydning, dvs. at det inkluderer både klassifikasjon og indeksering (noen bruker det enda bredere slik at indeksering også inkluderer katalogisering). Videre i kapitlet vil klassifikasjonsskjema bli brukt om i-språk med notasjon og emneordsspråk om i-språk uten notasjon. Klassifikasjon vil bli brukt som overordet term, dvs. om aktiviteten å dele inn generelt. Det vil også brukes om det å bruke et klassifikasjonsskjema som f.eks. Dewey (der det skulle oppstå tvil vil dette bli avklart). Emneordsetting vil bli brukt om nettopp det å beskrive et dokument med emneord. Emneordskatalogisering tyder for mye på at en lager en tradisjonell emneordskatalog. Emneordskatalogen bør gå og vil gå opp i den generelle elektroniske katalogen. Hvis en vil ha noe som ligner på en tradisjonell emneordskatalog kan denne realiseres som en rapport.
INDEKSERINGSSPRÅK
134
I-språk som bruker notasjon, presenteres i et klassifikasjonsskjema, mens ispråk uten notasjon gjerne presenteres i emneordslister eller tesauri. Mens klassifikasjon er utenkelig uten å ha et skjema å arbeide ut fra, er det mulig å indeksere uten å ta utgangspunkt i emneordslister eller tesauri. Indekseringsspråket skapes da underveis, men kan like fullt kalles et indekseringsspråk. En klassifikasjon vil ende opp med et klassifikasjonsnummer eller en kodeterm, mens en ved indeksering blir stående igjen med ett eller flere emneord. Klassifikasjonsskjemaene er organisert som trær med rot. En tesaurus vil ikke nødvendigvis være ordnet som et fullstendig tre. En tesaurus kan inneholde mange termer som står helt alene (orphans). (Som et punkt uten linjestykker knyttet til seg.) Når en klassifiserer med hjelp av et generelt klassifikasjonsskjema må en "gjennom" et fagområde (Bliss har en mulighet for å gå rett til et fenomen); fenomenet breer nås igjennom fagområdet glasiologi. Ved bruk av emneordsspråk kan en gå rett på fenomen.
Emneanalyse (subject analysis) Forut for indekseringen av et dokument ligger analysen for å finne ut hva som faktisk er emnet til dokumentet. Dette kan virke som en banal operasjon, men er faktisk noe av det vanskeligste i hele bibliotekfaget. Når emneanalysen er utført, er oppgaven å uttrykke emnet i et eller annet i-språk. Det er mulig at det aktuelle i-språket ikke greier å uttrykke resultatet av emneanalysen. Evt. begrensninger i i-språkene (det ligger i i-språkenes natur at de har begrensninger) angår egentlig ikke selve emneanalysen. For emneanalysen trengs et analyseredskap som ligner på det språkopplæringen bruker for å analysere setninger formelt. I den formelle analysen av setninger brukes ord som subjekt, predikat og objekt. Et verb kan være transitivt (tar objekt) eller intransitivt. Med en slik grammatikk er det ingen forskjell mellom løpe, løping, har løpt. I emneanalysen prøver man å finne "dypstrukturen" til "setningen"; løpe eller løping er formelt ulike, i emneanalyse ses de på som like. I emneanalysen ser en f.eks. etter om det er snakk om en handling eller operasjon (action). Hvem er det som utfører den eventuelle operasjonen (agent); hva er det operasjonen utføres på (patient)? Brukes det noe verktøy i operasjonen? Hvor og når skjer dette?
INDEKSERINGSSPRÅK
135
Eksempler:
Detaljhandel med gull- og sølvvarer. - action: detaljhandel, patient: gull- og sølvvarer Produksjon av sko - action: produksjon, patient: sko
Rasjonalisering av skofabrikker i Østerrike - action: rasjonalisering, patient: skofabrikker, sted: Østerrike Ovenfor er det foretatt analyser av fenomen som kan kalles sammensatte (compound subjects). Det finns selvsagt også enklere fenomen som f.eks. Hester, Tog, Trær. (Spørsmålene blir drøftet videre lenger ut i teksten.)
Disiplin eller fagområde Svært ofte vil et fenomen ses i lys av et fag eller en disiplin. Fenomenet bygging av hus kan ses i lys av fagene økonomi, byggeteknikk eller historie. Det bør derfor skilles klart mellom fenomen og fag eller disiplin. Mills, J. (1977) foreslår følgende definisjon av en disiplin: "Distinctive forms of knowledge in which the world (the objects of knowledge) are regarded from different viewpoints, characterised by a special body of concepts, a spesialised methodology and criteria of validity which are unique to that discipline.
It is convenient to distinguish fundamental disciplines (Philosophy, Mathematics, Empirical Sciences, Sosial Sciences, History, Religion, Morals, Aesthetics) from subdisciplines within these (e. g. Physics, Chemistry, Economics, Political science)." (b.I, s. 98)
D.W. Langridge (1989) prøver å skille klarere mellom fenomen (som kalles for topic) og fag eller disiplin (som kalles forms of knowledge). Langridge unngår ordet disiplin siden dette ofte dekker både form of knowledge og topic. Skillet kan ofte være vanskelig å trekke fordi mye av det som vanligvis kalles fag er både topic og form of knowledge:
INDEKSERINGSSPRÅK
136
"For example, ethics is the philosophy (form) of morals (topic); zoology is the science (form) of animals (topic); psychology is the science (form) of human behaviour)." (Langridge 1989, s. 31) Langridge (1989, s. 33 - 37) prøver å sette opp en liste over "forms of knowlegde" som går noe på tvers av det en finner i tradisjonelle klassifikasjonsskjemaer. En forkortet versjon av denne listen ser slik ut (s. 24): 1. Prolegomena : the instruments of knowledge 2. Philosophy 3. Natural science 4. Technology (or Useful arts) 5. Human (behavioural or social) science 6. Social practise 7. History 8. Moral knowledge 9. Religion 10. Art 11. Criticism 12. Personal experience
Et klassifikasjonsskjema vil dele opp kunnskapen i hovedklasser (main classes). Inndelingen er forskjellig fra skjema til skjema. Dewey og UDK deler inn i ti hovedklasser, mens Bliss deler inn i tyve hovedklasser. Inndeling i hovedklasser bør drøftes på en pragmatisk måte. Derek Austin sier det slik: "While it may be easy to question on theorethical grounds the extent to which knowledge can be broken down into watertight compartments, from the practical viewpoint of library organizations main classes confer such obvious advantages that if they had not evolved already we should have to invent them." (Sitert i Buchanan 1979, s. 111) I-språk kan også lages for det som kan kalles virksomhetsområder; som f.eks. Bibliotekfag, Næringsmiddelindustri eller Miljøvern. I-språkene vil da ordne sine termer relativt til dette virksomhetsområde.
INDEKSERINGSSPRÅK
137
Emne og form Et emne kan sies å være et fenomen eller et fenomen sett i lys av et fagområde. Et i-språk vil i tillegg beskrive formen (ikke samme betydning som i "forms of knowledge ovenfor") til et dokument. Form dekker det fysiske mediet et dokument er nedfelt i, f.eks. bok, mikrofilm eller CD-ROM. Det dekker også hvordan dokumentet er organisert. Det kan dreie seg om tabeller om norsk jordbruk, det kan dreie seg om et leksikon om geografi, det kan dreie seg om lovteksten til merverdiloven. Det er ikke lett å trekke grenser mellom ulike former. Det snakkes om f.eks. indre og ytre form. Indre form kan ha likheter med "forms of knowledge" eller disiplin, f.eks. historisk behandling kan kalles en indre form. Form kan også inkludere nivået på et dokument, eller hvem dokumentet er laget for, f.eks. at et dokument er laget for barn. I Bliss finner en former inndelt med inndelingskriterier som Physical forms, By access mode, Forms of presentation and arrangement. En beskrivelse kan altså inneholde et fenomen, f.eks. maskiner, fagområde som fenomenet er sett i lys av, f.eks. historie, form som kan inkludere form som laget for en spesiell gruppe, form som organisering (f.eks. leksikon) og form som medium (f.eks. CD-ROM). En kan da tenke seg følgende beskrivelse: Maskiner - Historie - For barn - Leksikon - CD-ROM
Formbeskrivelsen kan brukes som gjenfinningselement. En bruker kan ønske opplisting av alle leksikon i en samling.
Enkle og sammensatte fenomen Et fenomen (fenomen har her en vid betydning) kan bestå av flere komponenter. (Fenomen og emne kan være vanskelig å holde presist fra hverandre og jeg garanterer ikke at teksten videre opprettholder et presist skille). Buchanan (1979) opererer med følgende type klasser (idéene går tilbake til Ranganathan):
138
INDEKSERINGSSPRÅK
Simple classes
Elemental classes
Superimposed classes
Composite classes
Complex classes
Compound classes
"Simple classes are those in which the relationship merely defines one kind of thing. Elemental classes are those in which that thing is defined by only one characteristic - they are classes containing no syntactical relationship, but are the elements from which classes with such relationship are build up. Classes such as RESPIRATION (a physiological process), PRIMATES (a kind of animal), FORESTS (a kind of habitat), ANIMALS OF THE SEA (a kind of animal defined by where it lives) and HIBERNATING ANIMALS (a kind of animal defined by habit) are examples of elemental classes.
Superimposed classes (the term is taken from Ranganathan) are simple classes defined by more than one characteristic; for example, the class TROPICAL FORESTS is a kind of habitat defined by latitude and by type of ground cover; MARINE MAMMALS is a kind of animal defined by both habitat and by zoologists’ taxonomy; BRITISH MIGRATORY BIRDS is a kind of animal defined by place where it can be found and by zoologists’ taxonomy. Because superimposed classes are like compound classes, in that both contain more than one elemental class, it is possible to mistake one for the other, as is done in an otherwise excellent textbook in our field. Unless the distinction is maintained it is not possible to differentiate between, say, the superimposed class MIGRATORY BIRDS and the compound class THE MIGRATION OF BIRDS; or between the superimposed class TIMBER KAYAKS and the compound class TIMBER FOR KAYAKS. The distinction is not always necessarry, but the possibility must be recognised. A former colleague, David Hope, suggested a test to distinguish the two kinds of classes: if it is possible to insert the words "which are also" between the elemental classes then the class is a superimposed class; for example, "British animals which are also migratory animals which are also birds." In a composite class, different kinds of things are in a relationship of interaction; the relationship does not define a kind of thing. Compare the two classes WOODLAND BIRDS and THE RESPIRATION OF BIRDS; in the first case, each elemental class is made a kind of the other by the relationship -
139
INDEKSERINGSSPRÅK
woodland birds are a kind of bird, and also a kind of woodland animal; in the second case, however, the relationship does not make the elemental class BIRDS a kind of the elemental class RESPIRATION, nor the class RESPIRATION a kind of bird. Both complex and compound classes deal with relationship between more than one kind of thing; the difference between them is in the extent to which these components retain their identities in the relationship. In a complex class, the interaction between the component classes leaves them still separable, in that their contributions to the whole remain distinct; in a compound class the components fuse, and cannot be separated out............
Ranganathan underlines this difference between the two kinds of composite class by calling complex classes "loose assemblages". His name for the components of such a class is "phases", and he calls their relationship a "phase relationship". The phases of a complex class may be elemental, superimposed or compound class, and their are linked on the verbal plane by terms which specify the nature of their relationship." (Buchanan 1979, s. 19).
Fasettrelasjoner og faserelasjoner Begrepet fasett dukker ofte opp i klassifikasjonsteori. Det viser til at "noe" har forskjellige aspekter eller sider. Fasettinndeling vil drøftes grundigere lenger ut i kapitlet. Foreløpig kan det sies at klassene definert ovenfor, superimposed class og compound class, inneholder fasettrelasjoner. Mellom delene av en complex class er det altså faserelasjoner. Ranganatan (1967, s. 358) definerer følgende faserelasjoner:
-
general relation phase bias phase comparison phase difference phase
Figur 17.2 Fasettrelasjon og faserelasjon.
INDEKSERINGSSPRÅK
140
- influencing phase General relation dekker forhold der det ikke sies noe eksakt om hvilket forhold det er mellom "fasene", f.eks. "Moteskaperne og forbrukerne". Bias kan oversettes med synsvinkel, f.eks. i "Statistikk for bibliotekarer". Comparison dekker sammenligning, f.eks. "Sammenligning av jordbruket i Norge og Danmark". Difference dekker forskjell (ligger nært opptil sammenligning). Influencing dekker innflytelse eller påvirkning.
I figurene som følger vises en fasettrelasjon som et snitt mellom mengder og faserelasjon med pil som vist i figur 17.2.
I figur 17.4 vises en faserelasjon og en fasettrelasjon mellom delene jordbruk og politikk. "Jordbruket og politikken" kan dekke hvordan disse har gjensidig påvirket hverandre og det er en faserelasjon mellom delene. Jordbrukspolitikk er noe helt annet; her er det en fasettrelasjon mellom delene. For å ha en måte å skrive dette på, introduseres noen symboler for å visse disse relasjonene. Faserelasjon beskrives med tegnet