Introduktion til SKOS

Introduktion til SKOS

22.juni 2005

Peter Mikhalenko

SKOS (Simple Videnorganisationssystem), der for nylig blev introduceret af V3C, er en model til at udtrykke videnorganisationssystemer på en maskinforståelig måde inden for rammerne af det semantiske Net. SKOS Core Vocabulary er en rdf (Resource Description Frame) applikation. Brug af RDF gør det muligt at sammenkæde og flette data med andre RDF-data ved hjælp af semantiske internetapplikationer. SKOS Core giver en model til at udtrykke den grundlæggende struktur og indhold af konceptordninger, herunder thesauri, klassifikationsordninger, emneoverskriftslister, taksonomier, terminologier, ordlister og andre typer kontrolleret ordforråd. Denne artikel vil give nogle eksempler til brug af SKOS og diskutere de generelle principper for opbygning af sådanne vidensbaser.

introduktion

det semantiske Internet er en vision for fremtiden for internettet, hvor information gives eksplicit betydning, hvilket gør det lettere for maskiner at behandle og integrere information tilgængelig på internettet. Det semantiske netværk er afhængig af RDF ‘s evne til at definere skemaer og RDF’ s fleksible tilgang til at repræsentere data. Det næste element, der kræves til det semantiske Net, er ugle, det ontologiske sprog på nettet, som formelt kan beskrive—ved hjælp af, oftest, en logisk formalisme kendt som Beskrivelseslogik—semantikken i klasser og egenskaber, der bruges i Internetdokumenter.

ugle tilføjer et lag ekspressiv kraft til RDF og giver kraftfulde værktøjer til at definere komplekse konceptuelle strukturer, som kan bruges til at generere blandt andet rige metadata. Den klasseorienterede, logisk præcise modellering, der kræves for at konstruere nyttige ontologier, er imidlertid krævende med hensyn til ekspertise, indsats og derfor omkostninger. I mange tilfælde kan denne type modellering være unødvendig eller uegnet til kravene. Så der er behov for et sprog til at udtrykke ordforråd af begreber til brug i semantisk rige metadata, hvilket er kraftigt nok til at understøtte semantisk forbedret søgning, men simpelt nok til at være krævende med hensyn til de omkostninger og ekspertise, der kræves for at bruge det.

SKOS kerneordforråd er et sæt RDF-egenskaber og RDFS-klasser, der kan bruges til at udtrykke indholdet og strukturen i et konceptskema som en RDF-graf.

som et eksempel på den slags struktur SKOS blev designet til at repræsentere, lad os se på eksemplet definition af ordet “kanaler” fra Aleksandria Digital Library Thesaurus:

kanaler ” en funktion type kategori for steder som Erie Canal.
bruges til: “kategorien kanaler bruges i stedet for et af følgende.

  • kanalbøjninger
  • kanaliserede vandløb
  • grøftmundinger
  • grøfter
  • dræningskanaler
  • dræningsgrøfter
  • … mere …

bredere udtryk: hydrografiske strukturer ” kanaler er en undertype af “hydrografiske strukturer.”
relaterede udtryk: “følgende er en liste over andre kategorier relateret til kanaler (ikke-hierarkiske forhold)

  • kanaler
  • låse
  • transportfunktioner
  • tunneler

rækkevidde Note: Menneskeskabte vandveje, der anvendes af vandfartøjer eller til dræning, kunstvanding, minedrift eller vandkraft.

lad os nu repræsentere denne komplekse struktur ved hjælp af SKOS kerneordforråd:

Figur 1
Figur #1. RDF graph repræsentation af SKOS ordforråd post-klik på billedet for fuld størrelse skærmbillede.

den tilsvarende maskinlæsbare repræsentation i RDF (kildekode):

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <skos:Concept rdf:about="http://www.my.com/#canals"> <skos:definition>A feature type category for places such as the Erie Canal</skos:definition> <skos:prefLabel>canals</skos:prefLabel> <skos:altLabel>canal bends</skos:altLabel> <skos:altLabel>canalized streams</skos:altLabel> <skos:altLabel>ditch mouths</skos:altLabel> <skos:altLabel>ditches</skos:altLabel> <skos:altLabel>drainage canals</skos:altLabel> <skos:altLabel>drainage ditches</skos:altLabel> <skos:broader rdf:resource="http://www.my.com/#hydrographic%20structures"/> <skos:related rdf:resource="http://www.my.com/#channels"/> <skos:related rdf:resource="http://www.my.com/#locks"/> <skos:related rdf:resource="http://www.my.com/#transportation%20features"/> <skos:related rdf:resource="http://www.my.com/#tunnels"/> <skos:scopeNote>Manmade waterway used by watercraft or for drainage, irrigation, mining, or water power</skos:scopeNote> </skos:Concept> </rdf:RDF>

SKOS koncept modellering og mærkning

den aktuelle udgave af SKOS ordforråd erstatter den tidligere SKOS Core 1.0 vejledning udgivet af Thesaurus Activity. Oprindelsen og baggrunden for teknologier, der går forud for SKOS, er veldefineret i en Proceedings skos-rapport fra 2005, så lad os springe over historiebeskrivelsen og gå direkte til sprogdefinition.

lad os se nærmere på RDF-HML. Klassen skos:Concept siger, at en ressource er en konceptuel ressource. Dette lyder vagt, men ifølge RDF Semantikstandarden: påstand er ethvert udtryk, der hævdes at være sandt; klasse er et generelt koncept, kategori eller klassificering; ressource er en enhed eller noget i universet. Faktisk skos:Concept bruges til at definere en atomisk konceptuel ressource. I eksemplet ovenfor definerer SKOS-dokumentet en tesaurus-post for enheden “kanaler”.

skos:Concept er ikke den eneste klasse, der er tilgængelig i SKOS. Der er også andre topklasser:

  • skos:Collection er en meningsfuld samling af begreber. Mærkede Samlinger kan bruges med samlerbare semantiske relationsegenskaber (skos:narrower), hvor du gerne vil have et sæt begreber vist under en node-etiket i hierarkiet;
  • skos:CollectableProperty er en ejendom, der kan bruges med en skos:Collection;
  • skos:ConceptScheme er et sæt af begreber, eventuelt herunder udsagn om semantiske relationer mellem disse begreber. Thesauri, klassificeringsordninger, emnelister, taksonomier, terminologier, ordlister og andre typer kontrolleret ordforråd er alle eksempler på konceptordninger;
  • skos:OrderedCollection er en ordnet samling af koncepter, hvor både gruppering og bestilling er meningsfulde.

SKOS Core bruger mærkningsegenskaber til at tildele tokens til en ressource, hvor tokenet er beregnet til at betegne ressourcen på naturligt sprog eller andre repræsentationer beregnet til konsum. Egenskaberne skos:prefLabel og skos:altLabel giver dig mulighed for at tildele foretrukne og alternative leksikale etiketter til en ressource. Under normale omstændigheder kan prefLabel og altLabel værdier betragtes som synonymer. Ved mærkning af ressourcer af typen skos:Concept er det imidlertid ikke nødvendigt at begrænse foretrukne og alternative leksikale etiketter til præcise synonymer. For eksempel er følgende gyldigt:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <skos:Concept rdf:about="http://www.my.com/#good"> <skos:prefLabel>good</skos:prefLabel> <skos:altLabel>bad</skos:altLabel> </skos:Concept></rdf:RDF>

forkortelser og akronymer kan også bruges til at mærke begreber, og valget af, om de skal bruges som Foretrukne eller alternative udtryk, er ubegrænset. Forkert stavede ord er dog normalt inkluderet blandt de skjulte etiketter. En skjult leksikalsk etiket er en leksikalsk etiket til en ressource, hvor du gerne vil have, at tegnstrengen skal være tilgængelig for applikationer, der udfører tekstbaserede indekserings-og søgehandlinger, men du vil ikke have, at etiketten skal være synlig ellers. Hvis du vil tildele en skjult leksikalsk etiket til en ressource, skal du bruge egenskaben skos:hiddenLabel. Den mest almindelige brug af skjulte etiketter er at inkludere forkert stavede varianter af andre leksikale etiketter. Værdien af egenskaberne skos:prefLabel og skos:altLabelskal være en almindelig bogstavelig. En almindelig bogstavelig er en tegnstreng med valgfrit sprogmærke, og sprogmærket kan bruges til at begrænse omfanget af en leksikalsk etiket til et bestemt sprog. De værdier, der er tilladt som sprogmærker, er angivet af RFC3066. Her er et eksempel:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <skos:Concept rdf:about="http://www.my.com/#good"> <skos:prefLabel xml:lang="en">good</skos:prefLabel> <skos:altLabel xml:lang="en">bad</skos:altLabel> <skos:prefLabel xml:lang="fr">bon</skos:prefLabel> <skos:altLabel xml:lang="fr">mauvais</skos:altLabel> </skos:Concept></rdf:RDF>

symbolsk mærkning betyder mærkning af et koncept med et billede. Hvis du vil tildele foretrukne og alternative symbolske etiketter til et koncept, skal du bruge egenskaberne skos:prefSymbol og skos:altSymbol.

tilføjelse af Beskrivelse af et koncept

der er otte egenskaber, du kan bruge til at tilføje menneskelig læsbar dokumentation til beskrivelsen af et koncept. Egenskaberne er skos:publicNote, skos:privateNote, skos:definition, skos:scopeNote, skos:example, skos:historyNote, skos:editorialNote og skos:changeNote. Beskrivende noter til et koncept kan være offentlige eller private (skos:publicNote, skos:privateNote). Kun skos:editorialNote og skos:changeNote er private noter, andre er offentlige. Således er en skos:definition også en skos:publicNote, en skos:editorialNote er også en skos:privateNote og så videre. For at afklare forskellen mellem skos:definition og skos:scopeNote bør en definition være et forsøg på fuldstændigt at forklare betydningen af et koncept, mens en omfangsnote kan bestå af delvis information om, hvad der er eller ikke er inkluderet i betydningen (eller omfanget) af et koncept. For at tydeliggøre forskellen mellem en skos:historyNote og en skos:changeNote er en historiknote et stykke information beregnet til brugere af ordningen, der dokumenterer væsentlige ændringer i betydningen, formen eller tilstanden af et koncept, mens en ændringsnote er beregnet til at dokumentere finkornede ændringer i et koncept med henblik på administration og ledelse.

der er tre anbefalede brugsmønstre for SKOS Core documentation properties:

  • dokumentation som en RDF-bogstavelig
  • dokumentation som en relateret Ressourcebeskrivelse
  • dokumentation som dokumentreference

en RDF-bogstavelig er det enkleste mønster til brug af SKOS-kernedokumentationsegenskaberne, hvor egenskabsværdien (dvs.genstanden for tredobbelt) er en RDF-bogstavelig. Sådan brugte vi det i vores eksempel SKOS-dokument:

<skos:scopeNote>Manmade waterway used by watercraft or fordrainage, irrigation, mining, or water power</skos:scopeNote>

faktisk er dette et forenklet eksempel; præsenteret i core RDF vil det se lidt mere kompliceret ud (ved hjælp af rdf:value tags). Relateret Ressourcebeskrivelse giver dig mulighed for at strukturere dokumentation som en relateret ressourcebeskrivelse. Dokumentreference er et mønster, der giver dig mulighed for at henvise til dokumentation, der i sig selv er et dokument, via URI i dette dokument. For eksempel,

<skos:scopeNote rdf:resource="http://www.my.com/note.txt"/>

tilføjelse af relationer

SKOS kerneordforråd indeholder følgende egenskaber til at hævde semantiske forhold mellem begreber: skos:semanticRelation, skos:broader, skos:narrower og skos:related. I et ejendomshierarki semanticRelation er det øverste semantiske forhold, og andre er børneforhold. For at hævde, at et koncept er bredere i betydning (dvs.mere generelt) end et andet, hvor omfanget (betydningen) af en falder helt inden for den anden, skal du bruge egenskaben skos:broader. For at hævde det inverse, at et koncept er snævrere i betydning (dvs.mere specifikt) end et andet, skal du bruge egenskaben skos:narrower. Sådan brugte vi det i vores eksempeldokument:

<skos:Concept rdf:about="http://www.my.com/#canals"> <skos:broader rdf:resource="http://www.my.com/#hydrographic%20structures"/></skos:Concept>

egenskaberne skos:broader og skos:narrower er hinandens inverse. Både egenskaberne skos:broader og skos:narrower er transitive egenskaber. For at hævde et associativt forhold mellem to begreber skal du bruge egenskaben skos:related :

<skos:Concept rdf:about="http://www.my.com/#canals"> <skos:related rdf:resource="http://www.my.com/#channels"/> <skos:related rdf:resource="http://www.my.com/#locks"/></skos:Concept>

indsamling af begreber sammen

du kan oprette og definere en meningsfuld gruppe af begreber. Men meningsfulde samlinger af begreber er stadig ustabile og kan ændres i fremtiden. SKOS Core har specielt ordforråd til at håndtere samlinger. RDF har dog noget generisk ordforråd (rdf:Bag og rdf:Seq) til at håndtere ordnede og uordnede grupper af ressourcer; under udarbejdelsen af et ARBEJDSUDKAST fra 3C har der været udvidet diskussion i postlister om, hvorvidt disse skal bruges. Det er foreløbigt blevet besluttet ikke at anvende rdf:Bag og rdf:Seq til dette formål. (Se forklaringen, hvis du er nysgerrig .)

for at definere en meningsfuld samling af begreber skal du bruge klassen skos:Collection og egenskaben skos:member. Hvis du vil tildele en leksikalsk etiket til en samling, skal du bruge egenskaben rdfs:label. Den mest almindelige anvendelse af en mærket samling er at forbedre en hierarkisk visning. Du kan beskrive snævrere og bredere forhold mellem et koncept og en samling. Klassen skos:CollectableProperty understøtter en generisk mekanisme, hvormed Samlinger kan være involveret i semantiske relationer (og andre slags udsagn). Hvis du vil definere en ordnet samling af koncepter, skal du bruge klassen skos:OrderedCollection med egenskaben skos:memberList. En bestilt samling kan også have en etiket (brug rdfs:label). Bestilte Samlinger kan bruges med semantiske relationsegenskaber på samme måde som uordnede samlinger (skos:OrderedCollection er en underklasse på skos:Collection).

normalt defineres begreber i forhold til andre begreber som en del af et internt sammenhængende konceptskema. Som nævnt i indledningen defineres et konceptskema her som et sæt begreber, eventuelt inklusive udsagn om semantiske forhold mellem disse begreber. skos:ConceptScheme – klassen giver dig mulighed for at hævde, at en ressource er et konceptskema.

nogle åbne problemer

yderligere læsning

  • H3C SKOS dokumenter
  • RDF/HML Syntaksspecifikation
  • HTech 2005 Proceedings: Notes on SKOS

der er stadig nogle åbne spørgsmål, hvor der ikke er opnået nogen fast konsensus, og hvor læsere potentielt kan hjælpe med at forbedre fremtidige SKOS V3C-anbefalinger.

  • forhold til RDFS og ugle ontologier. Der er en subtil forskel mellem SKOS Core og andre RDF-applikationer som FOAF. SKOS Core giver dig mulighed for at modellere et sæt koncepter som en RDF-graf. Andre RDF-applikationer, såsom FOAF, giver dig mulighed for at modellere ting som mennesker, organisationer, steder osv. som en RDF-graf. Teknisk introducerer SKOS Core et lag af indirection i modelleringen.
  • Kortlægning Koncept. Du kan hævde et kortlægningsforhold mellem to konceptuelle ressourcer. Ejendommen ugle:sameAs indebærer, at to ressourcer er identiske på alle måder og ikke bør bruges til at udtrykke det faktum, at to konceptuelle ressourcer har samme betydning.
  • Concept Scheme versionering. Du kan bruge forskellige Uri ‘ er til forskellige navneområder, der håndterer forskellige ordforråd. Imidlertid, mens du bruger Dublin Core-specifikation, der kan være specielle tags og attributter, der bruges til versionering.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.