SKOS Vocabularies
Note
Derived from canonical docs/CONVENTIONS.md in the dfo-salmon-ontology repo.
When to use SKOS
Use SKOS for controlled values, code lists, and terminology schemes where you need consistent labels and lightweight hierarchy.
Use OWL (not SKOS) when you need class-level logical reasoning.
Required pattern for a SKOS concept
a skos:Conceptskos:prefLabel "..."@enskos:inScheme :YourScheme- recommended:
skos:definition "..."@en rdfs:isDefinedBy <https://w3id.org/gcdfo/salmon>
Optional:
skos:altLabelskos:broader/skos:narrower/skos:relatedskos:notationfor machine code (typed literal)IAO:0000119anddcterms:sourcefor provenance
Template example
ex:DFOCode a rdfs:Datatype .
:SonarCounting a skos:Concept ;
skos:inScheme :EnumerationMethodScheme ;
skos:prefLabel "Sonar counting"@en ;
skos:definition "Counting fish using active acoustic methods."@en ;
skos:notation "ESC-001"^^ex:DFOCode ;
rdfs:isDefinedBy <https://w3id.org/gcdfo/salmon> .
Common mistakes to avoid
- putting machine codes into
skos:prefLabel - forgetting
skos:inScheme - using SKOS concepts as OWL classes in logical axioms
- adding multiple
skos:prefLabelvalues for the same language