Introduction à SKOS

Julien Plu

Dans ce tutoriel nous allons voir comment utiliser la norme W3C, SKOS. Vous pourrez ainsi voir que même si son utilisation peut paraître compliquée il n'en est rien, bien au contraire. Commentez .

- Titre : Introduction à SKOS

- Auteur : Julien Plu

- Parution : 13 mars 2013

- Mise à jour : 4 janvier 2016

- Public visé :

- Licence : Copyright ® 2013-2016 Julien Plu. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Introduction

- II. Différences entre vocabulaire contrôlé, taxonomie et thésaurus

- II-A. Vocabulaire contrôlé

- II-B. Taxonomie

- II-C. Thésaurus

- III. SKOS et OWL

- IV. Un exemple simple

- V. Conclusion

- VI. Remerciements

I - Introduction

SKOS, pour Simple Knowledge Organization System (système d'organisation de connaissances simples), est une norme W3C basée sur d'autres normes du Web sémantique (RDF et OWL), qui fournit une façon de représenter des vocabulaires contrôlés, des taxonomies et des thésaurus. Spécifiquement, SKOS lui-même est une ontologie OWL et peut être écrit dans n'importe quelle syntaxe RDF (Turtle, XML, etc.).

II - Différences entre vocabulaire contrôlé, taxonomie et thésaurus

Avant d'aller plus loin dans SKOS, il faut connaître la différence entre un vocabulaire contrôlé, une taxonomie et un thésaurus.

II-A - Vocabulaire contrôlé

Un vocabulaire contrôlé est une liste de termes convenus par une communauté ou une organisation. Par exemple, les jours de la semaine ou les mois de l'année sont des termes que tout le monde utilise sans ambiguïté, ils forment donc un vocabulaire contrôlé.

II-B - Taxonomie

Une taxonomie est un vocabulaire contrôlé organisé comme une hiérarchie. Par exemple, on peut avoir les termes « véhicule », « voiture » et « moto ». Les concepts moto et voiture sont des sous-classes de véhicule, car une voiture et une moto sont des types de véhicules.

II-C - Thésaurus

Un thésaurus est une taxonomie avec plus d'informations à propos de chaque concept incluant les termes alternatifs et préférés (« animals » en anglais ou « animaux » en français). De plus, un thésaurus peut contenir des liens vers des concepts connexes. Par exemple, les concepts « animaux » et « forêt » ont plusieurs types de liens. La plupart des sites de commerce utilisent des taxonomies et des thésaurus pour aider les utilisateurs dans leurs recherches.

III - SKOS et OWL

Juste pour clarifier la chose, OWL est un langage pour créer une ontologie, alors que SKOS est lui-même une ontologie générée en OWL afin d'ajouter des vocabulaires contrôlés, des taxonomies et des thésaurus. Néanmoins, un thésaurus SKOS peut parfaitement être couplé avec des ontologies OWL, ou même converti en OWL. Il peut y avoir beaucoup de confusions si les deux sont combinés. Par exemple, « skos:exactMatch » peut être utilisé à la place de « owl:sameAs ».

IV - Un exemple simple

Les concepts sont identifiés par des URI. Considérons un exemple simple : créer un système d'organisation de connaissance à propos des animaux. Le concept principal est « Animaux », qui est représenté de la façon suivante :

ex:Animaux  rdf:type  skos:Concept .

Nous pouvons ajouter des labels à nos concepts. Il y a deux types de labels :

- les « preferred labels » (skos:prefLabel) ;

- les « alternative labels » (skos:altLabel).

Notez qu'un concept peut seulement avoir un « preferred label » par langue, mais il peut avoir plusieurs « alternative labels ». Voyons ça dans un petit exemple :

ex:Animaux  rdf:type        skos:Concept ;
skos:prefLabel  "animals"@en ;
skos:altLabel   "creatures"@en ;
skos:prefLabel  "animaux"@fr ;
skos:altLabel   "créatures"@fr .

Maintenant nous pouvons ajouter des liens sémantiques. SKOS vous offre : « hierarchical » (hiérarchique), « associative » (associatif) et « mapping relationships » (association de relations). Les relations hiérarchiques sont « skos:broader » et « skos:narrower ». Par exemple, le concept « Animaux » est plus large que le concept « Mammifères » :

ex:Mammiferes  rdf:type        skos:Concept ;
skos:prefLabel  "mammifères"@fr ;
skos:prefLabel  "mammals"@en ;
skos:broader    ex:Animaux .

Également, le concept « Mammifères » est plus étroit que le concept « Animaux » :

ex:Animaux  rdf:type        skos:Concept ;
skos:prefLabel  "animals"@en ;
skos:altLabel   "creatures"@en ;
skos:prefLabel  "animaux"@fr ;
skos:altLabel   "créatures"@fr ;
skos:narrower   ex:Mammiferes .

SKOS possède une relation associative, « skos:related », qui est utilisée pour affirmer un lien entre deux concepts. Par exemple, le concept « Animaux » est lié au concept « Oiseaux » :

ex:Animaux  rdf:type        skos:Concept ;
skos:prefLabel  "animals"@en ;
skos:altLabel   "creatures"@en ;
skos:prefLabel  "animaux"@fr ;
skos:altLabel   "créatures"@fr ;
skos:broader    ex:Mammiferes ;
skos:related    ex:Oiseaux .

SKOS possède deux relations d'association, « skos:closeMatch » et « skos:exactMatch », qui vous permettent de représenter une association entre différents concepts. « skos:closeMatch » indique que deux concepts sont suffisamment similaires et que les deux peuvent être utilisés de façon interchangeable, néanmoins, ce n'est pas transitif. Par exemple, nous pouvons dire que les concepts « Volatiles » et « Oiseaux » sont étroitement liés :

ex:Oiseaux  rdf:type        skos:Concept ;
skos:prefLabel  "oiseaux"@fr ;
skos:closeMatch  ex:Volatiles .

Enfin, « skos:exactMatch » représente un niveau de similarité plus élevé puisque les deux concepts reliés ont le même sens. Cette relation, contrairement à la précédente, est transitive. Par exemple, admettons qu'il existe un autre thésaurus SKOS identifié par « ex2 » contenant le concept « Birds », nous pouvons les lier :

ex:Oiseaux  rdf:type        skos:Concept ;
skos:prefLabel  "oiseaux"@fr ;
skos:closeMatch  ex:Volatiles ;
skos:exactMatch  ex2:Birds .

V - Conclusion

Nous avons vu une introduction à SKOS afin que vous puissiez voir son intérêt et surtout faire la différence avec OWL. Ainsi maintenant vous ne devriez plus faire de confusions entre les deux. Néanmoins, ce tutoriel n'est pas exhaustif quant aux possibilités offertes par SKOS. Il s'agit d'un minimum et je vous renvoie vers la norme W3C pour en apprendre davantage.

VI - Remerciements

Merci à Yoan Chabot pour ses petits conseils de rédaction ainsi qu'à Didier Mouronval et Claude Leloup pour leur relecture orthographique.