Metadata expressed with SKOS

The metadata we consider is mostly represented using SKOS, a popular RDF vocabulary and SKOSXL, a SKOS extensions for labels.

About SKOS and RDF

SKOS and RDF make the data suited for usage in linked data applications.

An advantage of using RDF in general and SKOS/SKOSXL in particular is that every term is unambiguously defined by a Uniform Resource Identfier (URI), rather than by some possibly ambiguous textual annotation (label). Linked data applications refer to a term using its URI. Terms are machine readable.

Below we give a short overview for what's applicable from SKOS/SKOSXL to our metadata. We use the usual prefixes skos: for http://www.w3.org/2004/02/skos/core# and skosxl: for http://www.w3.org/2008/05/skos-xl#.

Concepts

All terms in our metadata are defined as skos:Concepts.

Labels and short labels

Labels

Each skos:Concept in our metadata has exactly one skos:prefLabel in Dutch. It's the primary name assigned to it.

All skos:Concepts have as many skos:altLabels in Dutch as secondary names were assigned to it.

This GrapQL-LD query fetches the skos:prefLabel and optional skos:altLabels for a given concept:

{
  TYPE(_:Concept)
  id(_:ID) @single
  prefLabel @single
  altLabel @optional
}

Short labels

Available from v2 onwards

In some cases, it is practical to have a label, shorter than the fully qualified skos:prefLabel assigned to a concept. A practical example is the concept <https://w3id.org/onderwijs-vlaanderen/id/structuur/secundair-2e-graad-doorstroom-aso>. Its skos:prefLabel is "secundair 2e graad finaliteit doorstroom aso". A practical short label in this case is "aso".

A short label is added to a concept as a skosxl:altLabel property, whose object is a skosxl:Label, of type <http://publications.europa.eu/resource/authority/label-type/SHORTLABEL>. The short label value is in its skosxl:literalForm property.

Below we use following shorthands to describe this:

shorthand meaning
c a skos:Concept that gets a short label
l a sksxl:Label added for this purpose

The skos:Concept links to a skosxl:Label:

The skosxl:Label is of the specific type and has the short label:

The above GrapQL-LD query can be extended to also fetch the optional short label:

{
  TYPE(_:Concept)
  id(_:ID) @single
  prefLabel @single
  altLabel @optional
  altLabelXl @single @optional {
    dctType(_:SHORTLABEL) @single
    literalForm @single
  }
}

Definitions

Some (but not all) skos:Concepts in our metadata have one skos:definition in Dutch. The definition indicates unambiguously what is meant with the given term.

ConceptSchemes and collections

A skos:Concept belongs to one or more skos:ConceptScheme.

A skos:Concept is member of zero, one or more skos:Collections.

For our metadata, we use skos:Collection membership to group skos:Concepts and we do not focus on the skos:ConceptScheme a skos:Concept is in. This allows us to add terms later in new skos:ConceptSchemes without breaking the logic in use in the API.

Collection membership for our metadata is illustrated in our graphical overview.

Linking concepts with SKOS relations

How the links described below are used for our metadata is illustrated in our graphical overview.

Below we use following shorthands for some concepts:

shorthand meaning
h<x> a concept located in a hierarchy (*)
x, y any concept

(*) if <x> is a number, it indicates the level in the hierarchy (1 = highest level)

Hierarchical links

Each concept is linked to the applicable concept(s) exactly one level higher in the hierarchy by means of the skos:broader relation:

The implied transitive relations are implemented as well:

All implied inverse relations are implemented as well:

Non-hierarchical links

To link concepts in a non-hierarchical way, the skos:related relation is used:

The implied symmetrical realation is implemented as well: