# Simple Knowledge Organization System

Simple Knowledge Organization System (SKOS) is a W3C recommendation designed for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is part of the Semantic Web family of standards built upon RDF and RDFS, and its main objective is to enable easy publication and use of such vocabularies as linked data.

## History
### DESIRE II project (1997–2000)

The most direct ancestor to SKOS was the RDF Thesaurus work undertaken in the second phase of the EU DESIRE project. Motivated by the need to improve the user interface and usability of multi-service browsing and searching, a basic RDF vocabulary for Thesauri was produced. As noted later in the SWAD-Europe workplan, the DESIRE work was adopted and further developed in the SOSIG and LIMBER projects. A version of the DESIRE/SOSIG implementation was described in W3C's QL'98 workshop, motivating early work on RDF rule and query languages: A Query and Inference Service for RDF.

### LIMBER (1999–2001)

SKOS built upon the output of the Language Independent Metadata Browsing of European Resources (LIMBER) project funded by the European Community, and part of the Information Society Technologies programme. In the LIMBER project CCLRC further developed an RDF thesaurus interchange format which was demonstrated on the European Language Social Science Thesaurus (ELSST) at the UK Data Archive as a multilingual version of the English language Humanities and Social Science Electronic Thesaurus (HASSET) which was planned to be used by the Council of European Social Science Data Archives CESSDA.

### SWAD-Europe (2002–2004)

SKOS as a distinct initiative began in the SWAD-Europe project, bringing together partners from both DESIRE, SOSIG (ILRT) and LIMBER (CCLRC) who had worked with earlier versions of the schema. It was developed in the Thesaurus Activity Work Package, in the Semantic Web Advanced Development for Europe (SWAD-Europe) project. SWAD-Europe was funded by the European Community, and part of the Information Society Technologies programme. The project was designed to support W3C's Semantic Web Activity through research, demonstrators and outreach efforts conducted by the five project partners, ERCIM, the ILRT at Bristol University, HP Labs, CCLRC and Stilo. The first release of SKOS Core and SKOS Mapping were published at the end of 2003, along with other deliverables on RDF encoding of multilingual thesauri and thesaurus mapping.

### Semantic web activity (2004–2005)

Following the termination of SWAD-Europe, SKOS effort was supported by the W3C Semantic Web Activity in the framework of the Best Practice and Deployment Working Group. During this period, focus was put both on consolidation of SKOS Core, and development of practical guidelines for porting and publishing thesauri for the Semantic Web.

### Development as W3C Recommendation (2006–2009)

The SKOS main published documents — the SKOS Core Guide, the SKOS Core Vocabulary Specification, and the Quick Guide to Publishing a Thesaurus on the Semantic Web — were developed through the W3C Working Draft process. Principal editors of SKOS were Alistair Miles, initially Dan Brickley, and Sean Bechhofer.
The Semantic Web Deployment Working Group, chartered for two years (May 2006 – April 2008), put in its charter to push SKOS forward on the W3C Recommendation track. The roadmap projected SKOS as a Candidate Recommendation by the end of 2007, and as a Proposed Recommendation in the first quarter of 2008. The main issues to solve were determining its precise scope of use, and its articulation with other RDF languages and standards used in libraries (such as Dublin Core).

### Formal release (2009)

On August 18, 2009, W3C released the new standard that builds a bridge between the world of knowledge organization systems – including thesauri, classifications, subject headings, taxonomies, and folksonomies – and the linked data community, bringing benefits to both. Libraries, museums, newspapers, government portals, enterprises, social networking applications, and other communities that manage large collections of books, historical artifacts, news reports, business glossaries, blog entries, and other items can now use SKOS to leverage the power of linked data.

### Historical view of components

SKOS was originally designed as a modular and extensible family of languages, organized as SKOS Core, SKOS Mapping, and SKOS Extensions, and a Metamodel. The entire specification is now complete within the namespace http://www.w3.org/2004/02/skos/core#.

## Overview

In addition to the reference itself, the SKOS Primer (a W3C Working Group Note) summarizes the Simple Knowledge Organization System.
The SKOS defines the classes and properties sufficient to represent the common features found in a standard thesaurus. It is based on a concept-centric view of the vocabulary, where primitive objects are not terms, but abstract notions represented by terms. Each SKOS concept is defined as an RDF resource. Each concept can have RDF properties attached, including:
* one or more preferred index terms (at most one in each natural language)
* alternative terms or synonyms
* definitions and notes, with specification of their language
Concepts can be organized in hierarchies using broader-narrower relationships, or linked by non-hierarchical (associative) relationships. Concepts can be gathered in concept schemes, to provide consistent and structured sets of concepts, representing whole or part of a controlled vocabulary.

### Element categories

The principal element categories of SKOS are concepts, labels, notations, documentation, semantic relations, mapping properties, and collections. The associated elements are listed in the table below.
SKOS Vocabulary Organized by Theme :
| Concepts | Labels & Notation | Documentation | Semantic Relations | Mapping Properties | Collections |
| Concept | prefLabel | note | broader | broadMatch | Collection |
| ConceptScheme | altLabel | changeNote | narrower | narrowMatch | orderedCollection |
| inScheme | hiddenLabel | definition | related | relatedMatch | member |
| hasTopConcept | notation | editorialNote | broaderTransitive | closeMatch | memberList |
| topConceptOf | | example | narrowerTransitive | exactMatch | |
| | | historyNote | semanticRelation | mappingRelation | |
| | | scopeNote | | | |

### Concepts

The SKOS vocabulary is based on concepts. Concepts are the units of thought—ideas, meanings, or objects and events (instances or categories)—which underlie many knowledge organization systems. As such, concepts exist in the mind as abstract entities which are independent of the terms used to label them. In SKOS, a Concept (based on the OWL Class) is used to represent items in a knowledge organization system (terms, ideas, meanings, etc.) or such a system's conceptual or organizational structure.
A ConceptScheme is analogous to a vocabulary, thesaurus, or other way of organizing concepts. SKOS does not constrain a concept to be within a particular scheme, nor does it provide any way to declare a complete scheme—there is no way to say the scheme consists only of certain members. A topConcept is (one of) the upper concept(s) in a hierarchical scheme.

### Labels and notations

Each SKOS label is a string of Unicode characters, optionally with language tags, that are associated with a concept. The prefLabel is the preferred human-readable string (maximum one per language tag), while altLabel can be used for alternative strings, and hiddenLabel can be used for strings that are useful to associate, but not meant for humans to read.
A SKOS notation is similar to a label, but this literal string has a datatype, like integer, float, or date; the datatype can even be made up (see 6.5.1 Notations, Typed Literals and Datatypes in the SKOS Reference). The notation is useful for classification codes and other strings not recognizable as words.

### Documentation

The Documentation or Note properties provide basic information about SKOS concepts. All the properties are considered a type of skos:note; they just provide more specific kinds of information. The property definition, for example, should contain a full description of the subject resource. More specific note types can be defined in a SKOS extension, if desired. A query for <A> skos:note ? will obtain all the notes about <A>, including definitions, examples, and scope, history and change, and editorial documentation.
Any of these SKOS Documentation properties can refer to several object types: a literal (e.g., a string); a resource node that has its own properties; or a reference to another document, for example using a URI. This enables the documentation to have its own metadata, like creator and creation date.
Specific guidance on SKOS documentation properties can be found in the SKOS Primer Documentary Notes.

### Semantic relations

SKOS semantic relations are intended to provide ways to declare relationships between concepts within a concept scheme. While there are no restrictions precluding their use with two concepts from separate schemes, this is discouraged because it is likely to overstate what can be known about the two schemes, and perhaps link them inappropriately.
The property related simply makes an association relationship between two concepts; no hierarchy or generality relation is implied. The properties broader and narrower are used to assert a direct hierarchical link between two concepts. The meaning may be unexpected; the relation <A> broader <B> means that A has a broader concept called B—hence that B is broader than A. Narrower follows in the same pattern.
While the casual reader might expect broader and narrower to be transitive properties, SKOS does not declare them as such. Rather, the properties broaderTransitive and narrowerTransitive are defined as transitive super-properties of broader and narrower. These super-properties are (by convention) not used in declarative SKOS statements. Instead, when a broader or narrower relation is used in a triple, the corresponding transitive super-property also holds; and transitive relations can be inferred (and queried) using these super-properties.

### Mapping

SKOS mapping properties are intended to express matching (exact or fuzzy) of concepts from one concept scheme to another, and by convention are used only to connect concepts from different schemes. The concepts relatedMatch, broadMatch, and narrowMatch are a convenience, with the same meaning as the semantic properties related, broader, and narrower. (See previous section regarding the meanings of broader and narrower.)
The property relatedMatch makes a simple associative relationship between two concepts. When concepts are so closely related that they can generally be used interchangeably, exactMatch is the appropriate property (exactMatch relations are transitive, unlike any of the other Match relations). The closeMatch property that indicates concepts that only sometimes can be used interchangeably, and so it is not a transitive property.

### Concept collections

The concept collections (Collection, orderedCollection) are labeled and/or ordered (orderedCollection) groups of SKOS concepts. Collections can be nested, and can have defined URIs or not (which is known as a blank node). Neither a SKOS Concept nor a ConceptScheme may be a Collection, nor vice versa; and SKOS semantic relations can only be used with a Concept (not a Collection). The items in a Collection can not be connected to other SKOS Concepts through the Collection node; individual relations must be defined to each Concept in the Collection.

## Community and participation

All development work is carried out via the mailing list which is a completely open and publicly archived mailing list devoted to discussion of issues relating to knowledge organisation systems, information retrieval and the Semantic Web. Anyone may participate informally in the development of SKOS by joining the discussions on public-esw-thes@w3.org – informal participation is warmly welcomed. Anyone who works for a W3C member organisation may formally participate in the development process by joining the Semantic Web Deployment Working Group – this entitles individuals to edit specifications and to vote on publication decisions.

## Applications

* Some important vocabularies have been migrated into SKOS format and are available in the public domain, including EuroVoc, AGROVOC and GEMET. Library of Congress Subject Headings (LCSH) also support the SKOS format.
* SKOS has been used as the language for the thesauri used in the SWED Environmental Directory developed in the SWAD-Europe project framework.
* A way to convert thesauri to SKOS, with examples including the MeSH thesaurus, has been outlined by the Vrije Universiteit Amsterdam.
* Subject classification using DITA and SKOS has been developed by IBM.
* SKOS is used to represent geographical feature types in the GeoNames ontology.

## Tools

* Unilexicon is a web based visual editor and taxonomy manager for authoring controlled vocabularies with tagging integration and JSON API. Its primary visualisation uses hyperbolic tree.
* ThesauRex is an open-source, web-based SKOS editor. It is limited to broader/narrower relations among concepts and offers tree-based interaction and with thesauri and drag&drop creation of new thesauri based on a master thesaurus.
* Mondeca's Intelligent Topic Manager (ITM) is a full-featured SKOS-compliant solution for managing taxonomies, thesauri, and other controlled vocabularies.
* Opentheso is an open source web-based thesaurus management system compliant with ISO 25964:2011 and ISO 25964-2:2012 standards (Information and Documentation. Thesauri and Interoperability with other vocabularies). It offers SKOS and csv exports and imports, REST and SOAP web services and manages persistent identifiers (ARK). It has been developed at the French National Center for Scientific Research since 2007. It is currently used by the French archaeological libraries network Frantiq and by research teams and by the Hospices Civils de Lyon as a collaborative thesaurus management tool. It can be downloaded on github.
* OpenSKOS is a web service-based approach to publication, management and use of vocabulary data that can be mapped to SKOS. Its source code is available on GitHub. It includes CRUD like RESTful operations on SKOS concepts and a web-based editor for searching and editing concepts. It was developed by Picturae and funded by the Dutch heritage fond CATCHPlus.
* TemaTres Vocabulary Server is an open source web-based vocabulary server for managing controlled vocabularies, taxonomies and thesauruses and other formal representations of knowledge. TemaTres provides complete export of vocabularies into SKOS-core in addition to Zthes, TopicMaps, MADS, Dublin Core, VDEX, BS 8723, SiteMap, SQL and text.
* ThManager is a Java open-source application for creating and visualizing SKOS vocabularies.
* The W3C provides an experimental on-line validation service.
* Vocbench is an open-source, web-based RDF/OWL/SKOS/SKOS-XL editor developed by a collaboration between the Food and Agriculture Organization (FAO) of the United Nations, the University of Rome Tor Vergata and the Malaysian research centre MIMOS. It supports the FAO's multilingual agricultural thesaurus AGROVOC, among other resources of FAO and the European Community.
* SKOS files can also be imported and edited in RDF-OWL editors such as Protégé, SKOS Shuttle and TopBraid Composer.
* SKOS synonyms can be transformed from WordNet RDF format using an XSLT style sheet; see W3C RDF
* PoolParty is a commercial-quality thesaurus management system and a SKOS editor for the Semantic Web including text analysis functionalities and Linked Data capabilities.
* qSKOS is an open-source tool for performing quality assessment of SKOS vocabularies by checking against a quality issue catalog.
* SKOSEd is an open source plug-in for the Protégé 4 OWL ontology editor that supports authoring SKOS vocabularies. SKOSEd has an accompanying SKOS API written in Java that can be used to build SKOS-based applications.
* Model Futures SKOS Exporter for Microsoft Excel allows simple vocabularies to be developed as indented Excel spreadsheets and exported as SKOS RDF. BETA version.
* Lexaurus is an enterprise thesaurus management system and multi-format editor. Its extensive API includes full revision management. SKOS is one of its many supported formats.
* SKOS Shuttle is a thesaurus management service which allows users to import, maintain, process and synchronize thesauri in SKOS using also special extensions of SKOS.
* TopBraid Enterprise Vocabulary Net (EVN) and TopBraid Enterprise Data Governance (EDG) are web-based solutions that support development and management of interconnected controlled vocabularies such as taxonomies, thesauri, business glossaries and ontologies. SKOS and SKOS-XL are supported.
* Thesaurus Master, for creating, developing, and maintaining taxonomies and thesauri, is part of Access Innovations' Data Harmony knowledge management software line. It offers SKOS-compliant export.
* Fluent Editor 2014 – an ontology editor which allows users to work and edit directly OWL annotations and SKOS. Annotations will be processed also for referenced ontologies as well as imported/exported to OWL/RDF and can be processed on the server.
* Smartlogic Semaphore Ontology Editor – a SKOS and SKOS-XL based ontology editor which allows creating models based strictly on the SKOS standards.

## Data

There are publicly available SKOS data sources.
* SKOS Datasets wiki The W3C recommends using this list of publicly available SKOS data sources. Most data found in this wiki can be used for commercial and research applications.

## Relationships with other standards
### Metamodel

The SKOS metamodel is broadly compatible with the data model of ISO 25964-1 – Thesauri for Information Retrieval. This data model can be viewed and downloaded from the website for ISO 25964.

### Thesaurus standards

SKOS development has involved experts from both RDF and library community, and SKOS intends to allow easy migration of thesauri defined by standards such as NISO Z39.19 – 2005 or ISO 25964.

### Other semantic web standards

SKOS is intended to provide a way to make a legacy of concept schemes available to Semantic Web applications, simpler than the more complex ontology language, OWL. OWL is intended to express complex conceptual structures, which can be used to generate rich metadata and support inference tools. However, constructing useful web ontologies is demanding in terms of expertise, effort, and cost. In many cases, this type of effort might be superfluous or unsuited to requirements, and SKOS might be a better choice. The extensibility of RDF makes possible further incorporation or extension of SKOS vocabularies into more complex vocabularies, including OWL ontologies.