Introducing SKOS

Introducing SKOS

22 juni 2005

Peter Mikhalenko

SKOS (Simple Knowledge Organization System), onlangs geïntroduceerd door de W3C, is een model voor het uitdrukken van kennisorganisatie systemen op een machine-begrijpelijke manier, binnen het kader van het semantische Web. De SKOS Core Vocabulary is een RDF (Resource Description Framework) applicatie. Met behulp van RDF kunnen gegevens worden gekoppeld en samengevoegd met andere RDF-gegevens door semantische webtoepassingen. SKOS Core biedt een model voor het uitdrukken van de basisstructuur en de inhoud van conceptschema ‘s, met inbegrip van thesauri, classificatieschema’ s, onderwerplijsten, taxonomieën, terminologieën, glossaria en andere soorten gecontroleerde woordenschat. Dit artikel geeft enkele voorbeelden van het gebruik van SKOS en bespreekt de algemene principes van het opbouwen van dergelijke kennisbanken.

Inleiding

het semantisch Web is een visie op de toekomst van het Web waarin informatie een expliciete betekenis krijgt, waardoor het voor machines gemakkelijker wordt om informatie op het Web te verwerken en te integreren. Het semantische Web is gebaseerd op de mogelijkheid van XML om schema ‘ s te definiëren en de flexibele benadering van RDF om gegevens weer te geven. Het volgende element dat nodig is voor het semantisch Web is OWL, de Webontologie taal, die formeel—met behulp van, meestal, een logisch formalisme bekend als Description Logic—de semantiek van klassen en eigenschappen gebruikt in webdocumenten kan beschrijven. OWL voegt een laag expressieve kracht toe aan RDF en biedt krachtige tools voor het definiëren van complexe conceptuele structuren, die kunnen worden gebruikt om onder andere rijke metadata te genereren. Echter, de klasse-georiënteerde, logisch nauwkeurige modellering die nodig is om nuttige webontologieën te construeren is veeleisend in termen van expertise, inspanning en dus kosten. In veel gevallen kan dit type modellering onnodig of ongeschikt zijn voor vereisten. Er is dus behoefte aan een taal om woordenlijsten van concepten uit te drukken voor gebruik in semantisch rijke metadata, die krachtig genoeg is om semantisch verbeterde zoekopdrachten te ondersteunen, maar eenvoudig genoeg om niet veeleisend te zijn in termen van de kosten en expertise die nodig is om het te gebruiken.

de SKOS Core Vocabulary is een verzameling RDF-eigenschappen en RDFS-klassen die kunnen worden gebruikt om de inhoud en structuur van een conceptschema als een RDF-grafiek uit te drukken.

als voorbeeld van het soort structuur dat SKOS moest voorstellen, laten we eens kijken naar de voorbeelddefinitie van het woord “kanalen” uit de Alexandria Digital Library Thesaurus:

kanalen ” een categorie van het type functie voor plaatsen zoals het Erie-kanaal.
gebruikt voor: “de categorie kanalen wordt gebruikt in plaats van een van de volgende.

  • kanaalbochten
  • gekanaliseerde beken
  • grachtmonden
  • sloten
  • afwateringskanalen
  • afwateringssloten
  • … meer …

bredere termen: hydrografische structuren “kanalen is een subtype van” hydrografische structuren.”
verwante termen: “het volgende is een lijst van andere categorieën gerelateerd aan kanalen (niet-hiërarchische relaties)

  • kanalen
  • sluizen
  • transportkenmerken
  • tunnels

Scope Note: Kunstmatige waterweg gebruikt door vaartuigen of voor drainage, irrigatie, mijnbouw, of waterkracht.

laten we nu deze complexe structuur weergeven met behulp van de SKOS Core Vocabulary:

figuur 1
figuur # 1. RDF grafiek weergave van SKOS woordenschat entry-klik op de afbeelding voor full-size screenshot.

de corresponderende machineleesbare weergave in RDF-XML (broncode)):

<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 Concept Modeling and Labeling

de huidige editie van SKOS Vocabulary vervangt de eerdere SKOS Core 1.0 gids gepubliceerd door de THESAURUSACTIVITEIT SWAD-Europe. De oorsprong en de achtergrond van de technologieën voorafgaand aan SKOS zijn goed gedefinieerd in een Xtech 2005 Proceedings SKOS rapport, dus laten we overslaan geschiedenis beschrijving en ga direct naar taaldefinitie.

laten we de RDF-XML nader bekijken. De skos:Concept klasse zegt dat een bron een conceptuele bron is. Dit klinkt vaag, maar volgens de RDF semantiek standaard: bewering is elke uitdrukking die wordt beweerd waar te zijn; klasse is een algemeen concept, categorie of classificatie; resource is een entiteit of iets in het universum. Eigenlijk wordt skos:Concept gebruikt om een atomaire conceptuele hulpbron te definiëren. In het bovenstaande voorbeeld definieert het SKOS-document een thesaurusitem voor de entiteit “kanalen”.

skos:Concept is niet de enige klasse die beschikbaar is in SKOS. Er zijn ook andere topklassen:

  • skos:Collection is een zinvolle verzameling van Concepten. Gelabelde collecties kunnen worden gebruikt met collecteerbare semantische relatieeigenschappen (skos:narrower), waarbij u wilt dat een set Concepten wordt weergegeven onder een knooppuntlabel in de hiërarchie;
  • skos:CollectableProperty een eigenschap is die kan worden gebruikt met een skos:Collection;
  • skos:ConceptScheme is een verzameling Concepten, optioneel met statements over semantische relaties tussen deze concepten. Thesauri, classificatieschema ‘s, onderwerplijsten, taxonomieën, terminologieën, glossaria en andere typen gecontroleerde woordenschat zijn allemaal voorbeelden van conceptschema’ s;
  • skos:OrderedCollection is een geordende verzameling van concepten, waarbij zowel de groepering als de ordening zinvol zijn.

SKOS Core gebruikt etiketteringseigenschappen om tokens toe te wijzen aan een hulpbron, waarbij het token bedoeld is om de hulpbron aan te duiden in natuurlijke taal of andere voor menselijke consumptie bestemde representaties. Met de eigenschappen skos:prefLabel en skos:altLabel kunt u voorkeurs-en alternatieve lexicale labels aan een bron toewijzen. Onder normale omstandigheden kunnen prefLabel en altLabel waarden als synoniemen worden beschouwd. Bij het labelen van bronnen van het type skos:Concept is het echter niet nodig om voorkeurs-en alternatieve lexicale labels te beperken tot precieze Synoniemen. Bijvoorbeeld, het volgende is geldig:

<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>

afkortingen en acroniemen kunnen ook worden gebruikt om concepten te etiketteren, en de keuze om ze te gebruiken als voorkeurs-of alternatieve termen is niet beperkt. Echter, verkeerd gespelde woorden worden meestal opgenomen onder de verborgen labels. Een verborgen lexicaal label is een lexicaal label voor een bron, waarbij u wilt dat die tekenreeks toegankelijk is voor toepassingen die op tekst gebaseerde indexering en zoekbewerkingen uitvoeren, maar u wilt niet dat dat label anders zichtbaar is. Als u een verborgen lexicaal label aan een bron wilt toewijzen, gebruikt u de eigenschap skos:hiddenLabel. Het meest voorkomende gebruik van verborgen labels is om verkeerd gespelde varianten van andere lexicale labels op te nemen. De waarde van de eigenschappen skos:prefLabel en skos:altLabel moet een gewone letterlijke waarde zijn. Een gewone letter is een tekenreeks met optionele taal-tag, en de taal-tag kan worden gebruikt om de reikwijdte van een lexicaal label te beperken tot een bepaalde taal. De toegestane waarden als taaltags worden gegeven door RFC3066. Hier is een voorbeeld:

<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>

symbolische etikettering betekent het labelen van een concept met een afbeelding. Gebruik de eigenschappen skos:prefSymbol en skos:altSymbol om voorkeurs-en alternatieve symbolische labels aan een concept toe te wijzen.

beschrijving van een Concept toevoegen

er zijn acht eigenschappen die u kunt gebruiken om voor mensen leesbare documentatie toe te voegen aan de beschrijving van een concept. De eigenschappen zijn skos:publicNote, skos:privateNote, skos:definition, skos:scopeNote, skos:example, skos:historyNote, skos:editorialNote en skos:changeNote. Beschrijvende notities voor een concept kunnen openbaar of particulier zijn(skos:publicNote, skos:privateNote). Alleen skos:editorialNote en skos:changeNote zijn private notes, andere zijn openbaar. Een skos:definition is dus ook een skos:publicNote, een skos:editorialNote is ook een skos:privateNote enzovoort. Om het verschil tussen skos:definition en skos:scopeNote te verduidelijken, zou een definitie een poging moeten zijn om de Betekenis van een begrip volledig uit te leggen, terwijl een toelichting op het toepassingsgebied kan bestaan uit gedeeltelijke informatie over wat wel of niet onder de betekenis (of het toepassingsgebied) van een begrip valt. Om het verschil tussen a skos:historyNote en a skos:changeNote te verduidelijken, is een geschiedenisnotitie een informatiestuk dat bestemd is voor de gebruikers van de regeling en dat belangrijke wijzigingen in de Betekenis, vorm of staat van een begrip documenteert, terwijl een wijzigingsnotitie bedoeld is voor het documenteren van fijnkorrelige wijzigingen in een begrip ten behoeve van administratie en beheer.

er zijn drie aanbevolen gebruikspatronen voor de SKOS Core documentation properties:

  • documentatie als een RDF-letterlijke
  • documentatie als een gerelateerde Bronbeschrijving
  • documentatie als een Documentreferentie

een RDF-letterlijke is het eenvoudigste patroon voor het gebruik van de eigenschappen van de SKOS-Kerndocumentatie, waarbij de eigenschapswaarde (d.w.z. het object van de triple) een RDF-letterlijke is. Dit is de manier waarop we het gebruikten in ons voorbeeld SKOS document:

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

eigenlijk is dit een vereenvoudigd voorbeeld; gepresenteerd in core RDF zal het een beetje ingewikkelder lijken (met rdf:value tags). Hiermee kunt u documentatie structureren als een gerelateerde bronbeschrijving. Documentreferentie is een patroon waarmee u kunt verwijzen naar documentatie die zelf een document is, via de URI van dat document. Bijvoorbeeld:,

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

relaties

toevoegen de kernwoordenschat van SKOS bevat de volgende eigenschappen voor het bevestigen van semantische relaties tussen Concepten: skos:semanticRelation, skos:broader, skos:narrower en skos:related. In een eigenschap hiërarchie semanticRelation is de top semantische relatie en anderen zijn kinderen relaties. Gebruik de eigenschap skos:broader om te beweren dat een begrip een bredere betekenis heeft (d.w.z. algemener) dan een ander, wanneer de reikwijdte (betekenis) van het ene volledig binnen de reikwijdte van het andere valt. Gebruik de eigenschap skos:narrower om het omgekeerde te beweren, dat het ene concept smaller is in betekenis (Dat wil zeggen specifieker) dan het andere. Zo hebben we het gebruikt in ons voorbeelddocument:

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

de eigenschappen skos:broader en skos:narrower zijn elkaars inverse. Zowel de eigenschappen skos:broader als skos:narrower zijn transitieve eigenschappen. Gebruik de eigenschap skos:related om een associatieve relatie tussen twee concepten te bevestigen:

<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>

Concepten samen verzamelen

u kunt een zinvolle groep Concepten maken en definiëren. Betekenisvolle verzamelingen van concepten zijn echter nog steeds onstabiel en kunnen in de toekomst worden gewijzigd. SKOS Core heeft een speciale woordenschat om collecties te behandelen. RDF heeft echter enige algemene woordenschat (rdf:Bag en rdf:Seq) voor het verwerken van geordende en ongeordende groepen van bronnen; tijdens het opstellen van een W3C-werkontwerp is er uitgebreid gediscussieerd in mailinglijsten over de vraag of deze zouden moeten worden gebruikt. Er is voorlopig voor gekozen om rdf:Bag en rdf:Seq voor dit doel niet te gebruiken. (Zie de uitleg als je nieuwsgierig bent.)

om een zinvolle verzameling concepten te definiëren, gebruikt u de skos:Collection klasse en de skos:member eigenschap. Gebruik de eigenschap rdfs:label om een lexicaal label aan een verzameling toe te wijzen. Het meest voorkomende gebruik van een gelabelde collectie is om een hiërarchische weergave te verbeteren. Je kunt smallere en bredere relaties beschrijven tussen een concept en een collectie. De klasse skos:CollectableProperty ondersteunt een generiek mechanisme waardoor collecties kunnen worden betrokken bij semantische relaties (en andere soorten statements). Om een geordende verzameling concepten te definiëren, gebruikt u de klasse skos:OrderedCollection met de eigenschap skos:memberList. Een bestelde verzameling kan ook een etiket hebben (gebruik rdfs:label). Geordende collecties kunnen op dezelfde manier worden gebruikt met semantische relatieeigenschappen als ongeordende collecties (skos:OrderedCollection is een subklasse van skos:Collection).

gewoonlijk worden Concepten gedefinieerd in relatie tot andere concepten, als onderdeel van een intern samenhangend conceptschema. Zoals vermeld in de inleiding, wordt een concept schema hier gedefinieerd als een set van Concepten, optioneel inclusief uitspraken over semantische relaties tussen deze concepten. Met de klasse skos:ConceptScheme kunt u beweren dat een bron een conceptschema is.

enkele openstaande kwesties

verder lezen

  • W3C SKOS Documents
  • RDF / XML syntaxis Specification
  • Xtech 2005 Proceedings: Notes on SKOS

er zijn nog steeds een aantal open kwesties, waar geen stevige consensus is bereikt en waar lezers kunnen helpen om toekomstige SKOS W3C aanbevelingen te verbeteren.

  • relatie met RDFS en OWL ontologieën. Er is een subtiel verschil tussen SKOS Core en andere RDF-toepassingen zoals FOAF. SKOS Core kunt u een set van Concepten model als een RDF grafiek. Andere RDF-toepassingen, zoals FOAF, stellen u in staat om dingen te modelleren zoals mensen, organisaties, plaatsen enz. als een RDF-grafiek. Technisch, SKOS Core introduceert een laag van indirecte in de modellering.
  • Mapping Concept. U kunt een mapping relatie tussen twee conceptuele middelen. Het pand owl:hetzelfde houdt in dat twee bronnen in alle opzichten identiek zijn en niet mogen worden gebruikt om uit te drukken dat twee conceptuele bronnen dezelfde betekenis hebben.
  • Concept schema versiebeheer. U kunt verschillende URI ‘ s gebruiken voor verschillende namespaces die verschillende woordenlijsten hanteren. Echter, tijdens het gebruik van Dublin Core specificatie, kunnen er speciale tags en attributen worden gebruikt voor versiebeheer.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.