SKOS is an RDF/OWL vocabulary. The SKOS schema defines
skos:Concept
is defined as an OWL class:
skos:Concept rdf:type owl:Class . ex:Painting rdf:type skos:Concept .
Thus, instances of skos:concept
(e.g. ex:Painting
in a art vocabulary) are in OWL terms individuals. This raises the question
whether a SKOS instance such as ex:Painting
can be
treated as a class in its own right. For example, can users define
properties of ex:painting
such as ex:title
:
ex:title rdf:type owl:DatatypeProperty . ex:title rdfs:domain ex:Painting .
One might ask the question: why would someone want to do this? Well,
conceptually a class such as skos:Concept
is a metaclass:
its instances are the concepts occurring in a vocabulary. So, it is
conceivable that SKOS users want to specify class-level characteristics
of SKOS concepts, for example that paintings have titles or that cheese
has a country of origin.
It should be pointed out that
SKOS does not take a stance with respect to the flavor of
OWL to be used together with SKOS.
OWL Full users will be able to handle the situation above by treating
skos:Concept
explicitly as a metaclass, e.g. by adding
the statement of the form:
skos:Concept rdfs:subClassOf owl:Class .
In OWL Full owl:Class
and
rdfs:Class
are equivalent, so using the latter would have
had the same meaning.
Instances of owl:Class
are classes, so we can treat
ex:Painting
now as both a class and an individual. OWL
Full does not require the sets of classes and individuals to be
disjoint. People who wish to use the DL flavor of OWL cannot use the
metamodeling mechanism, as the disjointness condition between classes
and individuals must hold for any OWL DL ontology. It However, it
should be pointed out that the (at the time of writing) recently
started OWL 1.1 Working Group is chartered to handle (some forms of forms of
metamodelling) within a description-logic framework.
Summarizing, the relationship between SKOS concepts and OWL classes/individuals is as follows: