Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Ontology Naming Policy


Namespace (example)

Entity IRIs should be contructed in this format:

{schema}/{data set short identifier}/{ID as present in data set} (example)

Use of singular is preferred to establish consistency.

Graph IRIs should end with a /.

The COY global namespace is:


Denote classes in UpperCamelCase.

Subclasses can use the name of the super class as suffix.

Singular is also preferred for class names.



Names should be expressive but should not include class or property.


Denote relations in lowerCamelCase and prefixe them with has or is.

If there is a relation <> inverse-relation pair, the inverse relation should be prefixed with is and suffixed with Of.




As with classes, subrelations should use the name of the super relation as suffix.

Best Practices

Mandatory annotations are labels rdfs:label and descriptions rdfs:comment.

Use of blank nodes is strongly discouraged.

Do not model redundant reverse relations, one direction is sufficient to traverse the graph.

Use xsd:dateTime for timestamps and UTC as timezone.

Use geo:hasGeometry for spatial relations and an additional geo:asWKT annotation to store coordinates.

Properties should have one value for each domain and range.

Synonyms when naming classes and properties should be avoided.

Use UUIDs or ULIDs when randomly assining URIs, which should be avoided if possible.

Recursion should be avoided.

Use common languages like OWL, RDFS or SHACL.

Pursue creating a core and enhancing domain parts.

For domain specific content, linking to established vocabularies is encouraged.

When importing classes from other ontologies, use skos:prefLabel to denote labels in accordance with this naming policy.

Specify the language of all annotations, eg. [language: en].

Do not create the object property is because it already exists in OWL, RDFS and RDF.

Regular verification and refactoring if names or concepts are reused.

An ontology should be defined as a owl:Ontology and should include metadata like rdfs:comment, dct:creator, rdfs:label, owl:versionInfo, dct:modified, owl:priorVersion and properties from PURL.