Vocabularies in iSamples are used to provide discrete labels that help to categorize samples. The vocabularies are generally hierarchical in nature with a top level broad concept and progressively narrower concepts. Relationship between the concepts are defined using the Simple Knowledge Organization System (SKOS) common data model.
Herein skos
refers to http://www.w3.org/2004/02/skos/core#
A vocabulary as used in iSamples is an RDF graph composed of one instance of skos:ConceptScheme
and one or more instances of skos:Concept
.
One or more of the skos:Concept
instances should include a skos:topConceptOf
predicate, the object of which is the skos:ConceptScheme
for the vocabulary. If a skos:Concept
does not include a skos:topConceptOf
predicate, then it should contain a skos:inScheme
predicate that refers to the skos:ConceptScheme
instance.[1]
A skos:Concept
instance that does not include a skos:topConceptOf
predicate must include a skos:broader
predicate, the object of which is an instance of skos:Concept
with a broader definition.
Each skos:Concept
instance must include a skos:prefLabel
and should include a skos:definition
that provides a clear textual description of the concept.[2]
Example. A minimal vocabulary that defines two concepts "thing" and "living_thing" within the vocabulary <https://example.net/my/minimal/vocabulary>
.
A vocabulary extension is used to augment an existing vocabulary, typically by adding more narrowly construed concepts ("narrower terms").
In iSamples, a vocabulary extension is a vocabulary where the skos:ConceptScheme
instance includes a skos:inScheme
predicate that refers to the skos:ConceptScheme
of the vocabulary being extended. This is used programmatically to identify the vocabulary being extended and to help ensure that skos:Concept
instances directly or indirectly extend the base vocabulary.
An extension vocabulary must include one or more instances of skos:Concept
. Each instance must have a skos:broader
predicate. Following a path of skos:broader
properties must lead to a skos:Concept
that is a skos:topConceptOf
the base vocabulary directly or indirectly referred to by the skos:inScheme
property of the skos:ConceptScheme
instance of the extension vocabulary.
Example. An extension vocabulary that extends <https://example.net/my/minimal/vocabulary>
with a single concept.
In many cases it is desireable to cross reference vocabulary concepts with concepts defined elsewhere. There are several skos
predicates describing semantic and mapping relations that can be helpful for describing the relationships between terms and vocabularies. These include:
skos:narrower
skos:related
skos:broaderTransitive
skos:narrowerTransitive
skos:closeMatch
skos:exactMatch
skos:broadMatch
skos:narrowMatch
skos:relatedMatch
The containing vocabulary may be inferred by traversing semantic relations such as skos:broader
to find a semantically related concept that includes skos:inScheme
or skos:topConceptOf
, but including skos:inScheme
with each concept provides a more explicit construct for consumers. ↩︎
Only one skos:prefLabel
and one skos:definition
per language is permitted. ↩︎