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.
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 Resource Description Framework (RDF), 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.
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 public-swd-wg@w3.org. 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.
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.
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-programmer 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-programmer. Afsnit 5 diskuterer brugen af SKOS i forbindelse med andre modelleringsmetoder, især OWL.
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/> .
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.
Det fundamentale element i SKOS-vokabulariet er begrebet. Begreber er de tankeenheder [WillpowerGlossary] – idéer, meningsindhold 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:
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].
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].
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.
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 smallere begreb af ex:rock
.
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.
Semantiske relationer spiller en meget vigtig rolle ved definitionen af begreber i KOS’er. Meningen med 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.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.
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
.
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 mening, 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 mening. 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 mening 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" ].
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.
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.
Hvert begreb i SKOS tildeles en URI [COOLURIS], som gør det muligt entydigt at henvise til et begreb i ethvert SKOS-program. Dette er især nyttigt til at etablere semantiske relationer mellem allerede eksisterende begreber. Sådan en mapping 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 mapping er muligheden for at angive, at to begreber fra forskellige systemer har sammenligneligt meningsindhold, og angive, hvordan dette meningsindhold kan sammenlignes, selv om det kommer fra forskellige sammenhænge og sikkert følger forskellige modelleringsprincipper [BS8723-4]. Mapping 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 mappingerklæ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 vekslende 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 tilsvarende meningsindhold, 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 meningsindhold 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-programmer. 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.
Mappingegenskaber 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 mapping af relationer er mindre uløseligt forbundet med meningen af de begreber, de involverer. Set fra designeren af den kortlagte KOS’ synspunkt kan de måske indimellem være forkerte.
Mappingegenskaber forventes at være nyttig i specifikke programmer, der bruger flere begrebsoverlappende KOS’er. Man forventer almindeligvis, at mapping 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 mappingegenskaber,
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.
At sammenkæde begreber ved hjælp af mapping 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, måske nødvendigt begreb 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 moduleringsmekanisme, 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 programmer 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. Der er især 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 et program er beskæftiget med 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.
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 deres subjekt.
Mens SKOS-vokabulariet selv ikke 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 subjekter og derfor være
involveret i flere udsagn af typen dct:subject
.
Disse subjekter kan tydeligvis komme fra forskellige begrebssystemer, der
f.eks. kan være et resultat af en distribueret kommenteringsproces.
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:
Dette afsnit slutter med et generelt notat om ekstension af SKOS-modellen for at gøre plads til endnu mere specialiseret raffinering af det vokabularium, der bliver præsenteret i denne introduktion.
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.
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.
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.
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 det givne program. 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.
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 programmer.
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.
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.
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.
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”.
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 ekstenderet 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 ovenegenskab 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:
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.
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 dedikeret 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.
Det er hensigten, at SKOS skal fungere som en fællesnævner mellem forskellige tilgange til modellering. Som sådan vil den aktuelle vokabulariumdefinition 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.
Programmer, 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 forekomstklasser [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 (public-esw-thes@w3.org). Sådanne ekstensioner adresserer måske almene problemstillinger og kan derfor genbruges på tværs af forskellige programmer. 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.
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.
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.
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 usammenhængende betingelse mellem klasser og individer 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:
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 containment 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 containment. 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.
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: public-esw-thes@w3.org) 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.
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. |
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 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 KOS – andre forbindelser |
Udover ækvivalensrelationerne ISO 2788 skelner mellem tre slags 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 superordinater. |
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 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 ( |
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 |
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 |
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 |
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 |
topbegreber |
Ved visningen af en tesaurus kan forkortelsen |
|
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:
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. |
Parringsrelationer i SKOS er en relativt god afspejling af
ISO 5964-typerne. 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,
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., Oversættelser af enkel-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 mapping af enkel-til-mange, som er nævnt ovenfor. |