SKOS, the Simple Knowledge Organisation System, is a common data model for sharing controlled vocabularies such as code lists, thesauri, and taxonomies via the Web in a machine-readable format. Recently, six new controlled vocabularies, specified as part of the Asset Description Metadata Schema v1.00 (ADMS), have been published on the Web using the SKOS vocabulary.
The Asset Description Metadata Schema (v1.00) (ADMS) proposes six new controlled vocabularies (see Section 6), and specifies for each vocabulary and term corresponding purl.org term URIs (see Annex I):
- Asset Type: e.g. “domain model”, “schema”, “taxonomy”;
- Interoperability Level: e.g. “legal interoperability”, “organisational interoperability”, “semantic interoperability”, and “technical interoperability”;
- Licence Type: e.g. "attribution", and "no derivative work";
- Publisher Type: e.g. “company”, and “national authority”;
- Representation Technique: e.g. “UML”, “XML Schema”, “Schematron”, “OWL”; and
- Status: e.g. “completed”, and “under development”.
These six controlled vocabularies have been published as “Linked Data” on the Web using the data model of the Simple Knowledge Organisation System (SKOS).SKOS is a lightweight RDF vocabulary that allows representing the terms in a controlled vocabulary as instances of the class skos:Concepts. SKOS also defines properties for multi-lingual labels (skos:prefLabel), associated codes (skos:notation), and definitions (skos:definition). The publication of controlled vocabularies represented in SKOS on the Web brings the following advantages:
- De-referencing: the principles of Linked Data requires each term in the controlled vocabulary to be identified by a corresponding term URI based on the HTTP protocol. The term “Taxonomy” in the “Asset Type” scheme has for example the following term URI: <http://purl.org/adms/assettype/Taxonomy>. This means that when someone else encounters such a URI, he can look up its meaning by entering the URI in the address bar of his browser. This is called de-referencing. This is simple yet powerful feature of the Web.
- Machine-readability: In the example of “Taxonomy”, the user can use the term URI to retrieve both a machine-readable and human-readable file containing definitions, labels, and related concepts for this term expressed in SKOS. SKOS is a W3C Recommendation and commonly used representation format for controlled vocabularies. Well-known controlled vocabularies such as EuroVoc have been expressed using an ontology that extends SKOS.
- Multilingualism: SKOS allows to associate labels and definitions in multiple languages to any concept. This means that we can associate the labels “taxonomie”@FR, “Taxonomie”@DE, or “taxonomia”@PT to the concept identified with URI http://purl.org/adms/assettype/Taxonomy to include the French, German, and Portuguese labels. At the moment, only English is available, but the ADMS Working Group is seeking help in translating these SKOS labels and definitions in multiple languages.
The remainder of this document explains how these controlled vocabularies have been published on the Web as SKOS vocabularies. This has been done in three steps:
- Represent the controlled vocabularies in SKOS;
- Publish the SKOS file on the Web; and
- Create the purl.org URIs with HTTP 303 forwarding.
1. Represent the Controlled Vocabularies with SKOS
The table below contains an excerpt of the controlled vocabulary “Asset Type” defined in the ADMS specification v1.00. This has been expressed in SKOS (you can download the full RDF-XML and Turtle files here) using the following SKOS classes, relationships, and properties:
- skos:ConceptScheme: The six ADMS controlled vocabularies can be represented as instances of the class skos:ConceptScheme. For example, the controlled vocabulary “Asset Type” with URI <http://purl.org/adms/assettype/1.0> is a skos:ConceptScheme.
- skos:Concept: each term within a controlled vocabulary can be represented as an instance of the class skos:Concept. For example, the term “Domain Model” with URI < http://purl.org/adms/assettype/DomainModel > is a skos:Concept.
- skos:hasTopConcept: the relationship “skos:hasTopConcept” associates a concept scheme with the top-level concepts within it. The concept scheme “asset type” has the concept “domain” as a top-level concept.
- skos:inScheme: the relationship “skos:inScheme” expresses to which concept scheme(s) a particular concept belongs. The concept “domain” belongs to the concept scheme “Asset Type”
- skos:definition: the property “skos:definition” allows addition a textual definition for the terms in a controlled vocabulary.
- skos:notation: the property “skos:notation” allows linking a concept to a particular code.
- skos:prefLabel: the property “skos:prefLabel” allows associating preferred labels to a concept in multiple languages. To denote the language of a label, it is represented as a language-tagged string. SKOS also allows defining alternative labels for a concept.
A core component is a context-free semantic building block for creating clear and meaningful data models, vocabularies, and information exchange packages [UN/CEFACT CCTS ].
A domain model is a conceptual view of a system or an information exchange that identifies the entities involved and their relationships [NIEM Glossary ].
The above-listed concepts translate to the following SKOS triples.
<http://purl.org/adms/assettype/1.0> rdf:type skos:ConceptScheme ;
rdfs:label "Asset Type"@en ;
<http://purl.org/adms/assettype/CoreComponent> rdf:type skos:Concept ;
skos:notation "CoreComponent"^^string ;
skos:definition " A core component is a context-free semantic building block for creating clear and meaningful data models, vocabularies, and information exchange packages [UN/CEFACT CCTS ]."@en ;
skos:prefLabel "Core Component"@EN ;
skos:inScheme <http://purl.org/adms/assettype/1.0> .
<http://purl.org/adms/assettype/DomainModel> rdf:type skos:Concept ;
skos:notation "DomainModel"^^string ;
skos:definition "A domain model is a conceptual view of a system or an information exchange that identifies the entities involved and their relationships [NIEM Glossary ]."@EN ;
skos:prefLabel "Domain Model"@en ;
skos:inScheme <http://purl.org/adms/assettype/1.0> .
The SKOS wiki page maintained by W3C lists a number of tools that allow creating SKOS files. Listpoint.co.uk, the Code List Management Service, provides a free online editor for managing codelists and taxonomies on the Web and exporting them as SKOS RDF files. The Poolparty Thesaurus Manager also provides suitable software for maintaining large multilingual taxonomies and exporting them as SKOS RDF. Mondeca’s ITM tool also allows managing large thesauri collaboratively and has built-in support for SKOS.
2. Publish the SKOS file on the Web
The next step was to publish the SKOS representation in RDF-XML and Turtle syntax on the Web. The URIs in the ADMS controlled vocabularies are defined on the purl.org domain. Purl.org provides a Persistent URL (PURL) service since 1999 [Purl.org]. This service can used to create, modify, and delete PURLs that act as permanent identifiers of Web resources, allowing the underlying Web addresses to change over time without negatively impact on the systems that use these identifiers. The PURLs created on the purl.org naming service can be forwarded to any location on the web. It is therefore is possible to publish these files on any publicly accessible location on the Web. The Turtle and RDF examples are published on the following locations on Joinup:
3. Register PURLs on purl.org with HTTP 303 forwarding
The ADMS v1.00 specification defines “slash URIs” containing a trailing slash “http://purl.org/adms/”. Following the guidelines set out in the document “Cool URIs for the Semantic Web” (COOL), it is necessary to forward these URIs using HTTP 303 “See other” forwarding to the RDF file on the Web. In total 78 PURLs have been created for the ADMS Controlled vocabularies, including the following:
Nature of documentation: Technical report