# Simple Knowledge Organization System

SKOS (siglas de Simple Knowledge Organization System) es una iniciativa del W3C en forma de aplicación de RDF que proporciona un modelo para representar la estructura básica y el contenido de esquemas conceptuales como listas encabezamientos de materia, taxonomías, esquemas de clasificación, tesauros y cualquier tipo de vocabulario controlado. El origen del proyecto se remonta a la elaboración de un tesauro de actividades dentro del proyecto SWAD-Europe2. La primera versión de SKOS Core se presentó en el año 2003.

## Introducción

En SKOS los conceptos se identifican con referencias URI. Estos conceptos pueden etiquetarse en cadenas de texto en uno o varios idiomas, documentarse y estructurarse a través de relaciones semánticas de diversa tipología. Este modelo permite mapear conceptos de diferentes esquemas, así como definir colecciones ordenadas y agrupaciones de conceptos. También permite establecer relaciones entre las etiquetas asociadas a los conceptos.
El uso de RDF en el desarrollo de SKOS permite obtener documentos en un formato que permita su lectura por parte de aplicaciones informáticas, así como su intercambio y su publicación en la Web. SKOS se ha diseñado para crear nuevos sistemas de organización o migrar los ya existentes adaptándolos a su uso en la Web Semántica de forma fácil y rápida. Proporciona un vocabulario muy sencillo y un modelo intuitivo que puede ser utilizado conjuntamente con OWL o de forma independiente. Por todo ello, SKOS se considera como un paso intermedio, un puente entre el caos resultante del bajo nivel de estructuración de la Web actual y el riguroso formalismo descriptivo de las ontologías definidas con OWL.

## El modelo de SKOS

El modelo de datos SKOS es en realidad una ontología definida con OWL Full. Obviamente, al estar basado en RDF, SKOS estructura los datos en forma de tripletas que pueden ser codificadas en cualquier sintaxis válida para RDF. SKOS puede ser utilizado conjuntamente con OWL para expresar formalmente estructuras de conocimiento sobre un dominio concreto ya que SKOS no puede realizar esta función al no tratarse de un lenguaje para la representación de conocimiento formal. El conocimiento descrito de manera explícita como una ontología formal se expresa como un conjunto de axiomas y hechos. Pero un tesauro o cualquier tipo de esquema de clasificación no incluye este tipo de afirmaciones, sino que identifica y describe (con el lenguaje natural o expresiones no formales) ideas o significados a los que nos referimos como conceptos. Estos conceptos pueden organizarse en estructuras que carecen de una semántica formal y que no pueden considerarse como axiomas o hechos. Es decir, un tesauro únicamente proporciona un mapa intuitivo de como están organizados los temas dentro de procesos de clasificación y búsqueda de objetos (generalmente documentos) relevantes a un dominio específico.
Para convertir un tesauro o esquema de clasificación en conocimiento formal, debe transformarse en una ontología, un proceso que resulta muy costoso. En efecto, transformar la estructura de un tesauro en una ontología OWL conlleva un gran esfuerzo ya que una ontología no proporciona un modelo de datos que se pueda aplicar fácilmente. Esto sucede porque los tesauros se han desarrollado sin una semántica formal, fundamentalmente como herramientas que ayudan en la navegación o en la recuperación de información.
No obstante, resulta factible aplicar OWL para construir un modelo de datos (en este caso concreto SKOS) que sea apropiado al nivel de formalización exigido por un tesauro. De esta forma, los conceptos de un tesauro se modelan como entidades en el modelo de datos SKOS y las relaciones entre conceptos como hechos sobre dichas entidades.
Los elementos del modelo SKOS son esencialmente clases y propiedades. La estructura e integridad del modelo de datos están definidas por las características lógicas y por las relaciones entre dichas clases y propiedades. Para SKOS, un sistema de organización del conocimiento se expresa en términos de conceptos que se estructuran en relaciones para conformar esquemas de conceptos. Tanto los conceptos como los esquemas de conceptos se identifican mediante URIs.
Los conceptos pueden ser etiquetados en cualquier idioma. Un concepto puede tener asociadas múltiples etiquetas, pero solo una de ellas por cada idioma puede asociarse como etiqueta preferente. El resto de etiquetas asociadas al concepto se denominan etiquetas alternativas. También pueden definirse etiquetas ocultas con la finalidad de asignar a un concepto etiquetas que solo serían aplicables en los procesos de búsqueda e indización sin que sean visibles para los usuarios.
Es posible asignar a los conceptos códigos de clasificación o de identificación dentro de un esquema conceptual determinado. Estas notaciones no están expresadas en lenguaje natural sino en forma de códigos nemotécnicos o similares. Los conceptos también pueden ser documentados con notas de diferente naturaleza como definiciones, notas de alcance o notas de edición entre otras.
El modelo SKOS contempla el establecimiento de enlaces entre conceptos denominados relaciones semánticas. Estas relaciones pueden ser jerárquicas o asociativas, contemplándose la posibilidad de ampliar la tipología de relaciones. Los conceptos también pueden agruparse en colecciones que a su vez pueden etiquetarse y ordenarse. SKOS se complementa con la posibilidad de que conceptos de diferentes esquemas se pueden mapear entre sí empleando relaciones jerárquicas, asociativas o de equivalencia exacta.

## Vocabulario de SKOS

Conceptos y esquemas de conceptos
* skos:Concept
* skos:ConceptScheme
* skos:inScheme
* skos:hasTopConcept
Etiquetas léxicas
* skos:prefLabel
* skos:altLabel
* skos:hiddenLabel
Relaciones semánticas
* skos:semanticRelation
* skos:broaderTransitive
* skos:narrowerTransitive
* skos:broader
* skos:narrower
* skos:related
Documentación
* skos:note
* skos:scopeNote
* skos:historyNote
* skos:changeNote
* skos:definition
* skos:editorialNote
* skos:example
Colecciones de conceptos
* skos:Collection
* skos:OrderedCollection
* skos:member
* skos:memberList
Propiedades de mapeado
* skos:mappingRelation
* skos:exactMatch
* skos:broadMatch
* skos:narrowerMatch
* skos:relatedMatch
Notaciones
* skos:notation

## Ejemplo de SKOS

Ejemplo de uso de SKOS y su codificación mediante RDF/XML