# Simple Knowledge Organization System

SKOS ou Simple Knowledge Organization System (« système simple d'organisation des connaissances ») est une recommandation du W3C publiée le 18 août 2009 pour représenter des thésaurus documentaire, classifications ou d'autres types de vocabulaires contrôlés ou de langages documentaires. S'appuyant sur le modèle de données RDF, son principal objectif est de permettre la publication facile de vocabulaires structurés pour leur utilisation dans le cadre du Web sémantique.
Le développement de SKOS a impliqué des acteurs à la fois de la communauté RDF et des experts en Science de l'information. SKOS cherche à être le plus compatible possible avec les standards tels ceux des thésaurus, monolingues ou multilingues.
Les représentations conceptuelles réalisées à l'aide de SKOS peuvent être utilisées par des systèmes d'information fermés, mais aussi, dans la perspective du Web sémantique, être publiés sur le Web et alignées avec d'autres systèmes d'organisation de connaissances, de façon à rendre ces différents langages plus interopérables.

## Historique
### SWAD Europe (2002-2004)

SKOS a d'abord été un produit du projet SWAD-Europe, un projet financé par la Communauté européenne, dans le cadre du programme Technologies de la Société de l'Information. Le projet avait pour but de soutenir l'activité Web sémantique du W3C. Les premières publications de « SKOS core » et « SKOS mapping » datent de 2003, parmi d'autres livrables concernant par exemple l'encodage RDF des thésaurus multilingues et les correspondances entre thésaurus.

### Activité web sémantique (2004-2009)

À la fin du projet SWAD-Europe, le travail sur SKOS a été relayé par l'activité web sémantique du W3C dans le cadre d'un groupe de travail sur les bonnes pratiques et le déploiement des standards RDF. Pendant cette période, l'effort a porté sur la consolidation du noyau de SKOS, et le développement de conseils pratiques pour la migration et la publication de vocabulaires existants dans ce format.
Différents documents de travail ont été publiés pendant cette période dont on peut retrouver trace sur le site officiel de SKOS à la rubrique Historique des travaux du groupe de travail W3C SKOS. Le mandat du groupe de travail a été étendu de mai 2006 à avril 2008 avec comme objectif d'atteindre le statut de Recommandation W3C.
Différentes versions de travail du document de référence ont été publiées entre 2005 et 2008 pour aboutir en août 2009, au document ayant statut de recommandation W3C. Un document de travail SKOS Primer, est proposé en accompagnement du document de référence.

## Composants
### Concepts, Schémas de concepts et Collections

SKOS définit les classes et propriétés suffisantes à la représentation des thésaurus standards, c'est-à-dire des listes de termes d'un domaine centré sur la présentation des relations linguistiques entre les différents termes de ce domaine. Conformément au point de vue « concept-centrique » du vocabulaire caractéristique de RDF, les objets primitifs ne sont pas des termes linguistiques, mais des concepts abstraits. Les termes les dénotant dans les différents langages deviennent dans ce formalisme des propriétés de ces concepts.
Un « concept SKOS » est ainsi défini comme une ressource RDF, donc identifiée par une URI.
À chaque concept peuvent être attachés des propriétés RDF :
* au maximum un terme préférentiel par langue ;
* des synonymes, avec spécification possible de la langue ;
* des définitions et notes, avec spécification possible de la langue ;
* d'autres concepts par des relations « générique-spécifique », ou par des relations associatives, comme pour les termes d'un thésaurus.
Les concepts peuvent être regroupés dans des « schémas de concepts » (ou « agrégations de concepts »), qui représentent un thésaurus ou une nomenclature entière. Par ailleurs les schémas de concepts peuvent contenir, outre des concepts, des objets de type « Collection », permettant de regrouper un sous-ensemble de concepts. Les Collections SKOS répondent à deux cas d'usage : la séparation d'un thésaurus en sous-parties (micro-thésaurus), ou la gestion des « facettes » dans un thésaurus.

### Propriétés d'alignement

Les propriétés d'alignement proposées dans SKOS permettent d'exprimer des correspondances (exactes ou approximatives) entre concepts provenant de systèmes d'organisation de connaissances différents.
Les applications gérant des structures de concepts peuvent comparer les concepts et déclarer une relation d'équivalence entre deux concepts. Le schéma distingue une identité exacte skos:exactMatch (ex. : ex1:personne skos:exactMatch ex2:être humain) ou proche skos:closeMatch. Si la correspondance et la relation sont plus complexes, celles-ci sont exprimables par l'emploi des autres relations skos:broadMatch, skos:narrowMatch, skos:relatedMatch.

### Caractérisation des termes : SKOS-XL

SKOS-XL est un appendice de la recommandation SKOS permettant de décrire les termes comme des ressources à part entière. Là où SKOS seul permet d'exprimer des propriétés et des relations au niveau de concepts abstraits, SKOS-XL permet d'exprimer des assertions et des relations entre termes, du type <FAO> <est l'acronyme de> <Food and Agriculture Organization>. L'utilisation de SKOS-XL reste facultative.

## Mise en œuvre

Élémentairement, SKOS est conçu pour décrire une ressource conceptuelle en énumérant les caractéristiques de chacun des concepts qu'elle comporte : le concept prend rang de sujet du triplet RDF et est déclaré comme concept par la valeur donnée à rdf:type : skos:Concept, comme dans l'exemple : <http://www.example.com/encyclopédie> rdf:type skos:Concept.
Le concept, une fois caractérisé comme tel, est associé à au moins une chaîne de caractère lexicale le désignant dans le contexte d'utilisation ; des termes alternatifs (synonymes, cacographie) complètent cette description linguistique (attributs : skos:prefLabel, skos:altLabel et skos:hiddenLabel).
Une fois un concept décrit par ces premiers attributs, il est explicité par ses relations à d'autres concepts à l'aide de la propriété skos:semanticRelation et ses propriétés dérivées. De la même manière qu'au niveau des attributs précisant les termes, ces propriétés sont particulièrement prévues pour représenter les relations sémantiques au cœur des thésaurus (hiérarchiques avec skos:broader et skos:narrower, et non-hiérarchiques avec skos:related).
Ensuite, la propriété skos:note et ses dérivées autorisent les compléments d'information rencontrés dans les thésaurus (note d'application, définition, note historique ou éditoriale, etc.).
Deux autres propriétés permettent au besoin comme dans le cas des thésaurus, de décrire et d'organiser l'ensemble des concepts décrits en une structure de concepts skos:ConceptScheme caractérisant la ressource comme une structure dont les concepts majeurs seront repérés à l'aide de skos:hasTopConcept.
Des collections de concepts permettent de regrouper des concepts, d'établir des listes (skos:memberList) composés de membres (skos:member), voire de les ordonner (skos:OrderedCollections).

## Relations avec les ontologies OWL

Les vocabulaires SKOS sont conçus pour être intégrés dans des environnements sémantiques utilisant d'autres vocabulaires RDF, comme le langage d'ontologie OWL. Ce dernier est conçu pour exprimer des structures conceptuelles complexes et riches (ontologies) supportant des fonctions logiques de contrôle de cohérence ou d'inférence. Toutefois, construire des ontologies utiles est un effort coûteux nécessitant un niveau d'expertise élevé. Dans beaucoup de cas où un tel effort est impossible ou inadapté, SKOS propose une voie économique et moins difficile de transition vers les technologies sémantiques. L'extensibilité inhérente à RDF rend possible une extension ultérieure ou une intégration des vocabulaires SKOS à des vocabulaires plus complexes, y compris des ontologies OWL.
Le document SKOS Reference définit la classe skos:Concept comme une classe OWL (skos:Concept rdf:type owl:Class). OWL apparait donc comme le méta-modèle dans lequel sont définies les classes et propriétés du langage SKOS, et une instance de skos:Concept est, au sens de OWL, un « Individual ». C'est une distinction essentielle entre une structure de concepts et une ontologie. La structure est destinée avant tout à faciliter une circulation cohérente dans un domaine et ses dimensions, alors que l'ontologie inventorie les types d'éléments (classes) qui peuvent y être rencontrés en fournissant de surcroît des informations sur les éléments individuels possibles (instances). Aussi, compte tenu de la proximité des moyens mis en œuvre (triplets RDF ; termes identiques ; hiérarchies homologues ; graphes ; etc.) dans les deux cas, il est important de limiter la confusion entre les deux modèles de données, chacun pouvant être légitimement exploité pour ses caractéristiques propres au sein d'une application mixte.

## Exemples
### Migration au format SKOS

Des vocabulaires de référence ont été migrés au format SKOS et sont disponibles au public.
* Les premières versions historiques de SKOS ont été utilisées pour l'expression des thésaurus utilisés par le portail environnemental SWED dans le cadre du projet SWAD-Europe, suivis des thésaurus multilingues AGROVOC publié par la FAO, et GEMET publié par l'Agence européenne pour l'environnement.
* La Bibliothèque du Congrès a publié son vocabulaire Library of Congress Subject Headings en SKOS en mai 2009. Le vocabulaire peut être téléchargé librement, et chaque concept est défini par une URI conforme aux exigences de sa réutilisation dans le cadre du web sémantique.
* Le vocabulaire RAMEAU édité par la BNF a été porté en SKOS dans le cadre du projet européen TelPlus, lui-même une brique du projet de bibliothèque numérique européenne Europeana. Dans ce même cadre ont été également migrés en SKOS le vocabulaire SWD de la Bibliothèque nationale allemande, et les correspondances entre ces deux vocabulaires et le LCSH.
* Le Service interministériel des archives de France (SIAF) publie le Thésaurus pour la description et l'indexation des archives locales anciennes, modernes et contemporaines en XML/SKOS. 4 collections sont téléchargeables librement : Contexte historique, Actions, Thésaurus-matières, Typologie documentaire.
* IBM a développé l'utilisation de SKOS avec le standard DITA.
* CSA/NBII Biocomplexity Thesaurus Web Services. Thésaurus de la biocomplexité et services Web associés.

### Assistance sémantique à la recherche syntaxique

Avec SKOS, il est possible d'intégrer un thésaurus à un système d'information, au point de le rendre invisible aux utilisateurs. L'utilisateur bénéficie ainsi d'une assistance sémantique à la recherche syntaxique dans la base documentaire par une interface entre le vocabulaire utilisateur et le vocabulaire spécialisé (vocabulaire métier). Une mise en œuvre possible consiste à proposer de façon itérative les concepts clés du thésaurus SKOS en réponse aux mots clés choisis par l'utilisateur, éventuellement dans d'autres langues que la sienne ; une liste de mots clés affinée est ensuite soumise au système de recherche syntaxique.

## Outils de gestion
### Editeurs ou générateurs

* Intelligent Topic Manager (ITM) de Mondeca est une solution destinée à la gestion des référentiels d'entreprises. Il permet de gérer de manière unifiée des terminologies métier, des thésaurus, des taxonomies, un dictionnaire de métadonnées.
* Le wiki du groupe de travail W3C SKOS propose une page de liens vers des outils consacrés à SKOS. On y trouve en particulier :
    - ThManager, un outil open source pour la création et la visualisation de vocabulaires SKOS RDF, une application Java Open Source
    - PoolParty, un système de gestion de thésaurus à usage professionnel, incluant un éditeur SKOS, des fonctionnalités de fouille de textes et de liaison au Web des données
* Lexaurus et Thesaurus Master de Data Harmony, deux systèmes de gestion de thésaurus proposent, entre autres formats de diffusion, SKOS.
* Tematres, un outil web open source pour gérer des vocabulaires contrôlés, des taxonomies et des thesaurus multilingues. Permet un export complet au format SKOS-core en plus des formats Zthes, TopicMaps, MADS, Dublin Core, VDEX, BS 8723, SiteMap, SQL et texte.
* TopBraid Enterprise Vocabulary Net (EVN), prend en charge de façon totalement intégrée, tous les attributs SKOS standard ainsi que les relations hiérarchiques, associatives et d'équivalence.
* Modèles Microsoft Excel pour exporter des données en SKOS à partir de fichiers Excel structurés (version bêta).
* Un plugin SKOS pour l'éditeur Protégé est également disponible.
* GINCO (Gestion Informatisée de Nomenclatures Collaboratives et Ouvertes) est un projet open source du Ministère de la Culture et de la Communication (France) permettant de gérer des nomenclatures et de les exporter au format SKOS.
* Opentheso est un logiciel libre de gestion de thésaurus multilingue, développé par la plateforme Web sémantique et thésauri à la Maison de l’Orient et de la Méditerranée Jean Pouilloux (FR 3747, Lyon), qui intègre les imports et les exports au format SKOS (RDF, JSON, JSON-LD ou Turtle).

### Validateurs et autres outils

* Le site du W3C propose un service expérimental de validation en ligne.
* qSkos est un outil de validation et de contrôle qualité des thésaurus exprimés en SKOS.
* SKOS Reader est un outil développé par la société Mondeca, permettant la visualisation et l'impression d'un fichier SKOS dans les formats classiques du thésaurus (liste alphabétique, liste permutée, etc.)
* SKOS Play est un service gratuit de visualisation de thésaurus, taxonomies ou vocabulaires contrôlés au format SKOS, permettant de générer des pages HTML, des documents PDF ou des représentations graphiques.