SKOS Applications -- Wiki Draft
Discussions about SKOS often make reference to "applications". This document is intended to provide a description of what a SKOS Application might be, and whether particular applications should be considered in or out of scope when considering descriptions of application behaviour in the documentation.
Status of this Document
This is a wiki draft, for internal use by the W3C Semantic Web Deployment Working Group (SWDWG). It is subject to change without notice, and has no formal status within any W3C process.
SKOS is a vocabulary for representing concept schemes. As such, SKOS itself is not an application. Rather, applications may consume or produce vocabularies represented using SKOS. Many of the SKOS Use Cases are centered around applications. For example, Use Case #3 describes an application that supports semantic search across multilingual thesauri in the agriculture domain. This is thus an application that consumes a SKOS vocabulary and uses it to provide some service or functionality to the user -- in this case search across thesauri.
There are many different applications that may consume or produce SKOS, including:
- SKOS repositories
- SKOS based retrieval tools
- SKOS based annotation tools
- SKOS vocabulary browsers
- SKOS vocabulary editors
It is unreasonable for the SKOS documents to prescribe general application behaviour. However, we can provide a clear specification of a particular class of applications, which we will call SKOS Vocabulary Checkers.
The SKOS Reference describes a number of "semantic conditions" which should hold for SKOS vocabularies. For example, skos:prefLabel, skos:altLabel and skos:hiddenLabel are Disjoint Properties. In other words, if a resource is annotated with both a skos:prefLabel and a skos:hiddenLabel, the literals used should be different. If not, the condition has been violated. Two questions arise:
- Are "SKOS Applications" expected to check for violation of these
- semantic conditions?
- If conditions are violated, what should an application do?
SKOS Vocabulary Checker
A SKOS Vocabulary Checker takes a document as input and returns either Valid or Invalid. The return value MUST conform with the following:
Valid: The document is a SKOS document and does not violate any of the SKOS semantic conditions.
Invalid: The document violates one or more of the SKOS semantic conditions.
A SKOS Vocabulary Checker SHOULD report network errors occurring during the computation of the imports closure of the document.