Tjek trykfejlslisten for dette dokument, der måske indeholder normative 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.
Følgende dokument definerer SKOS (Simple Knowledge Organization System), en fælles datamodel til deling og sammenkædning af vidensorganiserende systemer på internettet.
Mange vidensorganiserende systemer, f.eks. tesaurusser, taksonomier, klassifikationssystemer og overskriftslister har en lignende struktur og bruges i lignende sammenhænge. SKOS registrerer meget af denne lighed og gør den eksplicit, så data og teknologi kan deles på tværs af forskellige programmer.
SKOS-datamodellen er en standardiseret, prisbillig måde at migrere eksisterende vidensorganiserende systemer til det semantiske web. SKOS er også et enkelt, intuitivt sprog til at udvikle og dele nye vidensorganiserende systemer. Det kan bruges alene eller i kombination med formelle sprog til vidensrepræsentation, f.eks. OWL (Web Ontology language).
Dokumentet her er den normative beskrivelse af SKOS. Det er beregnet på læsere, der beskæftiger sig med design og implementering af informationssystemer, og som allerede har en god forståelse for teknologier til det semantiske web, især RDF og OWL.
En informativ brugsvejledning til SKOS findes i [Introduktion til SKOS].
Med SKOS kan man identificere begreber ved hjælp af URI’er, der er vedhæftet betegnelser med leksikale strenge på et eller flere naturlige sprog, tildelt notationer (leksikale koder), dokumenteret med forskellige typer notater, kædet sammen med andre begreber og organiseret i uformelle hierarkier og associationsnetværk, samlet i begrebssystemer, grupperet i betegnelsesmærkede og/eller ordnede samlinger og mappet med begreber i andre systemer.
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 en W3C-anbefaling udarbejdet af Semantic Web Deployment Working Group, som er en del af W3C Semantic Web Activity. Dokumentet afspejler en redaktionel ændring, der er fremkommet under Proposed Recommendation review: Et ikke normativt eksempel og forudgående tekst blev fjernet, fordi det henviste til en metode, hvorpå man kunne referere til et notationssystem (f.eks. en symbolsk notation) i en betegnelse, hvor notationssystemet ikke svarer til 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. En implementeringsrapport dokumenterer brugen af SKOS under revisionsperioden til kandidatanbefalingen. En opdatering af Introduktion til SKOS bliver publiceret samtidig med denne anbefaling.
Ændringer siden foreslåede anbefalinger af 15. juni 2009:
Kommentarer til dette dokument kan sendes til public-swd-wg@w3.org med public archive.
Dette dokument er skrevet af en gruppe under 5 February 2004 W3C Patent Policy. W3C fører en offentlig liste over enhver patentanmeldelse, der er gjort i forbindelse med gruppens arbejde. Siden indeholder også instruktioner i at anmelde et patent. Enkeltpersoner med konkret viden om et patent, som menes at indeholde væsentlige fordringer, skal fremlægge oplysningerne i henhold til afsnit 6 i W3C Patent Policy.
Dette dokument blev gennemlæst af W3C-medlemmer, af softwareudviklere og andre W3C-grupper og interesserede parter, og det er godkendt af ledelsen som en W3C-anbefaling. Det er et pålideligt dokument og kan bruges som referencemateriale eller citeres i andre dokumenter. W3C’s rolle i fremstillingen af denne anbefaling er at rette opmærksomheden mod specifikationerne og at anspore til, at de bruges i vidt omfang. Dette forøger internettets funktionalitet og interoperabilitet.
Stikordspanel [skjul]
Klasser
Egenskaber
Afsnit
Tillæg
SKOS (Simple Knowledge Organization System) er en standard til deling af data, der binder flere forskellige felter inden for viden, teknologi og praksis sammen.
Inden for biblioteks- og informationsvidenskaberne er der en lang og fornem tradition for at udvikle værktøjer til at organisere store samlinger, f.eks. af bøger eller museumsgenstande. Disse værktøjer er almindeligt kendt som ”vidensorganiserende systemer” (engelsk forkortelse: KOS) eller indimellem som ”styrede og strukturerede vokabularier”. Flere lignende, men alligevel forskellige traditioner er dukket op i tidens løb, som hver især er støttet af et praksisfællesskab og et sæt vedtagne standarder. Forskellige familier af vidensorganiserende systemer, herunder tesaurusser, klassifikationssystemer, overskriftslister og taksonomier er bredt anerkendte og anvendes i både moderne og traditionelle informationssystemer. Det kan være svært i praksis at skelne fuldstændigt mellem tesaurusser, klassifikationssystemer eller taksonomier, selv om visse egenskaber kan bruges til en bred karakterisering af disse forskellige familier (se f.eks. [BS8723-3]). En vigtig pointe ved SKOS er, at hver af disse familier – i tillæg til deres unikke egenskaber – har meget til fælles og ofte kan bruges på tilsvarende måder [SKOS-UCR]. Men der er dog ikke aktuelt en udbredt standard til at repræsentere disse vidensorganiserende systemer som data og udveksle dem mellem computersystemer.
W3C’s Semantic Web Activity [SW] har stimuleret et nyt felt med samordnende forskning og teknologiudvikling i grænselandet mellem databasesystemer, formel logik og internettet. Dette arbejde har ført til udviklingen af grundlæggende standarder for det semantiske web. RDF (Resource Description Framework) leverer en fælles dataabstraktion og syntaks for internettet [Introduktion til RDF. RDFS (Vocabulary Description language) og OWL (Web Ontology language) udgør et fælles datamodelleringssprog for data på internettet [RDFS] [OWL-GUIDE]. SPARQL (Query Language and Protocol) udgør en standardmetode til at bearbejde data på internettet[SPARQL].
Disse teknologier bliver brugt på tværs af forskellige programmer, fordi mange programmer kræver en fælles ramme for at publicere, dele, udveksle og integrere (”joining up”) data fra forskellige kilder. Muligheden for at kæde data sammen fra forskellige kilder motiverer mange projekter, når forskellige fællesskaber søger at udnytte den skjulte værdi af data, der tidligere fordelte sig på isolerede kilder.
En facet af visionen om det semantiske web er håbet om bedre organisering af den enorme mængde ustruktureret (dvs. læsbar af mennesker) information på internettet, så man på den måde kan levere nye måder til at opdage og dele den information. RDFS og OWL er formelt definerede sprog til videnspræsentation, der tilvejebringer metoder til at udtrykke mening, som kan behandles af maskiner, en mening, som supplerer og strukturerer information, der allerede findes på internettet[RDF-PRIMER] [OWL-GUIDE]. Men at bruge disse teknologier på større mængder information kræver faktisk fremstilling af detaljerede kort over de enkelte vidensdomæner og en præcis beskrivelse (dvs. kommenteret eller katalogiseret) af informationsressourcer i stor skala, som for en stor del ikke kan gøres automatisk. Den akkumulerede erfaring og udviklingen af gode vaner inden for biblioteks- og informationsvidenskaberne med hensyn til organiseringen af information og viden er åbenlyst komplementær med og anvendelig til denne vision, ligesom det gælder mange eksisterende vidensorganiserende systemer, der allerede er udviklet og taget i brug, f.eks. emneordsregisteret i den amerikanske kongres [LCSH] eller tesaurussen AGROVOC fra FN's fødevare- og landbrugsorganisation, [AGROVOC].
SKOS (Simple Knowledge Organization System) sigter derfor mod at bygge bro mellem forskellige praksisfællesskaber inden for biblioteks- og informationsvidenskaberne, som er involveret i udvikling og anvendelse af vidensorganiserende systemer. SKOS sigter tillige mod at bygge bro mellem disse fællesskaber og det semantiske web ved at overføre eksisterende modeller til organisering af viden til teknologien bag det semantiske web og tilvejebringe en prisbillig metode til at migrere eksisterende vidensorganiserende systemer til RDF.
På længere sigt vil SKOS indtage en placering mellem udnyttelsen og analysen af ustruktureret information, den uformelle og socialt formidlede organisering af information i stor skala samt den formelle repræsentation af viden. Ved at give adgang til den akkumulerede erfaring og indsigt i organisering af viden i biblioteks- og informationsvidenskaberne og ved at gøre den anvendelig og overførbar til det semantiske web på en måde, som komplementerer den eksisterende teknologi (især formelle systemer til vidensrepræsentation, f.eks OWL), er det håbet, at SKOS vil muliggøre mange nye værdifulde anvendelser og tillige føre til ny, samordnende forskning og udvikling i både teknologi og praksis.
SKOS er en fælles datamodel for vidensorganiserende systemer som tesaurusser, klassifikationssystemer, emnekataloger og taksonomier. Med SKOS kan et vidensorganiserende system udtrykkes som maskinlæsbare data. Derefter kan de udveksles mellem computerprogrammer og publiceres på internettet i et maskinlæsbart format.
SKOS-datamodellen er i denne fremstilling formelt defineret som en OWL Full-ontologi [OWL-SEMANTICS]. SKOS-data udtrykkes som RDF-tripler [RDF-CONCEPTS] og kan indkodes med enhver konkret RDF-syntaks (f.eks. RDF/XML [RDF-XML] eller Turtle [TURTLE]). Yderligere oplysninger om relationen mellem SKOS, RDF og OWL findes i nedenstående undersektion.
SKOS-datamodellen opfatter et vidensorganiserende system som et begrebssystem, der består af et sæt begreber. Disse begrebssystemer og begreber er identificeret af URI’er, så enhver kan henvise entydigt til dem fra enhver kontekst og gøre dem til en del af internettet. Yderligere oplysninger om at identificere og beskrive SKOS-begreber findes i afsnit 3. Skos: Begrebsklasse. Yderlige oplysninger om SKOS-begrebssystemer findes i afsnit 4. Begrebssystemer.
SKOS-begreber kan tilføjes en betegnelse med et uendeligt antal leksikale (UNICODE) strenge, f.eks. ”romantisk kærlighed” eller "れんあい", på et hvilket som helst naturligt sprog, f.eks. dansk eller japansk (her skrevet i hiragana). En af disse betegnelser, på et hvilket som helst sprog, kan angives som den foretrukne betegnelse for det sprog. De andre kan angives som alternative betegnelser. Betegnelser kan også være ”skjulte”, hvilket er nyttigt, når der bliver søgt i et vidensorganiserende system via et tekstindeks. Yderligere oplysninger om egenskaber for leksikale betegnelser i SKOS findes i afsnit 5. Leksikale betegnelser.
SKOS-begreber kan tilføjes ét eller flere notationer – leksikale koder, der bruges til entydigt at identificere begrebet inden for rækkevidden af et givent begrebssystem. URI’er er den foretrukne måde til at identificere SKOS-begreber i computersystemer, men notationer bygger bro til andre identifikationssystemer, som allerede er i brug. Det kan f.eks. være klassifikationskoder i et bibliotekskatalog. Yderligere oplysninger om notationer findes i afsnit 6. Notationer.
SKOS-begreber kan dokumenteres med forskellige slags notater. SKOS-datamodellen tilvejebringer et elementært sæt dokumentationsegenskaber, der bl.a. understøtter målbeskrivelser (scope notes), definitioner og redaktionelle notater. Dette sæt er ikke fyldestgørende, men er tænkt som en ramme, der kan udvides af tredjepart for at understøtte mere specifikke notattyper. Yderligere oplysninger om notater findes i afsnit 7. Dokumentationsegenskaber.
SKOS-begreber kan sammenkædes med andre SKOS-begreber via semantiske relationsegenskaber. SKOS-datamodellen understøtter hierarkiske og associative forbindelser mellem SKOS-begreber. Som enhver anden del af SKOS-datamodellen kan disse udvides af tredjepart for at understøtte mere specifikke behov. Yderligere oplysninger om at sammenkæde SKOS-begreber findes i afsnit 8. Semantiske relationer.
SKOS-begreber kan grupperes i samlinger, som kan være forsynet med betegnelser eller være ordnede. Meningen med denne funktion i SKOS-datamodellen er at understøtte knudebetegnelser i tesaurusser og bruges i situationer, hvor det giver mening, eller tilvejebringer nyttig information, at bringe orden i et sæt begreber. Yderligere oplysninger om samlinger findes i afsnit 9. Samlinger af begreber.
SKOS-begreber kan mappes med andre SKOS-begreber i forskellige begrebssystemer. SKOS-datamodellen understøtter fire grundlæggende typer af forbindelser til at mappe med: hierarkiske, associative, tæt ækvivalent og præcis ækvivalent. Yderligere oplysninger om at mappe findes i afsnit 10. Egenskaber for mapping.
En valgfri ekstension af SKOS er defineret i Tillæg B. SKOS-ekstension til betegnelser (SKOS-XL). SKOS-XL understøtter identificering, beskrivelse og sammenkædning af leksikale enheder.
Elementerne i SKOS-datamodellen er klasser og egenskaber, og datamodellens struktur og integritet er defineret af de logiske karaktertræk ved og den indbyrdes afhængighed mellem disse klasser og egenskaber. Dette er måske et af de stærkeste og alligevel potentielt mest forvirrende aspekter ved SKOS, fordi SKOS, i mere avancerede programmer, også kan bruges side om side med OWL til at udtrykke eller udveksle viden om et domæne. SKOS er dog ikke et formelt sprog til at repræsentere viden.
Man kan forstå denne sondring ved at tænke på, at den ”viden”, der tydeliggøres i en formel ontologi, udtrykkes som et sæt aksiomer og kendsgerninger. En tesaurus eller et klassifikationssystem er noget ganske andet og erklærer ingen aksiomer eller kendsgerninger. En tesaurus eller et klassifikationssystem identificerer og beskriver derimod et sæt individuelle idéer og meninger ved hjælp af naturligt sprog og andre uformelle metoder. Disse idéer og meninger betegnes ofte passende som ”begreber”. Disse ”begreber” kan også arrangeres og organiseres i forskellige strukturer, oftest i hierarkier og associationsnetværk. Disse strukturer har dog ingen formel semantik og kan ikke tolkes pålideligt som hverken formelle aksiomer eller kendsgerninger om verden. Det har heller aldrig været meningen, for de tjener kun som en bekvem og intuitiv måde at kortlægge et emnes domæne, som derpå kan bruges som hjælp til at organisere og finde objekter, f.eks. dokumenter, der er relevante for det domæne.
At gøre den indlejrede ”viden” i en tesaurus eller et klassifikationssystem eksplicit i en formel forstand kræver, at tesaurussen eller klassifikationssystemet skal omstruktureres til en formel ontologi. Nogle skal med andre ord omforme strukturen og det intellektuelle indhold i en tesaurus eller et klassifikationssystem til et sæt af aksiomer og kendsgerninger. Denne omformering er både intellektuel krævende og tidskrævende og derfor dyr. Man kan vinde meget ved at bruge f.eks. tesaurusser, som de er, som uformelle, belejlige strukturer til at navigere i et emnedomæne. Ved at bruge dem, som de er, er det ikke nødvendigt at omstrukturere dem, og derfor er det mindre dyrt. I tillæg til dette er nogle KOS’er per design ikke beregnet til at repræsentere et logisk overblik over deres domæne. At konvertere sådan en KOS til en formel, logikbaseret repræsentation kan i praksis omfatte forandringer, der resulterer i en repræsentation, som ikke længere lever op til det oprindeligt tilsigtede formål.
OWL udgør dog et stærkt datamodelleringssprog. Vi kan derfor bruge OWL til at konstruere en datamodel, der kan repræsentere tesaurusser eller klassifikationssystemer, som de er. Det er præcis, hvad SKOS gør. Med denne tilgang modelleres en tesaurus’ eller et klassifikationssystems ”begreber” som individuelle individer i SKOS-datamodellen. De uformelle beskrivelser om og forbindelser mellem disse ”begreber”, som er givet af pågældende tesaurus eller klassifikationssystem, bliver modelleret som kendsgerninger om disse individer og aldrig som klasser eller egenskaber. Bemærk, at dette er kendsgerninger om selve tesaurussen eller klassifikationssystemet, f.eks. ”begreb X har den foretrukne betegnelse ’Y’ og er en del af tesaurus Z”. Det er ikke kendsgerninger om den måde, verdener arrangeret i det givne emnedomæne, som kan udtrykkes i en formel ontologi.
SKOS-data bliver så udtrykt som RDF-tripler. Nedenstående RDF-graf (i [TURTLE] som omtales i afsnit 1.7.3) udtrykker visse kendsgerninger om en tesaurus.
<A> rdf:type skos:Concept ;
skos:prefLabel "love"@en ;
skos:altLabel "adoration"@en ;
skos:broader <B> ;
skos:inScheme <S> .
<B> rdf:type skos:Concept ;
skos:prefLabel "emotion"@en ;
skos:altLabel "feeling"@en ;
skos:topConceptOf <S> .
<S> rdf:type skos:ConceptScheme ;
dct:title "My First Thesaurus" ;
skos:hasTopConcept <B> .
Dette er altafgørende for forståelsen af den formelle definition af SKOS-datamodellen, og hvordan den kan implementeres i softwaresystemer. Det er også altafgørende for en mere avanceret brug af SKOS, især hvor SKOS og OWL bruges i kombination som del af et formelt/semiformelt hybriddesign.
Fra et brugersynspunkt kan sondringen mellem et formelt vidensrepræsentationssystem
og et uformelt eller semiformelt vidensorganiserende system naturligvis være
noget uklar. Det vil med andre ord ikke være relevant for en bruger, at <A>
og <B>
i nedenstående graf er
individer (forekomster af skos:Concept
),
og <C>
og <D>
er klasser (forekomster af owl:Class
) .
<A> rdf:type skos:Concept ;
skos:prefLabel "love"@en ;
skos:broader <B> .
<B> rdf:type skos:Concept ;
skos:prefLabel "emotion"@en .
<C> rdf:type owl:Class ;
rdfs:label "mammals"@en ;
rdfs:subClassOf <D> .
<D> rdf:type owl:Class ;
rdfs:label "animals"@en .
Et informationssystem, der har nogen bevidsthed om SKOS-datamodellen, bliver dog nødt til at forstå denne sondring.
RDF Schema til SKOS og SKOS eXtension for Labels (SKOS-XL) beskrives i Tillæg C. Navneområdedokumenter i SKOS og SKOS-XL . Bemærk, at fordi der er begrænsninger, som ikke kan registreres fuldstændigt i skemaet, udgør RDF/XML-dokumentet et normativt undersæt af denne vejledning.
Ifølge semantikken i RDF og OWL Full er den formelle betydning (fortolkning) af en RDF-graf en sandhedsværdi [RDF-SEMANTICS] [OWL-SEMANTICS], dvs. at en RDF-graf fortolkes som enten sand eller falsk.
Generelt siger man, at en RDF-graf er inkonsistent, hvis den umuligt kan være sand. En RDF-graf er med andre ord inkonsistent, hvis den indeholder en selvmodsigelse.
Bruges RDF- og RDFS-vokabularierne alene, er det stort set umuligt at fremsætte et selvmodsigende udsagn. Når OWL-vokabulariet også benyttes, er der mange måder at fremsætte en selvmodsigelse, som vist i eksemplet med RDF-grafen nedenunder.
<Dog> rdf:type owl:Class .
<Cat> rdf:type owl:Class .
<Dog> owl:disjointWith <Cat> .
<dogcat> rdf:type <Dog> , <Cat> .
Grafen angiver, at <Dog>
og <Cat>
begge er
klasser, og at de er disjunkte, dvs. at de ikke har nogen medlemmer til fælles.
Dette modsiges af udsagnet om, at <dogcat>
har både type <Dog>
og
<Cat>
. Der findes ingen
fortolkning i OWL Full, der kan gøre denne graf sand, og grafen er derfor ikke
konsistent med OWL Full.
Idéen om inkonsistens er nyttig, når OWL Full bruges som et vidensrepræsentationssprog, fordi det afslører selvmodsigelserne blandt de aksiomer og kendsgerninger, der er erklæret i ontologien. Ved at afklare disse inkonsistenser lærer vi mere om et vidensdomæne og kommer frem til en bedre model af det domæne, ud fra hvilken der kan udledes interessante og gyldige følgeslutninger.
Når OWL Full bruges som datamodelleringssprog (dvs. til skema), er idéen om inkonsistens igen nyttig, men på en anden måde. Her behøver man ikke at bekymre sig om den logiske konsistens af den menneskelige viden. Det drejer sig ganske enkelt om formelt at definere en datamodel for at fastslå med sikkerhed, hvorvidt givne data passer til den givne datamodel. Hvis dataene er inkonsistente i forhold til datamodellen, så passer dataene ikke.
Det har ikke noget at gøre med, om nogle givne data er i overensstemmelse med den virkelige verden, dvs. om de er sande eller falske i nogen absolut forstand. Det interessante er, om dataene passer til datamodellen, fordi den indbyrdes funktion inden for en given klasse programmer afhænger af, om dataene passer til en fælles datamodel.
Man kan også udtrykke dette synspunkt via begrebet integritet.
Integritetsbetingelser er udsagn i en formel definition af en datamodel, som
bruges til at afgøre, om givne data er konsistente med hensyn til datamodellen,
f.eks. kan udsagnet, at <Dog>
og <Cat>
er disjunkte
klasser, opfattes som en integritetsbetingelse for en datamodel. Med denne
betingelse er nedenstående data ikke konsistente.
<dogcat> rdf:type <Dog> , <Cat> .
Definitionen af SKOS-datamodellen i dette dokument indeholder et begrænset antal udsagn, der kan bruges som integritetsbetingelser. Disse integritetsbetingelser er medtaget for at fremme den indbyrdes funktionsevne ved at definere de betingelser, hvorunder data ikke er konsistente med SKOS-datamodellen. Man kan så implementere værktøjer, der tjekker, om nogen af eller alle disse integritetsbetingelser er opfyldt for givne data og derfor, om dataene er konsistente med SKOS-datamodellen.
Disse integritetsbetingelser er del af den formelle definition af SKOS-datamodellens klasser og egenskaber. De præsenteres dog separat fra andre dele af den formelle definition, fordi de tjener et andet formål. Integritetsbetingelser tjener primært til at afgøre, om givne data er konsistente i forhold til SKOS-datamodellen. Alle andre udsagn under definitionen af SKOS-datamodellen tjener kun til at understøtte logiske følgeslutninger (se også næste underafsnit.)
Integritetsbetingelser for SKOS-datamodellen er defineret på en måde, der er uafhængig af strategierne for deres implementering – i den udstrækning det er muligt. Dette skyldes, at der er flere forskellige måder, hvorpå en procedure, der kan finde inkonsistens i SKOS-datamodellen, kan implementeres. Inkonsistens kan findes med et OWL-ræsonneringsprogram. Alternativt kan visse inkonsistenser findes ved at søge efter bestemte mønstre blandt dataene eller ved en blandingsstrategi (f.eks. drage logiske slutninger ved hjælp af et RDFS- eller OWL-ræsonneringsprogram og derpå lede efter mønstre i den resulterende graf).
Der er færre integritetsbetingelser i SKOS-datamodellen, end man måske kunne forvente. Det gælder især dem, der arbejder i databasesystemernes lukkede verden. Se også næste underafsnit og bemærkningerne i afsnit 3-10 nedenfor.
Dette dokument definerer KOS-datamodellen som en OWL Full-ontologi. SKOS-datamodellen kunne også være blevet defineret på andre måder, f.eks. som en model over entitetsrelationer eller en UML class-model. Skønt OWL Full, som et datamodelleringssprog, på mange måder intuitivt fungerer som andre modelleringsmetoder, så er der en vigtig, grundlæggende forskel.
RDF og OWL Full er beregnet til systemer, hvor data kan distribueres vidt omkring (f.eks. på internettet). Når sådan et system bliver større, bliver det upraktisk, og det bliver tillige så godt som umuligt at vide, hvor alle systemets data er placeret. Derfor kan man almindeligvis ikke antage, at data fra sådan et system er komplette. Hvis det lader til, at der mangler data, må man generelt formode, at dataene måske findes et andet sted isystemet. Den antagelse er groft sagt kendt som antagelsen om den åbne verden [OWL-GUIDE].
Dette betyder i praksis, at visse definitioner i en datamodel, der er
defineret som OWL Full-ontologi, kan have en betydning, der går imod det
intuitive. Man kan ikke drage konklusioner ud fra de manglende data, og de
tilbageværende data bliver aldrig inkonsistente af at fjerne noget. Dette kan
f.eks. illustreres med definitionen af skos:semanticRelation
i afsnit 8
nedenfor. Egenskaben skos:semanticRelation
er defineret med skos:Concept
som
domæne og rækkevidde. Disse definitioner af domæne og rækkevidde tillader logiske
følgeslutninger. Eksempel:
<A> skos:semanticRelation <B>.
I dette tilfælde medfører ovenstående graf den følgende graf.
<A> rdf:type skos:Concept .
<B> rdf:type skos:Concept .
Man behøver således ikke eksplicit at angive, at <A>
og <B>
er forekomster af skos:Concept
, fordi sådanne udsagn
indebærer definitionen af skos:semanticRelation
.
I SKOS-datamodellen er de fleste definitionsudsagn ikke
integritetsbetingelser, men udsagn om logisk afhængighed mellem forskellige
elementer af datamodellen, som (antagelsen om den åbne verden) tillader et
antal simple følgeslutninger. Dette er f.eks. illustreret af udsagnet i afsnit 7
nedenfor, hvor skos:broader
og skos:narrower
er inverse
egenskaber. Dette udsagn betyder, at
<A> skos:narrower <B> .
medfører
<B> skos:broader <A> .
Begge disse grafer er i sig selv konsistente med SKOS-datamodellen.
Vidensorganiserende systemer som tesaurusser og klassifikationssystemer bruges i en lang række situationer, og et enkelt vidensorganiserende system kan bruges i mange forskellige informationssystemer. Ved at definere SKOS-datamodellen som en OWL Full-ontologi kan det semantiske web derpå bruges som medium til at publicere, udveksle og sammenkæde data, der involverer disse vidensorganiserende systemer. Af denne grund, for udtryksfuldheden af OWL Full som datamodelleringssprog samt for muligheden for at bruge tesaurusser, klassifikationssystemer osv. side om side med formelle ontologier, er OWL Full blevet brugt til at definere SKOS-datamodellen. Antagelsen om den åbne verden er derfor en grundlæggende præmis for SKOS-datamodellen, og det skal man have in mente under læsningen af dette dokument.
Se også [Introduktion til RDF-PRIMER] og [OWL-GUIDE].
Som omtalt ovenfor omfatter begrebet ”vidensorganiserende
system” en lang række kunstgreb. Der er derfor fare for overengagement i KOS
schema, som kunne udelukke brugen af SKOS til visse formål. For at lette på
dette i situationer, hvor der er tvivl om medregningen af en formel restriktion
(se f.eks. diskussionen om skos:hasTopConcept
),
er restriktionen ikke blevet formelt angivet. I visse tilfælde anbefales brugerkonventioner,
selv om der ikke er angivet en formel restriktion. Programmer, der kræver en
mere restriktiv opførsel, kan definere ekstensioner til SKOS-vokabulariet.
Yderligere oplysninger i [Introduktion til
SKOS].
Dette dokument definerer formelt SKOS-datamodellen som en OWL Full-ontologi. Elementerne i SKOS-datamodellen er OWL-klasser og -egenskaber. Disse klasser og egenskaber forsynes med en URI (Uniform Resource Identifier), så de kan bruges entydigt på internettet. SKOS-vokabulariet udgøres af dette sæt URI’er.
Det komplette SKOS-vokabularium beskrives i afsnit 2 nedenfor. Afsnit 3-10 definerer så formelt SKOS-datamodellen. Definitionen af datamodellen er, udelukkende af bekvemme årsager, opdelt i en række afsnit. Afsnittene 3-10 følger en fælles struktur:
Hovedparten af klasse- og egenskabsdefinitionerne samt de integritetsbetingelser, der er angivet i dette dokument, kan angives som RDF-tripler ved hjælp af RDF-, RDFS- og OWL-vokabularier. Men et begrænset antal kan ikke. Det skyldes enten begrænsninger i OWL Fulls udtryksfuldhed eller manglen på en standard-URI til visse klasser. For at forbedre dette dokuments generelle læsbarhed er de formelle definitioner og integritetsbetingelser hele vejen angivet med almindelig tekst uden at blande RDF-tripler og anden notation ind i det.
Denne tekststil følger generelt den stil, som bruges i [RDFS], og bør kunne læses af personer uden arbejdserfaring med RDF og OWL.
Eksempel ”ex:Person
er en
forekomst af owl:Class
” betyder derfor:
ex:Person rdf:type owl:Class .
”ex:hasParent
og ex:hasMother
er hver forekomster af owl:ObjectProperty
” betyder:
ex:hasParent rdf:type owl:ObjectProperty .
ex:hasMother rdf:type owl:ObjectProperty .
”ex:hasMother
er en
underegenskab af ex:hasParent
”
betyder:
ex:hasMother rdfs:subPropertyOf ex:hasParent .
”rdfs:range
af ex:hasParent
er klassen ex:Person
” betyder:
ex:hasParent rdfs:range ex:Person .
Hvor visse formelle aspekter af SKOS-datamodellen ikke kan angives som
RDF-tripler med enten RDF-, RDFS- eller OWL-vokabularier, bør læsere med en
grundlæggende forståelse for semantikken i RDF og OWL kunne forstå, hvordan
disse udsagn kan oversættes til formelle betingelser ved fortolkningen af et
RDF-vokabularium (f.eks. i afsnit 5, betyder ”En
ressource har ikke mere end én værdi af skos:prefLabel
per sprogmærke” for en given ressource x, at ikke to medlemmer af sættet { y |
<x,y> is in IEXT(I(skos:prefLabel
))
} deler det samme sprogmærke, hvor I og IEXT er funktioner defineret i [RDF-SEMANTICS]).
Hele URI’er skrives i dette dokument med skrifttypen monospace omgivet af
kantede parenteser, f.eks. <http://example.org/ns/example>
.
Relative URI’er er anført på samme måde og er relative til base-URI’en http://example.org/ns/
.
F.eks. er <example>
og
<http://example.org/ns/example>
samme URI.
URI’er angives også i dokumentet i en forkortet form. Forkortede URI’er vises med skrifttypen monospace uden kantede parenteser og bør udbygges med nedenstående tabel over forkortelser.
URI | Forkortelse |
---|---|
http://www.w3.org/2004/02/skos/core# | skos: |
http://www.w3.org/1999/02/22-rdf-syntax-ns# | rdf: |
http://www.w3.org/2000/01/rdf-schema# | rdfs: |
http://www.w3.org/2002/07/owl# | owl: |
Derfor er skos:Concept
f.eks. en forkortelse af <http://www.w3.org/2004/02/skos/core#Concept>
.
Eksempler på RDF-grafer angives med sproget Terse RDF Triple language (Turtle) [TURTLE]. I alle eksemplerne antages det, at de følger efter nedenstående præfiks og URI-baseerklæringer:
@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 skos: <http://www.w3.org/2004/02/skos/core#> .
@base <http://example.org/ns/> .
Derfor svarer nedenstående eksempel
Eksempel 1 |
---|
<MyConcept> rdf:type skos:Concept .
|
Til følgende Turtle-dokument
@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 skos: <http://www.w3.org/2004/02/skos/core#> .
@base <http://example.org/ns/> .
<MyConcept> rdf:type skos:Concept .
hvilket svarer til følgende RDF/XML-dokument [RDF-XML]
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xml:base="http://example.org/ns/">
<skos:Concept rdf:about="MyConcept"/>
</rdf:RDF>
som svarer til følgende N-TRIPLES-dokument [NTRIPLES]
<http://example.org/ns/MyConcept> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2004/02/skos/core#Concept> .
Bemærk, at Turtle bruger tegnene ”;” og ”,” til at forkorte flere tripler med samme subjekt eller prædikat. Visse eksempler bruger også Turtle-syntaksen ”(...)”, der repræsenterer en RDF-samling.
Denne håndbog definerer ikke en formel notation for konformitet.
En RDF-graf bliver dog inkonsistent med SKOS-datamodellen, hvis den graf og SKOS-datamodellen (som formelt defineret nedenfor) sammen fører til en logisk selvmodsigelse.
Hvor URI’er bruges til at identificere ressourcer skos:Concept
, skos:ConceptScheme
, skos:Collection
eller skosxl:Label
, kræves der ikke hernogen specifik adfærd, når henvisningen til disse
URI’er fjernes via internettet [WEBARCH]. Det
anbefales dog stærkt, at man følger de anbefalede retningslinjer i [COOLURIS] og [RECIPES], når man
publicerer SKOS-data.
URI’en for SKOS-navneområdet er:
SKOS-vokabulariet er et sæt URI’er, der er angivet i venstre kolonne i nedenstående tabel.
URI | Definition |
---|---|
skos:Concept |
|
skos:ConceptScheme |
|
skos:inScheme |
|
skos:hasTopConcept |
|
skos:topConceptOf |
|
skos:altLabel |
|
skos:hiddenLabel |
|
skos:prefLabel |
|
skos:notation |
|
skos:changeNote |
|
skos:definition |
|
skos:editorialNote |
|
skos:example |
|
skos:historyNote |
|
skos:note |
|
skos:scopeNote |
|
skos:broader |
|
skos:broaderTransitive |
|
skos:narrower |
|
skos:narrowerTransitive |
|
skos:related |
|
skos:semanticRelation |
|
skos:Collection |
|
skos:OrderedCollection |
|
skos:member |
|
skos:memberList |
|
skos:broadMatch |
|
skos:closeMatch |
|
skos:exactMatch |
|
skos:mappingRelation |
|
skos:narrowMatch |
|
skos:relatedMatch |
Alle URI’er i SKOS-vokabulariet er konstrueret ved at tilføje et lokalt navn (f.eks. ”prefLabel”) til URI’ens SKOS-navneområde.
Se også SKOS-oversigten i tillæg B og stikordspanelet.
Klassen skos:Concept
er
klassen af begreber i SKOS.
Et SKOS-begreb kan opfattes som en idé eller en forestilling – en tankeenhed. Men det er dog subjektivt, hvad en tankeenhed består af, og denne definition er mere ment som tankevækkende end begrænsende.
Et SKOS-begreb er nyttigt, når man beskriver et vidensorganiserende systems begrebsmæssige eller intellektuelle struktur, og når der henvises til specifikke idéer eller betydninger, der er opstillet i en KOS.
Bemærk, at fordi SKOS er designet som et instrument til at repræsentere semiformelle KOS’er, f.eks. tesaurusser og klassifikationssystemer, er der indbygget en vis mængde fleksibilitet i den formelle definition af denne klasse.
Yderligere eksempler på at identificere og beskrive SKOS-begreber findes i [Introduktion til SKOS].
skos:Concept |
S1 | skos:Concept er en forekomst af
owl:Class . |
Nedenstående graf angiver, at <MyConcept>
et et SKOS-begreb (dvs. en forekomst af skos:Concept
).
Eksempel 2 (konsistent) |
---|
<MyConcept> rdf:type skos:Concept .
|
Ud over at erklære at skos:Concept
er en forekomst af owl:Class
,
så fremsætter denne vejledning ikke yderligere udsagn om den formelle
relation mellem klassen af SKOS-begreber og klassen af OWL-klasser.
Beslutningen om ikke at komme
med den slags udsagn er taget for at give programmer friheden til at udnytte
forskelligedesignmønstre, når der arbejdes med SKOS i
kombination med OWL.
I nedenstående graf er <MyConcept>
en forekomst af skos:Concept
og en forekomst af owl:Class
.
Eksempel 3 (konsistent) |
---|
<MyConcept> rdf:type skos:Concept , owl:Class .
|
Dette eksempel er konsistent med SKOS-datamodellen.
På samme måde fremsættes der heller ikke udsagn om den formelle relation mellem klassen af SKOS-begreber og klassen af OWL-egenskaber.
I nedenstående graf er
<MyConcept>
en forekomst af skos:Concept
og en forekomst af owl:ObjectProperty
.
Eksempel 4 (konsistent) |
---|
<MyConcept> rdf:type skos:Concept , owl:ObjectProperty .
|
Dette eksempel er konsistent med SKOS-datamodellen.
Et begrebssystem i SKOS kan opfattes som en samling af ét eller flere SKOS-begreber. Semantiske relationer (links) mellem disse begreber kan også opfattes som en del af et begrebssystem. Denne definition er dog tænkt som værende tankevækkende frem for begrænsende, og der er en vis fleksibilitet i den formelle datamodel, der er angivet nedenfor
Forestillingen om, at et begrebssystem er nyttigt, når man arbejder med data fra en ukendt kilde og med data, der beskriver to eller flere forskellige vidensorganiserende systemer.
Yderligere eksempler på at identificere og beskrive begrebssystemer findes i [Introduktion til SKOS].
skos:ConceptScheme |
skos:inScheme |
skos:hasTopConcept |
skos:topConceptOf |
S2 |
|
S3 |
Egenskaberne |
S4 |
Rækkevidden |
S5 |
Domænet |
S6 |
Rækkevidden |
S7 |
|
S8 |
|
S9 |
|
Nedenstående graf beskriver et begrebssystem med to SKOS-begreber, hvoraf et er topbegreb i det system.
Eksempel 5 (konsistent) |
---|
<MyScheme> rdf:type
skos:ConceptScheme ; |
Tanken om et individuelt begrebssystem i SKOS svarer groft sagt til tanken om en individuel tesaurus, et klassifikationssystem, et emneregister eller andre vidensorganiserende systemer.
I de fleste aktuelle informationssystemer bliver en tesaurus eller et klassifikationssystem dog behandlet som et lukket system – begrebsmæssige enheder, der er defineret inden for det system, kan ikke tage del i andre systemer (selv om de kan mappes til enheder i andre systemer).
Selv om SKOS har en lignende fremgangsmåde, er der ingen forhold, der forhindrer et SKOS-begreb i at deltage i nul, ét eller flere begrebssystemer.
I nedenstående graf tager SKOS-begrebet <MyConcept>
del i to forskellige begrebssystemer. Dette er konsistent
med SKOS-datamodellen.
Eksempel 6 (konsistent) |
---|
<MyScheme> rdf:type skos:ConceptScheme .
<AnotherScheme> rdf:type skos:ConceptScheme ; owl:differentFrom <MyScheme> . <MyConcept> skos:inScheme <MyScheme> , <AnotherScheme> . |
Denne fleksibilitet er ønskelig, fordi det f.eks. muliggør, at man kan beskrive nye begrebssystemer ved at kæde to eller flere eksisterende begrebssystemer sammen.
Bemærk også, at der ikke findes nogen måde at lukke begrebssystemets grænse.
Så mens det er muligt at bruge skos:inScheme
til at fastslå, at SKOS-begreberne X, Y og Z tager del i begrebssystemet A, kan
man på ingen måde sige, at kun X, Y og Z tager del i A.
Selv om SKOS kan bruges til beskrive et begrebssystem, har SKOS dog ingen mekanisme, der komplet kan definere et begrebssystem.
Denne håndbog kommer ikke med udsagn om den formelle relation mellem klassen af begrebssystemer i SKOS og klassen af OWL-ontologier. Beslutningen om ikke at bringe sådanne udsagn er taget for at tillade, at forskellige designmønstre kan udforskes til brug af SKOS i kombination med OWL [OWL-GUIDE].
I nedenstående graf er <MyScheme>
både et begrebssystem i SKOS og en OWL-ontologi. Dette er konsistent
med SKOS-datamodellen.
Eksempel 7 (konsistent) |
---|
<MyScheme> rdf:type skos:ConceptScheme , owl:Ontology .
<MyConcept> skos:inScheme <MyScheme> . |
Egenskaben skos:hasTopConcept
bruges konventionelt til at kæde et begrebssystem til det SKOS-begreb, der
sidder allerøverst i systemets hierarkiske relationer. Men der er ingen
integritetsbetingelser, der påtvinger denne konvention. Derfor er nedenstående
graf ikke desto mindre konsistent med SKOS-datamodellen på trods af, at
den ikke følger brugskonventionen skos:hasTopConcept
nøje.
Eksempel 8 (konsistent) |
---|
<MyScheme> skos:hasTopConcept <MyConcept> .
<MyConcept> skos:broader <AnotherConcept> . <AnotherConcept> skos:inScheme <MyScheme> . |
Et program kan afvise sådanne data, men det er ikke påkrævet.
En forbindelse mellem to SKOS-koncepter medfører ikke inddæmning inden for det samme begrebssystem. Dette illustreres af nedenstående eksempel.
Eksempel 9 (ikke følgerelation) |
---|
<A> skos:narrower <B> .
<A> skos:inScheme <MyScheme> . medfører ikke
<B> skos:inScheme <MyScheme> .
|
Se også afsnit 8 nedenfor.
Bemærk, at der ikke er angivet noget domæne for egenskaben skos:inScheme
, dvs., at domænet reelt er
klassen af alle ressourcer (rdfs:Resource
).
Beslutningen om ikke at angive et domæne er taget for at gøre det mere
fleksibelt og tillade ekstension af SKOS for at definere nye klasser af
ressourcer, mens man stadig bruger skos:inScheme
til at kæde dem sammen med skos:ConceptScheme
.
Se også eksemplet 82
længere fremme.
En leksikal betegnelse er en streng af UNICODE-tegn som ”romantisk kærlighed” eller "れんあい" i et givent naturligt sprog, f.eks. engelsk eller japansk (her skrevet i hiragana).
SKOS indeholder et elementært vokabularium, der kan knytte leksikale betegnelser til ressourcer af enhver type. Med SKOS er det ikke mindst muligt at sondre mellem foretrukne alternative og ”skjulte” leksikale betegnelser for en given ressource.
De foretrukne og alternative betegnelser er nyttige, når man opretter repræsentationer af et vidensorganiserende system, der kan læses af mennesker. Disse betegnelser giver det stærkeste fingerpeg om betydning af et SKOS-begreb.
De skjulte betegnelser er nyttige, når en bruger bearbejder et vidensorganiserende system via en tekstbaseret søgefunktion. Brugeren kan f.eks. indtaste fejlstavede ord i et forsøg på at finde et relevant begreb. Hvis den fejlstavede forespørgsel matcher en skjult betegnelse, vil brugeren kunne finde det relevante begreb, men den skjulte betegnelse vil ikke på anden måde være synlig for brugeren (så der ikke opfordres til yderligere fejltagelser).
Formelt er en leksikal betegnelse en almindelig RDF-literal [RDF-CONCEPTS]. En almindelig RDF-literal består af en leksikal form, der er en streng af UNICODE-tegn, og et valgfrit sprogmærke, som er en tegnstreng, der følger syntaksen defineret i [BCP47].
Yderligere eksempler på at føje betegnelser til SKOS-begreber findes i [Introduktion til SKOS]. Bemærk især, at de ovenstående eksempler kun tjener til at illustrere generelle træk i SKOS-datamodellen. De indikerer ikke nødvendigvis best practice for tildeling af betegnelser med forskellige sprogmærker. Denne vejledning sigter mod at skabe en bredt favnende datamodel, som derpå kan raffineres og/eller begrænses til mere specifikke situationer af brugerkonventioner. Program- og sprogspecifikke brugerkonventioner i forbindelsen med betegnelser og sprogmærker ligger uden for denne håndbogs område.
skos:prefLabel |
skos:altLabel |
skos:hiddenLabel |
S10 |
|
S11 |
|
S12 |
Rækkevidden |
S13 |
|
S14 |
En ressource har ikke mere end én værdi af |
Følgende graf er konsistent og illustrerer, hvordan man tildeler leksikale betegnelser på to forskellige sprog (fransk og engelsk).
Eksempel 10 (konsistent) |
---|
<MyResource>
skos:prefLabel "animals"@en ; skos:altLabel "fauna"@en ; skos:hiddenLabel "aminals"@en ; skos:prefLabel "animaux"@fr ; skos:altLabel "faune"@fr . |
Følgende graf er konsistent og illustrerer, hvordan man tildeler leksikale betegnelser med fire forskellige sprogvariationer (japansk skrevet på kanji, skriftsproget hiragana, skriftsproget katakana eller med det latinske alfabet (rōmaji)).
Eksempel 11 (konsistent) |
---|
<AnotherResource>
skos:prefLabel "東"@ja-Hani ; skos:prefLabel "ひがし"@ja-Hira ; skos:altLabel "あずま"@ja-Hira ; skos:prefLabel "ヒガシ"@ja-Kana ; skos:altLabel "アズマ"@ja-Kana ; skos:prefLabel "higashi"@ja-Latn ; skos:altLabel "azuma"@ja-Latn . |
Følgende graf er ikke konsistent med SKOS-datamodellen, fordi to forskellige foretrukne leksikale betegnelser har fået det samme sprogmærke.
Eksempel 12 (ikke konsistent) |
---|
<Love> skos:prefLabel "love"@en ; skos:prefLabel "adoration"@en
.
|
Følgende graf er ikke konsistent med SKOS-datamodellen, fordi der er konflikt mellem den foretrukne og alternative leksikale betegnelse.
Eksempel 13 (ikke konsistent) |
---|
<Love> skos:prefLabel "love"@en ; skos:altLabel "love"@en
.
|
Følgende graf er ikke konsistent med SKOS-datamodellen, fordi der er konflikt mellem den alternative og skjulte leksikale betegnelse.
Eksempel 14 (ikke konsistent) |
---|
<Love> skos:altLabel "love"@en ; skos:hiddenLabel "love"@en
.
|
Følgende graf er ikke konsistent med SKOS-datamodellen, fordi der er konflikt mellem den foretrukne og skjulte leksikale betegnelse.
Eksempel 15 (ikke konsistent) |
---|
<Love> skos:prefLabel "love"@en ; skos:hiddenLabel "love"@en
.
|
Bemærk, at der ikke er angivet domæne for skos:prefLabel
, skos:altLabel
og skos:hiddenLabel
. Derfor er det reelle
domæne af disse egenskaber klassen af alle ressourcer(rdfs:Resource
).
Derfor er det konsistent med SKOS-datamodellen at bruge egenskaberne skos:prefLabel
, skos:altLabel
og skos:hiddenLabel
til at føje betegnelser
til enhver type ressource.
I nedenstående graf er skos:prefLabel
,
skos:altLabel
og skos:hiddenLabel
blevet brugt til at
føje betegnelser til en ressource af typen owl:Class
.
Dette er konsistent med SKOS-datamodellen.
Eksempel 16 (konsistent) |
---|
<MyClass> rdf:type owl:Class ;
skos:prefLabel "animals"@en ; skos:altLabel "fauna"@en ; skos:hiddenLabel "aminals"@en ; skos:prefLabel "animaux"@fr ; skos:altLabel "faune"@fr . |
Bemærk, at rækkevidden af skos:prefLabel
,
skos:altLabel
og skos:hiddenLabel
er klassen af almindelige
RDF-literaler[RDF-CONCEPTS].
Almindelige RDF-literaler står altid på objektets plads i en tripel, hvor
prædikatet er enten skos:prefLabel
,
skos:altLabel
eller skos:hiddenLabel
. Hvis en graf ikke
følger denne konvention, kan et program afvise sådanne data, men det
er ikke påkrævet. Se også notatet nedenfor.
Visse anvendelser kræver yderligere funktionalitet med hensyn til betegnelser, f.eks. for at kunne beskrive disse betegnelser eller definere yderligere relationer mellem betegnelserne (f.eks. akronymer). Dette kan opnås gennem identifikation af betegnelser ved hjælp af URI’er. SKOS eXtension for Labels, der er defineret i tillæg A, understøtter dette.
I nedenstående graf har en ressource to alternative leksikale betegnelser, men ikke nogen foretrukken leksikal betegnelse. Dette er konsistent med SKOS-datamodellen, og det har ikke yderligere følgerelationer fra datamodellen. Bemærk dog, at mange programmer kræver en foretrukken leksikal betegnelse for at kunne danne den bedst mulige visning, der kan læses af mennesker.
Eksempel 17 (konsistent) |
---|
<Love> skos:altLabel "adoration"@en , "desire"@en .
|
[BCP47] definerer mærker for sprog. Bemærk, at ”en”, ”en-GB” og ”en-US” er tre forskellige sprogmærker til henholdsvis engelsk, britisk engelsk og amerikansk engelsk. På samme måde er ”ja”, ”ja-Hani”, ”ja-Hira”, ”ja-Kana” og ”ja-Latn” fem forskellige sprogmærker til henholdsvis japansk, japansk skrevet på skriftsproget kanji, skriftsproget hiragana og skriftsproget katakana samt med det latinske alfabet (rōmaji).
Nedenstående graf er konsistent med SKOS-datamodellen, fordi ”en”, ”en-US” og ”en-GB” er forskellige sprogmærker.
Eksempel 18 (konsistent) |
---|
<Colour> skos:prefLabel "color"@en , "color"@en-US ,
"colour"@en-GB .
|
I nedenstående graf er der heller ingen konflikt mellem de leksikale betegnelsesegenskaber, fordi ”en” og ”en-GB” er forskellige sprogmærker, og grafen er derfor konsistent med SKOS-datamodellen.
Eksempel 19 (konsistent) |
---|
<Love> skos:prefLabel "love"@en ; skos:altLabel "love"@en-GB
.
|
Bemærk dog, at disse eksempler – som anført ovenfor i afsnit 5.1 – kun tjener til at illustrere generelle funktioner i SKOS-datamodellen og ikke nødvendigvis angiver den bedste metode til tildeling af betegnelser med forskellige sprogmærker. Program- og sprogspecifikke brugerkonventioner i forbindelse med betegnelser og sprogmærker ligger uden for denne håndbogs område.
Det er foreslået, at programmer kan matche anmodninger om betegnelser på et givent sprog til betegnelser med relaterede sprogmærker fra et begrebssystem i SKOS, f.eks. ved at implementere de ”opslagsalgoritmer”, der er defineret i [BCP 47]. I programmer, der foretager sådanne match, er det ikke påkrævet med betegnelser i alle mulige sprogvariationer (som der kan være mange af), og de er kompatible med begrebssystemer i SKOS, der kun tilvejebringer de betegnelser, hvis leksikale former er distinkte for et givent sprog eller en samling af sprog.
En notation er en streng af tegn, f.eks. ”T58.5” eller ”303.4833”, der bruges entydigt til at identificereet begreb inden for rammerne af et givent begrebssystem.
En notation adskiller sig fra en leksikal betegnelse ved, at notationen normalt ikke genkendes som et ord eller en ordrækkefølge på noget naturligt sprog.
Dette afsnit definerer egenskaben skos:notation
.
Denne egenskab bruges til at tildele en notation som en typeangivet literal [RDF-CONCEPTS].
skos:notation |
S15 |
skos:notation er en forekomst af
owl:DatatypeProperty . |
Nedenstående eksempel viser en ressource <http://example.com/ns/MyConcept>
med en notation, hvis leksikale form er UNICODE-strengen ”303.4833”, og hvis datatype
er angivet med URI ’en <http://example.com/ns/MyNotationDatatype>
.
Eksempel 20 (konsistent) |
---|
<MyConcept> skos:notation
"303.4833"^^<MyNotationDatatype> .
|
En typeangivet literal er en UNICODE-streng kombineret med en datatype-URI [RDF-CONCEPTS].
Typeangivne literaler bruges almindeligvis til at angive værdier som heltal,
tal med flydende komma og datoer, og der er på forhånd defineret en række
datatyper i XML Schema [XML-SCHEMA],
f.eks. xs:integer
, xs:float
og xs:date
.
Nye datatyper kan defineres til andre situationer, og disse kaldes normalt ”brugerdefinerede datatyper” [SWBP-DATATYPES].
Konventionelt bruges egenskaben skos:notation
kun sammen med en typeangivet literal på triplens objektposition, hvor
datatype-URI’en angiver en brugerdefineret datatype, der svarer til et
specifikt system af notationer eller klassifikationskoder.
I mange situationer kan det være tilstrækkeligt blot at danne en datatype-URI til et bestemt notationssystem og definere datatypen uformelt via et dokument, der beskriver, hvordan notationerne er konstrueret og/eller, hvilke leksikale former der er tilladt. Bemærk dog, at det også er muligt at definere i det mindste en datatypes leksikale felt mere formelt via sproget XML Schema. Se afsnit 2 [SWBP-DATATYPES]. Man skal være opmærksom på, at værktøjer kan understøtte forskellige datatyper. Som omtalt i [OWL-REFERENCE] afsnit 6.3 bør værktøjer dog i det mindste behandle leksikalt identiske literaler ens.
Der er ingen begrænsninger for egenskaben skos:notation
.
Et begreb kan have nul, et eller flere notationer.
Hvor et begreb har mere end én notation, kan disse stamme fra samme eller andre systemer. I tilfælde, hvor notationer stammer fra forskellige systemer, kan der bruges forskellige datatyper til at angive dette. Det er ikke sædvane at angive mere end én notation fra samme notationssystem (dvs. med samme datatype-URI).
I praksis angiver man ikke den samme notation til to forskellige begreber i samme begrebssystem. Hvis det var tilfældet, ville det være umuligt at bruge notationen til entydigt at henvise til et bestemt begreb (dvs. at notationen bliver tvetydig).
Der er ingen begrænsninger i den kombinerede brug af skos:notation
og skos:prefLabel
. I nedenstående eksempel angives
den samme streng både som den leksikale form af en notation og som den leksikale
form af en foretrukken betegnelse.
Eksempel 21 (konsistent) |
---|
<Potassium>
skos:prefLabel "K"@en ; skos:notation "K"^^<ChemicalSymbolNotation> . |
Typeangivne literaler består af en tegnstreng og en datatype-URI. I praksis
står skos:notation
, når den
bruges sammen med typeangivne literaler, kun på triplens objektposition.
Almindelige literaler består at en tegnstreng og et sprogmærke.
Konventionelt står skos:prefLabel
(samt skos:altLabel
og skos:hiddenLabel
), når den bruges sammen
med almindelige literaler, på triplens objektposition.
Der findes ingen RDF-literaler med både et sprogmærke og en datatype, f.eks. har en typeangivet literal ikke noget sprogmærke, og en almindelig literal har ikke nogen datatype-URI.
Bemærk, at der ikke er angivet noget domæne for skos:notation
. Derfor er det reelle domæne
klassen af alle ressourcer (rdfs:Resource
).
Derfor er det konsistent med SKOS-datamodellen at bruge skos:notation
sammen med enhver type
ressource.
Notater bruges til at anføre informationer med relation til SKOS-begreber. Der er ingen begrænsninger på denne informations beskaffenhed, og det kan f.eks. være almindelig tekst, hypertekst eller et billede. Det kan også være en definition, information om omfanget af et begreb, redaktionelle oplysninger eller enhver anden type information.
I dette afsnit er der formelt defineret syv egenskaber i SKOS, der kan knytte notater til begreber. Yderligere oplysninger om den anbefalede brug af hver af disse dokumentationsegenskaber i SKOS findes i [Introduktion til SKOS].
Det er ikke tilsigtet, at de syv egenskaber skal dække enhver situation, men de skal være brugbare i nogle af de mest almindelige situationer. De skal tillige tilvejebringe et sæt ekstensionspunkter, der kan definere mere specifikke typer notater. Yderligere oplysninger om den anbefalede best practice for ekstension af SKOS, findes i [Introduktion til SKOS].
Der anbefales tre brugsmønstre i [Introduktion til SKOS]: ”dokumentation som en RDF-literal”, "dokumentation som en relateret ressourcebeskrivelse” og ”dokumentation som en dokumentreference”. Den datamodel, som er defineret i dette afsnit, er beregnet på at tilpasse sig alle tre designmønstre.
skos:note |
skos:changeNote |
skos:definition |
skos:editorialNote |
skos:example |
skos:historyNote |
skos:scopeNote |
S16 |
skos:note , skos:changeNote ,
skos:definition , skos:editorialNote ,
skos:example , skos:historyNote and
skos:scopeNote er hver forekomster af
owl:AnnotationProperty . |
S17 | skos:changeNote , skos:definition ,
skos:editorialNote , skos:example ,
skos:historyNote and skos:scopeNote er
hver underegenskaber af skos:note . |
Nedenstående graf er et eksempel på ”dokumentation som en RDF-literal”.
Eksempel 22 (konsistent) |
---|
<MyResource> skos:note "this is a note"@en .
|
Nedenstående graf er et eksempel på ”dokumentation som en dokumentreference”.
Eksempel 23 (konsistent) |
---|
<MyResource> skos:note <MyNote> .
|
Bemærk, at der ikke er defineret et domæne for dokumentationsegenskaber
i SKOS. Derfor er det reelle domæne for disse egenskaber klassen af alle
ressourcer (rdfs:Resource
).
Derfor er det konsistent med SKOS-datamodellen at bruge dokumentationsegenskaber
til at angive information om enhver type ressource.
I nedenstående eksempelgraf er skos:definition
blevet brugt til at give en definition af en ressource af owl:Class
i almindelig tekst. Dette er
konsistent med SKOS-datamodellen.
Eksempel 24 (konsistent) |
---|
<Protein> rdf:type owl:Class ;
skos:definition """A physical entity consisting of a sequence of amino-acids; a protein monomer; a single polypeptide chain. An example is the EGFR protein."""@en . |
Bemærk, at der ikke er defineret en rækkevidde for dokumentationsegenskaber
i SKOS. Derfor er rækkevidden af disse egenskaber reelt klassen af alle
ressourcer (rdfs:Resource
).
Ifølge semantikken for RDF og OWL Full er alt en ressource, herunder
almindelige RDF-literaler.
Semantiske relationer i SKOS er forbindelser mellem SKOS-begreber, hvor forbindelserne er iboende de sammenkædede begrebers betydning.
SKOS skelner mellem to grundlæggende kategorier af semantisk relation: hierarkisk og associativ. En hierarkisk forbindelse mellem to begreber indikerer, at den ene på sin vis er mere generel (”bredere”) end den anden (”snævrere”). En associativ forbindelse mellem to begreber indikerer, at de to er iboende ”beslægtede”, men at den ene ikke på nogen måde er mere generel end den anden.
Egenskaberne skos:broader
og skos:narrower
bruges til
at erklære en direkte hierarkisk forbindelse mellem to SKOS-begreber. En tripel
<A> skos:broader <B>
erklærer, at <B>
,
triplens objekt, er et bredere begreb end <A>
,
triplens subjekt. På samme måde erklærer en tripel <C> skos:narrower <D>
, at <D>
, triplens objekt, er snævrere
end <C>
, triplens
subjekt.
Konventionelt bruges skos:broader
og skos:narrower
kun
til at erklære en direkte (dvs. øjeblikkelig)
hierarkisk forbindelse mellem to SKOS-begreber. Dette giver programmer en
belejlig og pålidelig adgang til de direkte bredere og snævrere forbindelser
for ethvert givent begreb. Bemærk: For at understøtte denne brugerkonvention er
egenskaberne skos:broader
og
skos:narrower
ikke erklæret
som transitive egenskaber.
Visse programmer skal bruge både direkte og indirekte hierarkiske
forbindelser mellem begreber, f.eks. til at forbedre genfinding gennem en
udvidet søgeformulering. Til dette formål findes egenskaberne skos:broaderTransitive
og skos:narrowerTransitive
. En tripel <A>
skos:broaderTransitive
<B>
repræsenterer en direkte eller indirekte hierarkisk forbindelse, hvor <B>
er en bredere ”stamfader” til <A>
. På samme måde repræsenterer
triplen <C> skos:narrowerTransitive
<D>
en direkte eller indirekte hierarkisk forbindelse, hvor
<D>
er en snævrere
”efterkommer” af <C>
.
Konventionelt bruges egenskaberne skos:broaderTransitive
og skos:narrowerTransitive
ikke
til at komme med erklæringer. Disse egenskaber bruges i stedet til at
udlede den transitive afslutning af de hierarkiske forbindelser, der så kan
bruges til at opnå direkte eller indirekte adgang til hierarkiske forbindelser
mellem begreber.
Egenskaben skos:related
bruges til at erklære en associativ forbindelse mellem to SKOS-begreber.
Yderligere eksempler på at erklære hierarkiske og associative forbindelser findes i [Introduktion af SKOS].
skos:semanticRelation |
skos:broader |
skos:narrower |
skos:related |
skos:broaderTransitive |
skos:narrowerTransitive |
S18 |
|
S19 |
Domænet |
S20 |
Rækkevidden |
S21 |
|
S22 |
|
S23 |
|
S24 |
|
S25 |
|
S26 |
|
S27 | skos:related har ingen fælleselementer med egenskaben
skos:broaderTransitive . |
Bemærk, at fordi skos:related
er en symmetrisk egenskab, og skos:broaderTransitive
samt skos:narrowerTransitive
er inverser, har skos:related
derfor heller ingen fælleselementer med skos:narrowerTransitive
.
Nedenstående graf erklærer en direkte hierarkisk forbindelse mellem <A>
og <B>
(hvor <B>
er bredere end <A>
) og associativt forbundet med <A>
og <C>
, samt konsistent
med SKOS-datamodellen.
Eksempel 25 (konsistent) |
---|
<A> skos:broader <B> ; skos:related <C> .
|
Nedenstående graf er ikke konsistent med SKOS-datamodellen, for der er uoverensstemmelse mellem associative og hierarkiske forbindelser.
Eksempel 26 (ikke konsistent) |
---|
<A> skos:broader <B> ; skos:related <B> .
|
Nedenstående graf er ikke konsistent med SKOS-datamodellen, igen fordi der er uoverensstemmelse mellem associative og hierarkiske forbindelser.
Eksempel 27 (ikke konsistent) |
---|
<A> skos:broader <B> ; skos:related <C> .
<B> skos:broader <C> . |
I eksemplet ovenfor er uoverensstemmelsen ikke umiddelbart tydelig. Uoverensstemmelsen bliver åbenlys, når der drages følgeslutninger baseret på ovenstående definition af klasser og egenskaberer, hvilket giver følgende graf.
Eksempel 28 (ikke konsistent) |
---|
<A> skos:broaderTransitive <C> ; skos:related <C>
.
|
Nedenstående graf er ikke konsistent med SKOS-datamodellen, igen fordi der er uoverensstemmelse mellem associative og hierarkiske forbindelser baseret på ovenstående definition af klasser og egenskaberer.
Eksempel 29 (ikke konsistent) |
---|
<A> skos:narrower <B> ; skos:related <C> .
<B> skos:narrower <C> . |
Nedenstående diagram illustrerer uformelt underegenskabsrelationerne mellem SKOS’ semantiske egenskabsrelationer.
skos:semanticRelation | +— skos:related | +— skos:broaderTransitive | | | +— skos:broader | +— skos:narrowerTransitive | +— skos:narrower
Bemærk, at domæne og rækkevidde af skos:semanticRelation
er klassen skos:Concept
.
Fordi skos:broader
, skos:narrower
og skos:related
hver er underegenskaber af skos:semanticRelation
, medfører grafen i
eksempel 26
ovenover, at <A>
, <B>
og <C>
hver er forekomster af skos:Concept
.
skos:related
er en
symmetrisk egenskab. Nedenstående eksempler illustrerer følgerelationen af
denne betingelse.
Example 30 (følgerelation) |
---|
<A> skos:related <B> .
medfører
<B> skos:related <A> .
|
Bemærk, at skønt skos:related
er en symmetrisk egenskab, begrænser denne betingelse ikke underegenskaber
af skos:related
(dvs.
underegenskaber af skos:related
kan være symmetriske, ikke-symmetriske eller antisymmetriske og stadig være
konsistente med SKOS-datamodellen).
Nedenstående eksempel illustrerer dette: To nye egenskaber, som ikke
er symmetriske, bliver erklæret underegenskaber af skos:related
. Eksemplet, som er konsistent
med SKOS-datamodellen, viser også nogle af de følgerelationer, det medfører.
Eksempel 31 (følgerelation) |
---|
<cause> rdf:type owl:ObjectProperty ;
rdfs:subPropertyOf skos:related . <effect> rdf:type owl:ObjectProperty ; rdfs:subPropertyOf skos:related ; owl:inverseOf <cause> . <A> <cause> <B> . medfører
<A> skos:related <B> .
<B> <effect> <A> ; skos:related <A> . |
Yderligere oplysninger om anbefalinger for ekstension af SKOS findes i [Introduktion til SKOS].
Bemærk, at skos:related
ikke
er en transitiv egenskab. Derfor understøtter SKOS-datamodellen ikke en
konklusion som illustreret i nedenstående eksempel.
Eksempel 32 (ikke-følgerelation) |
---|
<A> skos:related <B> .
<B> skos:related <C> . medfører ikke
<A> skos:related <C> .
|
Bemærk, at denne vejledning ikke angiver, at skos:related
er en refleksiv egenskab. Den angiver heller
ikke, at skos:related
er en irrefleksiv egenskab.
Da skos:related
ikke
er defineret som en irrefleksiv egenskab, er nedenstående graf konsistent
med SKOS-datamodellen.
Eksempel 33 (konsistent) |
---|
<A> skos:related <A> .
|
For mange programmer, der benytter sig af vidensorganiserende systemer, udgør
udsagn som X skos:related
X
et potentielt problem. Hvor dette er tilfældet, vil et program måske søge efter
sådanne udsagn, før det begynder at behandle SKOS-dataene. Denne håndbog beskriver
dog ikke, hvordan sådanne programmer skal behandle den slags udsagn, og det kan
variere fra program til program.
Bemærk, at skos:broader
ikke
er en transitiv egenskab. På samme måde er skos:narrower
heller ikke en
transitiv egenskab. Derfor understøtter SKOS-datamodellen ikke en
følgerelation som illustreret i eksemplet nedenunder.
Eksempel 34 (ikke-følgerelation) |
---|
<A> skos:broader <B> .
<B> skos:broader <C> . medfører ikke
<A> skos:broader <C> .
|
skos:broader
er dog
underegenskab af skos:broaderTransitive
,
som er en transitiv egenskab. På samme måde er skos:narrower
underegenskab af skos:narrowerTransitive
, som er en
transitiv egenskab. Derfor understøtter SKOS-datamodellen de følgerelationer,
der er illustreret nedenfor.
Example 35 (følgerelation) |
---|
<A> skos:broader <B> .
<B> skos:broader <C> . medfører
<A> skos:broaderTransitive <B> .
<B> skos:broaderTransitive <C> . <A> skos:broaderTransitive <C> . |
Bemærk især, at skos:broader
og skos:narrower
i praksis kun
bruges til at erklære umiddelbare (dvs. direkte) hierarkiske
forbindelser mellem to SKOS-begreber. Konventionelt bruges skos:broaderTransitive
og skos:narrowerTransitive
ikke til
at erklære, men i stedet kun til at drage følgeslutninger.
Dette mønster tillader, at man bevarer oplysninger om direkte (dvs. umiddelbare ) hierarkiske forbindelser, hvilket er nødvendigt for mange opgaver (f.eks. bygge forskellige typer visuel repræsentation af et vidensorganiserende system), mens det også udgør en mekanisme til at søge konventionelt på den transitive afslutning af disse hierarkiske forbindelser (som vil omfatte både direkte og indirekte forbindelser), hvilket er nyttigt i andre situationer (f.eks. algoritmer til udvidet søgeformulering).
Bemærk også, at en underegenskab af transitiv egenskab ikke nødvendigvis er transitiv.
Se også notat om alternative ruter herunder.
Bemærk, at denne vejledning ikke kommer med udsagn om de refleksive
karaktertræk af relationen skos:broader
.
Den angiver ikke, at skos:broader
er en refleksiv egenskab, ligesom den heller ikke angiver, at skos:broader
er en irrefleksiv egenskab.
Derfor kan triplen:
Eksempel 36 (konsistent) |
---|
<A> skos:broader <A> .
|
være til stede eller ikke til stede for enhver graf og ressource <A>
. Denne konservative position
tillader, at SKOS bruges til at modellere både KOS, hvor fortolkningen af skos:broader
er refleksiv (f.eks. en
direkte oversættelse af et erklæret OWL-underklassehierarki), eller KOS, hvor skos:broader
kan opfattes som irrefleksiv
(som man ville forvente i de fleste tesaurusser eller klassifikationssystemer).
På samme måde fremsættes der ingen erklæringer om refleksiviteten eller irrefleksiviteten
af skos:narrower
.
For mange programmer, der benytter sig af vidensorganiserende systemer, udgør
udsagn af typen X skos:broader
X eller Y skos:narrower
Y et
potentielt problem. Hvor dette er tilfældet, vil et program måske søge efter
sådanne udsagn, før det begynder at behandle SKOS-dataene. Denne håndbog
beskriver dog ikke, hvordan sådanne programmer skal behandle den slags udsagn,
og det kan variere fra program til program.
I nedenstående graf er der angiver en cyklus i den hierarkiske relation.
Bemærk, at denne graf er konsistent med SKOS-datamodellen,
dvs. der er ingen betingelse, der kræver, at skos:broaderTransitive
er irrefleksiv.
Eksempel 37 (konsistent) |
---|
<A> skos:broader <B> .
<B> skos:broader <A> . |
For mange programmer, der benytter sig af vidensorganiserende systemer, udgør
en cyklus i den hierarkiske relation et potentielt problem. Når disse
programmer leder efter cyklusser i den hierarkiske relation, er det en bekvem
strategi at beregne den transitive afslutning af skos:broaderTransitive
og derpå lede efter udsagn af
typen X skos:broaderTransitive
X. Hvordan et program skal behandle sådanne udsagn er ikke defineret i denne håndbog
og kan variere fra program til program.
I nedenstående graf er der to alternative ruter fra A til C i den hierarkiske relation.
Eksempel 38 (konsistent) |
---|
<A> skos:broader <B> , <C> .
<B> skos:broader <C> . |
I nedenstående graf er der to alternative ruter fra A til D i den hierarkiske relation.
Eksempel 39 (konsistent) |
---|
<A> skos:broader <B> , <C> .
<B> skos:broader <D> . <C> skos:broader <D> . |
Dette er et mønster, der opstår naturligt i poly-hierarkiske vidensorganiserende systemer.
Begge grafer er konsistente med SKOS-datamodellen, dvs. der er ingen betingelse, der kræver, at der kun kan være én rute mellem to givne knuder i den hierarkiske relation.
Denne håndbog behandler hierarkiske og associative relationer, som var de fundamentalt forskellige af natur. Derfor er en konflikt mellem hierarkiske associative forbindelser ikke konsistent med SKOS-datamodellen. Ovenstående eksempel illustrerer visse situationer, hvor man kan se en konflikt opstå.
Denne holdning følger de sædvanlige definitioner for hierarkiske og associative relationer i tesaurusstandarderne [ISO2788] [BS8723-2] og understøtter skik og brug i mange eksisterende vidensorganiserende systemer.
Bemærk, at denne håndbog udtrykker den stærkere holdning, at ikke blot er de
umiddelbare (dvs. direkte) hierarkiske og associative forbindelser disjunkte,
men associative forbindelser er også disjunkte med indirekte
hierarkiske forbindelser. Dette er formelt registreret i
integritetsbetingelsen, der erklærer, at skos:related
og skos:broaderTransitive
er
disjunkte egenskaber.
Begrebssamlinger i SKOS er ordnede grupper af SKOS-begreber og/eller grupper af SKOS-begreber med betegnelse.
Samlinger er nyttige, når en gruppe af begreber har noget tilfælles, hvor det er belejligt at samle dem under en fælles betegnelse, eller hvor visse begreber kan placeres i en meningsfuld rækkefølge.
skos:Collection |
skos:OrderedCollection |
skos:member |
skos:memberList |
S28 |
|
S29 |
|
S30 |
|
S31 |
Domænet |
S32 |
Rækkevidden |
S33 |
Domænet |
S34 |
Rækkevidden |
S35 |
|
S36 |
For enhver ressource gælder, at hvert emne på listen, der
er givet som værdien af egenskaben |
S37 | skos:Collection har ingen fælleselementer med
skos:Concept og skos:ConceptScheme . |
Nedenstående graf illustrerer en SKOS-samling med tre medlemmer.
Eksempel 40 (konsistent) |
---|
<MyCollection> rdf:type skos:Collection ;
skos:member <X> , <Y> , <Z> . |
Nedenstående graf illustrerer en ordnet SKOS-samling med tre medlemmer.
Bemærk brugen af Turtle-syntaksen(...)
,
der repræsenterer en RDF-samling (liste).
Eksempel 41 (konsistent) |
---|
<MyOrderedCollection> rdf:type skos:OrderedCollection ;
skos:memberList ( <X> <Y> <Z> ) . |
Udsagn S36 angiver
den logiske relation mellem egenskaberne skos:memberList
og skos:member
. Denne
relation betyder, at en samling kan udledes fra en ordnet samling. Dette
illustreres af nedenstående eksempel.
Eksempel 42 (følgerelation) |
---|
<MyOrderedCollection> rdf:type skos:OrderedCollection ;
skos:memberList ( <X> <Y> <Z> ) . medfører
<MyOrderedCollection> rdf:type skos:Collection ;
skos:member <X> , <Y> , <Z> . |
Bemærk, at SKOS ikke har nogen metode til eksplicit at angive, at en samling ikke erordnet.
Bemærk, at skos:memberList
er en funktionel egenskab, dvs. at den har ikke mere end én værdi. Det er
hensigten, at SKOS-datamodellen skal registrere, at det ikke giver nogen
mening, at en ordnet samling har mere end én medlemsliste. Desværre er der
ingen måde, hvorpå man kan bruge denne betingelse som en integritetsbetingelse
uden eksplicit at angive, at to lister er forskellige objekter. Selv om
nedenstående graf er konsistent med SKOS-datamodellen, så bliver det
noget vrøvl (en liste med to førsteelementer og en tvedelt hale).
Eksempel 43 (følgerelation) |
---|
<OrderedCollectionResource>
skos:memberList ( <A> <B> ) , ( <X> <Y> ) . medfører
<OrderedCollectionResource>
skos:memberList [ rdf:first <A> , <X> ; rdf:rest [ rdf:first <B> ; rdf:rest rdf:nil ] , [ rdf:first <Y> ; rdf:rest rdf:nil ] ] . |
Men som angivet i afsnit 3.3.3 i [RDF-SEMANTICS]
kan semantiske ekstensioner af RDF placere ekstra korrekte, syntaktisk
formulerede restriktioner om brugen af RDF-vokabulariet (rdf:first
, rdf:rest
, rdf:nil
)
for at udelukke den slags grafer.
I nedenstående eksempel er en samling indlejret i en anden.
Eksempel 44 (konsistent) |
---|
<MyCollection> rdf:type skos:Collection ;
skos:member <A> , <B> , <MyNestedCollection> . <MyNestedCollection> rdf:type skos:Collection ; skos:member <X> , <Y> , <Z> . |
Dette eksempel er konsistent med SKOS-datamodellen, fordi rækkevidden af skos:member
er unionen af skos:Concept
og skos:Collection
.
I SKOS-datamodellen har klasserne skos:Concept
og skos:Collection
ingen
fælleselementer. Domænet og rækkevidden af SKOS’ semantiske relationsegenskaber
er skos:Concept
. Hvis nogle
af de semantiske relationsegenskaber (f.eks. skos:narrower
)
bruges til at forbinde til og fra en samling, vil grafen derfor ikke være
konsistent med SKOS-datamodellen.
Dette illustreres i nedenstående eksempel, som ikke er konsistent med SKOS-datamodellen.
Eksempel 45 (ikke konsistent) |
---|
<A> skos:narrower <B> .
<B> rdf:type skos:Collection . |
På samme måde er nedenstående graf ikke konsistent med SKOS-datamodellen.
Eksempel 46 (ikke konsistent) |
---|
<A> skos:broader <B> .
<B> rdf:type skos:Collection . |
På samme måde er nedenstående graf ikke konsistent med SKOS-datamodellen.
Eksempel 47 (ikke konsistent) |
---|
<A> skos:related <B> .
<B> rdf:type skos:Collection . |
Men nedenstående graf er dog konsistent med SKOS-datamodellen.
Eksempel 48 (konsistent) |
---|
<A> skos:narrower <B> , <C> , <D> .
<ResourceCollection> rdfs:label "Resource Collection"@en ; skos:member <B> , <C> , <D> . |
Dette betyder, at en passende SKOS-repræsentation for tesaurusser og andre vidensorganiserende systemer, hvor knudebetegnelser bruges inden for tesaurussens systematiske visning, kræver omhyggelig overvejelse. Hvor knudebetegnelser bruges i den systematiske visning, er det desuden ikke altid muligt helt at rekonstruere den systematiske visning alene fra en SKOS-repræsentation. Hvordan man fuldt repræsenterer alle informationerne i en systematisk visning af en tesaurus eller andre vidensorganiserende systemer, ligger uden for SKOS’ rammer.
Egenskaberne til mapping i SKOS er skos:closeMatch
,
skos:exactMatch
, skos:broadMatch
, skos:narrowMatch
og skos:relatedMatch
. Disse egenskaber
bruges til at mappe (opstille) forbindelser mellem SKOS-begreber i forskellige
begrebssystemer, hvor forbindelserne er iboende i betydningen sammenkædede
begreber.
Egenskaberme skos:broadMatch
og skos:narrowMatch
bruges
til at angive hierarkisk mapping mellem to begreber.
Egenskaben skos:relatedMatch
bruges til at angive associativ mapping mellem to begreber.
Egenskaben skos:closeMatch
bruges til at sammenkæde to begreber, der er så ens, at de kan bruges vekslende
i visse informationssøgningsprogrammer.
For at undgå muligheden for ”sammensatte fejl”, når man mapper på tværs af mere
end to begrebssystemer, bliver skos:closeMatch
ikke erklæret som en transitiv egenskab.
Egenskaben skos:exactMatch
bruges til at sammenkæde begreber, der indikerer en så høj grad af tillid, at
begreberne kan bruges vekslende over en bred vifte af informationssøgningsprogrammer.
skos:exactMatch
er en
transitiv egenskab og underegenskab af skos:closeMatch
.
skos:mappingRelation |
skos:closeMatch |
skos:exactMatch |
skos:broadMatch |
skos:narrowMatch |
skos:relatedMatch |
S38 |
|
S39 |
|
S40 |
|
S41 |
|
S42 |
|
S43 |
|
S44 |
|
S45 |
|
S46 | skos:exactMatch har ingen elementer tilfælles med
egenskaberne skos:broadMatch og
skos:relatedMatch . |
Bemærk, at fordi skos:exactMatch
er
en symmetrisk egenskab og skos:broadMatch
og skos:narrowMatch
er inverser,
har skos:exactMatch
derfor
heller ingen elementer til fælles med skos:narrowMatch
.
Nedenstående graf erklærer en eksakt ækvivalensforbindelse mellem <A>
og <B>
.
Eksempel 49 (konsistent) |
---|
<A> skos:exactMatch <B> .
|
Nedenstående graf erklærer en tæt ækvivalensforbindelse mellem <A>
og <B>
.
Eksempel 50 (konsistent) |
---|
<A> skos:closeMatch <B> .
|
Nedenstående graf erklærer en hierarkisk forbindelse mellem <A>
og <B>
(hvor <B>
er bredere end <A>
) og er en associativ
forbindelse mellem <A>
og <C>
.
Eksempel 51 (konsistent) |
---|
<A> skos:broadMatch <B> ; skos:relatedMatch <C>
.
|
Nedenstående graf er ikke konsistent med SKOS-datamodellen, fordi der er konflikt mellem eksakte og hierarkiske forbindelser.
Eksempel 52 (ikke konsistent) |
---|
<A> skos:exactMatch <B> ; skos:broadMatch <B> .
|
Nedenstående graf er ikke konsistent med SKOS-datamodellen, fordi der er konflikt mellem eksakte og associative forbindelser.
Eksempel 53 (ikke konsistent) |
---|
<A> skos:exactMatch <B> ; skos:relatedMatch <B>
.
|
Konventionelt bruges mappingegenskaberne i SKOS kun til at sammenkæde
begreber i forskellige begrebssystemer. Man skal dog bemærke,
at brug af semantiske relationsegenskaber (skos:broader
,
skos:narrower
, skos:related
) til at sammenkæde begreber
i forskellige begrebssystemer også er konsistent med
SKOS datamodellen (se afsnit 8).
Mappingegenskaberne skos:broadMatch
,
skos:narrowMatch
og skos:relatedMatch
er tiltænkt situationer,
hvor dataproveniensen er kendt, og det er nyttigt hurtigt at kunne se
forskellen mellem interne forbindelser i et begrebssystem og skabe forbindelser
mellem begrebssystemer.
At bruge mappingegenskaberne i SKOS er dog ikke en erstatning for en omhyggelig styring af RDF-grafer eller brug af proveniensmekanismer.
Rationalet bag dette design er, at det er svært at skelne absolut mellem interne forbindelser inden for et begrebssystem og mappingforbindelser mellem begrebssystemer. Det gælder især i et åbent miljø, hvor forskellige personer reorganiserer begreberne i begrebssystemer på forskellige måder. Det, som én person ser som to begrebssystemer med forbindelser mellem dem, vil en anden måske opfatte som et enkelt begrebssystem blot med interne forbindelser. Denne vejledning tillader, at begge synspunkter kan eksistere på samme tid, hvilket (håbes der) vil fremme fleksibiliteten og innovationen, når det kommer til genbrug af SKOS-data på internettet.
Der er derfor en nær forbindelse mellem de semantiske relationsegenskaber og
mappingegenskaberne. Egenskaben skos:broadMatch
er underegenskab af skos:broader
,
skos:narrowMatch
er
underegenskab af skos:narrower
,
og skos:relatedMatch
er
underegenskab af skos:related
.
De komplette relationer mellem underegenskaberne er illustreret nedenfor.
skos:semanticRelation | +- skos:related | | | +- skos:relatedMatch | +- skos:broaderTransitive | | | +- skos:broader | | | +- skos:broadMatch | +- skos:narrowerTransitive | | | +- skos:narrower | | | +- skos:narrowMatch | +- skos:mappingRelation | +- skos:closeMatch | | | +- skos:exactMatch | +- skos:relatedMatch | +- skos:broadMatch | +- skos:narrowMatch
Nedenstående eksempler illustrerer visse følgerelationer af diagrammet over
underegenskaberne og af domænet og rækkevidden af skos:semanticRelation
.
Eksempel 54 (følgerelation) |
---|
<A> skos:broadMatch <B> .
medfører
<A> skos:mappingRelation <B> .
<A> skos:broader <B> . <A> skos:broaderTransitive <B> . <A> skos:semanticRelation <B> . <A> rdf:type skos:Concept . <B> rdf:type skos:Concept . |
Eksempel 55 (følgerelation) |
---|
<A> skos:narrowMatch <B> .
medfører
<A> skos:mappingRelation <B> .
<A> skos:narrower <B> . <A> skos:narrowerTransitive <B> . <A> skos:semanticRelation <B> . <A> rdf:type skos:Concept . <B> rdf:type skos:Concept . |
Eksempel 56 (følgerelation) |
---|
<A> skos:relatedMatch <B> .
medfører
<A> skos:mappingRelation <B> .
<A> skos:related <B> . <A> skos:semanticRelation <B> . <A> rdf:type skos:Concept . <B> rdf:type skos:Concept . |
Eksempel 57 (følgerelation) |
---|
<A> skos:exactMatch <B> .
medfører
<A> skos:closeMatch <B> .
<A> skos:mappingRelation <B> . <A> skos:semanticRelation <B> . <A> rdf:type skos:Concept . <B> rdf:type skos:Concept . |
Bemærk også, at fordi forskellige personer måske omorganiserer begreberne i begrebssystemer på andre måder, kan en graf erklære mappingforbindelser mellem begreber i det samme begrebssystem, og der er ingen formelle integritetsbetingelser i SKOS-datamodellen, der ville gøre sådan en graf inkonsistent. F.eks. er nedenstående graf konsistent med SKOS-datamodellen. I praksis forventes det dog, at sådan en graf kan opstå, hvis man sammenfletter to eller flere grafer fra forskellige kilder.
Eksempel 58 (konsistent) |
---|
<A> skos:broadMatch <B> ; skos:relatedMatch <C>
.
<A> skos:inScheme <MyScheme> . <B> skos:inScheme <MyScheme> . <C> skos:inScheme <MyScheme> . |
Nedenstående eksempler illustrerer ”konflikter” mellem hierarkiske associative forbindelser, som ikke er konsistente med SKOS-datamodellen (pga. den underegenskabsrelation, der er illustreret ovenfor, og på grund af den datamodel for semantiske relationsegenskaber, der er defineret i afsnit 8).
Eksempel 59 (ikke konsistent) |
---|
<A> skos:broadMatch <B> ; skos:relatedMatch <B>
.
|
Eksempel 60 (ikke konsistent) |
---|
<A> skos:narrowMatch <B> ; skos:relatedMatch <B>
.
|
Eksempel 61 (ikke konsistent) |
---|
<A> skos:broadMatch <B> .
<B> skos:broadMatch <C> . <A> skos:relatedMatch <C> . |
Den eneste mappingegenskab i SKOS, der er angivet som transitiv, er skos:exactMatch
. Dette er illustreret af
eksemplet nedenfor:
Eksempel 62 (følgerelation) |
---|
<A> skos:exactMatch <B> .
<B> skos:exactMatch <C> . medfører
<A> skos:exactMatch <C> .
|
Alle andre mappingegenskaber i SKOS er ikke transitive. Derfor understøttes følgerelationer, som illustreret i eksemplerne nedenfor, ikke af SKOS-datamodellen.
Eksempel 63 (ikke-følgerelation) |
---|
<A> skos:broadMatch <B> .
<B> skos:broadMatch <C> . medfører ikke
<A> skos:broadMatch <C> .
|
Eksempel 64 (ikke-følgerelation) |
---|
<A> skos:relatedMatch <B> .
<B> skos:relatedMatch <C> . medfører ikke
<A> skos:relatedMatch <C> .
|
Eksempel 65 (ikke-følgerelation) |
---|
<A> skos:closeMatch <B> .
<B> skos:closeMatch <C> . medfører ikke
<A> skos:closeMatch <C> .
|
Ingen af mappingegenskaberne i SKOS er refleksive, og de er heller ikke irrefleksive.
Nedenstående graf er konsistent med SKOS-datamodellen, fordi skos:exactMatch
, skos:broadMatch
og skos:relatedMatch
ikke er irrefleksive.
Eksempel 66 (konsistent) |
---|
<A> skos:exactMatch <A> .
<B> skos:broadMatch <B> . <C> skos:relatedMatch <C> . |
Yderligere oplysninger om refleksiviteten af semantiske relationsegenskaber i SKOS, findes i afsnit 8.
Der er ingen formelle integritetsbetingelser, der forhindrer hverken cyklusser eller alternative ruter i en graf med hierarkiske forbindelser.
I nedenstående graf er der to cyklusser, der involverer skos:broadMatch
. Grafen er konsistent
med SKOS-datamodellen.
Eksempel 67 (konsistent) |
---|
<A> skos:broadMatch <B> .
<B> skos:broadMatch <A> . <X> skos:broadMatch <Y> . <Y> skos:broadMatch <Z> . <Z> skos:broadMatch <X> . |
I nedenstående graf er der to alternative ruter, der involverer skos:broadMatch
. Grafen er konsistent
med SKOS-datamodellen.
Eksempel 68 (konsistent) |
---|
<A> skos:broadMatch <B> .
<B> skos:broadMatch <C> . <A> skos:broadMatch <C> . |
Yderligere oplysninger om cyklusser og alternative ruter, der involverer skos:broader
, findes i afsnit 8.
Example 69 (entailment) |
---|
<A> skos:exactMatch <B>
medfører
<A> skos:exactMatch <A> .
<A> skos:closeMatch <A> . |
På grund af overstående følgerelation (der opstår ved en kombination af S42, S44 og S45), skal programmer
kunne håndtere cyklusser i skos:exactMatch
og skos:closeMatch
.
Der er ikke noget kædeaksiom i SKOS-datamodellen, der involverer
egenskaberne skos:exactMatch
eller skos:closeMatch
.
Derfor er de nedenfor viste følgerelationer ikke understøttet.
Eksempel 70 (ikke-følgerelation) |
---|
<A> skos:exactMatch <B> .
<B> skos:broadMatch <C> . medfører ikke
<A> skos:broadMatch <C> .
|
Eksempel 71 (ikke-følgerelation) |
---|
<A> skos:exactMatch <B> .
<B> skos:relatedMatch <C> . medfører ikke
<A> skos:relatedMatch <C> .
|
Eksempel 72 (ikke-følgerelation) |
---|
<A> skos:closeMatch <B> .
<B> skos:broadMatch <C> . medfører ikke
<A> skos:broadMatch <C> .
|
Eksempel 73 (ikke-følgerelation) |
---|
<A> skos:closeMatch <B> .
<B> skos:relatedMatch <C> . does not entail
<A> skos:relatedMatch <C> .
|
OWL indeholder tre egenskaber, som måske ved første øjekast lader til at
ligne skos:closeMatch
eller skos:exactMatch
. Egenskaben owl:sameAs
bruges til at kæde to
individer sammen i en ontologi og indikerer, at de er samme individ (dvs. den
samme ressource). owl:equivalentClass
bruges til at sammenkæde to klasser i en ontologi, og indikerer, at disse
klasser har samme klasseekstension. owl:equivalentProperty
bruges til at sammenkæde to egenskaber i en ontologi og indikerer, at begge
egenskaber har samme egenskabsekstension.
skos:closeMatch
og skos:exactMatch
bruges til at sammenkæde
SKOS-begreber i forskellige systemer. Et skos:closeMatch
indikerer, at to begreber er tilstrækkelig ens, så de kan bruges på skift i visse
informationssøgningsprogrammer.
Et skos:exactMatch
indikerer
en høj grad af tiltro til, at de to begreber kan bruges på skift i en lang
række informationssøgningsprogrammer.
owl:sameAs
, owl:equivalentClass
eller owl:equivalentProperty
vil typisk ikke
være egnede til at sammenkæde SKOS-begreber i forskellige begrebssystemer,
fordi de formelle følgerelationer måske ikke er ønskelige.
Nedenstående eksempel illustrerer visse uønskede følgerelationer, der kunne
opstå ved at bruge owl:sameAs
på denne måde.
Eksempel 74 (følgerelation) |
---|
<A> rdf:type skos:Concept ;
skos:prefLabel "love"@en ; skos:inScheme <MyScheme> . <B> rdf:type skos:Concept ; skos:prefLabel "adoration"@en ; skos:inScheme <AnotherScheme> . <A> owl:sameAs <B> . medfører
<A>
skos:prefLabel "love"@en ; skos:prefLabel "adoration"@en ; skos:inScheme <MyScheme> ; skos:inScheme <AnotherScheme> . <B> skos:prefLabel "love"@en ; skos:prefLabel "adoration"@en ; skos:inScheme <MyScheme> ; skos:inScheme <AnotherScheme> . |
At bruge owl:sameAs
til
at sammenkæde to SKOS-begreber i forskellige begrebssystemer fører i dette
eksempel faktisk til inkonsistens med SKOS-datamodellen, fordi både <A>
og <B>
nu har to foretrukne leksikale
betegnelser på samme sprog. Dette vil dog ikke altid være tilfældet.
Dette dokument er resultatet af omfattende diskussioner i W3C Semantic Web Deployment Working Group. Dokumentet trak på erfaring fra tidligere grupper og projekter, herunder SWAD-Europe og W3C Semantic Web Best Practices and Deployment Working Group. Medlemmerne af W3C's mailingliste, public-esw-thes, er også kommet med værdifulde bidrag.
skos:Collection | |
---|---|
URI: |
|
Definition: |
|
Betegnelse: |
samling |
Disjunkte klasser |
|
URI: |
|
Definition: |
|
Betegnelse: |
begreb |
Disjunkte klasser |
|
URI: |
|
Definition: |
|
Betegnelse: |
begrebssystemer |
Disjunkte klasser |
|
URI: |
|
Definition: |
|
Betegnelse: |
ordnet samling |
Overklasser: |
skos:Collection |
URI: |
|
Definition: |
|
Betegnelse: |
alternativ betegnelse |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har bredere match |
Overegenskaber: |
|
Modsat af: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har bredere |
Overegenskaber: |
|
Modsat af: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har bredere transitivt |
Overegenskaber: |
|
Modsat af: |
|
Andre kendetegn: |
Transitiv |
URI: |
|
Definition: |
|
Betegnelse: |
ændringsnotat |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har tæt match |
Overegenskaber: |
|
Andre kendetegn: |
Symmetrisk |
URI: |
|
Definition: |
|
Betegnelse: |
definition |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
redaktionelt notat |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har præcis match |
Overegenskaber: |
|
Andre kendetegn: |
Transitiv |
URI: |
|
Definition: |
|
Betegnelse: |
eksempel |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
betegnelse |
Domæne: |
|
Rækkevidde: |
|
Modsat af: |
|
|
|
URI: |
|
Definition: |
|
Betegnelse: |
skjult betegnelse |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
Historisk notat |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
i begrebssystem |
Rækkevidde: |
|
URI: |
|
Definition: |
|
Betegnelse: |
er i mappingrelation med |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har medlem |
Domæne: |
|
Rækkevidde: |
union af |
URI: |
|
Definition: |
|
Betegnelse: |
har medlemsliste |
Domæne: |
|
Rækkevidde: |
|
Andre kendetegn: |
Funktionel |
URI: |
|
Definition: |
|
Betegnelse: |
har snævrere match |
Overegenskaber: |
|
Modsat af: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har snævrere |
Overegenskaber: |
|
Modsat af: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har snævrere transitivt |
Overegenskaber: |
|
Modsat af: |
|
Andre kendetegn: |
Transitiv |
URI: |
|
Definition: |
|
Betegnelse: |
notationer |
URI: |
|
Definition: |
|
Betegnelse: |
notat |
URI: |
|
Definition: |
|
Betegnelse: |
foretrukken betegnelse |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
har relateret |
Overegenskaber: |
|
Andre kendetegn: |
Symmetrisk |
URI: |
|
Definition: |
|
Betegnelse: |
har relateret match |
Overegenskaber: |
|
Andre kendetegn: |
Symmetrisk |
URI: |
|
Definition: |
|
Betegnelse: |
omfangsnotat |
Overegenskaber: |
|
URI: |
|
Definition: |
|
Betegnelse: |
er i semantisk relation med |
Domæne: |
|
Rækkevidde: |
|
URI: |
|
Definition: |
|
Betegnelse: |
er topbegreb i system |
Overegenskaber: |
|
Modsat af: |
Dette tillæg definerer en valgfri ekstension af SKOS, betegnet SKOS-ekstension til betegnelser (SKOS-XL). Denne ekstension indeholder funktioner, der yderligere understøtter identifikation, beskrivelse og sammenkædning af leksikale enheder.
Der defineres en særlig klasse enheder, betegnet skosxl:Label
. Hver forekomst af denne
klasse har form som en enkelt almindelige RDF-literal, men to forekomster af
denne klasse er ikke nødvendigvis det samme individ, selv om den deler samme literale
form.
Der beskrives tre egenskaber til at angive betegnelser: skosxl:prefLabel
, skosxl:altLabel
og skosxl:hiddenLabel
. Disse egenskaber
bruges til at føje betegnelser til SKOS-begreber med forekomster af skosxl:Label
og er ellers analoge med
egenskaberne med det samme lokale navn, der er defineret i SKOS (henholdsvist skos:prefLabel
, skos:altLabel
og skos:hiddenLabel
).
SKOS-datamodellen definerer også egenskaben skosxl:labelRelation
. Denne egenskab kan bruges til at
erklære en direkte (binær) forbindelse mellem forekomster af skosxl:Label
. Den var oprindeligt tænkt
som et ekstensionspunkt, der skulle forfines til mere specifikke typer af
forbindelser. Der er ingen indbyggede raffinementer af skosxl:labelRelation
, selv om der gives
eksempler på, hvordan det kan gøres.
URI’en for SKOS-XL-navneområdet er:
Her bruges præfikset skosxl:
som en forkortelse af URI’en for SKOS-XL-navneområdet.
SKOS-XL-vokabulariet er det sæt af URI’er, der er angivet i venstre kolonne i nedenstående tabel.
URI | Defineret af (afsnit i dette tillæg) |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Her henviser ”SKOS-XL-vokabulariet” til unionen af SKOS-vokabulariet og SKOS-XL-vokabulariet.
Her henviser ”XL-datamodellen” kun til de definitioner af klasser og egenskaber, der er nævnt i dette tillæg. ”SKOS+XL-datamodellen” henviser til unionen af datamodeller, der er defineret i afsnit 3-10 ovenfor, og XL-datamodellen.
Klassen skosxl:Label
er
en særlig klasse af leksikale enheder.
En forekomst af klassen skosxl:Label
er en ressource og kan navngives med en URI.
En forekomst af klassen skosxl:Label
har
en enkelt literal form. Denne literale form er en almindelige RDF-literal (som
er en streng af UNICODE-tegn og et valgfrit sprogmærke [RDF-CONCEPTS]).
Egenskaben skosxl:literalForm
bruges til at give en skosxl:Label
den literale form.
Hvis to forekomster af klassen skosxl:Label
har samme literale form, er de ikke nødvendigvis den samme ressource.
S47 |
|
S48 |
|
S49 |
|
S50 |
Domænet |
S51 |
Rækkevidden |
S52 |
|
Eksemplet nedenfor beskriver en skosxl:Label
,
der er navngivet med en URI <http://example.com/ns/A>
,
med den literale form ”love” på engelsk.
Eksempel 75 (konsistent) |
---|
<A> rdf:type skosxl:Label ; skosxl:literalForm "love"@en .
|
De fire nedenstående eksempler er ikke konsistente med
XL-datamodellen, fordi der er beskrevet en skosxl:Label
med to forskellige literale former.
Eksempel 76 (ikke konsistent) |
---|
<B> rdf:type skosxl:Label ; skosxl:literalForm "love" ;
skosxl:literalForm "adoration" .
|
Eksempel 77 (ikke konsistent) |
---|
<B> rdf:type skosxl:Label ; skosxl:literalForm "love"@en ;
skosxl:literalForm "love"@fr .
|
Eksempel 78 (ikke konsistent) |
---|
<B> rdf:type skosxl:Label ; skosxl:literalForm "love"@en-GB ;
skosxl:literalForm "love"@en-US .
|
Eksempel 79 (ikke konsistent) |
---|
<B> rdf:type skosxl:Label ; skosxl:literalForm "東"@ja-Hani ;
skosxl:literalForm "ひがし"@ja-Hira .
|
Som angivet ovenfor har hver forekomst af klassen skosxl:Label
én og kun én literal
form. Der er med andre ord en funktion, der mapper klasseekstensionen
af skosxl:Label
til et sæt
af almindelige RDF-literaler. Denne funktion er defineret af egenskabsekstensionen
af skosxl:literalForm
.
Bemærk især to kendsgerninger ved denne funktion.
For det første er denne funktion ikke injektiv. Den kan med
andre ord ikke mappes
én-til én fra forekomster af skosxl:Label
til sættet af almindelige RDF-literaler (faktisk er det mange-til én). Dette
betyder, at to forekomster af skosxl:Label
,
som har den samme literale form, ikke nødvendigvis er det samme individ. Derfor
understøttes følgerelationen, der er afbilledet nedenfor, f.eks. ikke af
XL-datamodellen.
Eksempel 80 (ikke-følgerelation) |
---|
<A> skosxl:literalForm "love"@en .
<B> skosxl:literalForm "love"@en . does not entail
<A> owl:sameAs <B> .
|
For det andet er funktionen ikke surjektiv. For en given almindelig literal
l
er der med andre ord måske
ingen forekomster af skosxl:Label
med den literale form l
.
Medlemskabet af en forekomst af skosxl:Label
i et SKOS-begrebssystem kan erklæres med egenskaben skos:inScheme
.
Eksempel 81 (konsistent) |
---|
<A> rdf:type skosxl:Label ; skosxl:literalForm "love"@en ;
skos:inScheme <MyScheme> .
|
De tre egenskaber skosxl:prefLabel
,
skosxl:altLabel
og skosxl:hiddenLabel
bruges henholdsvis
til at give en ressource foretrukne, alternative og skjulte betegnelser, hvor
disse betegnelser er forekomster af klassen skosxl:Label
.
Disse egenskaber er analoge med egenskaberne med det samme lokale navne i
SKOS-vokabulariet, og de logiske afhængigheder mellem disse to sæt egenskaber er
defineret nedenfor.
S53 |
|
S54 |
Rækkevidden |
S55 |
Egenskabskæden ( |
S56 |
Egenskabskæden ( |
S57 |
Egenskabskæden ( |
S58 |
|
Nedenstående eksempel illustrerer brugen af alle tre XL-betegnelsesegenskaber og er konsistent med SKOS+XL-datamodellen.
Eksempel 82 (konsistent) |
---|
<Love>
skosxl:prefLabel <A> ; skosxl:altLabel <B> ; skosxl:hiddenLabel <C> . <A> rdf:type skosxl:Label ; skosxl:literalForm "love"@en . <B> rdf:type skosxl:Label ; skosxl:literalForm "adoration"@en . <C> rdf:type skosxl:Label ; skosxl:literalForm "luv"@en . |
Underegenskabs-kædeaksiomerne S55, S56 og S57 understøtter forfladigelse af XL-betegnelser til hverdagsagtige leksikale betegnelser ved hjælp af følgeslutninger. Dette illustreres i eksemplet nedenfor.
Eksempel 83 (følgerelation) |
---|
<Love>
skosxl:prefLabel <A> ; skosxl:altLabel <B> ; skosxl:hiddenLabel <C> . <A> rdf:type skosxl:Label ; skosxl:literalForm "love"@en . <B> rdf:type skosxl:Label ; skosxl:literalForm "adoration"@en . <C> rdf:type skosxl:Label ; skosxl:literalForm "luv"@en . medfører
<Love>
skos:prefLabel "love"@en ; skos:altLabel "adoration"@en ; skos:hiddenLabel "luv"@en . |
I afsnit 5 blev
der defineret to integritetsbetingelser på de grundlæggende betegnelsesegenskaber
i SKOS. For det første er skos:prefLabel
,
skos:altLabel
og skos:hiddenLabel
parvist disjunkte. For
det andet har en ressource ikke mere end én værdi af skos:prefLabel
per sprog. På grund af de
ovenfor definerede kædeaksiomer er følgende fire eksempler ikke
konsistente med SKOS+XL-datamodellen, selv om de er konsistente med hensyn til
XL-datamodellen alene.
Eksempel 84 (ikke konsistent) |
---|
# To forskellige foretrukne betegnelser på samme sprog
<Love> skosxl:prefLabel <A> ; skosxl:prefLabel <B> . <A> skosxl:literalForm "love"@en . <B> skosxl:literalForm "adoration"@en . |
Eksempel 85 (ikke konsistent) |
---|
# Konflikt mellem foretrukne og alternative betegnelser
<Love> skosxl:prefLabel <A> ; skosxl:altLabel <B> . <A> skosxl:literalForm "love"@en . <B> skosxl:literalForm "love"@en . |
Eksempel 86 (ikke konsistent) |
---|
# Konfliks mellem alternative og skjulte betegnelser
<Love> skosxl:altLabel <A> ; skosxl:hiddenLabel <B> . <A> skosxl:literalForm "love"@en . <B> skosxl:literalForm "love"@en . |
Eksempel 87 (ikke konsistent) |
---|
# Konfliks mellem forestrukne og skjulte betegnelser
<Love> skosxl:prefLabel <A> ; skosxl:hiddenLabel <B> . <A> skosxl:literalForm "love"@en . <B> skosxl:literalForm "love"@en . |
Dette afsnit definerer et mønster til at repræsentere binære forbindelser
mellem forekomster af klassen skosxl:Label
.
Bemærk, at det ikke er hensigten, at det vokabularium, der er defineret i dette afsnit, skal bruges direkte, men rettere er et ekstensionspunkt, som kan forfines til mere specifik brug af betegnelser.
S59 |
|
S60 |
Domænet |
S61 |
Rækkevidden |
S62 |
|
Nedenstående eksempel illustrerer en forbindelse mellem to forekomster af
klassen skosxl:Label
.
Eksempel 88 (konsistent) |
---|
<A> rdf:type skosxl:Label ; skosxl:literalForm "love" .
<B> rdf:type skosxl:Label ; skosxl:literalForm "adoration" . <A> skosxl:labelRelation <B> . |
Som nævnt ovenfor tjener egenskaben skosxl:labelRelation
som et ekstensionspunkt, der kan forfines til mere specifik brug af betegnelser.
I nedenstående eksempel har en tredje part forfinet egenskaben skos:labelRelation
til at udtrykke
akronymrelationer og bruger det til at udtrykke, at ”FAO” er akronym for ”Food
and Agriculture Organization”.
Example 89 (konsistent) |
---|
# Definer først en ekstension til skosxl:labelRelation |
Bemærk, at en underegenskab af en symmetrisk egenskab ikke nødvendigvis er symmetrisk.
Følgende tabel giver et overblik over SKOS-XL-vokabulariet.
URI: |
|
Definition: |
|
Betegnelse: |
Betegnelse |
Overklasser: |
restriktion på |
Klasser uden |
URI: |
|
Definition: |
Afsnit B.3. Foretrukne, alternative og skjulte skosxl:Labels |
Betegnelse: |
alternativ betegnelse |
Rækkevidde: |
|
|
|
URI: |
|
Definition: |
Afsnit B.3. Foretrukne, alternative og skjulte skosxl:Labels |
Betegnelse: |
skjult betegnelse |
Rækkevidde: |
|
URI: |
|
Definition: |
|
Betegnelse: |
Betegnelsesrelation |
Domæne: |
|
Rækkevidde: |
|
Andre kendetegn: |
Symmetrisk |
URI: |
|
Definition: |
|
Betegnelse: |
literal form |
Domæne: |
|
URI: |
|
Definition: |
Afsnit B.3. Foretrukne, alternative og skjulte skosxl:Labels |
Betegnelse: |
foretrukken betegnelse |
Rækkevidde: |
Ifølge Architecture of the World Wide Web, bind 1[WEBARCH], er et ”navneområdedokument” en ”informationsressource, der indeholder nyttig information om termer i navneområdet, der kan bruges af mennesker og/eller maskiner”.
SKOS-vokabulariet er en begrebsmæssig ressource, der er identificeret af
URI’en http://www.w3.org/2004/02/skos/core#
.
Den normative definition på SKOS-vokabulariet findes i Håndbog i SKOS (dette
dokument).
Følgende navneområdedokumenter tilbyder alternative repræsentationer af SKOS-vokabulariet:
SKOS-vokabulariet er opsummeret i SKOS Namespace Document - HTML Variant [SKOS-HTML], der
får oplysninger fra URI’en http://www.w3.org/2004/02/skos/core#
via indholdsforhandling med metode 3 fra ”Best Practice Recipes for Publishing
Vocabularies” [RECIPES].
Klienter, der har behov for HTML eller XHTML, bør inddrage en passende
”Accept-header” i http-forespørgslen. Alternativt kan der henvises direkte til SKOS
Namespace Document – HTML-variant ved at anføre dets URI: http://www.w3.org/TR/skos-reference/skos.html
.
SKOS Namespace Document – HTML-variant er en gentagelse af Tillæg A. Egenskaber og klasser i SKOS i dette dokument.
SKOS Namespace Document - RDF/XML Variant [SKOS-RDF]
udtrykker SKOS-vokabulariet og datamodellen (i det omfang, det er muligt) som
RDF-tripler. Det får oplysninger via indholdsforhandling med metode 3 fra ”Best
Practice Recipes for Publishing Vocabularies” [RECIPES].
Klienter, der har behov for RDF/XML, bør inddrage en passende ”Accept-header” i
http-forespørgslen. Alternativt kan der henvises direkte til RDF Schema (og det
kan downloades) ved at anføre dets URI: http://www.w3.org/TR/skos-reference/skos.rdf
.
Det er ikke muligt at udtrykke alle udsagnene i SKOS-datamodellen som RDF-tripler, så dette skema danner et normativt undersæt af Håndbog i SKOS. RDF Schema definerer en OWLFull- ontologi [OWL-SEMANTICS] [OWL-REFERENCE]. SKOS-vokabularier kan defineres som forekomster af denne ontologi.
Med henblik på værktøjer og programmer, der ønsker at arbejde inden for begrænsningerne af OWL DL, udgør undersættet SKOS RDF Schema - OWL 1 DL [SKOS-RDF-OWL1-DL] et modificeret, informativt skema, som tilpasser sig disse begrænsninger. Bemærk, at dette skema opnås ved at slette tripler, der repræsenterer aksiomer, der er i modstrid med begrænsningerne i OWL DL. Der kan udføres alternativ beskæring.
SKOS OWL 1 DL-undersættet er tilgængeligt ved at anføre dets URI: http://www.w3.org/TR/skos-reference/skos-owl1-dl.rdf
SKOS-XL-vokabulariet er opsummeret i SKOS-XL Namespace Document - HTML
Variant [SKOS-XL-HTML],
der får oplysninger fra URI’en http://www.w3.org/2008/05/skos-xl#
via indholdsforhandling med metode 3 fra ”Best Practice Recipes for Publishing
Vocabularies” [RECIPES].
Klienter, der har behov for HTML eller XHTML, bør inddrage en passende
”Accept-header” i http-forespørgslen. Alternativt kan der henvises direkte til SKOS-XL
Namespace Document - HTML Variant ved at anføre dets URI: http://www.w3.org/TR/skos-reference/skos-xl.html
.
SKOS-XL Namespace Document - HTML Variant er en gentagelse af Tillæg B.5 Oversigt over SKOS-XL Schema i dette dokument.
RDF Schema-dokumentet udtrykker SKOS-vokabulariet og datamodellen (i det
omfang, det er muligt) som RDF-tripler. Det får oplysninger fra URI’en http://www.w3.org/2008/05/skos-xl#
via
indholdsforhandling med metode 3 fra ”Best Practice Recipes for Publishing
Vocabularies” [RECIPES].
Klienter, der har behov for RDF/XML, bør inddrage en passende ”Accept-header” i
http-forespørgslen. Alternativt kan der henvises direkte til RDF Schema (og det
kan downloades) ved at anføre dets URI: http://www.w3.org/TR/skos-reference/skos-xl.rdf
.
SKOS Schema definerer et vokabularium ved hjælp af navneområdet http://www.w3.org/2004/02/skos/core#. Dette navneområde blev brugt til at definere det oprindelige SKOS Schema, der tjente som udgangspunkt for denne anbefaling. Som resultat af dette er der fjernet elementer fra den aktuelle version, der var til stede i tidligere versioner af det maskinlæsbare skema. I en række tilfælde er elementernes definitioner eller semantik ændret i skemaet.
Ved at bevare det eksisterende SKOS-navneområde undgår man visse problemer
med eksisterende KOS’er, der allerede bruger SKOS Schema. Brugere bør dog være
opmærksomme på ændringerne i semantikken for skos:broader
(og skos:narrower
), som kan
have indflydelse på SKOS-programmer.
Der er ikke udtrykt nogen eksplicitte indvendinger i skemaet, hvor elementer er blevet fjernet. Historiske versioner af SKOS Schema er dog tilgængelige i afsnittet ”Version history” på SKOS’ webside, og de elementer, som er blevet fjernet fra den aktuelle version af vokabulariet, er opført nedenfor.
skos:symbol
skos:prefSymbol
skos:altSymbol
skos:CollectableProperty
skos:subject
skos:isSubjectOf
skos:primarySubject
skos:isPrimarySubjectOf
skos:subjectIndicator
Semantikken for elementerne i vokabulariet er blevet ændret hvad angår skos:broader
og skos:narrower
. Disse egenskaber er ikke
længere erklæret som transitive. Derfor gælder følgende følgerelation ikke.
Eksempel 90 (ikke-følgerelation) |
---|
<A> skos:broader <B> .
<B> skos:broader <C> . medfører ikke
<A> skos:broader <C> .
|
Der findes en transitiv superegenskab af skos:broader
– skos:broaderTransitive
–
der tillader forespørgsler på tværs af den transitive afslutning af skos:broader
-relationer. Der findes en
lignende egenskab – skos:narrowerTransitive
– for forespørgsler på tværs af den transitive afslutning af skos:narrower
.