Introduktion til SKOS - Simple Knowledge
Organization System
W3C-arbejdsgruppenotat 18. august 2009
Denne version:
http://www.w3.org/TR/2009/NOTE-skos-primer-20090818/
Seneste version:
http://www.w3.org/TR/skos-primer
Tidligere version:
http://www.w3.org/TR/2009/WD-skos-primer-20090615/
Redaktører:
Antoine Isaac, Vrije Universiteit Amsterdam
Ed Summers, Library Of Congress
Tjek trykfejlslisten for dette dokument, der måske indeholder rettelser.
Se også oversættelser.
Copyright ©2009 W3C® (MIT, ERCIM, Keio). Alle rettigheder forbeholdt. W3C’s regler for
hæftelse, varemærke og dokumentanvendelse er gældende.
Resume
SKOS – Simple Knowledge Organization System – er en model, der kan udtrykke den
grundlæggende struktur af og indholdet i begrebssystemer, f.eks.tesaurusser,
klassifikationssystemer, overskriftslister, taksonomier, folksonomier og andre lignende typer af
kontrollerede vokabularier. SKOS tillader, ved at være en anvendelse af RDF (Resource
Description Framework), at begreber bliver udarbejdet og publiceret online, kædet sammen med
data på internettet og integreret i andre begrebssystemer.
Følgende dokument er en vejledning til dem, der ønsker at fremstille deres begrebssystemer ved
hjælp af SKOS.
Grundlæggende identificeres begrebsbaserede ressourcer (begreber) i SKOS af URI’er kategoriseret
af strenge på et eller flere naturlige sprog. De er dokumenteret af forskellige typer notater,
semantisk forbundet med hinanden i uformelle hierarkier og associationsnetværk samt sammensat i
begrebssystemer.
Ved mere avanceret brug af SKOS kan begrebsmæssige ressourcer mappes på tværs af
begrebssystemer og grupperes i kategoriserede eller ordnede samlinger. Der kan angives
sammenhænge mellem begrebsbetegnelserne. Endelig kan selve SKOS-vokabulariet udbygges, så
det passer til særlige praksisfællesskaber eller kombineres med andre datamodelleringsvokabularier.
Dokumentet her er et tillæg til dokumentet Håndbog i SKOS (Simple Knowledge Organization
System), der indeholder SKOS’ normative reference.
Aktuel dokumentstatus
Dette afsnit beskriver den aktuelle dokumentstatus på tidspunktet for publiceringen. Andre
dokumenter vil muligvis gøre dette dokument overflødigt. En liste over aktuelle W3C-publikationer,
samt den seneste revision af denne tekniske rapport, kan findes i W3C technical reports index på
http://www.w3.org/TR/.
Dokumentet her er et arbejdsgruppenotat publiceret af Semantic Web Deployment Working Group,
en del af W3C Semantic Web Activity. Denne version er en opdatering af det tidligere udkast fra
arbejdsgruppen fra 15. juni 2009. Denne version indeholder adskillige mindre redaktionelle
ændringer. Der er desuden blevet fjernet et eksempel, der foreslog, hvordan man kunne henvise til
et notationssystem (f.eks. en symbolsk notation) i en betegnelse, hvor notationssystemet ikke
korresponderer med et naturligt sprog. Det vurderedes, at forslaget ikke stemte overens med IETF-
dokumentet Best Current Practice 47 om brug af mærker til at identificere sprog. Brugere bør
overveje at læse tillægget SKOS Extension vocabulary som hjælp til supplerende
notationssystemer.
Dokumentet her supplerer dokumentet Håndbog i SKOS (Simple Knowledge Organization System)
fra 18. august 2009.
Bemærkninger til dette dokument kan sendes til [email protected]. Skriv venligst ”SKOS
comment” i emnelinjen. Alle beskeder til denne adresse kan ses i det offentlige arkiv.
Dokumentet her blev fremstillet af en gruppe, der arbejder under 5 February 2004 W3C Patent
Policy. W3C fører en offentlig liste over enhver patentanmeldelse, der er foretaget i forbindelse
med gruppens publikationer. Siden omfatter også vejledning i at anmelde et patent. Enkeltpersoner
med konkret viden om et patent, som vedkommende mener indeholder væsentlige fordringer, skal
fremlægge oplysningerne i henhold til afsnit 6 i W3C Patent Policy.
Publikation af et arbejdsgruppenotat betyder ikke, at det er godkendt af W3C-medlemskabet. Dette
er et udkast og kan til hver en tid blive opdateret, erstattet eller gjort uaktuelt af andre dokumenter.
Dette dokument bør ikke citeres som andet end et igangværende projekt.
Indholdsfortegnelse
1. Indledning
2. Grundlæggende SKOS
o 2.1 Begreber
o 2.2 Betegnelser
2.2.1 Foretrukne leksikale betegnelser
2.2.2 Alternative leksikale betegnelser
2.2.3 Skjulte leksikale betegnelser
o 2.3 Semantiske relationer
2.3.1 Bredere/snævrere relationer
2.3.2 Associative relationer
o 2.4 Dokumentariske noter
o 2.5 Begrebssystemer
3. Arbejde med vidensorganiserende systemer på det semantiske web
o 3.1 Mapning af begrebssystemer
o 3.2 Genbrug og ekstension af begrebssystemer
o 3.3 Emneindeksering og SKOS
4. Avanceret SKOS: når KOS’er ikke længere er enkle
o 4.1 Samlinger af begreber
o 4.2 Avancerede dokumentationsfunktioner
o 4.3 Relationer mellem betegnelser
o 4.4 Koordinering af begreber
o 4.5 Transitive hierarkier
o 4.6 Notationer
o 4.7 Om at specialisere SKOS-modellen
5. Kombinere SKOS med andre modelleringsmetoder
o 5.1 Brug af betegnelser uden for SKOS
o 5.2 SKOS-begreber og OWL-klasser
o 5.3 SKOS, RDF-datasæt og containment af informationer
Litteraturhenvisninger
Tak
Tillæg. Korrespondance mellem ISO-2788/5964 og SKOS-begrebet
1. Indledning
SKOS (Simple Knowledge Organization System) er et RDF-vokabularium, der kan bruges til at
repræsentere semiformelle vidensorganiserende systemer (KOS’er), f.eks. tesaurusser, taksonomier,
klassifikationssystemer og emneordslister. SKOS bygger på RDF (Resource Description
Framework) [Introduktion til RDF], og derfor er disse repræsentationer maskinlæsbare og kan
udveksles mellem softwareprogrammer og publiceres på internettet.
SKOS er udviklet som en omkostningseffektiv metode til at migrere eksisterende
vidensorganiserende systemer til det semantiske web. SKOS indeholder også et enkelt og intuitivt
begrebsbaseret modelleringssprog til at udvikle og dele nye KOS’er. Det kan bruges i sig selv eller i
forbindelse med mere formelle sprog, f.eks. OWL’er (Web Ontology Language) [OWL]. SKOS kan
også ses som en brobygningsteknologi, der udgør den manglende forbindelse mellem
ontologisprogenes stive, logiske formalisme og den kaotiske, uformelle og svagt strukturerede
verden, der udgøres af internetbaserede værktøjer, f.eks. programmer til social tagging.
Det er ikke hensigten, at SKOS skal erstatte originale begrebsbaserede vokabularier i deres
oprindelige anvendelsesramme, men tillade, at de kan migreres til et delt rum baseret på en
forenklet model, så de i højere grad kan genbruges og opnå bedre interoperabilitet.
1.1 Om denne introduktion
Hensigten med dette dokument er at hjælpe brugere, der har en grundlæggende forståelse for RDF,
med at repræsentere og publicere deres begrebssystemer som SKOS-data. Introduktionen tilstræber
at give eksempler og vejledning i brugen af SKOS-vokabulariet.
Læseren bør rådføre sig med det normative dokument Håndbog i SKOS [SKOS-REFERENCE],
hvor der findes en systematisk beskrivelse af alle elementer i SKOS-vokabulariet, herunder deres
referencesemantik. Dette kan ske på klasse- og egenskabsniveau ved at klikke på deres forekomst i
teksten (f.eks. skos:Concept). En oversigt over eksempler på brug af SKOS og de påpegede krav,
der styrer deres design, findes i dokumentet SKOS Use Cases and Requirements [SKOS-UCR].
Denne introduktion erstatter, sammen med Håndbog i SKOS [SKOS-REFERENCE], den tidligere
SKOS Core Guide [SWBP-SKOS-CORE-GUIDE] og SKOS Core Vocabulary Specification [SWBP-
SKOS-CORE-SPEC], som nu er forældede.
De grundlæggende funktioner i SKOS-modellen forklares i afsnit 2. Der præsenteres de elementsæt
i vokabulariet, der oftest benyttes til at repræsentere KOS’er. I afsnit 3 vises det, hvordan man føjer
værdi til disse repræsentationer ved enten at kæde dem sammen eller forbinde dem med andre typer
ressourcer på det semantiske web. Det forventes, at mange SKOS-anvendelser vil benytte nogle af
de funktioner, der præsenteres i afsnit 3. Afsnit 4 fokuserer på mere avancerede
repræsentationsbehov, som sandsynligvis er påkrævet i et begrænset antal SKOS-anvendelser.
Afsnit 5 diskuterer brugen af SKOS i forbindelse med andre modelleringsmetoder, især OWL.
Om eksempler i denne introduktion
Hovedparten af eksemplerne i denne vejledning gives som en serialisering af RDF-grafer ved hjælp
af Turtle-syntaks til RDF [TURTLE]. Eksemplerne i Turtle vises som kodelinjer, f.eks.:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix ex: <http://www.example.com/>.
ex:aResource ex:aProperty ex:anotherResource;
ex:anotherProperty "An RDF Literal"@en.
Det ovenstående svarer til følgende udtryk RDF/XML’s referencesyntaks [RDF/XML-SYNTAX]:
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ex="http://www.example.com/">
<rdf:Description rdf:about="http://www.example.com/aResource">
<ex:aProperty rdf:resource="http://www.example.com/anotherResource"/>
<ex:anotherProperty xml:lang="en">An RDF Literal</ex:anotherProperty>
</rdf:Description>
</rdf:RDF>
Af praktiske årsager er et antal deklarationer af navneområder udeladt af eksemplerne. Dette gælder
standardnavneområder (SKOS, RDF/RDFS [INTRODUKTION TIL RDF], OWL [OWL] og Dublin
Core [DC]), men også de, der er lavet til eksemplerne. Generelt kan disse navneområder erklæres
som i følgende kode:
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://www.example.com/> .
@prefix ex1: <http://www.example.com/1/> .
@prefix ex2: <http://www.example.com/2/> .
2. Grundlæggende SKOS
Dette afsnit introducerer kernen i SKOS-modellen, nemlig de nødvendige funktioner for at
repræsentere de fleste KOS’er, som det kan ses i hovedparten af brugereksemplerne [SKOS-UCR].
I grundlæggende SKOS, kan begrebsbaserede ressourcer (begreber) identificeres med URI’er,
navngives med leksikale strenge i ét eller flere naturlige sprog, dokumenteres af forskellige type
noter, semantisk relateres til hinanden i uformelle hierarkier og associative netværk samt samles i
begrebssystemer.
2.1 Begreber
Det fundamentale element i SKOS-vokabulariet er begrebet. Begreber er de tankeenheder
[WillpowerGlossary] – idéer, betydningsindhold eller (kategorier af) objekter og begivenheder – der
ligger til grund for mange vidensorganiserende systemer [SKOS-UCR]. Således eksisterer begreber i
hjernen som abstrakte enheder, der er uafhængige af de ord, som bruges til at navngive dem med.
SKOS introducerer klassen skos:Concept, som giver brugere mulighed for at erklære, at en given
ressource er et begreb. Dette gøres i to trin:
1. ved at oprette (eller genbruge) en URI (Uniform Resource Identifier [URI]), der entydigt
identificerer begrebet.
2. at erklære i RDF, ved hjælp af egenskaben rdf:type, at den ressource, som URI’en
identificerer, er af typen skos:Concept.
F.eks.:
<http://www.example.com/animals> rdf:type skos:Concept.
Dette kan også repræsenteres mere kompakt i Turtle med navneområdepræfikset ex, som er
defineret ovenover:
ex:animals rdf:type skos:Concept.
Ved at bruge SKOS til at publicere begrebssystemer er det nemt at henvise til begreberne i
ressourcebeskrivelser på det semantiske web. Det anbefales at bruge HTTP URI’er til at fremstille
begrebs-URI’er, eftersom de kan omdannes til repræsentationer, der kan åbnes med standardiserede
internetteknologier. Yderligere oplysninger om URI’er på det semantiske web findes i
dokumenterne Cool URIs for the Semantic Web [COOLURIS] og Best Practice Recipes for
Publishing RDF Vocabularies [RECIPES].
2.2 Betegnelser
Den første karakterisering af begreber er de udtryk, der bruges til at henvise til dem på naturligt
sprog: deres betegnelser. SKOS indeholder tre egenskaber, der kan bruges til at sætte betegnelser på
begrebsbaserede ressourcer: skos:prefLabel, skos:altLabel og skos:hiddenLabel. Hver af
disse egenskaber antyder en bestemt status af den betegnelse, den introducerer, der spænder fra en
stærk og entydigt angivet relation til en streng, der kan hjælpe med søgning. Disse egenskaber er
formelt defineret som værende parvist disjunkte. Det betyder, at det f.eks. er en fejl, hvis et begreb
har samme literal både som den foretrukne betegnelse og som en alternativ betegnelse.
Som angivet i afsnit 5 i Håndbog i SKOS, udgør skos:prefLabel, skos:altLabel og
skos:hiddenLabel simple betegnelser. De er alle underegenskaber af rdfs:label og bruges til at
sammenkæde et skos:Concept med en almindelig RDF-literal, som er en tekststreng (f.eks.
"love") i kombination med et valgfrit sprogmærke (f.eks. "en-US") [RDF-CONCEPTS].
2.2.1 Foretrukne leksikale betegnelser
Egenskaben skos:prefLabel gør det muligt at tildele en ressource en foretrukken betegnelse.
Udtryk, der bruges som beskrivende ord i emneordssystemer [WillpowerGlossary], bliver f.eks.
repræsenteret ved hjælp af denne egenskab, som i følgende eksempel:
ex:animals rdf:type skos:Concept;
skos:prefLabel "animals".
Almindelige RDF-literaler defineres formelt som tekststrenge med valgfrie sprogmærker. På denne
måde giver SKOS en simpel mulighed for at bruge betegnelser på flere sprog. Dette gøres ved at
bruge en leksikal betegnelses sprogmærke til at begrænse dens funktionsområde til et bestemt
sprog. Følgende eksempel viser, hvordan et begreb får tildelt en foretrukken betegnelse på engelsk
og en anden på fransk:
ex:animals rdf:type skos:Concept;
skos:prefLabel "animals"@en;
skos:prefLabel "animaux"@fr.
Bemærk, at betegnelsen foretrukken betegnelse betyder, at en ressource kun kan have én af den
slags betegnelser per sprogmærke, som det forklares i afsnit 5 i Håndbog i SKOS [SKOS-
REFERENCE].
Det er almindelig praksis i design af KOS’er, at et begrebs foretrukne betegnelse også kan bruges til
entydigt at repræsentere dette begreb i en KOS og i dens programmer. Så selv om SKOS-
datamodellen ikke formelt påtvinger det, så anbefales det, at man ikke tildeler den samme
foretrukne betegnelse til to begreber i den samme KOS for et givet sprogmærke.
2.2.2 Alternative leksikale betegnelser
Egenskaben skos:altLabel gør det muligt at tildele en alternativ leksikal betegnelse til et begreb.
Dette er især nyttigt, når der tildeles betegnelser ud over den, der er foretrukket til begrebet, f.eks.
når der er brug for at repræsentere synonymer:
ex:animals rdf:type skos:Concept;
skos:prefLabel "animals"@en;
skos:altLabel "creatures"@en;
skos:prefLabel "animaux"@fr;
skos:altLabel "créatures"@fr.
Bemærk at repræsentation af synonymer til foretrukne betegnelser ikke er den eneste mulige brug af
skos:altLabels. Nærsynonymer, forkortelser og akronymer kan repræsenteres på samme måde:
ex:fao rdf:type skos:Concept;
skos:prefLabel "Food and Agriculture Organization"@en;
skos:altLabel "FAO"@en.
Notat om opadgående opslag: Det er også muligt at bruge skos:altLabel til at repræsentere
tilfælde af opadgående opslag [ISO-2788]. Det vil sige, når et begreb sammenstykker mere
specialiserede begreber, der ikke er eksplicit introduceret som begreber i den KOS, der er under
betragtning:
ex:rocks rdf:type skos:Concept;
skos:prefLabel "rocks"@en;
skos:altLabel "basalt"@en;
skos:altLabel "granite"@en;
skos:altLabel "slate"@en.
Men selv om det ikke er meningen, at SKOS skal erstatte eksisterende vejledninger i KOS-design
[ISO-2788, BS8723-2], bør man være opmærksom på, at det ikke anbefales at bruge opadgående
opslag. En mere passende KOS til dette domæne vil introducere en skos:Concept for hver af
stenarterne (basalt, granit og skifer) og erklære den som et underbegreb af ex:rock.
2.2.3 Skjulte leksikale betegnelser
En skjult leksikal betegnelse, repræsenteret ved hjælp af egenskaben skos:hiddenLabel, er en
leksikal betegnelse for en ressource, hvor en KOS-designer ønsker, at tekststrengen er tilgængelig
for programmer, der udfører tekstbaseret indeksering og søgninger, men ikke ønsker, at den
derudover skal være synlig. Skjulte betegnelser kan f.eks. bruges til at inddrage varianter af andre
leksikale betegnelser, der er stavet forkert. F.eks.:
ex:animals rdf:type skos:Concept;
skos:prefLabel "animaux"@fr;
skos:altLabel "bêtes"@fr;
skos:hiddenLabel "betes"@fr.
2.3 Semantiske relationer
Semantiske relationer spiller en meget vigtig rolle ved definitionen af begreber i KOS’er.
Betydningen af et begreb bliver ikke kun defineret af betegnelsernes ord i naturligt sprog, men også
af dets forbindelser til andre begreber i vokabulariet. SKOS spejler de grundlæggende
relationskategorier, der bruges i vokabularier som tesaurusser [ISO2788], og har tre
standardegenskaber:
skos:broader og skos:narrower muliggør repræsentation af hierarkiske forbindelser,
f.eks. relationen mellem en slægt og dens mere specifikke arter, eller – afhængig af
fortolkninger – relationen mellem et hele og dets dele.
skos:related muliggør repræsentation af associative (ikke-hierarkiske) forbindelser, f.eks.
mellem én type begivenhed og en kategori af entiteter, som typisk deltager i den.
Egenskaben skos:related kan også bruges mellem to kategorier, hvor den ene ikke er
mere generel eller specifik end den anden. Bemærk, at skos:related muliggør
repræsentation af associative (ikke-hierarkiske) forbindelser, som også kan bruges til at
repræsentere forbindelser af typen del-helhed, der ikke er tænkt som hierarkiske relationer.
2.3.1 Bredere/snævrere relationer
Man bruger egenskaben skos:broader til at erklære, at et begreb har en bredere betydning (dvs. er
mere generel) end et andet. Egenskaben skos:narrower bruges til at erklære det modsatte, nemlig
at et begreb har en snævrere betydning(dvs. mere specifik) end et andet. F.eks.:
ex:animals rdf:type skos:Concept;
skos:prefLabel "animals"@en;
skos:narrower ex:mammals.
ex:mammals rdf:type skos:Concept;
skos:prefLabel "mammals"@en;
skos:broader ex:animals.
Som det ofte er tilfældet i KOS, kan et SKOS-begreb tilknyttes flere bredere begreber på samme tid.
Et begreb ex:dog kan f.eks. have både ex:mammals og ex:domesticatedAnimals som bredere
begreber.
Notat om retningen i skos:broader: Af historiske årsager giver navnet på egenskaben
skos:broader (ordet ”bredere” i oversættelse) ikke en eksplicit angivelse af dens retning. Det bør
her opfattes som ”har bredere begreb”. I et udtryk med skos:broader er subjektet det mere
specifikke begreb i erklæringen, og dets objekt er det mere almene.
Notat om implicitte udsagn af typen skos:broader/skos:narrower: Egenskaberne
skos:broader og skos:narrower er hinandens modstykker. Ifølge SKOS-datamodellen[SKOS-
REFERENCE] er Y et snævrere begreb af begreb X, når X er bredere end begreb Y. Dette kan
hjælpe med at gøre SKOS-repræsentationer mere effektive ved at begrænse den information, de
indeholder. I overstående eksempel kan man f.eks. udlade udsagnet ex:mammals skos:broader
ex:animals, før man bruger begrebssystemets data. Et OWL-ræssoneringsprogram bruges til at
udlede det fra udsagnet ex:animals skos:narrower ex:mammals.
I mange tilfælde kan hierarkiske relationer i et begrebssystem opfattes som transitive [OWL]. Hvis
ex:dyr er bredere end ex:pattedyr, som selv er bredere end ex:katte, giver det mening at
erklære, at ex:dyr er bredere end ex:katte. Men der findes dog især i KOS’er ”urene” hierarkier,
der adskiller sig fra standardiserede, veldesignede tesaurusser, hvor sådan en funktion ikke vil
vurderes at være passende. Det kan f.eks. være en situation, hvor ex2:køretøjer siges at være
bredere end ex2:biler, som selv er erklæret bredere end ex2:hjul. Det kan være problematisk,
hvis det automatisk udledes, at ”hjul” er et snævrere begreb i forhold til ”køretøjer”. SKOS forudser
den slags problemer ved ikke at definere skos:broader og skos:narrower som generelt transitive
egenskaber. Yderligere oplysninger om ”transitive hierarkier” kan findes i afsnit 4.5, der beskriver
en måde at gøre dette, mens man fastholder kompatibiliteten med semantikken i skos:broader,
som defineres i dette afsnit.
Notat om ikke-transitiv versus intransitiv: SKOS-modellen angiver ikke, at skos:broader og
skos:narrower er transitive, men det betyder ikke, at disse egenskaber er intransitive. I begrebet
katte, som er snævrere end begrebet pattedyr, der selv er snævrere end dyr, kan man udlede, at
katte også er snævrere end dyr, og stadig forblive kompatibel med SKOS-modellen. Når
skos:broader ikke angives som transitiv, betyder det, at der ikke kan udledes nye skos:broader-
udsagn mellem katte og dyr ved hjælp af SKOS-aksiomer. Dette forhindrer ikke udgiveren af et
SKOS-begrebssystem i at erklære hierarkiske udsagn, der afspejler en lokal transitiv adfærd.
På samme måde antager SKOS ikke, at hierarkiske relationer som standard er irrefleksive. I mange
retningslinjer for tesaurusser er det forbudt at have et begreb, der er bredere end sig selv. Men i
særlige tilfælde, hinsides klassiske tesaurusser, kan der optræde visse refleksive skos:broader-
udsagn. Ved f.eks. konverteringen af en eksisterende RDFS/OWL-ontologi til et SKOS-
begrebssystem er det lovligt, at hvert rdfs:subClassOf-udsagn bliver genfortolket som et
skos:broader-udsagn. Men rdfs:subClassOf er en refleksiv egenskab, hvilket betyder, at
udsagnet C rdfs:subClassOf C er sandt [OWL] for hver c-klasse. I dette tilfælde vil hvert begreb
derfor have sig selv blandt dets bredere begreber.
Sondringen mellem typer af hierarkiske relationer er ikke en del af grundlæggende SKOS – f.eks.
relationer som forekomst-klasse og del-helhed. Yderligere oplysninger findes i afsnit 4.7, der
beskriver, hvordan man opretter specialiseringer af semantiske relationer til at tage sig af det
problem.
2.3.2 Associative relationer
Man kan bruge skos:related til at erklære en associativ relation mellem to begreber:
ex:birds rdf:type skos:Concept;
skos:prefLabel "birds"@en;
skos:related ex:ornithology.
ex:ornithology rdf:type skos:Concept;
skos:prefLabel "ornithology"@en.
Som beskrevet i Håndbog i SKOS [SKOS-REFERENCE] er skos:related en symmetrisk
egenskab[OWL]. Ud fra ovenstående RDF-graf følger f.eks., at ex:ornithology er subjekt i et
skos:related-udsagn, der har ex:birds som objekt.
Notat om (ikke-)transitivitet af skos:related: Man skal være opmærksom på, at skos:related
ikke er defineret som en transitiv egenskab i SKOS-datamodellen. En transitiv skos:related
kunne få uønskede konsekvenser, som i nedenstående eksempel:
ex:renaissance skos:related ex:humanism.
ex:humanism skos:related ex:philosophicalAnthropology.
ex:philosophicalAnthropology skos:related ex:philosophyOfMind.
ex:philosophyOfMind skos:related ex:cognitiveScience.
Hvis skos:related var transitiv, ville ex:renaissance da være direkte relateret til
ex:cognitiveScience. Mens hvert individuelle udsagn giver mening, så passer det udledte udsagn
måske ikke med det, som KOS’ens designer oprindelig havde til hensigt.
Notat om at blande hierarki med association: Den transitive afslutning skos:broader er adskilt
fra skos:related. Hvis ressourcerne A og B er relaterede via skos:related, må der ikke være en
kæde af skos:broader-relationer fra A til B. Det samme gælder skos:narrower.
2.4 Dokumentariske noter
Semantiske relationer er afgørende for definitionen af begreber, som det fremhæves af mange
retningslinjer for KOS’er. Men udover disse strukturerede karakteriseringer må begreber
indimellem defineres yderligere ved hjælp af ”uformel”dokumentation, der kan læses af mennesker,
f.eks. scope-noter eller definitioner.
SKOS benytter egenskaben skos:note til almindelig dokumentation. Denne egenskab er inspireret
af eksisterende KOS-retningslinjer, f.eks. [ISO2788] eller [BS8723-2] og er yderligere specialiseret
i skos:scopeNote, skos:definition, skos:example og skos:historyNote , så den passer til
mere specifikke typer dokumentation.
skos:scopeNote giver en vis, måske delvis information om begrebets tilsigtede betydning, især
som en indikation af, hvordan brugen af begrebet er begrænset i indekseringsmetode. Følgende
eksempel er hentet fra [ISO2788]:
ex:microwaveFrequencies skos:scopeNote
"Used for frequencies between 1GHz to 300Ghz"@en.
skos:definition leverer en komplet forklaring på begrebets tilsigtede betydning. Følgende
eksempel er hentet fra [ISO2788]:
ex:documentation skos:definition
"the process of storing and retrieving information
in all fields of knowledge"@en.
skos:example giver et eksempel på brugen af et begreb:
ex:organizationsOfScienceAndCulture skos:example
"academies of science, general museums, world fairs"@en.
skos:historyNote beskriver betydelige ændringer i begrebets betydning eller form:
ex:childAbuse skos:historyNote
"estab. 1975; heading was: Cruelty to children [1952-1975]"@en.
I tillæg til disse noter, der er beregnet på brugere af et begrebssystem, omfatter SKOS to
specialiseringer af skos:note, der er nyttige for KOS-managere eller -redaktører:
skos:editorialNote og skos:changeNote.
skos:editorialNote leverer information, der er en hjælp til intern administration, f.eks.
påmindelser om redaktionelt arbejde, der stadig skal udføres, eller advarsler, hvis der skulle blive
fortaget ændringer i fremtiden:
ex:doubleclick skos:editorialNote "Review this term after company merger
complete"@en.
ex:folksonomy skos:editorialNote "Check spelling with Thomas Vander Wal"@en.
skos:changeNote dokumenterer finkornede ændringer i et begreb med henblik på administration
og vedligeholdelse:
ex:tomato skos:changeNote
"Moved from under 'fruits' to under 'vegetables' by Horace Gray"@en.
Det er vigtigt at bemærke, at den hierarkiske forbindelse mellem egenskaben skos:note og
forskellige specialiseringer tillader, at den dokumentation, der er forbundet med et begreb, kan
hentes frem på en ligefrem måde. Hver skos:definition er en skos:note, hver skos:scopeNote
er en skos:note og så fremdeles.
Som illustreret ovenfor kan egenskabsdokumentation i SKOS simpelthen bruges sammen med
almindelige literaler i RDF. Afsnit 4.2 vil vise, at der er andre mulige mønstre, eftersom
udstrækningen af disse egenskaber ikke er begrænset til literaler. En vigtig funktion af enkle
literaler er dog muligheden for at bruge sprogmærker, som det gøres ved navngivning af
egenskaber. Dokumentation kan derfor gives i flere sprog:
ex:pineapples rdf:type skos:Concept;
skos:prefLabel "pineapples"@en;
skos:prefLabel "ananas"@fr;
skos:definition "The fruit of plants of the family Bromeliaceae"@en;
skos:definition
"Le fruit d'une plante herbacée de la famille des broméliacées"@fr.
Før dette afsnit afsluttes, er det vigtig at bemærke, at andre egenskaber, der ikke er defineret i
SKOS, kan bruges til at dokumentere begreber. Egenskaben dct:creator fra Dublin Core [DC]
kan f.eks. bruges til at pege på den person, der oprettede begrebet:
ex:madagascarFishEagle dct:creator [ foaf:name "John Smith" ].
2.5 Begrebssystemer
Begreber kan oprettes og bruges som selvstændige enheder. Men begreber findes som regel i
omhyggeligt sammensatte vokabularier og særligt i forbindelse med indeksering, som f.eks. i
tesaurusser eller klassifikationssystemer. Med SKOS kan man repræsentere den slags KOS’er ved
hjælp af klassen skos:ConceptScheme.
Det følgende eksempel viser, hvordan man definerer en begrebssystemsressource (der repræsenterer
en tesaurus) og beskriver den ressource ved hjælp af egenskaberne dct:title og dct:creator fra
Dublin Core [DC]:
ex:animalThesaurus rdf:type skos:ConceptScheme;
dct:title "Simple animal thesaurus";
dct:creator ex:antoineIsaac.
Når begrebssystemets ressource er blevet oprettet, kan man bruge egenskaben skos:inScheme til
at sammenkæde den med de begreber, den indeholder:
ex:mammals rdf:type skos:Concept;
skos:inScheme ex:animalThesaurus.
ex:cows rdf:type skos:Concept;
skos:broader ex:mammals;
skos:inScheme ex:animalThesaurus.
ex:fish rdf:type skos:Concept;
skos:inScheme ex:animalThesaurus.
SKOS definerer egenskaben skos:hasTopConcept for at give effektiv adgang til adgangsstederne i
bredere/snævrere begrebshierarkier. Med denne egenskab kan man sammenkæde et begrebssystem
til de (sikkert mange) mest generelle begreber, som det indeholder, som i det (fortsatte) eksempel
med opslagsværket om dyr:
ex:animalThesaurus rdf:type skos:ConceptScheme;
skos:hasTopConcept ex:mammals;
skos:hasTopConcept ex:fish.
Begrebssystemer er designet til at repræsentere traditionelle vokabularier, og udviklere opfordres til
at følge retningslinjer fra eksisterende KOS’er (f.eks. [ISO2788] eller [BS8723-2]), når man
sammensætter et begrebssystem i SKOS. Det anbefales f.eks., som det beskrives i afsnit 2.2, at to
begreber ikke har den samme foretrukne leksikale betegnelse på et givent sprog, når de hører til
samme begrebssystem.
Man skal dog være opmærksom på, at der er visse små forskelle mellem begrebssystemer i SKOS
og ”traditionelle” KOS’er, hvilket mest skyldes det semantiske webs sammenhæng med SKOS.
Afsnit 4.6 i Håndbog i SKOS [SKOS-REFERENCE] beskriver disse forskelle. Det er en vigtig
funktion i SKOS, at det er muligt at sammenkæde det samme begreb med flere begrebssystemer ved
hjælp af egenskaben skos:inScheme. Dette omtales i næste afsnit.
Endelig er det vigtigt at bemærke, at SKOS-vokabulariet kun i begrænset omfang understøtter
inddæmning af KOS-information i et begrebssystem. Egenskaberne skos:inScheme og
skos:hasTopConcept sammenkæder begrebssystemer og begreber. Men der er dog ingen
mekanisme i SKOS, der kan registrere, at et bestemt udsagn vedrørende disse begreber, f.eks. en
skos:broader-erklæring, hører til et bestemt begrebssystem. Man antager sædvanligvis, at en KOS
består af begge dens begreber og de links, der definerer dem. Yderligere oplysninger om dette emne
kan findes i afsnit 5.3.
3. Arbejde med vidensorganiserende systemer på det
semantiske web
At repræsentere en KOS med SKOS tjener ikke kun som en publiceringsmekanisme, men giver den
også mulighed for at deltage i et netværk af begrebssystemer. Det sande datapotentiale slippes fri,
når den bliver kædet sammen med det semantiske web. Når begreber fra forskellige
begrebssystemer forbindes med hinanden, begynder de at danne et distribueret, heterogent globalt
begrebssystem. Et netværk af begrebssystemer kan tjene som grundlag for nye programmer, der
giver mulighed for meningsfuld navigation mellem KOS’er. Dette afsnit introducerer de funktioner
i SKOS, der gør det muligt at sammenkæde begrebssystemer, og forklarer, hvordan man forbinder
begrebsressourcer med andre ressourcer på det semantiske web.
3.1 Mapning af begrebssystemer
Hvert begreb i SKOS tildeles en URI [COOLURIS], som gør det muligt entydigt at henvise til et
begreb i enhvert SKOS-anvendelse. Dette er især nyttigt til at etablere semantiske relationer mellem
allerede eksisterende begreber. Sådan en mapning er altafgørende for programmer som
informationssøgningsværktøjer, der bruger flere KOS’er på samme tid, og hvor disse KOS’er har
overlappende rammer, der skal forenes semantisk. Eksempler findes i dokumentet SKOS Use cases
and Requirements [SKOS-UCR].
Et afgørende træk ved mapning er muligheden for at angive, at to begreber fra forskellige systemer
har sammenligneligt betydningsindhold, og angive, hvordan dette betydningsindhold kan
sammenlignes, selv om det kommer fra forskellige sammenhænge og sikkert følger forskellige
modelleringsprincipper [BS8723-4]. Mapning af begreber forventes at blive en stor hjælp til at gøre
KOS’er tilgængelige på det semantiske web med SKOS.
SKOS har flere egenskaber, der mapper begreber mellem forskellige begrebssystemer. Dette kan
gøres ved hjælp af egenskaberne skos:exactMatch og skos:closeMatch, der erklærer, at to
begreber har et lignende betydningsindhold. To begreber fra forskellige begrebssystemer kan også
mappes med egenskaber, der svarer til de semantiske relationer, der blev præsenteret i afsnit 2.3:
skos:broadMatch, skos:narrowMatch og skos:relatedMatch.
I følgende eksempel repræsenterer to begrebssystemer et forskelligt syn på dyr:
ex1:referenceAnimalScheme rdf:type skos:ConceptScheme;
dct:title "Extensive list of animals"@en.
ex1:animal rdf:type skos:Concept;
skos:prefLabel "animal"@en;
skos:inScheme ex1:referenceAnimalScheme.
ex1:platypus rdf:type skos:Concept;
skos:prefLabel "platypus"@en;
skos:inScheme ex1:referenceAnimalScheme.
ex2:eggSellerScheme rdf:type skos:ConceptScheme;
dct:title "Obsessed egg-seller's vocabulary"@en.
ex2:eggLayingAnimals rdf:type skos:Concept;
skos:prefLabel "animals that lay eggs"@en;
skos:inScheme ex2:eggSellerScheme.
ex2:animals rdf:type skos:Concept;
skos:prefLabel "animals"@en;
skos:inScheme ex2:eggSellerScheme.
ex2:eggs rdf:type skos:Concept;
skos:prefLabel "eggs"@en;
skos:inScheme ex2:eggSellerScheme.
Det er muligt at mappe begreberne i ex1:referenceAnimalScheme til begreber i
ex2:eggSellerScheme ved at bruge nedenstående mapningerklæringer:
ex1:platypus skos:broadMatch ex2:eggLayingAnimals.
ex1:platypus skos:relatedMatch ex2:eggs.
ex1:animal skos:exactMatch ex2:animals.
En erklæring som skos:closeMatch viser, at to begreber er så tilstrækkeligt ens, at de synonymt
kan bruges i forbindelse med de to begrebssystemer, de hører til. Men egenskaben
skos:closeMatch er ikke defineret som transitiv, hvilket forhindrer, at sådanne lighedsvurderinger
kan sprede sig ud over de to systemer. Hvis et begreb ex1:A er et tæt match til et andet begreb
ex2:B, som i sig selv er et tæt match til ex3:C, betyder det ikke, at ex1:A er et tæt match til ex3:C i
SKOS-datamodellen.
skos:exactMatch angiver også semantisk lighed – det er en underegenskab af skos:closeMatch.
Det viser dog en endnu højere grad af nærhed: De to begreber har ækvivalent betydningsindhold, og
forbindelsen kan udnyttes i en lang række programmer og systemer. Egenskaben skos:exactMatch
er bestemt transitiv. Hvis et begreb ex1:A er et præcist match til et andet begreb ex2:B, som i sig
selv er et præcist match til ex3:C, så betyder det i SKOS-datamodellen, at ex1:A er et præcist
match til ex3:C.
Notat om skos:exactMatch vs. owl:sameAs: SKOS har egenskaben skos:exactMatch til at
mappe begreber med tilsvarende betydningsindhold og bruger bevidst ikke egenskaben owl:sameAs
fra ontologisproget OWL [OWL]. Når to ressourcer kædes sammen med owl:sameAs, antages det,
at de er samme ressource, og at tripler i forbindelse med disse ressourcer er flettet sammen. Dette
passer ikke til det, som er nødvendigt i de fleste SKOS-anvendelser. I ovenstående eksempel
fremgår det, at ex1:animal svarer til ex2:animals. Hvis denne lighedsrelation blev repræsenteret
ved hjælp af owl:sameAs ville følgende udsagn gælde for ex:animal:
ex1:animal rdf:type skos:Concept;
skos:prefLabel "animal"@en;
skos:inScheme ex1:referenceAnimalScheme.
skos:prefLabel "animals"@en;
skos:inScheme ex2:eggSellerScheme.
Dette vil gøre ex:animal selvmodsigende, eftersom et begreb ikke kan have to forskellige
foretrukne betegnelser på samme sprog. Var begrebet blevet tildelt andre informationer, f.eks.
semantiske relationer til andre begreber eller notater, så ville de også blive flettet sammen med det
resultat, at disse begreber fik nye betydninger.
Mapningegenskaber bruges sædvanligvis til at repræsentere links, der har samme tilsigtede
betydning som semantiske ”standardegenskaber”, men med en anderledes funktion. Man kan sige,
at mapning af relationer er mindre uløseligt forbundet med betydningen af de begreber, de
involverer.. Designeren af den KOS man har mappet til vil måske endda indimellem mene at de er
forkerte.
Mapningegenskaber forventes at være nyttig i specifikke anvendelser, der bruger flere KOS’er med
overlappende betydningsindhold. Man forventer almindeligvis, at mapning af relationer bliver
erklæret mellem begreber, der tilhører forskellige begrebssystemer.
Man skal være opmærksom på – i henhold til SKOS-datamodellen – at de mapningegenskaber, der
”afspejler” en given semantisk relationsegenskab, også er underegenskaber af den i en RDFS-
mæssig forstand. Egenskaben skos:broadMatch er f.eks. underegenskab af skos:broader. Enhver
erklæring af skos:broadMatch mellem to begreber leder derfor logisk til en erklæring af en
skos:broader mellem disse begreber.
3.2 Genbrug og ekstension af begrebssystemer
At sammenkæde begreber ved hjælp af mapning er ikke den eneste måde at knytte begrebssystemer
sammen. Brugen af URI’er på det semantiske web giver mulighed for, at ressourcer kan deles og
genbruges på en distribueret måde. Derfor er det muligt for et SKOS-begreb at tage del i flere
begrebssystemer på samme tid. En udgiver af en SKOS kan f.eks. vælge at udbygge et eksisterende
begrebssystem lokalt ved at erklære et hvilket som helst nyt begreb der er brug for og ganske enkelt
sammenkæde det med begreber, der allerede er defineret i det eksisterende system.
Ekstension af en KOS kan især være nyttig, når dens designere (eller en tredjepartsudgiver af
KOS’en) gerne vil opnå en bedre dækning af et domæne eller underdomæne, mens de følger de
principper, der styrede designet af den eksisterende KOS – dvs. genbruge nogle af dens begreber.
Ekstension og genbrug af KOS kan også eksplicit bruges som en moduliseringsmekanisme, når en
familie af velformulerede KOS’er (f.eks. mikrotesaurusser, der tilhører et overordnet vokabularium)
er designet til at dække flere domæner, og designerne vil give lov til, at specifikke anvendelser
virker på et givent undersæt af begreber.
Et nyt begrebssystem kan genbruge eksisterende begreber ved hjælp af egenskaben
skos:inScheme. I nedenstående eksempel definerer et første begrebssystem for dyr et begreb for
”katte”:
ex1:referenceAnimalScheme rdf:type skos:ConceptScheme;
dct:title "Reference list of animals"@en.
ex1:cats rdf:type skos:Concept;
skos:prefLabel "cats"@en;
skos:inScheme ex1:referenceAnimalScheme.
Udviklere af et andet begrebssystem, helliget beskrivelser af katte, kan frit inkludere
begrebsreferencen ex1:cats og derpå henvise til den på følgende måde:
ex2:catScheme rdf:type skos:ConceptScheme;
dct:title "The Complete Cat Thesaurus"@en.
ex1:cats skos:inScheme ex2:catScheme.
ex2:abyssinian rdf:type skos:Concept;
skos:prefLabel "Abyssinian Cats"@en;
skos:broader ex1:cats;
skos:inScheme ex2:catScheme.
ex2:siamese rdf:type skos:Concept;
skos:prefLabel "Siamese Cats"@en;
skos:broader ex1:cats;
skos:inScheme ex2:catScheme.
Bemærk, at informationskilden, der definerer det nye begrebssystem, ikke kopierer information om
begrebet ex1:cats, f.eks. den foretrukne betegnelse. Under antagelse af, at ex1:cats er blevet
publiceret kan et semantisk web-program hente informationerne til dette begreb ved blot at bruge
begrebets URI (http://www.example.com/1/cats).
Notat om owl:imports og genbrug af KOS’er: Egenskaben owl:imports er en mekanisme til at
importere erklæringerne fra én OWL-ontologi til en anden. Egenskaben owl:imports kan bruges
sammen med SKOS-vokabularier til at oprette et specielt tilfælde af genbrug/ekstension, hvor et
begrebssystem ”importerer” et andet begrebssystem i sit hele. I eksemplet ovenfor kan dette opnås
ved at inkludere følgende udsagn i den kilde, der definerer ex2:catScheme:
ex2:catScheme owl:imports ex1:referenceAnimalScheme.
Der er visse begrænsninger ved at bruge owl:imports på denne måde. Domænet og rækkevidden
af owl:imports er for det første owl:Ontology, mens skos:ConceptScheme er defineret som en
owl:Class. Hvis man erklærer, at et begrebssystem importerer et andet ved hjælp af owl:imports,
får det den konsekvens, at forekomsten af skos:conceptScheme, der er involveret i importen, også
fortolkes som en forekomst af owl:Ontology. Dette vil så resultere i et OWL Full ontology (på
grund af den dobbelte brug af en URI som klasse og ontologi. Yderligere oplysninger findes i afsnit
4.2 i dokumentet OWL Semantics [OWL-SEMANTICS]).
Ifølge OWL Full-semantikken (yderligere oplysninger i afsnit 5.3 i dokumentet OWL Semantics
[OWL-SEMANTICS]) er den tilsigtede fortolkning af owl:imports for det andet, at den RDF-graf,
der hentes fra den importerede URI, føjes til den importerende graf. Brugere skal være
opmærksomme på dette og undgå enhver alternativ fortolkning. Navnlig er der ingen logisk
afhængighed mellem skos:inScheme og owl:imports. Brug af owl:imports vil ikke resultere i
forekomsten af nogen andre skos:inScheme-udsagn end dem, der allerede er erklæret i den
importerede graf. I ovenstående eksempel er owl:imports blevet brugt til at fastslå, at ét
begrebssystem logisk importerer et andet. Men selv om ex1:referenceAnimalScheme indeholder
triplen
ex1:Elephant skos:inScheme ex1:referenceAnimalsScheme.
kan man ikke udlede, at triplen
ex1:Elephant skos:inScheme ex2:catScheme.
er til stede i den graf der definerer ex2:catScheme.
Hvis en anvendelse har interesse i praktisk proveniens eller ejerskabsoplysninger, kan det kræve
flere trin for at opretholde proveniensen eller erklære importerede triplers autoritet, som det er
nævnt i afsnit 5.3.
3.3 Emneindeksering og SKOS
Selv om forbindelsen mellem et begreb og ressourcen, der handler om dette begreb, ikke formelt
tilhører de funktioner, der definerer en KOS, så er den fundamental for mange KOS-programmer,
f.eks. til indeksering og hentning af dokumenter. Dette bliver endnu mere vigtigt i sammenhæng
med det semantiske web, hvor der er et afgørende behov for at kommentere dokumenter med
begrebsmæssige enheder, der definerer dokumenternes emne.
Mens SKOS-vokabulariet ikke selv indeholder en mekanisme, der kan forbinde en arbitrær
ressource med klassen skos:Concept, kan udviklere benytte sig af andre vokabularier. Dublin Core
indeholder f.eks. egenskaben dct:subject [DC]:
ex1:platypus rdf:type skos:Concept;
skos:prefLabel "platypus"@en.
<http://en.wikipedia.org/wiki/Platypus> rdf:type foaf:Document;
dct:subject ex1:platypus.
Bemærk, at en enkelt ressource kan have flere emner og derfor være involveret i flere udsagn af
typen dct:subject. Disse emner kan tydeligvis komme fra forskellige begrebssystemer, der f.eks.
kan være et resultat af en distribueret kommenteringsproces.
4. Avanceret SKOS: når KOS’er ikke længere er enkle
Udover de ovennævnte funktioner fremlægger SKOS et antal vokabularieelementer eller
retningslinjer til mere avancerede repræsentationsbehov, så SKOS bliver kompatibel med en lang
række metoder til at modellerere KOS’er. De er især designet til at imødekomme krav, som blev
fremlagt i dokumentet SKOS Use Cases and Requirements [SKOS-UCR], men som kun var til stede
i et mindre antal brugseksempler:
Gruppering af begreber baseret på specifikke kriterier
Avanceret dokumentation ved hjælp af komplekse ressourcer
Etablering af relationer mellem begrebsbetegnelser
Oprettelse af komplekse begreber fra simple (koordination)
Åbne transitive hierarkiske relationer
Repræsentere notationer til begreber
Dette afsnit slutter med et generelt notat om ekstension af SKOS-modellen for at lede hen mod en
endnu mere specialiseret raffinering af det vokabularium, der bliver præsenteret i denne
introduktion.
4.1 Samlinger af begreber
Med SKOS er det muligt at definere meningsfulde grupperinger eller ”samlinger” af begreber.
Sådanne grupperinger fremlægges normalt i tesaurusser som i følgende eksempel:
mælk
<mælk fra kildedyr>
komælk
gedemælk
bøffelmælk
Disse samlinger kan bruges til at repræsentere ”sæt” i tesaurusterminologi, i hvilken termen ”mælk
fra kildedyr” er en ”knudebetegnelse” [WillpowerGlossary]. Der er enighed om, at en
knudebetegnelse ikke selv repræsenter en betegnelse for et begreb. Der skal derfor introduceres
specifikke entiteter til at repræsentere dem.
Samlinger med betegnelser
SKOS introducerer klassen skos:Collection til at modellere sådanne strukturer af
begrebssamlinger korrekt. Forekomster af denne klasse grupperer specifikke begreber ved hjælp af
egenskaben skos:member, som i følgende eksempel:
ex:milk rdf:type skos:Concept;
skos:prefLabel "milk"@en.
ex:cowMilk rdf:type skos:Concept;
skos:prefLabel "cow milk"@en;
skos:broader ex:milk.
ex:goatMilk rdf:type skos:Concept;
skos:prefLabel "goat milk"@en;
skos:broader ex:milk.
ex:buffaloMilk rdf:type skos:Concept;
skos:prefLabel "buffalo milk"@en;
skos:broader ex:milk.
_:b0 rdf:type skos:Collection;
skos:prefLabel "milk by source animal"@en;
skos:member ex:cowMilk;
skos:member ex:goatMilk;
skos:member ex:buffaloMilk.
Bemærk, at samlingen blev defineret som en tom knude i ovenstående eksempel, dvs. at den ikke er
tildelt nogen defineret URI. URI’er kan tildeles samlinger, men det er normalt ikke nødvendigt.
Egenskaben skos:prefLabel er også blevet brugt til at give samlingen en leksikal betegnelse,
eftersom denne egenskab (ligesom andre egenskaber til tildeling af betegnelser i SKOS) kan bruges
sammen med ikke-begrebsmæssige ressourcer.
Ordnede samlinger
Indimellem er det vigtigt at registrere rækkefølgen af begreber i en samling, f.eks. når begreber er
opført i alfabetisk eller kronologisk orden. Man bruger klassen skos:OrderedCollection samt
tillige egenskaben skos:memberList til at definere en ordnet samling af begreber. Denne egenskab
forbinder en forekomst af skos:OrderedCollection til en (muligvis tom) knude af typen
rdf:List ved at følge det mønster, der gør det muligt at definere RDF-samlinger [Introduktion til
RDF]. F.eks.:
ex:infants rdf:type skos:Concept;
skos:prefLabel "infants"@en.
ex:children rdf:type skos:Concept;
skos:prefLabel "children"@en.
ex:adults rdf:type skos:Concept;
skos:prefLabel "adults"@en.
_:b0 rdf:type skos:OrderedCollection;
skos:prefLabel "people by age"@en;
skos:memberList _:b1.
_:b1 rdf:first ex:infants;
rdf:rest _:b2.
_:b2 rdf:first ex:children;
rdf:rest _:b3.
_:b3 rdf:first ex:adults;
rdf:rest rdf:nil.
SKOS-samlinger, semantiske relationer og systematiske visninger
Bemærk, at samlinger – ifølge SKOS-datamodellen – adskiller sig fra begreber. Det er derfor
umuligt at bruge semantiske relationer i SKOS (se afsnit 2.3) for at få en samling til at passe direkte
ind i et semantisk netværk i SKOS. At gruppere begreber i samlinger erstatter med andre ord ikke
erklæringer om begrebets placering i et begrebssystem. I ovenstående ”mælkeeksempel” skal alle
kildedefinerede mælketyper f.eks. eksplicit knyttes til den mere almene ex:milk ved hjælp af
egenskaben skos:broader:
ex:cowMilk skos:broader ex:milk.
ex:goatMilk skos:broader ex:milk.
ex:buffaloMilk skos:broader ex:milk.
Så kan man danne en systematisk (hierarkisk) visning, der omfatter begrebsgrupperingen ”mælk fra
kildedyr”, som det er vist i eksemplet i begyndelsen af dette underafsnit. Hierarkiet skos:broader
og information om samlingens medlemmer kan bruges til dette, men processen kræver stadig en
dedikeret algoritme, hvis implementering er overladt til specifikke programmer.
Man kan spekulere over, om det er ønskeligt at bruge samlinger, eftersom de føjer kompleksitet til
de repræsentationer, som programmer skal bearbejde. I visse tilfælde, f.eks. når KOS’er
hovedsageligt er ment som navigationshierarkier, virker det faktisk mere intuitivt at repræsentere
”knudebetegnelser” eller ”retningslinjer” som forekomster af skos:Concept og bruge normale
semantiske relationer til at kæde dem sammen med andre begreber. Betragt følgende
”mælkeeksempel”:
ex3:milkBySourceAnimal rdf:type skos:Concept;
skos:prefLabel "milk by source animal"@en;
skos:broader ex3:milk;
skos:narrower ex3:cowMilk;
skos:narrower ex3:goatMilk;
skos:narrower ex3:buffaloMilk.
Valget mellem de to repræsentationsmuligheder forbliver åbent og afhænger af den givne
anvendelse. Man bør dog være opmærksom på, at det kan resultere i skadeligt tab af semantisk
præcision, hvis man ikke bruger samlinger – også selv om det er mere intuitivt. For mange
beskrivende programmer er ”knudebetegnelser” f.eks. forekomster af en virkelig specifik natur, og
de må ikke bruges som objektsindekser sammen med ”normale” begreber. Det er derfor tydeligvis
ikke den bedste skik at repræsentere dem som blot begreber.
4.2 Avancerede dokumentationsfunktion
Som vist i afsnit 2.4 tillader SKOS, at begreber bliver kommenteret ved at hæfte forskellige noter på
dem. Det er værd at bemærke, at Håndbog i SKOS ikke begrænser rækkevidden af ressourcer, som
erklæringer kan bruge i objektpositionen. Dette fører til forskellige brugsmønstre, hvoraf tre er
forklaret – og anbefalet – i dette dokument.
Dokumentation som en RDF-literal
Her har dokumentationserklæringer simple RDF-literaler som objekter, som det er vist i alle
eksemplerne i afsnit 2.4. Dette er den enkleste måde til at dokumentere begreber, og det forventes,
at den passer til de fleste almindelige anvendelser.
Dokumentation som en relateret ressourcebeskrivelse
I dette andet mønster består objektet i et dokumentationsudsagn af en generel ikke-literal RDF-
knude – dvs. en ressourceknude (sikkert tom), der kan være subjekt i andre RDF-udsagn
[Introduktion til RDF]. Dette er især nyttigt til at repræsentere mere information om selve
dokumentet i RDF, f.eks. hvem der har oprettet det og hvornår. Det gøres typisk med RDF-
egenskaben rdf:value, som i det følgende eksempel, der bruger en tom knude:
ex:tomato skos:changeNote [
rdf:value "Moved from under 'fruits' to under 'vegetables'"@en;
dct:creator ex:HoraceGray;
dct:date "1999-01-23"
].
ex:HoraceGray rdf:type foaf:Person; foaf:name "Horace Gray".
Dokumentation som en dokumentreference
En tredje mulighed består i at introducere et dokuments URI, f.eks. en webside, som objektet i et
dokumentationsudsagn. Bemærk, at dette mønster, der er tæt beslægtet med det forrige, også giver
mulighed for definition af yderligere metadata for dette dokument ved hjælp af RDF:
ex:zoology skos:definition ex:zoology.txt.
ex:zoology.txt dct:creator ex:JohnSmith.
4.3 Relationer mellem betegnelser
Visse programmer kræver oprettelsen af eksplicitte links mellem de betegnelser, der er tilknyttet
begreber. Et eksempel er relationen mellem en foretrukken betegnelse for begrebet ”Corporation”
og dets forkortelse ”Corp.”, der er dannet som en alternativ betegnelse, eller et oversættelseslink
mellem to betegnelser på forskellige sprog: "Cow"@en og "Vache"@fr. Brug af leksikale
betegnelsesegenskaber i SKOS, f.eks. skos:prefLabel, er begrænset til RDF-literaler. Derfor kan
disse betegnelser ikke være subjekt i et RDF-udsagn, og der kan ikke erklæres en direkte relation
mellem dem.
For at løse dette problem i repræsentationen er SKOS-vokabulariet blevet udvidet med en valgfri
betegnelsesekstension, SKOS-XL [SKOS-REFERENCE]. Denne ekstension introducerer klassen
skosxl:Label, der muliggør, at betegnelser kan behandles som RDF-ressourcer af første orden.
Hver forekomst af denne klasse skal først knyttes til en enkelt RDF-literal via egenskaben
skosxl:literalForm. I følgende eksempel er begrebet ”Food and Agriculture Organization”
betegnet med både det officielle navn og institutionens akronym. De to betegnelser kan
repræsenteres på følgende måde:
ex:FAOlabel1 rdf:type skosxl:Label;
skosxl:literalForm "Food and Agriculture Organization"@en.
ex:FAOlabel2 rdf:type skosxl:Label;
skosxl:literalForm "FAO"@en.
Forekomster af skosxl:Label kan så relateres til begreber med egenskaberne (skosxl:prefLabel,
skosxl:altLabel, skosxl:hiddenLabel), der afspejler de standardiserede literalbaserede
betegnelsesegenskaber. Endelig kan disse forekomster knyttes sammen af udsagn af typen
skosxl:labelRelation:
ex:FAO rdf:type skos:Concept;
skosxl:prefLabel ex:FAOlabel1;
skosxl:altLabel ex:FAOlabel2.
ex:FAOlabel2 skosxl:labelRelation ex:FAOlabel1.
Sådan en løsning er dog ikke komplet. Et ”akronymfølsomt” program ville gå glip af den egentlige
information om, at de to betegnelser sandelig har et akronymforhold til hinanden. Sådan et program
ville også gå glip af linkets retning. Brugere af SKOS-XL opfordres derfor til at specialisere
skosxl:labelRelation, så den passer til de programspecifikke krav som i nedenstående
eksempel:
ex:isAcronymOf rdfs:subPropertyOf skosxl:labelRelation.
ex:FAOlabel2 ex:isAcronymOf ex:FAOlabel1.
Bemærk, at datamodellen i SKOS-XL sikrer, at sådan et mønster forbliver kompatibelt med den
standardiserede betegnelsespraksis i SKOS. Hvis en forekomst af skosxl:Label er knyttet til et
begreb, f.eks. med udsagnet skosxl:altLabel, så følger det af SKOS-XL-datamodellen, at den
literale form af forekomsten skosxl:Label er relateret til dette begreb med standardudsagnet
skos:altLabel. I ovenstående eksempel har ex:FAO derfor ”FAO"@en” som alternativ (literal)
betegnelse.
4.4 Koordinering af begreber
Indekseringsmetoder, der inddrager tesaurusser og andre KOS’er, omfatter ofte koordinering.
Koordinering er en aktivitet, hvor man kombinerer begreber fra en KOS. Der er grundlæggende to
slags koordinering: for-koordinering og efter-koordinering [WillpowerGlossary]. Den væsentligste
forskel mellem de to afhænger af, hvornår den aktuelle koordination sker i forbindelse med
informationshentningen.
For-koordinering foregår, før informationen bliver hentet frem – enten af en, som vedligeholder
KOS’en, eller under indeksering af en KOS. Man tager måske to eksisterende begreber fra et
begrebssystem, f.eks. ”Cykler” og ”Reparation” og kombinerer dem eksplicit med en given syntaks,
f.eks. ”Cykler—Reparation” for at indeksere et bestemt dokument.
Efter-koordinering udføres derimod som en del af informationshentningen. Det kan være et givent
dokument, der f.eks. er indekseret med to individuelle begreber ”Cykler” og ”Reparation”, og en
bruger så beslutter at udføre en søgning efter alle dokumenter, der er indekseret med ”Cykler” og
”Reparation”.
Efter-koordinering, som en aktivitet til hentning af information, egner sig til indirekte
repræsentation som en SPARQL-forespørgsel til at hente RDF-data [SPARQL]. Med følgende to
individuelle begreber:
ex:bicycles skos:prefLabel "Bicycles"@en.
ex:repairing skos:prefLabel "Repairing"@en.
kan man f.eks. konstruere en SPARQL-forespørgsel, som kun finder dokumenter, der er indekseret
med begge begreber:
SELECT ?document
WHERE {
?document dct:subject ex:bicycles.
?document dct:subject ex:repairing.
}
Men selve SKOS-vokabulariet indeholder ingen mekanismer til at udtrykke, at et givent begreb
består af en før-koordinering af andre begreber. Det er naturligvis muligt at udbygge SKOS til at
etablere et mønster, der kan repræsentere koordinerede begreber. Det er foreslået, at en ny
egenskab, f.eks. ex:coordinationOf kan etableres:
ex:coordinationOf a rdf:Property;
rdfs:domain skos:Concept;
rdfs:range rdf:List.
der så kan bruges i erklæringer som:
ex:bicyclesRepairing a skos:Concept;
ex:coordinationOf (ex:bicycles ex:repairing);
skos:prefLabel "Bicycles--Repairing"@en.
Det er også foreslået, at OWL selv kan bruges til at koordinere begreber:
ex:bicyclesRepairing a skos:Concept;
owl:intersectionOf (ex:bicycles ex:repairing);
skos:prefLabel "Bicycles--Repairing"@en.
Men etableringen af mønstre for for-koordination af denne slags er endnu ikke dukket op blandt
brugere af SKOS. ex:coordinationOf (eller en tilsvarende ekstension), og rammerne for brug af
SKOS med OWL er ikke er blevet udnyttet i tilstrækkelig grad til at berettige inklusion i SKOS-
vokabulariet. Frem for at forpligtige sig til et designmønster, der ikke bevisligt er nyttigt, har
Semantic Web Deployment Group besluttet at udskyde problemet med koordination, så
ekstensionsmønstre kan spire organisk frem i takt med, at brugen af SKOS breder sig. Når
vellykkede mønstre er etableret, er det håbet, at de kan publiceres på internettet som et
ekstensionsvokabularium til SKOS og dokumenteres med et W3C-notat eller tilsvarende.
4.5 Transitive hierarkier
Som beskrevet i afsnit 2.3.1 er egenskaberne skos:broader og skos:narrower, der bruges til at
repræsentere KOS-hierarkier, ikke defineret som transitive. Som vist i fig. 4.5.1 (i) og (ii), betyder
det, at deres semantik ikke understøtter følgeslutninger af typen: hvis ”dyr”er bredere end
”pattedyr” og ”pattedyr” er bredere end ”katte”, så er ”dyr” bredere end ”katte”.
Fig. 4.5.1: skos:broader er ikke transitiv
Stiplede pile repræsenterer udsagn, der er udledt af SKOS-datamodellen.
Ubrudte pile repræsenterer erklærede udsagn.
SKOS indeholder to specifikke egenskaber, skos:broaderTransitive og
skos:narrowerTransitive til programmer, der kræver den slags semantik – f.eks. for at udføre
en udvidet søgeformulering. Disse er defineret som transitive overegenskaber af skos:broader og
skos:narrower [Håndbog i SKOS]. Ved at bruge et værktøj til at drage følgeslutninger på det
semantiske web giver dette mønster adgang til et hierarkis ”transitive afslutning”, som er udtrykt
med skos:broader og skos:narrower.
Tag eksemplet i fig. 4.5.1 (i):
ex:animals skos:prefLabel "animals"@en.
ex:mammals skos:prefLabel "mammals"@en;
skos:broader ex:animals.
ex:cats skos:prefLabel "cats"@en;
skos:broader ex:mammals.
Når et ræsonneringsprogram læser de ovenstående tripler, bruges definitionen af
skos:broaderTransitive som en overegenskab af skos:broader til at udlede følgende udsagn:
ex:cats skos:broaderTransitive ex:mammals.
ex:mammals skos:broaderTransitive ex:animals.
Transitiviteten i skos:broaderTransitive forårsager så, at det ønskede udsagn bliver udledt:
ex:cats skos:broaderTransitive ex:animals.
Disse to trin er vist i følgende illustration:
Fig. 4.5.2: udledning af et transitivt hierarki fra erklærede skos:broader-udsagn
Stiplede pile repræsenterer udsagn, der er udledt af SKOS-datamodellen.
Ubrudte pile repræsenterer erklærede udsagn.
Brugen af overegenskaben skos:broaderTransitive giver praksisfællesskaber mulighed for at
udnytte deres egne transitive fortolkninger af hierarkiske netværk uden at gribe ind i semantikken
for skos:broader, som ikke underbygger den slags transitivitet. Man kan intuitivt fortolke
skos:broader-udsagn som eksplicit erklærede direkte ophav, mens skos:broaderTransitive
bruges til at afspejle mere generelle (og muligvis indirekte) forhold til stamfædre.
Notat om formodet ”transitiv arv”: Overegenskaben, der forbinder skos:broader og
skos:broaderTransitive, virker mindre intuitiv ved første øjekast. En ikke-transitiv egenskab er
her defineret som et barn af en transitiv egenskab, som ikke arver dens transitivitet. Det er dog helt i
overensstemmelse med RDFS/OWL-semantik for rdfs:subPropertyOf [OWL]: en egenskab P er
en underegenskab af Q, hvis og kun hvis, at P – når Q er logisk gældende mellem to ressourcer –
hver gang også er logisk gældende mellem dem. Dette påtvinger ikke nogen transitiv arv. Sættet af
alle ressourcepar med relation til P (dens graf), som et undersæt af Q’s, vil derimod sandsynligvis
mangle nogle af de par, der gør Q transitiv.
4.6 Notationer
Nogle KOS’er, f.eks. klassifikationssystemer som Universal Decimal Classification [UDC], bruger
notationer (eller captions) som den primære metode til at få adgang til de begreber, de indeholder.
Notationer er symboler, som normalt ikke genkendes som ord eller rækker af ord på noget naturligt
sprog, og som derfor er uafhængigt anvendelige i sammenhænge med naturlige sprog. De består
typisk af tal suppleret af punktummer og andre tegn som i følgende eksempel i UDC:
512 Algebra
512.6 Særlige grene af algebra
SKOS tillader, at man repræsenterer notationer på to måder, afhængig af de prioriteter, som
udgiveren af begrebssystemet har. Den første, foretrukne teknik består i at bruge egenskaben
skos:notation. Med denne egenskab kan et begreb tilknyttes en literal skrevet i RDF – en literal
med en eksplicit datatype [Introduktion til RDF]. Literalens datatype angiver et syntakskodesystem,
som passer til brugen af notationer i den aktuelle KOS. Literalens værdi er selve notationen (i dette
tilfælde selve klassifikationskoden):
ex:udc512 skos:prefLabel "Algebra"@en ;
skos:notation "512"^^ex:UDCNotation .
Yderligere oplysninger om, hvordan man håndterer datatyper, findes i afsnit 6.5.1 i Håndbog i
SKOS [Håndbog i KOS]. Denne tilgang kan især være nyttig, hvis en udgiver af en KOS ønsker at
forsyne brugere med et regelsæt, der er specifikt til KOS’ens notationssystem. Mange
klassifikationssystemer har f.eks. specifikke syntaksregler, der gør det muligt at opløse komplekse
notationer, hvilket medfører sammenkædning af de korresponderende begreber med andre, enklere
begreber. Dette mønster kan også hjælpe udviklere af SKOS-værktøj og udgivere af KOS’er, som
ønsker, at notationer vises på en dertil indrettet måde.
Håndteringen af sådanne datatyper kan dog være besværlig. Desuden er det forudgående mønster
ikke rigtig nødvendigt, når udgivere selv opfatter notationerne som enkle, sproguafhængige
betegnelser. I sådanne tilfælde er det muligt at bruge en af SKOS’ betegnelsesegenskaber, f.eks.
skos:prefLabel, uden noget sprogmærke, som i:
ex:udc512 skos:prefLabel "Algebra"@en ;
skos:notation "512"^^ex:UDCNotation ;
skos:prefLabel "512" .
Bemærk, at det er usandsynligt, at notationer, der repræsenteres på en sådan måde, vil have gavn af
notationsspecifikke mekanismer (f.eks. visningsprocedurer) i SKOS-værktøjer. Som standard bør
brugere forvente, at disse notationer ganske enkelt behandles som betegnelser i overensstemmelse
med SKOS-modellen.
4.7 Om at specialisere SKOS-modellen
Det er hensigten, at SKOS skal fungere som en fællesnævner mellem forskellige tilgange til
modellering. Som sådan vil den aktuelle vokabulariedefinition tillade, at mange eksisterende
KOS’er bliver migreret til det semantiske web. Men de mange forskellige KOS-modeller gør det
dog umuligt at registrere hver eneste detalje i disse modeller, mens man stadig bibeholder det første
”S” (”simple”) i navnet SKOS.
Anvendelser, der kræver en mere finkornet kvalitet, vil have stor gavn af, at SKOS er et
vokabularium på det semantiske web. SKOS kan sandelig ekstenderes problemfrit, så det passer til
et bestemt KOS-fællesskabs særlige behov, mens man bibeholder kompatibiliteten med
programmer, der er baseret på kernefunktionerne i SKOS.
Dette kan for det meste gøres ved at specialisere eksisterende SKOS-begreber og gøre dem mere
specifikke. Brugere kan oprette deres egne egenskaber og klasser og knytte dem til standardiserede
vokabularieelementer i SKOS ved hjælp af egenskaben rdfs:subPropertyOf og
rdfs:subClassOf fra RDF Schema-vokabulariet[Introduktion til RDF].
Eksemplet i afsnit 4.3 illustrerer, hvordan skosxl:labelRelation kan specialiseres og gøres til en
mere semantisk velfunderet egenskab, der er helliget repræsentation af forbindelser mellem
akronymer. Anden anvendelse er mulig. Man kan f.eks. oprette forskellige ”nuancer” af
egenskaberne skos:broader og skos:narrower. Tesaurusstandarder identificerer faktisk et mindre
antal hierarkiske relationer, f.eks. generisk, del-hele eller forekomst-klasse [ISO2788]. Med SKOS
kan en programdesigner oprette nye egenskaber, der kan registrere denne sondring og erklære dem
som underegenskaber af skos:broader:
ex:broaderGeneric rdfs:subPropertyOf skos:broader.
ex:broaderPartitive rdfs:subPropertyOf skos:broader.
ex:broaderInstantive rdfs:subPropertyOf skos:broader.
Ethvert ex:broaderPartitive-udsagn mellem to begreber kan f.eks. formelt fortolkes som en
egentlig ræsonneringsmaskine på det semantiske web. Denne fortolkning vil indskyde
følgeslutningen af et skos:broader-udsagn mellem disse begreber – en stump information, som
måske kan benyttes af grundlæggende SKOS-værktøjer.
Notat om at pille ved selve SKOS-vokabulariet: Det er i almindelighed bedst at undgå at erklære
tripler, hvor en URI fra SKOS-vokabulariet står på subjektets plads. Ved at gøre dette kan man
ændre SKOS-datamodellen og fremkalde uønskede bivirkninger. Dette kan så kompromittere
vokabulariers samspil. Hvis man ønsker at tilpasse, hvordan det ”indbyggede” vokabularium
opfører sig i specifikke tilfælde, bør man først overveje at introducere ens egne begreber som
underklasser eller underegenskaber.
Udviklere af ekstensioner til SKOS opfordres naturligvis til at publicere dem, dvs. benytte SKOS’
offentlige mailingliste ([email protected]). Sådanne ekstensioner adresserer måske almene
problemstillinger og kan derfor genbruges på tværs af forskellige anvendelser. Til gengæld er det
sandsynligt, at genbrug fører til feedback fra andre, hvilket hjælper med at forøge kvaliteten af de
publicerede ekstensioner.
5. Kombinere SKOS med andre modelleringsmetoder
Som vist ovenfor er SKOS et RDF/OWL-vokabularium, der gnidningsfrit kan udvides og tilpasses
specifikke krav. På samme måde kan funktionerne i SKOS også bruges på det semantiske web som
et supplement til andre modelleringsvokabularier. Dette afsnit giver eksempler på genbrug af
betegnelsesegenskaber, der i SKOS bruges til at beskrive ressourcer, som ikke nødvendigvis er
SKOS-begreber. Derpå omtales det særlige problem med at forbinde SKOS-begreber med klasser,
som det er defineret i ontologisproget OWL.
Bemærk: Dette afsnit beskæftiger sig med problemer, der opstår, når et program kræver, at der skal
bruges SKOS-funktioner sammen med andre modelleringsmetoder. Brugere, der ikke har sådanne
behov, kan springe afsnittet over.
5.1 Brug af betegnelser uden for SKOS
Der er muligt at bruge betegnelsesegenskaberne i SKOS til at navngive ressourcer, der ikke er af
typen skos:Concept. Følgende tripler beskriver Tim Berners-Lee:
<http://www.w3.org/People/Berners-Lee/card#i> rdf:type foaf:Person;
foaf:name "Timothy Berners-Lee";
rdfs:label "TBL";
skos:prefLabel "Tim Berners-Lee"@en.
Et program, der vil vise en betegnelse for denne ressource, kan identificere ”Tim Berners-Lee” som
den foretrukne betegnelse i stedet for at vælge mellem de lige så kompatible betegnelser
rdfs:label ”TBL” eller foaf:name ”Timothy Berners-Lee”. Disse betegnelser er kompatible,
fordi foaf:name er en underegenskab af rdfs:label.
Et andet eksempel er betegnelser på klasser, egenskaber og individer i OWL-ontologier, der kan
læses af mennesker og normalt blot udtrykkes med rdfs:label. Følgende tripler beskriver
mennesket:
ex:Human rdf:type owl:Class;
rdfs:label "human"@en;
rdfs:label "man"@en.
Et program ville have svært ved at bestemme, hvilken betegnelse der er den korrekte at vise
brugeren, eftersom begge betegnelser vejer lige tungt. Semantikken i skos:prefLabel giver
mulighed for eksplicit at definere den foretrukne betegnelse til en given ressource. Det er generelt
evnen til efter behov at genbruge vokabularieelementer fra SKOS eller andre RDF-vokabularier, der
giver RDF meget af dens styrke.
5.2 SKOS-begreber og OWL-klasser
Håndbog i SKOS definerer skos:Concept som en OWL-klasse [Håndbog i SKOS]:
skos:Concept rdf:type owl:Class.
Derfor er forekomster af skos:Concept (f.eks. ex:Painting i et vokabularium om kunst)
sprogindivider i OWL.
ex:Painting rdf:type skos:Concept.
Man kan spørge, om en forekomst af et SKOS-begreb, f.eks. ex:Painting, selv kan opfattes som
en klasse. Brugere kan f.eks. definere egenskaber af ex:painting som ex:support:
ex:support rdf:type owl:DatatypeProperty.
ex:support rdfs:domain ex:Painting.
Man kan spørge, hvorfor nogen ville ønske at gøre dette? Begrebsmæssigt kan en klasse som
skos:Concept opfattes som en metaklasse; dens forekomster er de begreber, der optræder i et
vokabularium. Det er derfor tænkeligt, at SKOS-brugere vil specificere karakteristikker af SKOS-
begreber på klasseniveau, f.eks. at malerier har stativer, eller at ost har et oprindelsesland.
Det bør påpeges, at SKOS ikke tager parti, når det kommer til, hvilken type OWL – OWL Full eller
OWL-DL [OWL-REFERENCE] – der skal bruges sammen med SKOS. Brugere af OWL Full vil
kunne håndtere ovenstående situation ved eksplicit at behandle forekomster af SKOS-begreber som
klasser, f.eks. ved at tilføje udtryk af typen:
ex:Painting rdf:type owl:Class.
Dette er muligt, fordi OWL Full ikke kræver, at klasse- og individsættene er adskilte. Hvis man
ønsker at bruge DL-typen af OWL, kan man ikke bruge denne metamodelleringsmekanisme,
eftersom den betingelsen at klasser og individer er disjunkte må gælde for enhver OWL-DL-
ontologi. Brugere af OWL-DL, som er interesserede i at kæde OWL-klasser sammen med SKOS-
begreber, bliver nødt til at holde disse formelt adskilte. De kan ikke desto mindre bygge bro mellem
dem ved at bruge dedikerede kommentaregenskaber i OWL annotation properties. Det forudsætter,
at de kan oprette og bruge deres egne ekstensioner til SKOS, f.eks.:
ex:PaintingClass rdf:type owl:Class.
ex:PaintingConcept rdf:type skos:Concept.
ex:PaintingClass ex:correspondingConcept ex:PaintingConcept.
Bemærk, at den nyligt nedsatte OWL Working Group [OWL-WG] på nuværende tidspunkt har
planlagt at håndtere (nogle typer) metamodellering inden for en beskrivelseslogisk ramme. Dette
giver måske brugere af OWL-DL mulighed for at vælge mønstre, der er nemmere at udnytte.
Forholdet mellem SKOS-begreber og OWL-klasser/-individer kan sammenfattes på følgende måde:
SKOS-begreber er individer i OWL.
SKOS har ingen holdning til, om det også må være muligt at behandle SKOS-begreber som
OWL-klasser.
Begrænsningerne i OWL-DL forhindrer, at man kan behandle SKOS-begreber som OWL-
klasser.
Der er en forventning om, at den igangværende revision af OWL vil mindske det sidste
problem ved at tilbyde en form for metamodellering.
5.3 SKOS, RDF-datasæt og inddæmning af informationer
I sammenhæng med KOS’er i netværk kan visse programmer kræve, at man sporer herkomst eller
ejerskab af SKOS-udtryk, f.eks. af sikkerhedsårsager. Det er et specifikt problem, hvordan man
etablerer eksplicitte forbindelser mellem et begrebssystem og hver eneste stump information, der er
anført i den oprindelige KOS, som det repræsenterer – f.eks. semantiske forbindelser mellem
begreber.
Sådan en funktionalitet, skønt identificeret som et kandidatkrav [SKOS-UCR], er aktuel uden for
rammerne af SKOS. I RDF er udsagn kontekstfrie tripler, som gør det svært at repræsentere
inddæmning og herkomst.
Der er dog foreslået løsninger på sådanne problemer, f.eks. navngivne grafer [NAMED-GRAPHS],
og brugen af RDF-datasæt i SPARQL [SPARQL]. Et begrebssystem i SKOS kan relateres til et
RDF-datasæt eller endda blive erklæret som et datasæt, hvilket muliggør dannelsen af SPARQL-
forespørgsler med en form for herkomst eller inddæmning. I forlængelse af eksemplet i afsnit 3.2,
og under antagelse af at ex1:referenceAnimalScheme og ex2:catScheme er blevet håndteret som
behørige RDF-datasæt (her navngivne grafer), kan forespørgslen
SELECT ?x ?y
WHERE {
GRAPH ex2:catScheme { ?x skos:broader ?y }
}
resultere i (ex2:abyssinian, ex1:cat), mens denne tupel ikke vil være at finde i resultatet af
SELECT ?x ?
WHERE {
GRAPH ex1:referenceAnimalScheme { ?x skos:broader ?y }
}
Man skal ikke desto mindre være opmærksom på, at disse mekanismer ikke har været brugt i stor
udstrækning på nuværende tidspunkt, og at andre standardprocedurer kan dukke op i fremtiden.
Litteraturhenvisninger
[BS8723-2]
BS 8723-2:2005 Structured vocabularies for information retrieval. Guide. Thesauri, British
Standards Institution, London, 2005
[BS8723-4]
BS 8723-4:2007 Structured vocabularies for information retrieval. Guide. Interoperability
between vocabularies, British Standards Institution, London, 2007
[COOLURIS]
Cool URIs for the Semantic Web, Leo Sauermann, Richard Cyganiak, Editors, W3C-
interessegruppenotat, 3. december 2008. Seneste version findes på
http://www.w3.org/TR/cooluris/
[DC]
DCMI Metadata Terms, 14. januar 2008. Seneste version findes på
http://dublincore.org/documents/dcmi-terms/
[ISO2788]
ISO 2788:1986 Documentation - Guidelines for the establishment and development of
monolingual thesauri. Anden udgave. ISO TC 46/SC 9, 1986
[ISO5964]
ISO 5964:1985 Documentation - Guidelines for the establishment and development of
multilingual thesauri. Første udgave. ISO TC 46/SC 9, 1985
[NAMED-GRAPHS]
Named graphs, provenance and trust, Jeremy Carroll, Christian Bizer, Patrick Hayes,
Patrick Stickler, WWW 2005
[RDF/XML-SYNTAX]
RDF/XML Syntax Specification (Revised), Dave Beckett, Editor. W3C-anbefaling, 10.
februar 2004. Seneste version findes på http://www.w3.org/TR/rdf-syntax-grammar/
[RECIPES]
Best Practice Recipes for Publishing RDF Vocabularies. Diego Berrueta, Jon Phipps. W3C-
rbejdsudkast, 23. januar 2008. Seneste version findes på http://www.w3.org/TR/swbp-
vocab-pub/
[OWL-WG]
OWL Working Group, http://www.w3.org/2007/OWL/
[OWL]
OWL Web Ontology Language Reference, Mike Dean, Guus Schreiber, Editors, W3C-
anbefaling, 10. februar 2004. Seneste version findes på http://www.w3.org/TR/owl-ref/
[OWL-SEMANTICS]
OWL Web Ontology Language Semantics and Abstract Syntax, Peter F. Patel-Schneider,
Patrick Hayes, Ian Horrocks, Editors, W3C Recommendation, 10. februar 2004. Seneste
version findes på http://www.w3.org/TR/owl-semantics/
[RDF-PRIMER]
RDF Primer, Frank Manola, Eric Miller, Editors, W3C Recommendation, 10. februar 2004.
Seneste version findes på http://www.w3.org/TR/rdf-primer/
[RDF-CONCEPTS]
Resource Description Framework (RDF): Concepts and Abstract Syntax , Graham Klyne,
Jeremy Carroll, Editors, W3C Recommendation, 10. februar 2004. Seneste version findes på
http://www.w3.org/TR/rdf-concepts/
[RFC4646]
Tags for Identifying Languages, A. Phillips, M. Davis, Editors, september 2006. Findes på
http://www.ietf.org/rfc/rfc4646.txt
[SWBP-SKOS-CORE-GUIDE]
SKOS Core Guide, Alistair Miles, Dan Brickley, Editors, W3C-arbejdsudkast, 2. november
2005. Seneste version findes på http://www.w3.org/TR/2005/WD-swbp-skos-core-guide-
20051102/ .
[SKOS-REFERENCE]
SKOS Reference, Alistair Miles, Sean Bechhofer, Editors, W3C-anbefaling, 18. august
2009. Seneste version findes på http://www.w3.org/TR/skos-reference .
[SKOS-UCR]
SKOS Use Cases and Requirements, Antoine Isaac, Jon Phipps, Daniel Rubin, Editors,
W3C-arbejdsgruppenotat, 18. august 2009. Seneste version findes på
http://www.w3.org/TR/skos-ucr
[SPARQL]
SPARQL Query Language for RDF, Eric Prud'hommeaux, Andy Seaborne, Editors, W3C-
arbejdsudkast, 15. januar 2008. Seneste version findes på http://www.w3.org/TR/rdf-sparql-
query/
[SWBP-SKOS-CORE-SPEC]
SKOS Core Vocabulary Specification, Alistair Miles, Dan Brickley, Editors, W3C-
arbejdsudkast, 2. november 2005. Findes på http://www.w3.org/TR/2005/WD-swbp-skos-
core-spec-20051102/
[SWD]
The Semantic Web Deployment Working Group, http://www.w3.org/2006/07/SWD/
[TURTLE]
Turtle - Terse RDF Triple Language , David Beckett, Tim Berners-Lee. W3C-holdindlæg,
14. januar 2008. Seneste version findes på http://www.w3.org/TeamSubmission/turtle/
[UDC]
UDC - Universal Decimal Classification, UDC Consortium, http://www.udcc.org/
[URI]
RFC 3986 - Uniform Resource Identifiers (URI): Generic Syntax, Tim Berners-Lee, Roy
Fielding, Larry Masinter, IETF, januar 2005. Findes på http://tools.ietf.org/html/rfc3986
[WillpowerGlossary]
Glossary of terms relating to thesauri and other forms of structured vocabulary for
information retrieval, Stella Dextre Clarke, Alan Gilchrist, Ron Davies and Leonard
Will,Willpower Information. Findes på http://www.willpowerinfo.co.uk/glossary.htm
Tak
Forfatterne vil gerne takke Alistair Miles og Dan Brickley, som redigerede SKOS Core Guide (som
denne introduktion i store træk bygger på); samt tillige Tom Baker, Guus Schreiber og Sean
Bechhofer, der bidrog med betydelige dele af denne tekst. Medlemmer af Semantic Web
Deployment Group, Tom Baker, Margherita Sini og Quentin Reul, leverede også omfattende kritik
under udgivelsesprocessen.
Dokumentet her er resultatet af omfattende diskussioner i hele Semantic Web Deployment Group.
Medlemmerne af arbejdsgruppen, som ikke allerede er blevet nævnt, omfatter (i alfabetisk
rækkefølge): Ben Adida, Diego Berrueta, Jeremy Carroll, Michael Hausenblas, Elisa Kendall, Vit
Novacek, Jon Phipps, Clay Redding, Daniel Rubin, Manu Sporny og Ralph Swick.
Uvurderlige offentlige kommentarer i form af rådgivning, forslag og rettelser (især via
mailinglisten: [email protected]) kom fra følgende personer: Mark van Assem, Stephen
Bounds, Dan Brickley, Johan De Smedt, Stella Dextre-Clarke, Alasdair Gray, Andrew Houghton,
Simon Jupp, Carl Mattocks, Emma McCulloch, Mikael Nilsson, Alan Ruttenberg, Aida Slavic,
Simon Spero, Doug Tudhope, Bernard Vatant, Jakob Voss, Leonard Will og Sue Ellen Wright.
Tillæg. Korrespondance mellem ISO-2788/5964 og SKOS-
begrebet
SKOS står i stor gæld til årtiers arbejdspræstationer fra KOS-fællesskabet i form af programmer,
retningslinjer og standardformater. Kompatibiliteten mellem SKOS-modellen og to af den slags
præstationer, ISO 2788-specifikationer for enkeltsprogstesaurusser [ISO-2788] og ISO 5964-
specifikationer for flersprogede tesaurusser [ISO-5964], blev især fremhævet som et kandidatkrav i
SKOS Use Case and Requirements [SKOS-UCR].
SKOS angiver ikke selv regler for, hvordan man opretter begrebssystemer, men SKOS’ datamodel
afspejler visse konstruktionsprincipper i KOS. Designet af vokabulariet er også betydeligt påvirket
af standardretningslinjer for tesaurusser, eftersom disse er blandt de mest udviklede forslag på
KOS-området. Der er især mange lighedspunkter mellem SKOS og ISO 2788/5964. Følgende tabel
opsummerer disse paralleller og fremhæver steder, hvor designet af SKOS afviger fra ISO-
anbefalinger. Dette vil forhåbentlig hjælpe fremtidige forsøg på at migrere tesaurusser, der følger
ISO-retningsliner, til SKOS.
Man skal være opmærksom på, at denne sammenligning ikke på nogen måde må fortolkes som en
begrænsning af SKOS i forhold til standardtesaurusser. SKOS kan, som det allerede er nævnt i
dokumentet, bruges – sikkert med passende ekstensioner – til andre KOS-typer eller tesaurusser, der
ikke følger ISO-retningslinjerne.
KOS-
designaspekt
ISO 2788/5964 SKOS
begreber versus
termer
I ISO-standarder er tesaurusser
indekseringssprog, som består af
termer.
ISO 2788 diskuterer omfattende,
hvordan termer udformes, og
fokuserer f.eks. på deres form.
Eksplicitte kvalifikatorer bruges f.eks.
til at adskille homografer, f.eks.
Crane (fugl) versus Crane
(løftemaskineri).
Begreber er det centrale modelgrundlag
i SKOS. Termer i ISO-standarder svarer
til betegnelser i SKOS-begreber.
Som et enkelt publiceringsmiddel
fastsætter SKOS ikke regler for design
af betegnelser. Eftersom SKOS bruger
enkle literaler til at repræsentere
betegnelser, er det ydermere ikke muligt
at udtrykke termdannende mekanismer
som formel og eksplicit kvalifikation. I
dette og i andre tilfælde, hvor man vil
knytte information til betegnelser og
ikke til det begreb, de udtrykker, skal
man bruge SKOS-XL-ekstensionen (se
afsnit 4.3).
semantiske
relationer inden for
KOS –ækvivalens
Termer kan være semantisk
ækvivalente. I det tilfælde skelner
man mellem foretrukne og ikke
foretrukne ved hjælp af relationerne
USE og UF (used for).
Det formodes, at en ikke foretrukken
term kun kan pege på én ækvivalent
foretrukken term, hvor den sidste er
hovedindgangspunktet for det begreb,
som de begge udtrykker.
Ækvivalente termer repræsenteres som
betegnelser, der er knyttet til et enkelt
begreb. Som udgangspunkt er der ingen
direkte relation mellem disse
betegnelser. Som i ISO 2788 skelner
man mellem foretrukne betegnelser og
ikke foretrukne (alternative). I SKOS
findes tillige skjulte betegnelser.
Et begreb kan kun have én foretrukken
betegnelse (per sprog). Inden for samme
begrebssystem kan forskellige begreber
dog dele en foretrukken betegnelse, selv
om det ikke anbefales at gøre det.
semantiske
relationer inden for Udover ækvivalensrelationerne USE
og UF bruges der tre typer forbindelser
skos:broader, skos:narrower og
skos:related afspejler BT, NT og RT på
KOS – andre
forbindelser
til at relatere termer semantisk til
hinanden. BT (broader term) og NT
(narrower term) udtrykker, at
betydningen af en term er mere
generel end andres. RT (related term)
bruges, når en (ikke hierarkisk)
associativ forbindelse gælder mellem
betydninger, som kan være nyttige for
de programmer, der udnytter
tesaurussen.
ISO 2788 skelner mellem tre slags
BT/NT ved hjælp af logiske tests:
almene (klasse-arter), hel-del og
klasse-forekomster. Man kan om
nødvendigt repræsentere dem med
forkortelserne BTG, BTP and BTI.
Gyldigheden af logiske tests i godt
konstruerede tesaurusser fører til
transitive fortolkninger af hierarkiet,
hvortil en term med rimelighed kan
erkende alle dens aner som bredere
termer.
begrebsniveau.
SKOS har dog bredere rækkevidde i
forhold til KOS-typer og giver i
modsætning til ISO 2788 ingen helt
præcise anbefalinger af, hvad der er et
gyldigt hierarki. Det er hovedsageligt op
til KOS’ens udgivere at sikre, at
forbindelserne i deres systemer ikke
kommer i konflikt med det, der anses
som almindelig praksis i KOS – som
tesaurusser kun er en del af. SKOS
fokuserer i stedet på at adskille eksplicit
erklærede forbindelser af typen
”forældre-barn”(skos:broader) fra
mere generelle forbindelser af typen
”aner-efterkommere”, som automatisk
kan udledes af dem
(skos:broaderTransitive)
SKOS tillader også specialisering af
semantiske relationer (se afsnit 4.7).
SKOS foreslår dog ikke et standardsæt
af sådanne specialiseringer. Det
forventes i stedet, at disse kommer fra
andre standarder og retningslinjer, f.eks.
ISO 2788.
termers
syntaktiske
sammensætning
ISO 2788 indeholder
ækvivalensrelationer, der knytter
termer til kombinationer af andre
termer (USE +, UF +), som coal
mining USE coal + mining.
SKOS har som standard ingen funktion
til at danne forbindelser af typen én til
mange, begreb til begreb eller begreb til
betegnelse. Ekstensioner, der kan rette
op på denne mangel vil måske blive
udtænkt, f.eks. ved at specialisere
skos:Concept eller skosxl:Label.
knudebetegnelser Rækker i tesaurusser spiller en vigtig
rolle med hensyn til at gengive
termhierarki i en systematisk visning.
De er f.eks. det væsentligste
udtryksmiddel for komplekst
organiserede tesaurusser.
SKOS tillader repræsentation af
begrebsgrupperinger. Men fokus er på
begrebsniveau, og der gives ingen
konstruktion, der peger mod specifik
visningsstrategi. Samlinger i SKOS er
derfor ikke eksplicit relaterede til ét
overordnet begreb. Denne forbindelse
skal (gen-)oprettes via en specifik
visningsalgoritme eller ved at bruge en
ad hoc-ekstension.
dokumentariske
noter
ISO 2788 foreslår, at man knytter
målbeskrivelser og definitioner til
termer ved hjælp af forkortelsen SN.
SKOS har flere type noter til begreber:
målbeskrivelser, definition,
historiknoter osv. Disse egenskaber kan
udbygges yderligere, så de passer til
specifikke krav.
notationer ISO-retningslinjerne sigter mod
standardtesaurusser. Derfor forholder
de sig ikke til spørgsmålet om
notationer, som bruges i andre typer
KOS’er.
Der findes to måder at tilknytte
notationer – enten via egenskaben
skos:notation eller ved at bruge enkle
betegnelsesegenskaber (se afsnit 4.6).
begrebssystemer I ISO 2788 er der ingen eksplicit
metode til at gengive selve
tesaurusserne, eftersom der kun tages
hensyn til termer i forbindelse med ét
indekseringsvokabularium.
SKOS er influeret af muligheden for at
have flere KOS’er side om side. Selv
om SKOS i sig selv ikke har særlige
funktioner til at repræsentere dem
eksplicit og knytte beskrivende
metadata til dem, foreslås det at bruge
klassen ConceptScheme til dette formål.
Forbindelsen mellem en KOS og dens
begreb er eksplicit, og det samme
begreb kan tilhøre flere KOS’er.
topbegreber Ved visningen af en tesaurus kan
forkortelsen TT bruges til at henvise til
et hierarkis øverste term, som de viste
termer tilhører.
skos:hasTopConcept bruges til at
relatere et begrebssystem til de
begreber, der udgør søgeindgange til
dets hierarki.
håndtering af
sprog
I ISO 2788 bør termer være på samme
sprog.
ISO 5964 foreslår, at flere sprog kan
eksistere side om side i den samme
tesaurus. Termerne fra hvert sprog
danner dog uafhængige dele af
tesaurussen og er kun relateret til
hinanden af oversættelseslinks.
Fra et modelperspektiv er begreber
uafhængige af sprog. Et begreb kan
have betegnelser på forskellige sprog.
Betegnelser kan erklæres som
sprogspecifikke ved hjælp af RDF’s
literale sprogmærker. Flere sprog kan
derfor integreres i samme
begrebssystem.
parringsrelationer
mellem KOS’er
Semantiske parringsrelationer omtales
kun i ISO 5964 i forbindelse med
flersprogede tesaurusser som en
yderligere karakteristik af
oversættelsen. De omtalte typer er:
Præcis ækvivalens.
Upræcis ækvivalens – termer
udtrykker den samme
generelle idé, men deres
betydning er ikke fuldstændig
identisk.
Delvis ækvivalens –
betydningen af én term er
bredere end en anden.
En-til-mange – et begreb,
Parringsrelationer i SKOS er en relativt
god afspejling af ISO 5964-typerne.
skos:exactMatch og
skos:closeMatch adskiller f.eks.
tilfælde, hvor ækvivalens er helt gyldig
fra et semantisk perspektiv, fra andre
tilfælde, hvor semantisk ækvivalens
ikke er eksakt, men kan accepteres af en
given anvendelse.
Til individuelle flersprogede KOS’er,
kan ækvivalente forbindelser i ISO
5964 dog repræsenteres i SKOS ved at
vedhæfte ækvivalente termer som
betegnelser for det samme begreb. Dette
passer på fremgangsmåden i ISO 5964,
udtrykt af én term i
kildesproget, er udtrykt af en
kombination af termer i
målsproget.
Bemærk, at ISO 5964 forholder sig til
mange emner, der ligger uden for
SKOS’ område, f.eks. overførsel af
hierarkiske og associative relationer
fra et sprog til et andet eller
udtænkning af nye termer på et sprog,
når der ikke kan findes en semantisk
ækvivalent for termer på et andet
sprog.
hvor det kun er nødvendigt at
sammenkæde foretrukne termer.
Sådanne forbindelser kan overføres på
det begrebsniveau, som disse termer
udtrykker. Men ISO 5964 tillader også
at relatere ikke-foretrukne termer
(f.eks., "DNA"@en og "ADN"@fr). I
SKOS kan sådanne forbindelser kun
repræsenteres ved hjælp af SKOS-XL-
ekstensionen.
Oversættelser af en-til-mange kan ikke
repræsenteres i SKOS. Ved syntaktisk
kombination af termer i en tesaurus
kræves der ekstensioner af
standardmodellen.
Bemærk, at ISO 5964 grundigt omtaler
visningen af flersprogede tesaurusser.
Det forholder man sig ikke til i SKOS.
Men hvad angår simple tesaurusser kan
visninger i ISO 5964 implementeres
oven på SKOS-data – med undtagelse af
tilfælde med mapning af en-til-mange,
som er nævnt ovenfor.