diff --git a/DataDictionary-TabularOverview.txt b/DataDictionary-TabularOverview.txt new file mode 100644 index 0000000..a582c9b --- /dev/null +++ b/DataDictionary-TabularOverview.txt @@ -0,0 +1,11 @@ +[[13]](#source13) OBO Foundry (2021): Derived registry files - context file for the generation of rdf-based ontology metadata. URL: , (last access: 04 April 2024). +[[14]](#source14) Dutta, B., Toulet, A., Emonet, V. and Jonquet, C. (2017): New Generation Metadata vocabulary for Ontology Description and Publication. In E. Garoufallou, S. Virkus, R. Siatri and D. Koutsomiha (eds.): *Communications in Computer and Information Science (CCIS) 755, proceedings of 11th Metadata and Semantics Research Conference (MTSR 2017), November 28 - December 1, 2017, Tallinn, Estonia*. Springer Nature, pp. 173-185. URL: (last access: 04 April 2024). +[[15]](#source15) Pierre-Yves Vandenbussche & Bernard Vatant (2021): Metadata Recommendations For Linked Open Data Vocabularies - Version 1.1. URL: (last access: 04 April 2024). +[[16]](#source16) Robert Stevens et al. (2017): MIRO – Minimum Information for Reporting of an Ontology. URL: (last access: 04 April 2024). +[[17]](#source17) Daniel Garijo & María Poveda-Villalón (2023): A checklist for complete vocabulary metadata - Revision 1.0.2. URL: (last access: 04 April 2024). +[[18]](#source18) Daniel Garijo & María Poveda-Villalón (2020): Best Practices for Implementing FAIR Vocabularies and Ontologies on the Web. *ArXiv.org.* URL: (last access: 04 April 2024). +[[19]](#source19) E. Amdouni, S. Bouazzouni, C. Jonquet (2022): O'FAIRe: Ontology FAIRness evaluator - FAIR questions. URL: (last access: 04 April 2024). +[[20]](#source20) Cox, Simon J. D. et al. (2021): Ten simple rules for making a vocabulary FAIR. *PLOS Computational Biology 17(6)*, pp. 1-15. URL: (last access: 04 April 2024). +[[21]](#source21) Fuqi Xu et al. (2022): Features of a FAIR vocabulary. In: Katy Wolstencroft et al. (eds.): *Proceedings of the 13th International Conference on Semantic Web Applications and Tools for Health Care and Life Sciences (SWAT4HCLS)* (= CEUR Workshop Proceedings 3127). Aachen, 118-148. URL: (last access: 04 April 2024). +[[22]](#source22) Charles Tapley Hoyt (2024): Bioregistry JSON Schema. URL (latest): , URL (v0.10.190): (last access: 04 April 2024). +[[23]](#source23) Schema.Org Community Group (n/a): DefinedTermSet. A Schema.org Type. URL: (last access: 04 April 2024). \ No newline at end of file diff --git a/DummyOntoFAILS.ttl b/DummyOntoFAILS.ttl new file mode 100644 index 0000000..a64b082 --- /dev/null +++ b/DummyOntoFAILS.ttl @@ -0,0 +1,16 @@ +@base . +@prefix : . +@prefix owl: . +@prefix rdf: . +@prefix xml: . +@prefix xsd: . +@prefix rdfs: . +@prefix skos: . +@prefix dcterms: . +@prefix dc: . + + + rdf:type owl:Ontology ; +dcterms:license . + + a owl:Class . \ No newline at end of file diff --git a/DummyOntoPASSES.owl b/DummyOntoPASSES.owl new file mode 100644 index 0000000..44a2942 --- /dev/null +++ b/DummyOntoPASSES.owl @@ -0,0 +1,87 @@ +@base +@prefix : . +@prefix owl: . +@prefix rdf: . +@prefix xml: . +@prefix xsd: . +@prefix rdfs: . +@prefix skos: . +@prefix dcterms: . +@prefix dc: . +@prefix vann: . +@prefix mod: . +@prefix adms: . +@prefix doap: . +@prefix premis: . +@prefix schema: . +@prefix pav: . +@prefix idot: . +@prefix sssom: . + +#Mandatory metadata + rdf:type owl:Ontology ; + dcterms:title "The English name of the ontology"@en , "Der deutsche Name der Ontologie"@de ; + vann:preferredNamespacePrefix "DOP"^^xsd:string ; + mod:acronym "DOP"^^xsd:string ; + dcterms:license ; + dc:creator ; + owl:versionIRI ; + dcterms:created "2023-08-31T10:15:00"^^xsd:dateTime ; + dcterms:modified "2023-08-31T10:19:00"^^xsd:dateTime ; + owl:versionInfo "0.1.0"^^xsd:string ; + adms:versionNotes "A description of changes between last version and current version of the ontology."@en ; + dcterms:description "A short description of the scope and contents of the ontology."@en ; + doap:bug-database ; + premis:documentation ; + +#Recommended metadata + dcterms:contributor <0000-0000-0000-0000> ; + #contact data missing - won't add + schema:funder ; + doap:audience "DummyOntoPASSES has been developed for ontology engineers to demonstrate ontology metadata recommendations by TIB Terminology Service. It can be used with the TIB Terminology Service Ontology Metadata Shape in SHACL validators and should trigger no violations or warnings."@en ; + dcterms:subject ; + schema:inLanguage ; + mod:hasFormalityLevel "The DummyOntoPASSES aplies OWL2 EL (cf. https://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#OWL_2_EL)"@en ; + ; + "active"@en ; + doap:repository ; + ; + ; + dcterms:isReferencedBy ; + dcterms:bibliographicCitation "TIB (2023): DummyOntoPASSES. An ontology demonstrating rich ontology metadata. PURL: https://www.purl.org/ontologymetadata/DummyOntoPASSES."@en ; + pav:derivedFrom ; + ; + + +#Optional metadata + dcterms:abstract "The ontology is about...."@en ; + dcterms:alternative "An alternative title of the ontology,e.g. a working title for the ontology draft."@en ; + idot:alternatePrefix "dop01" ; + owl:priorVersion ; + schema:version ; + owl:backwardCompatibleWith ; + owl:incompatibleWith ; + ; + dcterms:type ; + ; + "[0-9]+" ; + dcterms:format ; + ; + dcterms:publisher , ; + rdfs:comment "Some remark about the ontology."@en ; + ; + ; + ; + ; + "Visual Studio Code"@en; + ; + [sssom:mapping_set_id ;] ; + ; + "name of an ontology engineering methodology or description of the applied ontology"@en ; + vann:preferredNamespaceUri ; + +# not yet categorized + dcterms:issued "2003-08-11T00:00:00"^^xsd:dateTime +. + + a owl:Class . \ No newline at end of file diff --git a/MetadataGuide.html b/MetadataGuide.html new file mode 100644 index 0000000..f5544ea --- /dev/null +++ b/MetadataGuide.html @@ -0,0 +1,2928 @@ + + + +MetadataGuide.md + + + + + + + + + + + + +

Ontology metadata recommendations by TIB

+

Document status: DRAFT

+

Modification date: 2024-04-22

+

Creators and contributors:

+ + +

License: CC BY 4.0 Deed Attribution 4.0 International

+
+

Table of contents

+
    +
  1. Executive summary
  2. +
  3. Why Ontology Metadata? + +
  4. +
  5. How to read this document + +
  6. +
  7. Mandatory Metadata + +
  8. +
  9. Recommended Metadata + +
  10. +
  11. Optional Metadata + +
  12. +
  13. Tabular overview - recommendations
  14. +
  15. Relations to related work
  16. +
  17. Sources
  18. +
+
+

0. Executive summary

+

The number of ontology registries, archives and catalogues has increased over time. There are multiple services that list and also index ontologies. The registry entries of such services usually require the metadata of the ontologies they index, in order to make the ontologies findable and to provide users with general introductory information about the ontologies and their reuse. Registries currently face several problems, though:

+
    +
  • It is not yet standard procedure to provide rich ontology metadata despite efforts towards increasing the FAIRness of semantic resources [1], [2], in particular legacy ontologies may not be updated with rich metadata.
  • +
  • Metadata may be provided in unstructured form outside of the ontology source which makes their collection difficult.
  • +
  • Different registries may provide structured, open metadata documents for the same ontology which may at some point become incongruous with the source data.
  • +
  • Currently, no standard metadata schema for ontologies exists.
  • +
+

In order to avoid these problems, metadata management should be part of the ontology engineering process: The metadata of an ontology should be part of the ontology's code base or the ontology itself. This would make the ontology resp. its code base the single source of truth for its own metadata.

+

It is therefore mandatory that an ontology provides its own metadata with machine-understandable semantics and established terms from metadata ontologies and controlled vocabularies. The metadata need to be as or even more persistent than the ontology itself. Principle R1 of the FAIR principles [1] furthermore recommends to not just provide metadata that allow the discovery of an ontology (e.g. title, ontology prefix, authors), but to add metadata that richly describe the contents of the ontology and the conditions of its creation and use (cf. 1.2 Why ontology metadata?).

+

With this document, TIB - Leibniz Information Centre for Science and Technology University Library provides a practical guide for metadata management of ontologies. It gives recommendations on required, recommended and optional metadata for ontologies. As there are currently several recommendations available (cf. [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23]), this guide will provide recommendations on ontology metadata that particularly adress the publishing of ontologies on the TIB Terminology Service.

+

In addition, we provide shapes for SHACL validators based on these recommendations (cf. 2.2 Metadata validation with SHACL).

+

1 Ontology metadata

+

1.1 How to provide ontology metadata?

+

Ontology metadata must be provided in a machine-understandable format. We therefore recommend to provide them as a part of the ontology itself: The metadata should be statements about the ontology that use dedicated annotation, object or data properties, to guarantee a good level of granularity and distinguishability of the metadata.

+

If you provide metadata that are here considered as recommended or optional in a single file, you may add a statement using rdfs:seeAlso to point to that document. Ideally, this document should then be etrievable with a persistent identifier (PID) - e.g. a DOI or a PURL. However, we do not recommend this, especially if that document is not machine-understandable.

+

1.2 Why ontology metadata?

+

Providing rich, machine-understandable metadata for an ontology has many advantages for their users (cf. [1], [2]), e.g.:

+
    +
  • They give a rich description about the ontology including its provenance, scope and purpose.
  • +
  • They allow automatic extraction and indexing of the ontology by different services and reduce the effort of manual curation.
  • +
  • They enable others to reuse the ontology or its terms and apply them for their own purposes.
  • +
  • They indicate the current status of an ontology, distinguishing whether an ontology is still maintained by an active community or whether it is dormant.
  • +
  • They allow referencing other Web resources with persistent identifiers (e.g. resources with identifiers like DOI, ROR, ORCiD, RAiD, etc.).
  • +
  • They allow detailed requests about ontologies on the web.
  • +
  • They enable comparability and automated comparisons of ontologies.
  • +
  • They can be retrieved via APIs and used in many different services.
  • +
+
+

2 How to read this document

+

2.1 Chapter structure and wording

+

This guide tries to use clear wording to distinguish absolute requirements (must, required, mandatory) from either recommendations (should, recommended) or optional metadata (may, can, could, optional). The sub-sections will each give

+
    +
  • a short introduction to the metadatum
  • +
  • recommend a property
  • +
  • recommend controlled vocabularies where appropriate
  • +
  • provide examples in text/turtle serialization
  • +
  • list alternative properties that may also be used to provide the metadatum
  • +
  • specify SHACL validation rules (cf. section 2.2 Metadata validation with SHACL)
  • +
+

Subproperties to any properties mentioned will not be implied, but explicitly listed in the "alternative properties" part of each section.

+

2.2 Metadata validation with SHACL

+

This guide is a human-readable specification. In addition, we also provide a SHACL specification of these recommendations that can be used for data validation.

+

The shape can be used with SHACL validators to test ontologies for any violations of required metadata at TIB Terminology Service and to get suggestions for recommended metadata. We recommend the online SHACL validators SHACL Playground, SHACL Playground by Zazuko or SHACL Play! for performing evaluations. Turtle or json-ld are common input format. SHACL Play! also allows to use IRIs for shapes and ontologies.

+

The shape is available in a single file at https://www.purl.org/ontologymetadata/shape.

+

The shape can also be used to evaluate metadata of instances of skos:ConceptScheme. The instances of skos:ConceptScheme need to be declared as instances of owl:Ontology to trigger the shapes (cf. also section 4.6.2. SKOS Concept Schemes and OWL Ontologies of the SKOS Reference document).

+

2.3 Prefixes used in this document

+

Code examples will usually provide full IRIs of statement subjects and objects. Properties will be presented in prefixed notation. The table provides the prefix definitions:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
prefixnamespace
admshttp://www.w3.org/ns/adms#
bibohttp://purl.org/ontology/bibo/
dcathttp://www.w3.org/ns/dcat#
dctermshttp://purl.org/dc/terms/
doaphttp://usefulinc.com/ns/doap#
foafhttp://xmlns.com/foaf/0.1/
idothttp://identifiers.org/idot/
modhttps://w3id.org/mod#
obohttp://purl.obolibrary.org/obo/
omvhttp://omv.ontoware.org/2005/05/ontology#
owlhttp://www.w3.org/2002/07/owl#
pavhttp://purl.org/pav/
premishttp://www.loc.gov/premis/rdf/v3/
rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfshttp://www.w3.org/2000/01/rdf-schema#
schemahttps://schema.org/
shhttp://www.w3.org/ns/shacl#
vannhttp://purl.org/vocab/vann/
voidhttp://rdfs.org/ns/void#
xsdhttp://www.w3.org/2001/XMLSchema#
+

2.4 Acronyms

+ + + + + + + + + + + + + + + + + + + + + + + + + +
AcronymFull form
DOIDigital Object Identifier
IRIInternational Resource Identifier
PIDPersistent Identifer
RORResearch Organization Identifier
+
+

3 Mandatory metadata

+

Metadata in this section are mandatory for publishing an ontology at TIB Terminology Service. Ontologies missing these metadata will not be accepted.

+

3.1 Ontology title

+

Ontologies must state their own title. The title will be displayed on TIB Terminology Service, e.g. on each ontology's landing page, in search results or in ontology lists. The ontology must have at most one title per language. Ontology titles should be tagged for language.

+

Recommended property: http://purl.org/dc/terms/title

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:title "Some Ontology"@en . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:minCount 1
  • +
  • sh:uniqueLang true
  • +
+

3.2 Preferred ontology prefix/ acronym

+

The ontology must declare its preferred, unique prefix or a short acronym. The prefix/ acronym will be used on TIB Terminology Service's ontology list as a short name for the ontology. It must not contain hyphens or other special characters and should be written in lowercase.

+

You can check whether an ontology prefix is already in use on services like prefix.cc or Bioregistries.

+

Recommended property: http://purl.org/vocab/vann/preferredNamespacePrefix

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + vann:preferredNamespacePrefix "so"^^xsd:string . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype xsd:string
  • +
+

3.3 Ontology license

+

Ontologies must declare their license, referring to their license document via PID. The license text helps others to evaluate how they may reuse the ontology. Only ontologies with an open license will be published on TIB Terminology Service. Consider, for example, the list of licenses that are conformant with the Open Definition.

+

Recommended property: http://purl.org/dc/terms/license

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:license <http://creativecommons.org/licenses/by/4.0/> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • value must be from defined list of accepted licenses
  • +
  • value must not be from defined list of unaccepted licences
  • +
  • sh:maxCount 1
  • +
  • sh:minCount 1
  • +
+

3.4 Ontology creator(s)

+

The ontology must list its creators, i.e. the people or institutions who were responsible for its development. It is recommended to refer to a creator with a PID (e.g. ORCiD, Wikidata-ID, or ROR-ID). Plain name strings can be provided in addition for readability. If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. If no project or organisation PID is available, the respective name (rdf:langString) will also be accepted.

+

Recommended property: http://purl.org/dc/terms/creator

+

Example 1 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:creator <https://orcid.org/0000-0000-0000-0000> . +
+

Example 2 (text/turtle):

+
<https://www.purl.org/SomeOntology> <http://purl.org/dc/terms/creator> <https://orcid.org/0000-0000-0000-0000>. + +<https://orcid.org/0000-0000-0000-0000> rdf:type foaf:Person ; + <http://xmlns.com/foaf/0.1/firstName> "Max" ; + <http://xmlns.com/foaf/0.1/lastName> "Muster" . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:minCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

3.5 Ontology version IRI

+

Since the PURL of an ontology usually only points to the latest version of an ontology, each ontology must state its version IRI. A version IRI is a persistent identifier for a version of an ontology and is used to reliably retrieve this earlier version of the ontology. We recommended to use semantic versioning or OBO style date-based versioning [3].

+

Recommended property: http://www.w3.org/2002/07/owl#versionIRI

+

Example 1 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + owl:versionIRI <https://www.purl.org/SomeOntology/1.0.0> . +
+

Example 2 (text/turtle)

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + <http://www.w3.org/2002/07/owl#versionIRI> <https://www.purl.org/SomeOntology/2019-12-31> . +
+

Example 3 (text/turtle):

+
<http://purl.obolibrary.org/obo/pco.owl> rdf:type owl:Ontology ; + owl:versionIRI <http://purl.obolibrary.org/obo/pco/releases/2021-05-03/pco.owl> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
  • sh:minCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

3.6 Ontology creation date

+

The ontology must state the date of its first creation.

+

Recommended property: http://purl.org/dc/terms/created

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:created "2020-11-19T00:00:00"^^xsd:dateTime. +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype xsd:dateTime
  • +
  • sh:maxCount 1
  • +
  • sh:minCount 1
  • +
+

3.7 Ontology abstract

+

The ontology must describe its own contents and scope with a few words or sentences in order to inform human users what the ontology tries to accomplish. The abstract is displayed in the TIB Terminology Service ontology list and on the landing page of each ontology - we therefore recommend to keep it short. You can also provide abstracts in several languages (as an rdf:langString). You may provide only one abstract per language. Each abstract may be up to 500 characters long including spaces. We do not recommend to use markups (html, markdown) in the abstract since these are not supported by TIB Terminology Service. If you want to include a longer text about the ontology, you should include a description 5.1 Ontology description. For an extensive discussion about further aspects of the ontology (e.g. ontology creation, ontology use, ontology structure, etc.) we recommend the publication of a detailed documentation (cf. 3.9 Ontology documentation) or traditional academic article (cf. 4.13 Related resources).

+

Recommended property: http://purl.org/dc/terms/abstract

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:abstract "SomeOntology defines a range of classes and properties which can be applied to do stuff in a particular domain."@en , "SomeOntology definiert eine Reihe von Klassen und Properties, die in einer bestimmten Domäne verwendet werden können, um etwas damit zu tun."@de . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:maxLength 500
  • +
  • sh:minCount 1
  • +
  • sh:uniqueLang true
  • +
+

3.8 Ontology issue tracker

+

The ontology must point to the issue tracker of its own development environment so that others may report bugs or suggestions to the developers. Ideally, the development process of an ontology is open and takes place on platforms like GitLab.com that allow for version management with version control software like git.

+

Recommended property: http://usefulinc.com/ns/doap#bug-database

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + doap:bug-database <https://github.com/SomeOrganisation/SomeOntology/issues> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
  • sh:minCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

3.9 Ontology documentation

+

To familiarize interested others with the concepts and scope of your ontology, some kind of documentation must be provided. This is usually an external online document that should be referenced by the ontology via an IRI or more persistently with a PID. A relatively easy way to do this is to use the tool Widoco [4], [5]. It generates the documentation from the ontology and a resulting html-document can be published, for example with GitLab Pages. This auto-generated document can contain customized passages that provide users with a deeper understanding of the ontology. There are, however, other forms of ontology documentations: scientific articles, well-curtated README files in repositories, Wikis etc. Here, we recommend to choose the form which is most easily attainable by your working group or project. Here are some examples for ontology documentation:

+ +

The documentation of an ontology offers a lot of room to describe the ontology and provide detailed information about it to its readers. In fact, you may wonder whether it would be sufficient to provide a well-structured and well-readable text document - containing all the metadata suggested in this guide. Here, our answer is a clear no: Providing the metadata of your ontology in a machine-readable format, makes them much more re-usable (cf. sections 0. Executive summary and 1.2 Why ontology metadata).

+

Recommended property: http://www.loc.gov/premis/rdf/v3/documentation

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + premis:documentation <https://www.purl.org/SomeOntology/Documentation> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
  • sh:minCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+
+ +

In addition to mandatory metadata, we recommend providing a number of further helpful metadata.

+

4.1 Ontology contributor(s)

+

If you had help in developing the ontology, you should indicate this by listing contributors so that all participants receive proper credit for their efforts. If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. Persons and organisations shpuld be listed via PID, e.g. ORCiD or ROR.

+

Recommended property: http://purl.org/dc/terms/contributor

+

Example 1 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:contributor <https://orcid.org/0000-0000-0000-0000> . +
+

Example 2 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:contributor <https://orcid.org/0000-0000-0000-0000>. + +<https://orcid.org/0000-0000-0000-0000> rdf:type foaf:Person ; + foaf:firstName "Max" ; + foaf:lastName "Muster" . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.2 Ontology funder

+

The development of an ontology may rely on external funding and take place in a third-party funding project. Since funding institutions usually want to be credited, we highly recommend mentioning them in your ontology. The best way to do so is by referring to their ROR ID.

+

Recommended property: https://schema.org/funder

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + schema:funder <https://ror.org/018mejw64> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.3 Ontology funding

+

In addition to referencing the funding institution, you may be required to point to the specifc grant that enables the work on the ontology. We recommend to provide this information as an IRI, ideally a PID. We are aware, though, that PIDs for grants are not common, yet. We therefore also accept this information in the form of acknowledgement statements (rdf:langString) containing the grant number provided by the funding institution.

+ +

Recommended property: https://schema.org/funding

+

Example 1 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + schema:funding <https://doi.org/00.00000/000000000> . +
+

Example 2 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + schema:funding "The authors (Some Ontology Workgroup) would like to thank the Government of Some Country or Some Other Funding Institution for their funding and support within Some Funding Program (project number 123456789)."@en . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.4 Ontology audience description

+

Defining the target group of your ontology might be useful information for others when evaluating if and how they could reuse your ontology. You should describe the intended audience of the ontology. The audience description should be a short, language-tagged text.

+

Recommended property: http://usefulinc.com/ns/doap#audience

+

Examples (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + doap:audience "This ontology is intended for researchers in derivational morphology, a branch of linguistics. [...]"@en . +
+

See also audience description of NMRC at TIB Terminology Service or the audience description of CROPUSAGE at AgroPortal.

+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:maxCount 1
  • +
+

4.5 Ontology subject(s)

+

We recommend tagging the ontology with a subject from a controlled vocabulary to indicate which domain it belongs to or which subject it deals with. This information is helpful for terminology service and ontology registry providers: Subject tags from controlled vocabularies can be mapped to other controlled vocabularies that are the basis of filters and browsing functionalities of such services. Subject tags can help to make your ontology better findable and available for a wider audience.

+

Recommended property: http://purl.org/dc/terms/subject

+

Recommended controlled vocabularies:

+ +

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:subject <https://d-nb.info/gnd/4067537-3>, <https://d-nb.info/gnd/4070177-3>, <http://uri.gbv.de/terminology/bk/42.15>, <https://github.com/tibonto/dfgfo/201-03>. +
+

The TIB Terminology Service applies LinSearch labels for subject values, e.g.:

+
<https://www.purl.org/SomeOntology> dcterms:subject "Chemistry"^^xsd:string . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.6 Ontology annotation language(s)

+

If your ontology does not only provide formal semantics but also multi-lingual annotations for entities, you should provide information about the ontology annotation languages (e.g. for term labels, term definitions, etc.) in its metadata. At least one language should be provided, since at least one set of annotations is expected in a well-documented ontology. You should only claim that the ontology uses an annotation language, if all ontology elements or an extensive part of the ontology is annotaed in that languge.

+

Recommended property: http://purl.org/dc/terms/language

+

Recommended controlled vocabulary: http://id.loc.gov/vocabulary/iso639-2

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:language <http://id.loc.gov/vocabulary/iso639-2/eng>, <http://id.loc.gov/vocabulary/iso639-2/tgl> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
  • sh:pattern "(^http://id.loc.gov/vocabulary/iso639-2/[a-z]{3}$|^https://id.loc.gov/vocabulary/iso639-2/[a-z]{3}$)"
  • +
+

4.7 Applied logical framework

+

You should state which logical framework the ontology applies. The information can be given as a text, referring to the Semantic Web Standard (e.g. 'OWL 2') and possibly the OWL profile (e.g. 'OWL 2 EL profile').

+

Recommended property: https://w3id.org/mod#hasFormalityLevel

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + mod:hasFormalityLevel "OWL version 2, EL profile"@en . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:maxCount 1
  • +
+

4.8 Ontology serialization/ file format

+

You should state the ontology's serialization/ file format. The value should be provided as an IRI from the Media Types list of the Internet Assigned Number Authority (IANA) [6] or from the W3C resource Unique URIs for File Formats [7].

+

Recommended property: http://omv.ontoware.org/2005/05/ontology#hasOntologySyntax

+

Recommended controlled vocabularies:

+ +

In order to publish your ontology on the the TIB Terminology Service you must providde the ontology as one of the following media types:

+ +

Currently, there is no registered media type for obo format.

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + omv:hasOntologySyntax <http://www.w3.org/ns/formats/Turtle> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • value must be from a defined list
  • +
  • sh:maxCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

4.9 Ontology status

+

You should declare the current maintenance status of the ontology. You could use an English label to do so. We recommend using one of the values suggested by the OBO Foundry [8]. Ontologies are prone to link rot and sometimes left abandoned. If you cannot keep up the work on an ontology, this needs to be documented: Is your ontology retired? Is it still a draft? Or is it maintained by an active community?

+

Recommended property: http://purl.org/ontology/bibo/status

+

Recommended controlled vocabulary: https://obofoundry.org/docs/OntologyStatus.html

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + bibo:status "inactive"@en . + +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:maxCount 1
  • +
+

4.10 Ontology code repository

+

A code repository (e.g. on GitLab.com or GitHub.com) should be the development environment of your ontology. It should contain the source code of your ontology but may also be used to host your documentation, your issue tracker and may contain related resources like different distributions of your ontology, versions of your ontology, application examples, competency questions, discussions and decisions - in short: the entire history of your ontology should be located in a code repository.

+

Recommended property: http://usefulinc.com/ns/doap#repository

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + doap:repository <https://github.com/SomeOrganisation/SomeOntology> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

4.11 Ontology distributions/ products

+

There are different serializations available for ontologies but not all are parsable by any system: For example an ontology tool may be well prepared for rdf/xml but not so much for json-ld. It may help users of your ontology, if you provided IRIs to available alternative serializations or distributions of your ontology.

+

Recommended property: http://www.w3.org/ns/dcat#distribution

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology; + dcat:distribution <https://www.purl.org/SomeOntology.owl>, <https://www.purl.org/SomeOntology.json>, <https://www.purl.org/SomeOntology.ttl> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.12 Application example

+

How to use an ontology is often helpfully demonstrated by application examples and visualizations that give a glimpse about how the ontology can be used to structure actual data. If you have such application examples, these might be better found, if you link to them from the ontology. These application examples could be part of the ontology documentation, formal serializations applying the ontology or even technical applications that make use of the ontology.

+

Recommended property: https://vocab.org/vann/example

+

Example (text/turtle):

+
<http://www.w3.org/ns/dcat> rdf:type owl:Ontology ; + vann:example <https://www.w3.org/TR/vocab-dcat-2/#collection-of-examples> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+ +

Resources related to the ontology could be publications discussing the ontology, applications of the ontology or mapping files (see also section 5.17 Alignments/ mappings). If any such resources exist, you should mention them in the ontology. You may also point to other related resources, for example resources that are cited or were otherwise used to inform the ontology. We recommend using a permanent identifier, such as a DOI, of the referenced resource.

+

Recommended property: http://purl.org/dc/terms/references

+

Example:

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:references <http://doi.org/10.00000/some0.ontolo> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.14 Citation suggestion

+

You could give information on how you would like others to cite your ontologies. You may even provide structured metadata ready for import into citation management tools like Bibtex etc. Currently, there is no citation standard considering the citation of ontologies. We therefore recommend to provide at least the creators, the year of publication, the ontology title and to give the versionIRI as the access URL. In addition, you could also provide references to citable publications (cf. section 4.13 Related resources).

+

Recommended property: http://purl.org/dc/terms/bibliographicCitation

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:bibliographicCitation "Last name, first name; last name, first name et al. (YYYY): Ontology title. URL: https://w3id.org/SomeOntology/1.1.6 (last accessed: DD.MM.YYYY)"^^@en . +
+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology; + dcterms:bibliographicCitation "@misc{SomeOntology, title = \"Some Ontology\", author = \"Last name, first name and Last name, first name\", url = \"https://w3id.org/SomeOntology/1.1.6\",year = \"YYYY\",}"^^xsd:string . +
+

Alternative properties: n/a

+

SHACL validation rules: n/a

+

4.15 Ontology sources (derived from)

+

You should specify whether and from which other ontologies your ontology has been derived. The reference should be made by an owl:versionIRI of the ontology from which the current ontology has been derived.

+

Recommended property: http://purl.org/pav/derivedFrom

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology; + pav:derivedFrom <https://www.purl.org/SomeOtherOntology> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

4.16 Ontology root classes

+

You should explicitly declare the ontology's preferred root classes. Display tools like the TIB Terminology Service and other OLS-based services [9], [10] can pick specific, user-defined classes for rendering the ontology class hierarchy. This is especially helpful, when an ontology imports a lot of classes from other ontologies. The repsective classes need to be provided via their identifier.

+

Recommended property: http://purl.obolibrary.org/obo/IAO_0000700

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + obo:IAO_0000700 <https://www.purl.org/SomeOntology/class12345654544545> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+
+

5 Optional metadata

+

The metadata of an ontology can contain much more information than what has been suggested in sections 3 Mandatory metadata and 4 Recommended metadata so far. Perhaps, you will also find the following categories useful or informative enough to include them into your metadata.

+

At TIB Terminology Service all additional metadata will be displayed on the ontology landing page if available.

+

5.1 Ontology description

+

If you want to provide more information about the ontology than the few characters that fit into the ontology abstract, you may also provide a longer descriptive text. In a longer description you may, for example, provide more information about how and why the ontology was created, where it is used, how it will be updated and the like. For extensive discussions about further aspects of the ontology (e.g. ontology creation, ontology use, ontology structure, etc.) we recommend the publication of a detailed documentation (cf. 3.9 Ontology documentation) or traditional academic article (cf. 4.13 Related resources), instead of an ontology description.

+

Recommended property: https://schema.org/description

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology; + schema:description "Free text describing the ontology and how it came to be. Basically everything you might want to add and which does not fit into the abstract."@en . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:nodeKind sh:Literal
  • +
  • sh:uniqueLang true
  • +
+

5.2 Alternative ontology title

+

An alternative title for the ontology may provided, for example a former working title the ontology has been known by.

+

Recommended property: http://purl.org/dc/terms/alternative

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:alternative "My Ontology"@en . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
+

5.3 Alternative ontology prefix/ acronym

+

An alternative prefix for the ontology.

+

Recommended property: http://identifiers.org/idot/alternatePrefix

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:Type owl:Ontology ; + idot:alternatePrefix "mo"^^xsd:string . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:datatype xsd:string
  • +
+ +

When ontologies are developed on collaborative development platforms with version management software like GitLab.com or GitHub.com, it is relatively easy to maintain and keep all development and release versions of an ontology. Ontologies may therefore have multiple resolvable version IRIs. The different versions can relate to each other in different ways as discussed in the following sections.

+

5.4.1 Prior ontology version

+

An ontology may point back to one or more versions that were valid before the current version.

+

Recommended property: http://www.w3.org/2002/07/owl#priorVersion

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + owl:priorVersion <https://www.purl.org/SomeOntology/1.1.6> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+ +

A related resource of which the described resource is a version, edition, or adaptation. The contents of related versions of an ontology are not identical.

+

Recommended property: http://purl.org/dc/terms/hasVersion

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:hasVersion <https://www.purl.org/SomeOntology/1.1.6> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.4.3 Compatible ontology version

+

For application developers and other users, it may be useful to know whether a new version of your ontology is backward compatible with an older version of your ontology.

+

Recommended property: http://www.w3.org/2002/07/owl#backwardCompatibleWith

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + owl:versionIRI <https://www.purl.org/SomeOntology/1.1.7> ; + owl:backwardCompatibleWith <https://www.purl.org/SomeOntology/1.1.6> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.4.4 Incompatible ontology version

+

For application developers and other users, it may be useful to know whether a new version of your ontology is incompatible with an older version of your ontology.

+

Recommended property: http://www.w3.org/2002/07/owl#incompatibleWith

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + owl:versionIRI <https://www.purl.org/SomeOntology/1.1.7> ; + owl:incompatibleWith <https://www.purl.org/SomeOntology/1.1.6> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.5 Social media

+

If you toot about or otherwise promote your ontology on social media, it might be interesting for users to see on which platforms you are having accounts to follow your updates.

+

Recommended property: http://xmlns.com/foaf/0.1/holdsAccount

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology/1.1.7> rdf:type owl:Ontology ; + foaf:holdsAccount "myOnto@ontology.social"^^xsd:string . +
+

Alternative properties: n/a

+

SHACL validation rules: n/a

+

5.6 KOS type

+

You may want to additionally classify your ontology with a controlled value from the NKOS type vocabulary [11].

+

Recommended property: http://purl.org/dc/terms/type

+

Recommended controlled vocabulary: https://nkos.dublincore.org/nkostype/nkostype.rdf

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology/1.1.7> rdf:type owl:Ontology ; + dcterms:type <http://w3id.org/nkos/nkostype#ontology> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • value must be from a defined list
  • +
  • sh:maxCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

5.7 Example ontology identifier

+

Give an example for identifiers used in your ontology.

+

Recommended property: http://identifiers.org/idot/exampleIdentifier

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + idot:exampleIdentifier <https://www.purl.org/SomeOntology/1234-XY> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.8 Ontology identifier pattern

+

Identifiers for ontology classes, properties and individuals usually follow one specific pattern that can be summarized with a regular expression. In registries like Bioregistry this is usually provided as part of the ontology metadata.

+

Recommended property: http://identifiers.org/idot/identifierPattern

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + idot:identifierPattern "^\\d{4}-[A-Z]{2}$"^^xsd:string . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype xsd:string
  • +
  • sh:maxCount 1
  • +
+

5.9 Ontology homepage

+

The official homepage of your ontology. This is not necessarily the documentation website, but could be a general info page, which may also include documentation about the ontology.

+

Recommended property: http://xmlns.com/foaf/0.1/homepage

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology; + foaf:homepage <https://www.example.com/SomeOntologyInfo> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

5.10 Ontology publisher

+

The official publisher of the ontology. This might be the institution you are affiliated to. We recommend to refer to the institution via PIDs (e.g. ROR, ISNI, GND ID).

+

Recommended property: http://purl.org/dc/terms/publisher

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:publisher <https://isni.org/isni/0000000121746694> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
  • sh:pattern "https://d-nb.info/gnd/(|(1[012]?[0-9]{7}[0-9X]|[47][0-9]{6}-[0-9]|[1-9][0-9]{0,7}-[0-9X]|3[0-9]{7}[0-9X]))$"
  • +
  • sh:pattern "https://isni.org/isni/[0]{4}[0-9]{4}[0-9]{4}[0-9]{3}[0-9X]"
  • +
  • sh:pattern "https://ror.org/([a-z0-9]{9})"
  • +
+

5.11 Ontology comments

+

Any comments you would like to make about your ontology.

+

Recommended property: http://www.w3.org/2000/01/rdf-schema#comment

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + rdfs:comment "SomeOntology does not actually exist."@en . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
+

5.12 Example ontology class

+

You could provide an example class that is representative for the entities described in the ontology, for example demonstrating typical term annotations, editorial notes or axiomatic statements, deprecation notes etc.

+

Recommended property: http://rdfs.org/ns/void#exampleResource

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + void:exampleResource <https://www.purl.org/SomeClass> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.13 Ontology mailing list

+

Communication about the ontology may take place over a mailing list, e.g. regarding updates. If this is your way to communicate, the info should be part of your ontology.

+

Recommended property: http://usefulinc.com/ns/doap#mailing-list

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + doap:mailing-list <someontology@list.de> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
+ +

Links to official ontology logo or other visualizations/ diagrams of ontology elements online, e.g. WebVOWL visualizations and other graph views.

+

Recommended property: http://xmlns.com/foaf/0.1/logo

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + foaf:logo <https://www.example.com/MyOntoLogo.jpg> +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+ +

If your ontology has been published at an archive, you may want to declare these related identifiers in the ontology metadata.

+

Recommended property: http://purl.org/dc/terms/identifier

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:identifier <https://doi.org/10.5281/zenodo.0000000> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.16 Development environment

+

The software that was used to create the ontology.

+

Recommended property: http://purl.org/pav/createdWith

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + pav:createdWith "Protégé 4.8.8"^^xsd:string . +
+

Alternative properties:

+ +

SHACL validation rules: n/a

+

5.17 Alignments/ mappings

+

5.17.1 Aligned resources

+

The ontology may indicate to which other resource(s) it has been aligned or contains equivalences to.

+

Recommended property: https://w3id.org/mod#hasEquivalencesWith

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + mod:hasEquivalencesWith <https://www.purl.org/SomeOtherOntology> . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:nodeKind sh:IRI
  • +
+

5.17.2 Alignment files/ Mapping files

+

Alignments and mappings may not be included in the ontology document itself, but in a related resource (e.g. when following the SSSOM paradigm [12]). Accordingly, we recommend to treat mapping sets like related resources. The mapping set should be referenced via a PID or a version IRI.

+

Recommended property: http://purl.org/dc/terms/references

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:references <https://www.purl.org/SomeOntology/MappingSet1>. +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:nodeKInd sh:IRI
  • +
+

5.18 Competency Questions

+

Which competency questions does the ontology address? For which use case was it developed?

+

Recommended property: https://w3id.org/mod#competencyQuestion

+

Example 1 (text/turtle)

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + mod:competencyQuestion "Who developed an ontology?"@en . +
+

Example 2 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + mod:competencyQuestion <https://www.example.com/SomeOntologyInfo/Questions#Q1> +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:xone ([sh:nodeKind sh:IRI ;] [sh:datatype rdf:langString ;])
  • +
+

5.19 Applied methodology

+

A name or description of the steps taken to develop the ontology. This should describe the overall organisation of the ontology development process.

+

Recommended property: http://omv.ontoware.org/2005/05/ontology#usedOntologyEngineeringMethodology

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + omv:usedOntologyEngineeringMethodology "Methontology" . +
+

Alternative properties: n/a

+

SHACL validation rules: n/a

+

5.20 Preferred ontology namespace

+

The preferred namespace URI of an ontology is the URI which is to be used when referencing its terms.

+

Recommended property: http://purl.org/vocab/vann/preferredNamespaceUri

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + vann:preferredNamespaceUri <https://w3id/Example/SomeOntology> . +
+

Alternative properties: n/a

+

SHACL validation rules:

+
    +
  • sh:maxCount 1
  • +
  • sh:nodeKind sh:IRI
  • +
+

5.21 Ontology issue date

+

The date the ontology was officially published.

+

Recommended property: http://purl.org/dc/terms/issued

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:issued "2023-11-21"^^xsd:dateTime . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype xsd:dateTime
  • +
  • sh:maxCount 1
  • +
+

5.22 Modification date

+

Since ontologies are updated over time, it would be helpful to provide the date when the ontology has been last modified.

+

Recommended property: http://purl.org/dc/terms/modified

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + dcterms:modified "2020-11-19T00:00:00"^^xsd:dateTime . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype xsd:dateTime
  • +
  • sh:maxCount 1
  • +
+

5.23 Textual version information

+

Some ontologies make use of semantic versioning and employ strings like 1.0.0 as a tag to distinguish one version of their ontology from a successor. Others employ the modification date, e.g. 2022-12-21. If you use such textual version information but do not use/have a Version URI, then we strongly recommend to also mint a version URI in which you use the textual version information as variable.

+

Recommended property: http://www.w3.org/2002/07/owl#versionInfo

+

Example 1 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + owl:versionInfo "2023-01-01"^^xsd:string . +
+

Example 2 (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + owl:versionInfo "1.0.0"^^xsd:string . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype xsd:string
  • +
  • sh:maxCount 1
  • +
+

5.24 Version notes

+

Version information may also be accompanied by a description about changes between one version of the ontology and its predecessor.

+

There are several ways for an automatic generation of change notes. When using GitHub and properly atomic PRs for the implementation of each change, you could copy the notes that are created when preparing a release based on tags, which will list all the PRs that have been merged since the last tag. Another approach could be to use the output of the ROBOT diff command.

+

Recommended property: http://www.w3.org/ns/adms#versionNotes

+

Example (text/turtle):

+
<https://www.purl.org/SomeOntology> rdf:type owl:Ontology ; + adms:versionNotes "Changes from 2000-01-12: add annotation properties: familyName [...] "@en . +
+

Alternative properties:

+ +

SHACL validation rules:

+
    +
  • sh:datatype rdf:langString
  • +
  • sh:nodeKind sh:Literal
  • +
+
+

6 Tabular overview

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sectionmetadatumPreferred propertyMandatoryRecommendedOptionalCardinality
3.1Titlehttp://purl.org/dc/terms/titlex1…*
3.2Preferred ontology prefix/ acronymhttp://purl.org/vocab/vann/preferredNamespacePrefixx1
3.3Licensehttp://purl.org/dc/terms/licensex1
3.4Creatorhttp://purl.org/dc/terms/creatorx1…*
3.5Version IRIhttp://www.w3.org/2002/07/owl#versionIRIx1
3.6Creation datehttp://purl.org/dc/terms/createdx1
3.7Abstracthttp://purl.org/dc/terms/abstractx1…*
3.8Issue trackerhttp://usefulinc.com/ns/doap#bug-databasex1
3.9Documentationhttp://www.loc.gov/premis/rdf/v3/documentationx1
4.1Contributor(s)http://purl.org/dc/terms/contributorx0…*
4.2Funderhttps://schema.org/funderx0…*
4.3Funding (grant)https://schema.org/fundingx0…*
4.4Audience descriptionhttp://usefulinc.com/ns/doap#audiencex0...1
4.5Subject(s)http://purl.org/dc/terms/subjectx0…*
4.6Annotation language(s)http://purl.org/dc/terms/languagex0…*
4.7Applied logical frameworkhttps://w3id.org/mod#hasFormalityLevelx0...1
4.8Serialization/ file formathttp://omv.ontoware.org/2005/05/ontology#hasOntologySyntaxx0...1
4.9Statushttp://purl.org/ontology/bibo/statusx0...1
4.10Code repositoryhttp://usefulinc.com/ns/doap#repositoryx0...1
4.11Distributions/ productshttp://www.w3.org/ns/dcat#distributionx0…*
4.12Application examplehttps://vocab.org/vann/examplex0…*
4.13Related resource(s)http://purl.org/dc/terms/referencesx0…*
4.14Citation suggestionhttp://purl.org/dc/terms/bibliographicCitationx0…*
4.15Ontology sources (derived from)http://purl.org/pav/derivedFromx0…*
4.16Root classeshttp://purl.obolibrary.org/obo/IAO_0000700x0…*
5.1Descriptionhttps://schema.org/descriptionx0…*
5.2Alternative ontology titlehttp://purl.org/dc/terms/alternativex0…*
5.3Alternative ontology prefix/ acronymhttp://identifiers.org/idot/alternatePrefixx0…*
5.4.1Prior ontology versionhttp://www.w3.org/2002/07/owl#priorVersionx0…*
5.4.2Related ontology versionhttp://purl.org/dc/terms/hasVersionx0…*
5.4.3Compatible ontology versionhttp://www.w3.org/2002/07/owl#backwardCompatibleWithx0…*
5.4.4Incompatible ontology versionhttp://www.w3.org/2002/07/owl#incompatibleWithx0…*
5.5Social mediahttp://xmlns.com/foaf/0.1/holdsAccountx0…*
5.6KOS typehttp://purl.org/dc/terms/typex0…1
5.7Example ontology identifierhttp://identifiers.org/idot/exampleIdentifierx0…*
5.8Ontology identifier patternhttp://identifiers.org/idot/identifierPatternx0…1
5.9Ontology homepagehttp://xmlns.com/foaf/0.1/homepagex0…1
5.10Publisherhttp://purl.org/dc/terms/publisherx0…*
5.11Ontology commentshttp://www.w3.org/2000/01/rdf-schema#commentx0…*
5.12Example ontology classhttp://rdfs.org/ns/void#exampleResourcex0…*
5.13Ontology mailing listhttp://usefulinc.com/ns/doap#mailing-listx0…1
5.14Ontology logo/ depiction/ related visualizationshttp://xmlns.com/foaf/0.1/logox0…*
5.15Related identifiershttp://purl.org/dc/terms/identifierx0…*
5.16Development environmenthttp://purl.org/pav/createdWithx0…*
5.17.1Aligned resourceshttps://w3id.org/mod#hasEquivalencesWithx0…*
5.17.2Alignment files/ mapping fileshttp://purl.org/dc/terms/referencesx0…*
5.18Competency questionshttps://w3id.org/mod#competencyQuestionx0…*
5.19Applied methodology<http://omv.ontoware.org/2005/05/ontology#
usedOntologyEngineeringMethodology>
x0…*
5.20Preferred ontology namespacehttp://purl.org/vocab/vann/preferredNamespaceUrix0…1
5.21Ontology issue datehttp://purl.org/dc/terms/issuedx0…1
5.22Modification datehttp://purl.org/dc/terms/modifiedx0…1
5.23Textual version informationhttp://www.w3.org/2002/07/owl#versionInfox0…1
5.24Version noteshttp://www.w3.org/ns/adms#versionNotesx0…*
+
+ +

The following table shows the relation of the recommendations in this guide to related works. If these works recommend the same metadatum for an ontology, the corresponding cell will be marked as true, if the metadatum could not be identified in the source, the corresponding cell will be marked as false.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sectionmetadatum[13][14][15][16][17][18][19][20][21][22][23]
3.1Titletruetruetruetruetruetruetruefalsefalsetruetrue
3.2Preferred ontology prefix/ acronymtruetruetruefalsetruetruetruefalsefalsetruefalse
3.3Licensetruetruetruetruetruetruetruetruetruetruetrue
3.4Creatortruetruetruetruetruetruetruetruetruefalsetrue
3.5Version IRIfalsefalsefalsefalsetruetruetruetruetruefalsetrue
3.6Creation datetruetruefalsefalsetruetruetruetruetruefalsetrue
3.7Abstractfalsetruefalsetruetruetruetruefalsefalsetruetrue
3.8Issue trackertruetruefalsetruefalsefalsetruefalsefalsefalsetrue
3.9Documentationfalsefalsefalsefalsefalsefalsefalsefalsetruefalsefalse
4.1Contributor(s)falsetruetruetruetruetruetruetruefalsefalsetrue
4.2Fundertruetruefalsefalsetruefalsetruefalsefalsefalsetrue
4.3Funding (grant)falsefalsefalsefalsetruefalsefalsefalsefalsefalsetrue
4.4Audience descriptiontruetruefalsetruefalsefalsetruefalsefalsefalsetrue
4.5Subject(s)truetruefalsetruefalsefalsetruefalsetruetruetrue
4.6Annotation language(s)truetruefalsefalsefalsefalsetruefalsefalsefalsetrue
4.7Applied logical frameworkfalsetruefalsetruefalsefalsetruefalsefalsefalsefalse
4.8Serialization/ file formattruetruefalsefalsefalsefalsetruefalsefalsefalsetrue
4.9Statustruefalsefalsetruetruetruetruetruetruetruetrue
4.10Code repositoryfalsetruefalsetruefalsefalsetruefalsefalsetruefalse
4.11Distributions/ productstruetruefalsefalsefalsefalsetruefalsetruefalsetrue
4.12Application examplefalsetruefalsetruefalsefalsetruefalsefalsefalsefalse
4.13Related resource(s)truetruefalsefalsetruetruetruefalsetruetruetrue
4.14Citation suggestionfalsetruefalsefalsetruetruetruetruefalsefalsetrue
4.15Ontology sources (derived from)truetruefalsetruetruetruetruetruetruefalsetrue
4.16Root classesfalsetruefalsefalsefalsefalsetruefalsefalsefalsefalse
5.1Descriptiontruetruetruetruetruetruetruefalsetruetruetrue
5.2Alternative ontology titlefalsetruefalsefalsefalsefalsetruefalsefalsefalsetrue
5.3Alternative ontology prefix/ acronymtruetruefalsefalsefalsefalsefalsefalsefalsetruefalse
5.4.1Prior ontology versionfalsetruefalsefalsetruetruetruetruetruefalsefalse
5.4.2Related ontology versionfalsetruefalsefalsefalsefalsetruefalsefalsefalsefalse
5.4.3Compatible ontology versionfalsefalsefalsefalsetruetruetruetruefalsefalsefalse
5.4.4Incompatible ontology versionfalsefalsefalsefalsetruetruetruetruefalsefalsefalse
5.5Social mediatruefalsefalsefalsefalsefalsefalsefalsefalsetruefalse
5.6KOS typefalsefalsefalsefalsefalsefalsefalsefalsefalsefalsetrue
5.7Example ontology identifiertruetruefalsefalsefalsefalsetruefalsefalsetruefalse
5.8Ontology identifier patterntruetruefalsetruefalsefalsetruefalsefalsetruefalse
5.9Ontology homepagetruetruefalsefalsefalsefalsetruefalsefalsetruefalse
5.10Publishertruetruetruefalsetruetruetruefalsefalsefalsetrue
5.11Ontology commentstruetruetruefalsefalsefalsetruefalsefalsetruefalse
5.12Example ontology classtruetruefalsefalsetruefalsetruefalsefalsefalsetrue
5.13Ontology mailing listtruetruefalsetruefalsefalsetruefalsefalsefalsefalse
5.14Ontology logo/ depiction/ related visualizationstruetruefalsetruetruetruetruefalsefalsetruefalse
5.15Related identifierstruetruefalsefalsetruetruetruefalsefalsetruetrue
5.16Development environmenttruetruefalsetruefalsetruetruefalsefalsefalsefalse
5.17.1Aligned resourcesfalsetruefalsefalsefalsefalsetruefalsetruefalsefalse
5.17.2Alignment files/ mapping filesfalsefalsefalsefalsefalsefalsefalsefalsetruefalsefalse
5.18Competency questionsfalsetruefalsetruefalsefalsetruefalsefalsefalsefalse
5.19Applied methodologytruetruefalsetruefalsefalsetruefalsefalsefalsefalse
5.20Preferred ontology namespacetruetruetruefalsetruetruetruefalsefalsefalsetrue
5.21Ontology issue datefalsetruetruefalsetruetruefalsefalsefalsefalsefalse
5.22Modification datefalsetruetruefalsetruetruetruetruefalsefalsetrue
5.23Textual version informationfalsetruetruefalsetruetruetruetruefalsetruetrue
5.24Version notesfalsetruetruefalsefalsetruefalsetruefalsefalsefalse
+

8 Sources

+
    +
  1. +

    GO FAIR (n/a): FAIR Principles. URL: https://www.go-fair.org/fair-principles/ (last access: 28 April 2023).

    +
  2. +
  3. +

    Yann Le Franc, Luiz Bonino, Hanna Koivula, Jessica Parland-von Essen, & Robert Pergl (2022): D2.8 FAIR Semantics Recommendations Third Iteration (V1.0). Zenodo. URL: https://doi.org/10.5281/zenodo.6675295 (last access: 04 April 2024).

    +
  4. +
  5. +

    OBO Foundry (n/a): Principle: Versioning (principle 4). URL: http://obofoundry.org/principles/fp-004-versioning.html (last acchess: 04 April 2024).

    +
  6. +
  7. +

    Garijo, Daniel (2017): WIDOCO: a wizard for documenting ontologies. In: International Semantic Web Conference (Proceedings), 94-102. Springer, Cham. DOI: 10.1007/978-3-319-68204-4_9. URL: http://dgarijo.com/papers/widoco-iswc2017.pdf (last access: 04 April 2024).

    +
  8. +
  9. +

    Daniel Garijo et al. (2023): WIzard for DOCumenting Ontologies (WIDOCO) - Code Repository. URL: https://github.com/dgarijo/Widoco/tree/v1.4.21 (last access: 04 April 2024).

    +
  10. +
  11. +

    Internet Assigned Numbers Authority (2024): Media Types. URL https://www.iana.org/assignments/media-types/media-types.xhtml (last access: 04 April 2024).

    +
  12. +
  13. +

    World Wide Web Consortium (W3C) (2015): Unique URIs for File Formats. URL: https://www.w3.org/ns/formats/ (last access: 04 April 2024).

    +
  14. +
  15. +

    OBO Foundry (n/a): Ontology status. URL: https://obofoundry.org/docs/OntologyStatus.html (last access: 04 April 2024).

    +
  16. +
  17. +

    Samples, Phenotypes and Ontologies (SPOT) at EMBL-EBI (2022): Ontology Lookup Service (OLS) Version 3 - Code Repository - Release 3.2.5. URL: https://github.com/EBISPOT/OLS/releases/tag/v3.2.5-main-test (last access: 04 April 2024).

    +
  18. +
  19. +

    Samples, Phenotypes and Ontologies (SPOT) at EMBL-EBI (2024): Ontology Lookup Service (OLS) - Version 4 - Code Repository - Latest Release. URL: https://github.com/EBISPOT/ols4 (last access: 04 April 2024).

    +
  20. +
  21. +

    Marcia Zeng & Maja Žumer (2019): KOS Type Vocabulary. URL: https://nkos.dublincore.org/nkos-type.html, https://nkos.dublincore.org/nkostype/nkostype.rdf (last access: 04 April 2024).

    +
  22. +
  23. +

    Nicolas Matentzoglu et al. (2024): Simple Standard for Sharing Ontological Mappings (SSSOM) - Editors Draft version 0.15.2. URL: https://github.com/mapping-commons/sssom/tree/0.15.2 (last access: 04 April 2024).

    +
  24. +
  25. +

    OBO Foundry (2021): Derived registry files - context file for the generation of rdf-based ontology metadata. URL: http://purl.obolibrary.org/meta/context.jsonld, https://github.com/OBOFoundry/OBOFoundry.github.io/blob/5ba7e5db94565691853db7b476637fd303c4fb94/registry/context.jsonld (last access: 04 April 2024).

    +
  26. +
  27. +

    Dutta, B., Toulet, A., Emonet, V. and Jonquet, C. (2017): New Generation Metadata vocabulary for Ontology Description and Publication. In E. Garoufallou, S. Virkus, R. Siatri and D. Koutsomiha (eds.): Communications in Computer and Information Science (CCIS) 755, proceedings of 11th Metadata and Semantics Research Conference (MTSR 2017), November 28 - December 1, 2017, Tallinn, Estonia. Springer Nature, pp. 173-185. URL: https://w3id.org/mod/2.0 (last access: 04 April 2024).

    +
  28. +
  29. +

    Pierre-Yves Vandenbussche & Bernard Vatant (2021): Metadata Recommendations For Linked Open Data Vocabularies - Version 1.1. URL: https://lov.linkeddata.es/Recommendations_Vocabulary_Design.pdf (last access: 04 April 2024).

    +
  30. +
  31. +

    Robert Stevens et al. (2017): MIRO – Minimum Information for Reporting of an Ontology. URL: https://github.com/owlcs/miro/blob/master/miro.md (last access: 04 April 2024).

    +
  32. +
  33. +

    Daniel Garijo & María Poveda-Villalón (2023): A checklist for complete vocabulary metadata - Revision 1.0.2. URL: https://w3id.org/widoco/bestPractices (last access: 04 April 2024).

    +
  34. +
  35. +

    Daniel Garijo & María Poveda-Villalón (2020): Best Practices for Implementing FAIR Vocabularies and Ontologies on the Web. ArXiv.org. URL: https://doi.org/10.48550/arXiv.2003.13084 (last access: 04 April 2024).

    +
  36. +
  37. +

    E. Amdouni, S. Bouazzouni, C. Jonquet (2022): O'FAIRe: Ontology FAIRness evaluator - FAIR questions. URL: https://github.com/agroportal/fairness/commit/f5767d417465bcb2602f5400cf921169c5f10a65 (last access: 04 April 2024).

    +
  38. +
  39. +

    Cox, Simon J. D. et al. (2021): Ten simple rules for making a vocabulary FAIR. PLOS Computational Biology 17(6), pp. 1-15. URL: https://doi.org/10.1371/journal.pcbi.1009041 (last access: 04 April 2024).

    +
  40. +
  41. +

    Fuqi Xu et al. (2022): Features of a FAIR vocabulary. In: Katy Wolstencroft et al. (eds.): Proceedings of the 13th International Conference on Semantic Web Applications and Tools for Health Care and Life Sciences (SWAT4HCLS) (= CEUR Workshop Proceedings 3127). Aachen, 118-148. URL: http://ceur-ws.org/Vol-3127/#paper-15 (last access: 04 April 2024).

    +
  42. +
  43. +

    Charles Tapley Hoyt (2024): Bioregistry JSON Schema. URL (latest): https://bioregistry.io/schema.json, URL (v0.10.190): https://github.com/biopragmatics/bioregistry/blob/v0.10.190/src/bioregistry/schema/schema.json (last access: 04 April 2024).

    +
  44. +
  45. +

    Schema.Org Community Group (n/a): DefinedTermSet. A Schema.org Type. URL: https://schema.org/DefinedTermSet (last access: 04 April 2024).

    +
  46. +
+ + + + + diff --git a/MetadataGuide.md b/MetadataGuide.md new file mode 100644 index 0000000..992ba83 --- /dev/null +++ b/MetadataGuide.md @@ -0,0 +1,1678 @@ +# Ontology metadata recommendations by TIB + +Document status: **DRAFT** + +Modification date: 2024-04-22 + +Creators and contributors: + + +* [Arndt, Susanne (Technische Informationsbibliothek)](https://orcid.org/0000-0002-1019-9151) +* [Ganske, Anette (Technische Informationsbibliothek)](https://orcid.org/0000-0003-1043-4964) +* [Hauschke, Christian (Technische Informationsbibliothek)](https://orcid.org/0000-0003-2499-7741) +* [Strömert, Philip (Technische Informationsbibliothek)](https://orcid.org/0000-0002-1595-3213) +* [Vogt, Lars (Technische Informationsbibliothek)](https://orcid.org/0000-0002-8280-0487) + +License: [CC BY 4.0 Deed Attribution 4.0 International ](https://creativecommons.org/licenses/by/4.0/) + +
+ +## Table of contents + +0. [Executive summary](#0-executive-summary) +1. [Why Ontology Metadata?](#1-ontology-metadata) + * [1.1 How to provide ontology metadata](#11-how-to-provide-ontology-metadata) + * [1.2 Why ontology metadata?](#12-why-ontology-metadata) +2. [How to read this document](#2-how-to-read-this-document) + * [2.1 Chapter structure and wording](#21-chapter-structure-and-wording) + * [2.2 Metadata validation with SHACL](#22-metadata-validation-with-shacl) + * [2.3 Prefixes used in this document](#23-prefixes-used-in-this-document) + * [2.4 Acronyms](#24-acronyms) +3. [Mandatory Metadata](#3-mandatory-metadata) + * [3.1 Ontology title](#31-ontology-title) + * [3.2 Preferred ontology prefix/ acronym](#32-preferred-ontology-prefix-acronym) + * [3.3 Ontology license](#33-ontology-license) + * [3.4 Ontology creator(s)](#34-ontology-creators) + * [3.5 Ontology version IRI](#35-ontology-version-iri) + * [3.6 Ontology creation date](#36-ontology-creation-date) + * [3.7 Ontology abstract](#37-ontology-abstract) + * [3.8 Ontology issue tracker](#38-ontology-issue-tracker) + * [3.9 Ontology documentation](#39-ontology-documentation) +4. [Recommended Metadata](#4-recommended-metadata) + * [4.1 Ontology contributor(s)](#41-ontology-contributors) + * [4.2 Ontology funder](#42-ontology-funder) + * [4.3 Ontology funding](#43-ontology-funding) + * [4.4 Ontology audience description](#44-ontology-audience-description) + * [4.5 Ontology subject(s)](#45-ontology-subjects) + * [4.6 Ontology annotation language(s)](#46-ontology-annotation-languages) + * [4.7 Applied logical framework](#47-applied-logical-framework) + * [4.8 Ontology serialization/ file format](#48-ontology-serialization-file-format) + * [4.9 Ontology status](#49-ontology-status) + * [4.10 Ontology code repository](#410-ontology-code-repository) + * [4.11 Ontology distributions/ products](#411-ontology-distributions-products) + * [4.12 Application example](#412-application-example) + * [4.13 Related resource(s)](#413-related-resources) + * [4.14 Citation suggestion](#414-citation-suggestion) + * [4.15 Ontology sources (derived from)](#415-ontology-sources-derived-from) + * [4.16 Ontology root classes](#416-ontology-root-classes) +5. [Optional Metadata](#5-optional-metadata) + * [5.1 Ontology description](#51-ontology-description) + * [5.2 Alternative ontology title](#52-alternative-ontology-title) + * [5.3 Alternative ontology prefix/ acronym](#53-alternative-ontology-prefix-acronym) + * [5.4 Related version/ version history](#54-related-version-version-history) + * [5.4.1 Prior ontology version](#541-prior-ontology-version) + * [5.4.2 Related ontology version](#542-related-ontology-version) + * [5.4.4 Compatible ontology version](#543-compatible-ontology-version) + * [5.4. Incompatible ontology version](#544-incompatible-ontology-version) + * [5.5 Social media](#55-social-media) + * [5.6 KOS type](#56-kos-type) + * [5.7 Example ontology identifier](#57-example-ontology-identifier) + * [5.8 Ontology identifier pattern](#58-ontology-identifier-pattern) + * [5.9 Ontology homepage](#59-ontology-homepage) + * [5.10 Ontology publisher](#510-ontology-publisher) + * [5.11 Ontology comments](#511-ontology-comments) + * [5.12 Example ontology class](#512-example-ontology-class) + * [5.13 Ontology mailing list](#513-ontology-mailing-list) + * [5.14 Ontology logo/ depictions/ related visualization](#514-ontology-logo-depiction-related-visualizations) + * [5.15 Related identifiers](#515-related-identifiers) + * [5.16 Development environment](#516-development-environment) + * [5.17 Alignments/ mappings](#517-alignments-mappings) + * [5.17.1 Aligned resources](#5171-aligned-resources) + * [5.17.2 Alignment files/ mapping files](#5172-alignment-files-mapping-files) + * [5.18 Competency questions](#518-competency-questions) + * [5.19 Applied methodology](#519-applied-methodology) + * [5.20 Preferred ontology namespace](#520-preferred-ontology-namespace) + * [5.21 Ontology issue date](#521-ontology-issue-date) + * [5.22 Modification date](#522-modification-date) + * [5.23 Textual version information](#523-textual-version-information) + * [5.24 Version notes](#524-version-notes) +6. [Tabular overview - recommendations](#6-tabular-overview) +7. [Relations to related work](#7-relations-to-related-work) +8. [Sources](#8-sources) + +
+ +## 0. Executive summary + +The number of ontology registries, archives and catalogues has increased over time. There are multiple services that list and also index ontologies. The registry entries of such services usually require the metadata of the ontologies they index, in order to make the ontologies findable and to provide users with general introductory information about the ontologies and their reuse. Registries currently face several problems, though: + +* It is not yet standard procedure to provide rich ontology metadata despite efforts towards increasing the FAIRness of semantic resources [[1]](#source1), [[2]](#source2), in particular legacy ontologies may not be updated with rich metadata. +* Metadata may be provided in unstructured form outside of the ontology source which makes their collection difficult. +* Different registries may provide structured, open metadata documents for the same ontology which may at some point become incongruous with the source data. +* Currently, no standard metadata schema for ontologies exists. + +In order to avoid these problems, metadata management should be part of the ontology engineering process: The metadata of an ontology should be part of the ontology's code base or the ontology itself. This would make the ontology resp. its code base the single source of truth for its own metadata. + +It is therefore mandatory that an ontology provides its own metadata with machine-understandable semantics and established terms from metadata ontologies and controlled vocabularies. The metadata need to be as or even more persistent than the ontology itself. [Principle R1][FAIR Principles R1] of the FAIR principles [[1]](#source2) furthermore recommends to not just provide metadata that allow the discovery of an ontology (e.g. title, ontology prefix, authors), but to add metadata that richly describe the contents of the ontology and the conditions of its creation and use (cf. [1.2 Why ontology metadata?](#12-why-ontology-metadata)). + +With this document, *TIB - Leibniz Information Centre for Science and Technology University Library* provides a practical guide for metadata management of ontologies. It gives recommendations on required, recommended and optional metadata for ontologies. As there are currently several recommendations available (cf. [[13]](#source13), [[14]](#source14), [[15]](#source15), [[16]](#source16), [[17]](#source17), [[18]](#source18), [[19]](#source19), [[20]](#source20), [[21]](#source21), [[22]](#source22), [[23]](#source23)), this guide will provide recommendations on ontology metadata that particularly adress the publishing of ontologies on the [TIB Terminology Service][TIB TS]. + +In addition, we provide shapes for SHACL validators based on these recommendations (cf. [2.2 Metadata validation with SHACL](#22-metadata-validation-with-shacl)). + +## 1 Ontology metadata + +### 1.1 How to provide ontology metadata? + +Ontology metadata must be provided in a machine-understandable format. We therefore recommend to provide them as a part of the ontology itself: The metadata should be statements about the ontology that use dedicated annotation, object or data properties, to guarantee a good level of granularity and distinguishability of the metadata. + +If you provide metadata that are here considered as *recommended* or *optional* in a single file, you may add a statement using rdfs:seeAlso to point to that document. Ideally, this document should then be etrievable with a persistent identifier (PID) - e.g. a DOI or a PURL. However, we do not recommend this, especially if that document is not machine-understandable. + +### 1.2 Why ontology metadata? + +Providing rich, machine-understandable metadata for an ontology has many advantages for their users (cf. [[1]](#source1), [[2]](#source2)), e.g.: + +* They give a rich description about the ontology including its provenance, scope and purpose. +* They allow automatic extraction and indexing of the ontology by different services and reduce the effort of manual curation. +* They enable others to reuse the ontology or its terms and apply them for their own purposes. +* They indicate the current status of an ontology, distinguishing whether an ontology is still maintained by an active community or whether it is dormant. +* They allow referencing other Web resources with persistent identifiers (e.g. resources with identifiers like [DOI][doi], [ROR][ror], [ORCiD][orcid], [RAiD][raid], etc.). +* They allow detailed requests about ontologies on the web. +* They enable comparability and automated comparisons of ontologies. +* They can be retrieved via APIs and used in many different services. + +
+ +## 2 How to read this document + +### 2.1 Chapter structure and wording + +This guide tries to use clear wording to distinguish absolute requirements (*must*, *required*, *mandatory*) from either recommendations (*should*, *recommended*) or optional metadata (*may*, *can*, *could*, *optional*). The sub-sections will each give + +* a short introduction to the metadatum +* recommend a property +* recommend controlled vocabularies where appropriate +* provide examples in text/turtle serialization +* list alternative properties that may also be used to provide the metadatum +* specify SHACL validation rules (cf. section [2.2 Metadata validation with SHACL](#22-metadata-validation-with-shacl)) + +Subproperties to any properties mentioned will not be implied, but explicitly listed in the "alternative properties" part of each section. + +### 2.2 Metadata validation with SHACL + +This guide is a human-readable specification. In addition, we also provide a SHACL specification of these recommendations that can be used for data validation. + +The shape can be used with SHACL validators to test ontologies for any violations of required metadata at [TIB Terminology Service][TIB TS] and to get suggestions for recommended metadata. We recommend the online SHACL validators [SHACL Playground][shacl-playground], [SHACL Playground by Zazuko](https://shacl-playground.zazuko.com/) or [SHACL Play!](https://shacl-play.sparna.fr/play/) for performing evaluations. Turtle or json-ld are common input format. SHACL Play! also allows to use IRIs for shapes and ontologies. + +The shape is available in a single file at . + +The shape can also be used to evaluate metadata of instances of skos:ConceptScheme. The instances of skos:ConceptScheme need to be declared as instances of owl:Ontology to trigger the shapes (cf. also section [4.6.2. SKOS Concept Schemes and OWL Ontologies](https://www.w3.org/TR/skos-reference/#L1170) of the [SKOS Reference document](https://www.w3.org/TR/2009/REC-skos-reference-20090818/)). + +### 2.3 Prefixes used in this document + +Code examples will usually provide full IRIs of statement subjects and objects. Properties will be presented in prefixed notation. The table provides the prefix definitions: + +|prefix|namespace| +|-|-| +|adms|| +|bibo|| +|dcat|| +|dcterms|| +|doap|| +|foaf|| +|idot|| +|mod|| +|obo|| +|omv|| +|owl|| +|pav|| +|premis|| +|rdf|| +|rdfs|| +|schema|| +|sh|| +|vann|| +|void|| +|xsd|| + +### 2.4 Acronyms + +|Acronym|Full form| +|-|-| +|DOI|Digital Object Identifier| +|IRI|International Resource Identifier| +|PID|Persistent Identifer| +|ROR|Research Organization Identifier| + +
+ +## 3 Mandatory metadata + +Metadata in this section are mandatory for publishing an ontology at [TIB Terminology Service][TIB TS]. Ontologies missing these metadata will not be accepted. + +### 3.1 Ontology title + +Ontologies must state their own title. The title will be displayed on [TIB Terminology Service](https://terminology.tib.eu/ts), e.g. on each [ontology's landing page](https://terminology.tib.eu/ts/ontologies/bfo), in [search results](https://terminology.tib.eu/ts/search?q=ontology&page=1&type=ontology) or in [ontology lists][TIB TS ontology list]. The ontology must have at most one title per language. Ontology titles should be tagged for language. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:title "Some Ontology"@en . +``` + +Alternative properties: + +* +* +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:minCount 1` +* `sh:uniqueLang true` + +### 3.2 Preferred ontology prefix/ acronym + +The ontology must declare its preferred, unique prefix or a short acronym. The prefix/ acronym will be used on TIB Terminology Service's [ontology list][TIB TS ontology list] as a short name for the ontology. It must not contain hyphens or other special characters and should be written in lowercase. + +You can check whether an ontology prefix is already in use on services like [prefix.cc][prefix.cc] or [Bioregistries][Bioregistries]. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + vann:preferredNamespacePrefix "so"^^xsd:string . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:datatype xsd:string` + +### 3.3 Ontology license + +Ontologies must declare their license, referring to their license document via PID. The license text helps others to evaluate how they may reuse the ontology. Only ontologies with an open license will be published on [TIB Terminology Service][TIB TS]. Consider, for example, the [list of licenses][Open Definition license list] that are conformant with the [Open Definition][Open Definition 2.1]. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:license . +``` + +Alternative properties: + +* +* +* + +SHACL validation rules: + +* value must be from defined list of accepted licenses +* value must not be from defined list of unaccepted licences +* `sh:maxCount 1` +* `sh:minCount 1` + +### 3.4 Ontology creator(s) + +The ontology must list its creators, i.e. the people or institutions who were responsible for its development. It is recommended to refer to a creator with a PID (e.g. [ORCiD][orcid], [Wikidata][wikidata]-ID, or [ROR][ror]-ID). Plain name strings can be provided in addition for readability. If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. If no project or organisation PID is available, the respective name (rdf:langString) will also be accepted. + +Recommended property: + +Example 1 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:creator . +``` + +Example 2 (text/turtle): + +```Turtle + . + + rdf:type foaf:Person ; + "Max" ; + "Muster" . +``` + +Alternative properties: + +* +* +* +* +* +* + +SHACL validation rules: + +* `sh:minCount 1` +* `sh:nodeKind sh:IRI` + +### 3.5 Ontology version IRI + +Since the PURL of an ontology usually only points to the latest version of an ontology, each ontology must state its version IRI. A version IRI is a persistent identifier for a version of an ontology and is used to reliably retrieve this earlier version of the ontology. We recommended to use [semantic versioning][semver] or OBO style date-based versioning [[3]](#source3). + +Recommended property: + +Example 1 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:versionIRI . +``` + +Example 2 (text/turtle) + +```Turtle + rdf:type owl:Ontology ; + . +``` + +Example 3 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:versionIRI . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:maxCount 1` +* `sh:minCount 1` +* `sh:nodeKind sh:IRI` + +### 3.6 Ontology creation date + +The ontology must state the date of its first creation. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:created "2020-11-19T00:00:00"^^xsd:dateTime. +``` + +Alternative properties: + +* +* +* + +SHACL validation rules: + +* `sh:datatype xsd:dateTime` +* `sh:maxCount 1` +* `sh:minCount 1` + +### 3.7 Ontology abstract + +The ontology must describe its own contents and scope with a few words or sentences in order to inform human users what the ontology tries to accomplish. The abstract is displayed in the [TIB Terminology Service ontology list][TIB TS ontology list] and on the landing page of each ontology - we therefore recommend to keep it short. You can also provide abstracts in several languages (as an rdf:langString). You may provide only one abstract per language. Each abstract may be up to 500 characters long including spaces. We do not recommend to use markups (html, markdown) in the abstract since these are not supported by [TIB Terminology Service][TIB TS]. If you want to include a longer text about the ontology, you should include a description [5.1 Ontology description](#51-ontology-description). For an extensive discussion about further aspects of the ontology (e.g. ontology creation, ontology use, ontology structure, etc.) we recommend the publication of a detailed documentation (cf. [3.9 Ontology documentation](#39-ontology-documentation)) or traditional academic article (cf. [4.13 Related resources](#413-related-resources)). + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:abstract "SomeOntology defines a range of classes and properties which can be applied to do stuff in a particular domain."@en , "SomeOntology definiert eine Reihe von Klassen und Properties, die in einer bestimmten Domäne verwendet werden können, um etwas damit zu tun."@de . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:maxLength 500` +* `sh:minCount 1` +* `sh:uniqueLang true` + +### 3.8 Ontology issue tracker + +The ontology must point to the issue tracker of its own development environment so that others may report bugs or suggestions to the developers. Ideally, the development process of an ontology is open and takes place on platforms like GitLab.com that allow for version management with version control software like git. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + doap:bug-database . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:maxCount 1` +* `sh:minCount 1` +* `sh:nodeKind sh:IRI` + +### 3.9 Ontology documentation + +To familiarize interested others with the concepts and scope of your ontology, some kind of documentation must be provided. This is usually an external online document that should be referenced by the ontology via an IRI or more persistently with a PID. A relatively easy way to do this is to use the tool Widoco [[4]](#source4), [[5]](#source5). It generates the documentation from the ontology and a resulting html-document can be published, for example with [GitLab Pages][gitlab pages]. This auto-generated document can contain customized passages that provide users with a deeper understanding of the ontology. There are, however, other forms of ontology documentations: scientific articles, well-curtated README files in repositories, Wikis etc. Here, we recommend to choose the form which is most easily attainable by your working group or project. Here are some examples for ontology documentation: + +* PROV Ontology: +* GND Ontology: +* Gene Ontology - Relations: +* CHEBI User Manual: +* CHEBI Developer Manual: + +The documentation of an ontology offers a lot of room to describe the ontology and provide detailed information about it to its readers. In fact, you may wonder whether it would be sufficient to provide a well-structured and well-readable text document - containing all the metadata suggested in this guide. Here, our answer is a clear no: Providing the metadata of your ontology in a machine-readable format, makes them much more re-usable (cf. sections [0. Executive summary](#0-executive-summary) and [1.2 Why ontology metadata](#12-why-ontology-metadata)). + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + premis:documentation . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:maxCount 1` +* `sh:minCount 1` +* `sh:nodeKind sh:IRI` + +
+ +## 4 Recommended Metadata + +In addition to mandatory metadata, we recommend providing a number of further helpful metadata. + +### 4.1 Ontology contributor(s) + +If you had help in developing the ontology, you should indicate this by listing contributors so that all participants receive proper credit for their efforts. If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. Persons and organisations shpuld be listed via PID, e.g. ORCiD or ROR. + +Recommended property: + +Example 1 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:contributor . +``` + +Example 2 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:contributor . + + rdf:type foaf:Person ; + foaf:firstName "Max" ; + foaf:lastName "Muster" . +``` + +Alternative properties: + +* +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.2 Ontology funder + +The development of an ontology may rely on external funding and take place in a third-party funding project. Since funding institutions usually want to be credited, we highly recommend mentioning them in your ontology. The best way to do so is by referring to their [ROR ID][ror]. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + schema:funder . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.3 Ontology funding + +In addition to referencing the funding institution, you may be required to point to the specifc grant that enables the work on the ontology. We recommend to provide this information as an IRI, ideally a PID. We are aware, though, that PIDs for grants are not common, yet. We therefore also accept this information in the form of acknowledgement statements (rdf:langString) containing the grant number provided by the funding institution. + + + +Recommended property: + +Example 1 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + schema:funding . +``` + +Example 2 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + schema:funding "The authors (Some Ontology Workgroup) would like to thank the Government of Some Country or Some Other Funding Institution for their funding and support within Some Funding Program (project number 123456789)."@en . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.4 Ontology audience description + +Defining the target group of your ontology might be useful information for others when evaluating if and how they could reuse your ontology. You should describe the intended audience of the ontology. The audience description should be a short, language-tagged text. + +Recommended property: + +Examples (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + doap:audience "This ontology is intended for researchers in derivational morphology, a branch of linguistics. [...]"@en . +``` + +See also [audience description of NMRC at TIB Terminology Service][nmrc-tib-ts] or the [audience description of CROPUSAGE at AgroPortal][cropusage-agroportal]. + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:maxCount 1` + +### 4.5 Ontology subject(s) + +We recommend tagging the ontology with a subject from a controlled vocabulary to indicate which domain it belongs to or which subject it deals with. This information is helpful for terminology service and ontology registry providers: Subject tags from controlled vocabularies can be mapped to other controlled vocabularies that are the basis of filters and browsing functionalities of such services. Subject tags can help to make your ontology better findable and available for a wider audience. + +Recommended property: + +Recommended controlled vocabularies: + +* +* +* +* (remember: the identifiers need to start with !) + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:subject , , , . +``` + +The [TIB Terminology Service][TIB TS] applies [LinSearch][linsearch] labels for subject values, e.g.: + +```Turtle + dcterms:subject "Chemistry"^^xsd:string . +``` + +Alternative properties: + +* +* +* +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.6 Ontology annotation language(s) + +If your ontology does not only provide formal semantics but also multi-lingual annotations for entities, you should provide information about the ontology annotation languages (e.g. for term labels, term definitions, etc.) in its metadata. At least one language should be provided, since at least one set of annotations is expected in a well-documented ontology. You should only claim that the ontology uses an annotation language, if all ontology elements or an extensive part of the ontology is annotaed in that languge. + +Recommended property: + +Recommended controlled vocabulary: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:language , . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` +* `sh:pattern "(^http://id.loc.gov/vocabulary/iso639-2/[a-z]{3}$|^https://id.loc.gov/vocabulary/iso639-2/[a-z]{3}$)"` + +### 4.7 Applied logical framework + +You should state which logical framework the ontology applies. The information can be given as a text, referring to the Semantic Web Standard (e.g. 'OWL 2') and possibly the OWL profile (e.g. 'OWL 2 EL profile'). + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + mod:hasFormalityLevel "OWL version 2, EL profile"@en . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:maxCount 1` + +### 4.8 Ontology serialization/ file format + +You should state the ontology's serialization/ file format. The value should be provided as an IRI from the Media Types list of the Internet Assigned Number Authority (IANA) [[6]](#source6) or from the W3C resource Unique URIs for File Formats [[7]](#source7). + +Recommended property: + +Recommended controlled vocabularies: + +* +* + +In order to publish your ontology on the the [TIB Terminology Service][TIB TS] you must providde the ontology as one of the following media types: + +* resp. +* resp. +* OBO format (cf. ) + +Currently, there is no registered media type for obo format. + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + omv:hasOntologySyntax . +``` + +Alternative properties: + +* +* +* + +SHACL validation rules: + +* value must be from a defined list +* `sh:maxCount 1` +* `sh:nodeKind sh:IRI` + +### 4.9 Ontology status + +You should declare the current maintenance status of the ontology. You could use an English label to do so. We recommend using one of the values suggested by the OBO Foundry [[8]](#source8). Ontologies are prone to link rot and sometimes left abandoned. If you cannot keep up the work on an ontology, this needs to be documented: Is your ontology retired? Is it still a draft? Or is it maintained by an active community? + +Recommended property: + +Recommended controlled vocabulary: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + bibo:status "inactive"@en . + +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:maxCount 1` + +### 4.10 Ontology code repository + +A code repository (e.g. on [GitLab.com][gitlab] or [GitHub.com][github]) should be the development environment of your ontology. It should contain the source code of your ontology but may also be used to host your documentation, your issue tracker and may contain related resources like different distributions of your ontology, versions of your ontology, application examples, competency questions, discussions and decisions - in short: the entire history of your ontology should be located in a code repository. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + doap:repository . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:maxCount 1` +* `sh:nodeKind sh:IRI` + +### 4.11 Ontology distributions/ products + +There are different serializations available for ontologies but not all are parsable by any system: For example an ontology tool may be well prepared for rdf/xml but not so much for json-ld. It may help users of your ontology, if you provided IRIs to available alternative serializations or distributions of your ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology; + dcat:distribution , , . +``` + +Alternative properties: + +* +* +* +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.12 Application example + +How to use an ontology is often helpfully demonstrated by application examples and visualizations that give a glimpse about how the ontology can be used to structure actual data. If you have such application examples, these might be better found, if you link to them from the ontology. These application examples could be part of the ontology documentation, formal serializations applying the ontology or even technical applications that make use of the ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + vann:example . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.13 Related resource(s) + +Resources related to the ontology could be publications discussing the ontology, applications of the ontology or mapping files (see also section [5.17 Alignments/ mappings](#517-alignments-mappings)). If any such resources exist, you should mention them in the ontology. You may also point to other related resources, for example resources that are cited or were otherwise used to inform the ontology. We recommend using a permanent identifier, such as a DOI, of the referenced resource. + +Recommended property: + +Example: + +```Turtle + rdf:type owl:Ontology ; + dcterms:references . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.14 Citation suggestion + +You could give information on how you would like others to cite your ontologies. You may even provide structured metadata ready for import into citation management tools like Bibtex etc. Currently, there is no citation standard considering the citation of ontologies. We therefore recommend to provide at least the creators, the year of publication, the ontology title and to give the versionIRI as the access URL. In addition, you could also provide references to citable publications (cf. section [4.13 Related resources](#413-related-resources)). + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:bibliographicCitation "Last name, first name; last name, first name et al. (YYYY): Ontology title. URL: https://w3id.org/SomeOntology/1.1.6 (last accessed: DD.MM.YYYY)"^^@en . +``` + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology; + dcterms:bibliographicCitation "@misc{SomeOntology, title = \"Some Ontology\", author = \"Last name, first name and Last name, first name\", url = \"https://w3id.org/SomeOntology/1.1.6\",year = \"YYYY\",}"^^xsd:string . +``` + +Alternative properties: n/a + +SHACL validation rules: n/a + +### 4.15 Ontology sources (derived from) + +You should specify whether and from which other ontologies your ontology has been derived. The reference should be made by an owl:versionIRI of the ontology from which the current ontology has been derived. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology; + pav:derivedFrom . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 4.16 Ontology root classes + +You should explicitly declare the ontology's preferred root classes. Display tools like the [TIB Terminology Service][TIB TS] and other OLS-based services [[9]](#source9), [[10]](#source10) can pick specific, user-defined classes for rendering the ontology class hierarchy. This is especially helpful, when an ontology imports a lot of classes from other ontologies. The repsective classes need to be provided via their identifier. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + obo:IAO_0000700 . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +
+ +## 5 Optional metadata + +The metadata of an ontology can contain much more information than what has been suggested in sections [3 Mandatory metadata](#3-mandatory-metadata) and [4 Recommended metadata](#4-recommended-metadata) so far. Perhaps, you will also find the following categories useful or informative enough to include them into your metadata. + +At [TIB Terminology Service][TIB TS] all additional metadata will be displayed on the ontology landing page if available. + +### 5.1 Ontology description + +If you want to provide more information about the ontology than the few characters that fit into the [ontology abstract](#37-ontology-abstract), you may also provide a longer descriptive text. In a longer description you may, for example, provide more information about how and why the ontology was created, where it is used, how it will be updated and the like. For extensive discussions about further aspects of the ontology (e.g. ontology creation, ontology use, ontology structure, etc.) we recommend the publication of a detailed documentation (cf. [3.9 Ontology documentation](#39-ontology-documentation)) or traditional academic article (cf. [4.13 Related resources](#413-related-resources)), instead of an ontology description. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology; + schema:description "Free text describing the ontology and how it came to be. Basically everything you might want to add and which does not fit into the abstract."@en . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:nodeKind sh:Literal` +* `sh:uniqueLang true` + +### 5.2 Alternative ontology title + +An alternative title for the ontology may provided, for example a former working title the ontology has been known by. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:alternative "My Ontology"@en . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` + +### 5.3 Alternative ontology prefix/ acronym + +An alternative prefix for the ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:Type owl:Ontology ; + idot:alternatePrefix "mo"^^xsd:string . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:datatype xsd:string` + +### 5.4 Related version/ version history + +When ontologies are developed on collaborative development platforms with version management software like [GitLab.com][gitlab] or [GitHub.com][github], it is relatively easy to maintain and keep all development and release versions of an ontology. Ontologies may therefore have multiple resolvable version IRIs. The different versions can relate to each other in different ways as discussed in the following sections. + +#### 5.4.1 Prior ontology version + +An ontology may point back to one or more versions that were valid before the current version. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:priorVersion . +``` + +Alternative properties: + +* +* +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +#### 5.4.2 Related ontology version + +A related resource of which the described resource is a version, edition, or adaptation. The contents of related versions of an ontology are not identical. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:hasVersion . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +#### 5.4.3 Compatible ontology version + +For application developers and other users, it may be useful to know whether a new version of your ontology is backward compatible with an older version of your ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:versionIRI ; + owl:backwardCompatibleWith . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +#### 5.4.4 Incompatible ontology version + +For application developers and other users, it may be useful to know whether a new version of your ontology is incompatible with an older version of your ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:versionIRI ; + owl:incompatibleWith . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 5.5 Social media + +If you toot about or otherwise promote your ontology on social media, it might be interesting for users to see on which platforms you are having accounts to follow your updates. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + foaf:holdsAccount "myOnto@ontology.social"^^xsd:string . +``` + +Alternative properties: n/a + +SHACL validation rules: n/a + +### 5.6 KOS type + +You may want to additionally classify your ontology with a controlled value from the NKOS type vocabulary [[11]](#source11). + +Recommended property: + +Recommended controlled vocabulary: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:type . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* value must be from a defined list +* `sh:maxCount 1` +* `sh:nodeKind sh:IRI` + +### 5.7 Example ontology identifier + +Give an example for identifiers used in your ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + idot:exampleIdentifier . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 5.8 Ontology identifier pattern + +Identifiers for ontology classes, properties and individuals usually follow one specific pattern that can be summarized with a regular expression. In registries like [Bioregistry][Bioregistries] this is usually provided as part of the ontology metadata. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + idot:identifierPattern "^\\d{4}-[A-Z]{2}$"^^xsd:string . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:datatype xsd:string` +* `sh:maxCount 1` + +### 5.9 Ontology homepage + +The official homepage of your ontology. This is not necessarily the documentation website, but could be a general info page, which may also include documentation about the ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology; + foaf:homepage . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:maxCount 1` +* `sh:nodeKind sh:IRI` + +### 5.10 Ontology publisher + +The official publisher of the ontology. This might be the institution you are affiliated to. We recommend to refer to the institution via PIDs (e.g. [ROR][ror], [ISNI][isni], [GND][gnd] ID). + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:publisher . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` +* `sh:pattern "https://d-nb.info/gnd/(|(1[012]?[0-9]{7}[0-9X]|[47][0-9]{6}-[0-9]|[1-9][0-9]{0,7}-[0-9X]|3[0-9]{7}[0-9X]))$"` +* `sh:pattern "https://isni.org/isni/[0]{4}[0-9]{4}[0-9]{4}[0-9]{3}[0-9X]"` +* `sh:pattern "https://ror.org/([a-z0-9]{9})"` + +### 5.11 Ontology comments + +Any comments you would like to make about your ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + rdfs:comment "SomeOntology does not actually exist."@en . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` + +### 5.12 Example ontology class + +You could provide an example class that is representative for the entities described in the ontology, for example demonstrating typical term annotations, editorial notes or axiomatic statements, deprecation notes etc. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + void:exampleResource . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 5.13 Ontology mailing list + +Communication about the ontology may take place over a mailing list, e.g. regarding updates. If this is your way to communicate, the info should be part of your ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + doap:mailing-list . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:maxCount 1` + +### 5.14 Ontology logo/ depiction/ related visualizations + +Links to official ontology logo or other visualizations/ diagrams of ontology elements online, e.g. WebVOWL visualizations and other graph views. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + foaf:logo +``` + +Alternative properties: + +* +* +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 5.15 Related identifiers + +If your ontology has been published at an archive, you may want to declare these related identifiers in the ontology metadata. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:identifier . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +### 5.16 Development environment + +The software that was used to create the ontology. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + pav:createdWith "Protégé 4.8.8"^^xsd:string . +``` + +Alternative properties: + +* + +SHACL validation rules: n/a + +### 5.17 Alignments/ mappings + +#### 5.17.1 Aligned resources + +The ontology may indicate to which other resource(s) it has been aligned or contains equivalences to. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + mod:hasEquivalencesWith . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:nodeKind sh:IRI` + +#### 5.17.2 Alignment files/ Mapping files + +Alignments and mappings may not be included in the ontology document itself, but in a related resource (e.g. when following the SSSOM paradigm [[12]](#source12)). Accordingly, we recommend to treat mapping sets like related resources. The mapping set should be referenced via a PID or a version IRI. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:references . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:nodeKInd sh:IRI` + +### 5.18 Competency Questions + +Which competency questions does the ontology address? For which use case was it developed? + +Recommended property: + +Example 1 (text/turtle) + +```Turtle + rdf:type owl:Ontology ; + mod:competencyQuestion "Who developed an ontology?"@en . +``` + +Example 2 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + mod:competencyQuestion +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:xone ([sh:nodeKind sh:IRI ;] [sh:datatype rdf:langString ;])` + +### 5.19 Applied methodology + +A name or description of the steps taken to develop the ontology. This should describe the overall organisation of the ontology development process. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + omv:usedOntologyEngineeringMethodology "Methontology" . +``` + +Alternative properties: n/a + +SHACL validation rules: n/a + +### 5.20 Preferred ontology namespace + +The preferred namespace URI of an ontology is the URI which is to be used when referencing its terms. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + vann:preferredNamespaceUri . +``` + +Alternative properties: n/a + +SHACL validation rules: + +* `sh:maxCount 1` +* `sh:nodeKind sh:IRI` + +### 5.21 Ontology issue date + +The date the ontology was officially published. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:issued "2023-11-21"^^xsd:dateTime . +``` + +Alternative properties: + +* +* + +SHACL validation rules: + +* `sh:datatype xsd:dateTime` +* `sh:maxCount 1` + +### 5.22 Modification date + +Since ontologies are updated over time, it would be helpful to provide the date when the ontology has been last modified. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + dcterms:modified "2020-11-19T00:00:00"^^xsd:dateTime . +``` + +Alternative properties: + +* +* +* + +SHACL validation rules: + +* `sh:datatype xsd:dateTime` +* `sh:maxCount 1` + +### 5.23 Textual version information + +Some ontologies make use of semantic versioning and employ strings like 1.0.0 as a tag to distinguish one version of their ontology from a successor. Others employ the modification date, e.g. 2022-12-21. If you use such textual version information but do not use/have a Version URI, then we strongly recommend to also mint a version URI in which you use the textual version information as variable. + +Recommended property: + +Example 1 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:versionInfo "2023-01-01"^^xsd:string . +``` + +Example 2 (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + owl:versionInfo "1.0.0"^^xsd:string . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:datatype xsd:string` +* `sh:maxCount 1` + +### 5.24 Version notes + +Version information may also be accompanied by a description about changes between one version of the ontology and its predecessor. + +There are several ways for an automatic generation of change notes. When using GitHub and properly atomic PRs for the implementation of each change, you could copy the notes that are created when preparing a release based on tags, which will list all the PRs that have been merged since the last tag. Another approach could be to use the output of the ROBOT diff command. + +Recommended property: + +Example (text/turtle): + +```Turtle + rdf:type owl:Ontology ; + adms:versionNotes "Changes from 2000-01-12: add annotation properties: familyName [...] "@en . +``` + +Alternative properties: + +* + +SHACL validation rules: + +* `sh:datatype rdf:langString` +* `sh:nodeKind sh:Literal` + +
+ +## 6 Tabular overview + +| section | metadatum | Preferred property | Mandatory | Recommended | Optional | Cardinality | +|---------|--------------------------------------------------|-------------------------------------------------------------------------------|-----------|-------------|----------|-------------| +| 3.1 | Title | | x | | | 1…* | +| 3.2 | Preferred ontology prefix/ acronym | | x | | | 1 | +| 3.3 | License | | x | | | 1 | +| 3.4 | Creator | | x | | | 1…* | +| 3.5 | Version IRI | | x | | | 1 | +| 3.6 | Creation date | | x | | | 1 | +| 3.7 | Abstract | | x | | | 1…* | +| 3.8 | Issue tracker | | x | | | 1 | +| 3.9 | Documentation | | x | | | 1 | +| 4.1 | Contributor(s) | | | x | | 0…* | +| 4.2 | Funder | | | x | | 0…* | +| 4.3 | Funding (grant) | | | x | | 0…* | +| 4.4 | Audience description | | | x | | 0...1 | +| 4.5 | Subject(s) | | | x | | 0…* | +| 4.6 | Annotation language(s) | | | x | | 0…* | +| 4.7 | Applied logical framework | | | x | | 0...1 | +| 4.8 | Serialization/ file format | | | x | | 0...1 | +| 4.9 | Status | | | x | | 0...1 | +| 4.10 | Code repository | | | x | | 0...1 | +| 4.11 | Distributions/ products | | | x | | 0…* | +| 4.12 | Application example | | | x | | 0…* | +| 4.13 | Related resource(s) | | | x | | 0…* | +| 4.14 | Citation suggestion | | | x | | 0…* | +| 4.15 | Ontology sources (derived from) | | | x | | 0…* | +| 4.16 | Root classes | | | x | | 0…* | +| 5.1 | Description | | | | x | 0…* | +| 5.2 | Alternative ontology title | | | | x | 0…* | +| 5.3 | Alternative ontology prefix/ acronym | | | | x | 0…* | +| 5.4.1 | Prior ontology version | | | | x | 0…* | +| 5.4.2 | Related ontology version | | | | x | 0…* | +| 5.4.3 | Compatible ontology version | | | | x | 0…* | +| 5.4.4 | Incompatible ontology version | | | | x | 0…* | +| 5.5 | Social media | | | | x | 0…* | +| 5.6 | KOS type | | | | x | 0…1 | +| 5.7 | Example ontology identifier | | | | x | 0…* | +| 5.8 | Ontology identifier pattern | | | | x | 0…1 | +| 5.9 | Ontology homepage | | | | x | 0…1 | +| 5.10 | Publisher | | | | x | 0…* | +| 5.11 | Ontology comments | | | | x | 0…* | +| 5.12 | Example ontology class | | | | x | 0…* | +| 5.13 | Ontology mailing list | | | | x | 0…1 | +| 5.14 | Ontology logo/ depiction/ related visualizations | | | | x | 0…* | +| 5.15 | Related identifiers | | | | x | 0…* | +| 5.16 | Development environment | | | | x | 0…* | +| 5.17.1 | Aligned resources | | | | x | 0…* | +| 5.17.2 | Alignment files/ mapping files | | | | x | 0…* | +| 5.18 | Competency questions | | | | x | 0…* | +| 5.19 | Applied methodology | [usedOntologyEngineeringMethodology>](http://omv.ontoware.org/2005/05/ontology#usedOntologyEngineeringMethodology) | | | x | 0…* | +| 5.20 | Preferred ontology namespace | | | | x | 0…1 | +| 5.21 | Ontology issue date | | | | x | 0…1 | +| 5.22 | Modification date | | | | x | 0…1 | +| 5.23 | Textual version information | | | | x | 0…1 | +| 5.24 | Version notes | | | | x | 0…* | + +
+ +## 7 Relations to related work + +The following table shows the relation of the recommendations in this guide to related works. If these works recommend the same metadatum for an ontology, the corresponding cell will be marked as *true*, if the metadatum could not be identified in the source, the corresponding cell will be marked as *false*. + +| section | metadatum | [[13]](#source13) | [[14]](#source14) | [[15]](#source15) | [[16]](#source16) | [[17]](#source17) | [[18]](#source18) | [[19]](#source19) | [[20]](#source20) | [[21]](#source21) | [[22]](#source22) | [[23]](#source23) | +|---------|--------------------------------------------------|-------------------|-------------------|-------------------|-------------------|-------------------|-------------------|-------------------|-------------------|-------------------|-------------------|-------------------| +| 3.1 | Title | true | true | true | true | true | true | true | false | false | true | true | +| 3.2 | Preferred ontology prefix/ acronym | true | true | true | false | true | true | true | false | false | true | false | +| 3.3 | License | true | true | true | true | true | true | true | true | true | true | true | +| 3.4 | Creator | true | true | true | true | true | true | true | true | true | false | true | +| 3.5 | Version IRI | false | false | false | false | true | true | true | true | true | false | true | +| 3.6 | Creation date | true | true | false | false | true | true | true | true | true | false | true | +| 3.7 | Abstract | false | true | false | true | true | true | true | false | false | true | true | +| 3.8 | Issue tracker | true | true | false | true | false | false | true | false | false | false | true | +| 3.9 | Documentation | false | false | false | false | false | false | false | false | true | false | false | +| 4.1 | Contributor(s) | false | true | true | true | true | true | true | true | false | false | true | +| 4.2 | Funder | true | true | false | false | true | false | true | false | false | false | true | +| 4.3 | Funding (grant) | false | false | false | false | true | false | false | false | false | false | true | +| 4.4 | Audience description | true | true | false | true | false | false | true | false | false | false | true | +| 4.5 | Subject(s) | true | true | false | true | false | false | true | false | true | true | true | +| 4.6 | Annotation language(s) | true | true | false | false | false | false | true | false | false | false | true | +| 4.7 | Applied logical framework | false | true | false | true | false | false | true | false | false | false | false | +| 4.8 | Serialization/ file format | true | true | false | false | false | false | true | false | false | false | true | +| 4.9 | Status | true | false | false | true | true | true | true | true | true | true | true | +| 4.10 | Code repository | false | true | false | true | false | false | true | false | false | true | false | +| 4.11 | Distributions/ products | true | true | false | false | false | false | true | false | true | false | true | +| 4.12 | Application example | false | true | false | true | false | false | true | false | false | false | false | +| 4.13 | Related resource(s) | true | true | false | false | true | true | true | false | true | true | true | +| 4.14 | Citation suggestion | false | true | false | false | true | true | true | true | false | false | true | +| 4.15 | Ontology sources (derived from) | true | true | false | true | true | true | true | true | true | false | true | +| 4.16 | Root classes | false | true | false | false | false | false | true | false | false | false | false | +| 5.1 | Description | true | true | true | true | true | true | true | false | true | true | true | +| 5.2 | Alternative ontology title | false | true | false | false | false | false | true | false | false | false | true | +| 5.3 | Alternative ontology prefix/ acronym | true | true | false | false | false | false | false | false | false | true | false | +| 5.4.1 | Prior ontology version | false | true | false | false | true | true | true | true | true | false | false | +| 5.4.2 | Related ontology version | false | true | false | false | false | false | true | false | false | false | false | +| 5.4.3 | Compatible ontology version | false | false | false | false | true | true | true | true | false | false | false | +| 5.4.4 | Incompatible ontology version | false | false | false | false | true | true | true | true | false | false | false | +| 5.5 | Social media | true | false | false | false | false | false | false | false | false | true | false | +| 5.6 | KOS type | false | false | false | false | false | false | false | false | false | false | true | +| 5.7 | Example ontology identifier | true | true | false | false | false | false | true | false | false | true | false | +| 5.8 | Ontology identifier pattern | true | true | false | true | false | false | true | false | false | true | false | +| 5.9 | Ontology homepage | true | true | false | false | false | false | true | false | false | true | false | +| 5.10 | Publisher | true | true | true | false | true | true | true | false | false | false | true | +| 5.11 | Ontology comments | true | true | true | false | false | false | true | false | false | true | false | +| 5.12 | Example ontology class | true | true | false | false | true | false | true | false | false | false | true | +| 5.13 | Ontology mailing list | true | true | false | true | false | false | true | false | false | false | false | +| 5.14 | Ontology logo/ depiction/ related visualizations | true | true | false | true | true | true | true | false | false | true | false | +| 5.15 | Related identifiers | true | true | false | false | true | true | true | false | false | true | true | +| 5.16 | Development environment | true | true | false | true | false | true | true | false | false | false | false | +| 5.17.1 | Aligned resources | false | true | false | false | false | false | true | false | true | false | false | +| 5.17.2 | Alignment files/ mapping files | false | false | false | false | false | false | false | false | true | false | false | +| 5.18 | Competency questions | false | true | false | true | false | false | true | false | false | false | false | +| 5.19 | Applied methodology | true | true | false | true | false | false | true | false | false | false | false | +| 5.20 | Preferred ontology namespace | true | true | true | false | true | true | true | false | false | false | true | +| 5.21 | Ontology issue date | false | true | true | false | true | true | false | false | false | false | false | +| 5.22 | Modification date | false | true | true | false | true | true | true | true | false | false | true | +| 5.23 | Textual version information | false | true | true | false | true | true | true | true | false | true | true | +| 5.24 | Version notes | false | true | true | false | false | true | false | true | false | false | false | + +## 8 Sources + +1. GO FAIR (n/a): FAIR Principles. URL: (last access: 28 April 2023). + +2. Yann Le Franc, Luiz Bonino, Hanna Koivula, Jessica Parland-von Essen, & Robert Pergl (2022): D2.8 FAIR Semantics Recommendations Third Iteration (V1.0). Zenodo. URL: (last access: 04 April 2024). + +3. OBO Foundry (n/a): Principle: Versioning (principle 4). URL: (last acchess: 04 April 2024). + +4. Garijo, Daniel (2017): WIDOCO: a wizard for documenting ontologies. In: International Semantic Web Conference (Proceedings), 94-102. Springer, Cham. DOI: 10.1007/978-3-319-68204-4_9. URL: (last access: 04 April 2024). + +5. Daniel Garijo et al. (2023): WIzard for DOCumenting Ontologies (WIDOCO) - Code Repository. URL: (last access: 04 April 2024). + +6. Internet Assigned Numbers Authority (2024): Media Types. URL (last access: 04 April 2024). + +7. World Wide Web Consortium (W3C) (2015): Unique URIs for File Formats. URL: (last access: 04 April 2024). + +8. OBO Foundry (n/a): Ontology status. URL: (last access: 04 April 2024). + +9. Samples, Phenotypes and Ontologies (SPOT) at EMBL-EBI (2022): Ontology Lookup Service (OLS) Version 3 - Code Repository - Release 3.2.5. URL: (last access: 04 April 2024). + +10. Samples, Phenotypes and Ontologies (SPOT) at EMBL-EBI (2024): Ontology Lookup Service (OLS) - Version 4 - Code Repository - Latest Release. URL: (last access: 04 April 2024). + +11. Marcia Zeng & Maja Žumer (2019): KOS Type Vocabulary. URL: , (last access: 04 April 2024). + +12. Nicolas Matentzoglu et al. (2024): Simple Standard for Sharing Ontological Mappings (SSSOM) - Editors Draft version 0.15.2. URL: (last access: 04 April 2024). + +13. OBO Foundry (2021): Derived registry files - context file for the generation of rdf-based ontology metadata. URL: , (last access: 04 April 2024). + +14. Dutta, B., Toulet, A., Emonet, V. and Jonquet, C. (2017): New Generation Metadata vocabulary for Ontology Description and Publication. In E. Garoufallou, S. Virkus, R. Siatri and D. Koutsomiha (eds.): *Communications in Computer and Information Science (CCIS) 755, proceedings of 11th Metadata and Semantics Research Conference (MTSR 2017), November 28 - December 1, 2017, Tallinn, Estonia*. Springer Nature, pp. 173-185. URL: (last access: 04 April 2024). + +15. Pierre-Yves Vandenbussche & Bernard Vatant (2021): Metadata Recommendations For Linked Open Data Vocabularies - Version 1.1. URL: (last access: 04 April 2024). + +16. Robert Stevens et al. (2017): MIRO – Minimum Information for Reporting of an Ontology. URL: (last access: 04 April 2024). + +17. Daniel Garijo & María Poveda-Villalón (2023): A checklist for complete vocabulary metadata - Revision 1.0.2. URL: (last access: 04 April 2024). + +18. Daniel Garijo & María Poveda-Villalón (2020): Best Practices for Implementing FAIR Vocabularies and Ontologies on the Web. *ArXiv.org.* URL: (last access: 04 April 2024). + +19. E. Amdouni, S. Bouazzouni, C. Jonquet (2022): O'FAIRe: Ontology FAIRness evaluator - FAIR questions. URL: (last access: 04 April 2024). + +20. Cox, Simon J. D. et al. (2021): Ten simple rules for making a vocabulary FAIR. *PLOS Computational Biology 17(6)*, pp. 1-15. URL: (last access: 04 April 2024). + +21. Fuqi Xu et al. (2022): Features of a FAIR vocabulary. In: Katy Wolstencroft et al. (eds.): *Proceedings of the 13th International Conference on Semantic Web Applications and Tools for Health Care and Life Sciences (SWAT4HCLS)* (= CEUR Workshop Proceedings 3127). Aachen, 118-148. URL: (last access: 04 April 2024). + +22. Charles Tapley Hoyt (2024): Bioregistry JSON Schema. URL (latest): , URL (v0.10.190): (last access: 04 April 2024). + +23. Schema.Org Community Group (n/a): DefinedTermSet. A Schema.org Type. URL: (last access: 04 April 2024). + + + + + +[Bioregistries]: "Hoyt, C. T., et al. (2022) The Unifying the identification of biomedical entities with the Bioregistry. Nature Scientific Data, . Last accessed: 22 April 2024." +[cropusage-agroportal]: "Audience description of Cropusage at AgroPortal. URL: https://agroportal.lirmm.fr/ontologies/CROPUSAGE. Last accessed: 22 April 2024." +[doi]: "DOI Foundation Homepage. URL: https://www.doi.org/. Last accessed: 22 April 2024." +[FAIR Principles R1]: "FAIR Principles. Principle R1. GO FAIR. URL: . Last accessed: 28 April 2023." +[github]: "GitHub.com. Last accessed: 22 April 2024." +[gitlab pages]: "GitLab Documentation: GitLab Pages. URL: https://docs.gitlab.com/ee/user/project/pages/. Last accessed: 22 April 2024." +[gitlab]: "GitLab.com. Last accessed: 22 April 2024." +[gnd]: "Gemeinsame Normdatei (GND) - GND Explorer. URL: https://explore.gnd.network/. Last accessed: 22 April 2024." +[isni]: "International Standard Name Identifier Homepage. URL: https://isni.org/. Last accessed: 22 April 2024." +[linsearch]: "Technische Informationsbibliothek: Fachsystematik LinSearch. URL: https://purl.org/linsearch. Last accessed: 22 April 2024." +[nmrc-tib-ts]: "Audience description of NMRC at TIB Terminology Service. URL: https://terminology.tib.eu/ts/ontologies/nmrc. Last accessed: 22 April 2024." +[Open Definition 2.1]: "Open Knowledge (n/a): Open Definition. Defining Open in Open Data, Open Content and Open Knowledge. URL: https://opendefinition.org/od/2.1/en/. Last accessed: 22 April 2024." +[Open Definition license list]: "Open Knowledge (n/a): Open Definition. Defining Open in Open Data, Open Content and Open Knowledge. List of Conformant Licensess. URL: https://opendefinition.org/licenses/. Last accessed: 22 April 2024." +[orcid]: "Open Researcher and Contributor ID (ORCiD) Homepage. URL: https://orcid.org/. Last accessed: 22 April 2024." +[prefix.cc]: "Prefix.cc. Namespace Lookup for RDF Developers.URL: https://prefix.cc/. Last accessed: 22 April 2024." +[raid]: "RAiD Research Activity Identifier Service. URL: https://raid.org/. Last accessed: 22 April 2024." +[ror]: "Research Organization Registry Homepage. URL: https://ror.org/. Last accessed: 22 April 2024." +[semver]: "Tom Preston Werner (n/a): Semantic Versioning 2.0.0. URL: https://semver.org/. Last accessed: 22 April 2024." +[shacl-playground]: "Holger Knublauch (n/a): SHACL Playground. URL: https://shacl.org/playground/. Last accessed: 22 April 2024." +[TIB TS ontology list]: "TIB Terminology Service - Ontologies list. URL: https://terminology.tib.eu/ts/ontologies. Last accessed: 22 April 2024." +[TIB TS]: "TIB Terminology Service. URL: https://terminology.tib.eu/. Last accessed: 22 April 2024." +[wikidata]: "Wikidata. URL: https://www.wikidata.org/wiki/Wikidata:Main_Page. Last accessed: 22 April 2024." + \ No newline at end of file diff --git a/MetadataGuide.pdf b/MetadataGuide.pdf new file mode 100644 index 0000000..946ac01 Binary files /dev/null and b/MetadataGuide.pdf differ diff --git a/OntoMetadataShape.ttl b/OntoMetadataShape.ttl new file mode 100644 index 0000000..14b4515 --- /dev/null +++ b/OntoMetadataShape.ttl @@ -0,0 +1,1558 @@ +@base . +@prefix adms: . +@prefix bibo: . +@prefix cc: . +@prefix dash: . +@prefix dbo: . +@prefix dc: . +@prefix dcat: . +@prefix dcterms: . +@prefix doap: . +@prefix mod: . +@prefix ontometa: . +@prefix owl: . +@prefix pav: . +@prefix prov: . +@prefix premis: . +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix shacl: . +@prefix skos: . +@prefix vann: . +@prefix vs: . +@prefix xsd: . + + +ontometa: rdf:type owl:Ontology ; + # owl:imports ; #when last imported (2024-04-05), SHACL was inconsistent + "OntoMeta provides SHACL shapes for ontology metadata. It is intended for use in TIB Terminology Service. You may re-use (please refer back to our repo!) for your own services. Please note that adaptations might be necessary. If you have any remarks or questions get in touch with us at https://github.com/StroemPhi/Ontology-Metadata/issues"@en ; + dcterms:license ; + "2024-04-19T15:10:00"^^xsd:dateTime; + ; + "Ontology Metadata Shape by TIB"@en, "TIB Metadatenshape für Ontologien"; + , , , , ; + "ontometa"; + ; + ; + "active"@en ; + "Ontology engineers, ontology publishers, terminology service providers, terminology service curators"@en; + dcterms:language ; + , ; + ; + + # +. + +# Start of the Ontology Metadata Shape +ontometa:OntologyMetadataShape a sh:NodeShape ; + sh:targetClass owl:Ontology ; + +# MANDATORY METADATA + +## Ontology title +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath (rdfs:label skos:prefLabel dc:title dcterms:title schema:name schema:headline) ] ; + sh:severity sh:Warning ; + sh:minCount 1 ; + sh:message """ + You must add an ontology title or label. The title should be an rdf:langString. + Recommended property: . + Example statement (text/turtle): dcterms:title "Some Ontology"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology has a title or label. It produces a warning message if the title is missing. The ontology title is mandatory."@en ; + sh:name "Ontology title"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (rdfs:label skos:prefLabel dc:title dcterms:title schema:name schema:headline) ] ; + sh:severity sh:Info ; + sh:datatype rdf:langString ; + sh:uniqueLang true ; + sh:message """ + You should make the ontology title an rdf:langString by adding a language tag to it. + There may be only title per language. + Example statement (text/turtle): dcterms:title "Some Ontology"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology title literal value is an rdf:langString and whether only one title per language is given. It produces an info message if the title does not carry a language tag or if several titles in the same language are present."@en ; + sh:name "Ontology title - datatype"@en ; + ] ; + +## Preferred ontology prefix/ acronym +### status: developer and external review needed: add check for forbidden characters like - ? + sh:property [ + sh:path [sh:alternativePath ( )]; + sh:severity sh:Warning; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message """ + You must declare at most one preferred namespace prefix or acronym for the ontology. + It must not contain hyphens or other special characters and should be written in lowercase. + Recommended property: + Example statement (text/turtle): vann:preferredNamespacePrefix "so"^^xsd:string . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares a preferred namespace prefix. It produces a warning message if the ontology does not declare a preferred namespace prefix."@en ; + sh:name "Preferred ontology prefix/ acronym"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath ( )]; + sh:severity sh:Info ; + sh:datatype xsd:string ; + sh:message """ + You should provide the ontology's preferred namespace prefix or acronym as an xsd:string. + Example statement (text/turtle): vann:preferredNamespacePrefix "so"^^xsd:string . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's preferred namespace prefix or acronym is an xsd:string. It produces an info message if it is not."@en ; + sh:name "Preferred ontology prefix/ acronym - datatype"@en ; + ] ; + +## Ontology license +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath (dcterms:license dcterms:rights schema:license cc:license dbo:license)] ; + sh:severity sh:Warning ; + sh:minCount 1; + sh:maxCount 1; + # tbd/todo: add further licenses to the list of accepted licenses? + sh:xone ( + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + + # [sh:hasValue <> ;] + ); + sh:message """ + You must provide exactly one ontology license. + The license must be open (Read more about open licenses at https://opendefinition.org/licenses/). + The license must be given as an IRI from the following list: + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + Recommended property: + Example statement (text/turtle): dcterms:license . + You want to use a different open license? File an issue at https://gitlab.com/TIBHannover/terminology/tib-terminology-service-issue-tracker/-/issues + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides a license IRI from a list of accepted open licenses. It produces a warning message if not."@en ; + sh:name "Ontology license"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:license dcterms:rights schema:license cc:license dbo:license)] ; + sh:severity sh:Warning ; + # tbd/todo: add further licenses to the list of unaccepted licenses? + # tbd/todo: discuss > redundant test? + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + sh:not [sh:hasValue ;] ; + # sh:not [sh:hasValue <> ;] ; + sh:message """ + The ontology license is not accepted at TIB Terminology Service since it is not an open license according to the Open Definition (https://opendefinition.org/licenses/). + You must provide an open ontology license. + The license must be given as an IRI. + The following licenses are not accepted at TIB Terminology Service: + - https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode + - https://creativecommons.org/licenses/by-nc-nd/4.0/legalcode + - https://creativecommons.org/licenses/by-nc-nd/3.0/de/legalcode + - https://creativecommons.org/licenses/by-nd/4.0/legalcode + - https://creativecommons.org/licenses/by-nd/3.0/de/legalcode + Recommended property: + Example statement (text/turtle): dcterms:license . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides a license IRI from a list of unaccepted, non-open licenses. It produces a warning message if it does."@en ; + sh:name "Ontology license"@en ; + ] ; + +## Ontology creator(s) +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath (dc:creator dcterms:creator schema:creator pav:createdBy prov:wasAttributedTo schema:accountablePerson schema:author)]; + sh:severity sh:Warning ; + sh:minCount 1; + sh:message """ + You must add the ontology creators. + You must list at least one person who was involved in developing the ontology. + Creators should be referenced via PIDs, e.g. ORCiDs for persons and RORs for organisations. + If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. + Recommended property: + + Example statement 1 (text/turtle): . rdf:type foaf:Person . + + Plain name strings could be provided in addition (for readability). + Example statement 2 (text/turtle): + . + rdf:type foaf:Person ; "Max" ; + "Muster" . + + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides information about its creator. It produces a warning message if no creator information is present."@en ; + sh:name "Ontology creator(s)"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dc:creator dcterms:creator schema:creator pav:createdBy prov:wasAttributedTo schema:accountablePerson schema:author)]; + sh:severity sh:Info ; + sh:nodeKind sh:IRI; + sh:message """ + You should provide the ontology creators as IRIs. + Please make sure to provide persistent identifiers (PIDs) wherever possible, e.g. ORCiDs for persons and RORs for organisations. + If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. + Recommended property: + Example statement 1 (text/turtle): . rdf:type foaf:Person . + + Plain name strings could be provided in addition (for readability). + Example statement 2 (text/turtle): + . + rdf:type foaf:Person ; "Max" ; + "Muster" . + + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology states its creator as an IRI. It produces an info message if creator information is given e.g. as xsd:string"@en ; + sh:name "Ontology creator(s) - datatype"@en ; + ] ; + +## Version information + +### Ontology version IRI +#### status: developer and external review needed + sh:property [ + sh:path owl:versionIRI ; + sh:severity sh:Warning ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message """ + You must add a versionIRI to the ontology. + The versionIRI should be stable and resolvable, i.e. a fixed version of the ontology should be retrievable from the provided IRI. + It is recommended to use semantic versioning (cf. https://semver.org/) or OBO style date-based versioning (http://obofoundry.org/principles/fp-004-versioning.html). + Recommended property: + Example statement 1 (text/turtle): . + Example statement 2 (text/turtle): . + Example statement 3 (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provids exactly one versionIRI. It produces a warning message if none is found."@en ; + sh:name "Ontology version IRI"@en ; + ] ; + + sh:property [ + sh:path owl:versionIRI ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI; + sh:message """ + You should state the versionIRI as an IRI. It should not be given as a sring or literal. + Recommended property: + Example statement 1 (text/turtle): . + Example statement 2 (text/turtle): . + Example statement 3 (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology versionIRI is provided as an IRI (https://www.w3.org/TR/rdf11-concepts/#dfn-iri) (as compared to a literal). It produces an info message if it is not."@en ; + sh:name "Ontology version IRI - datatype"@en ; + ] ; + +### Ontology creation date +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath (dcterms:created schema:dateCreated pav:createdOn prov:generatedAtTime )] ; + sh:severity sh:Warning ; + sh:minCount 1; + sh:maxCount 1 ; + sh:message """ + You must add a creation date to the ontology. + You must provide exactly one date in xsd:dateTime format. + Recommended property: + Example statement (text/turtle): dcterms:created "2020-11-19T00:00:00"^^xsd:dateTime . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides its creation date. It produces a warning message if not."@en ; + sh:name "Ontology creation date"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:created schema:dateCreated pav:createdOn prov:generatedAtTime )] ; + sh:severity sh:Info ; + sh:datatype xsd:dateTime ; + sh:message """ + You should provide the creation date of the ontology in xsd:dateTime format. + Recommended property: + Example statement (text/turtle): dcterms:created "2020-11-19T00:00:00"^^xsd:dateTime . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides its creation date in xsd:dateTime format. It produces an info message if not."@en ; + sh:name "Ontology creation date - datatype"@en ; + ] ; + +## Ontology abstract +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath (dcterms:abstract )] ; + sh:severity sh:Warning ; + sh:minCount 1 ; + sh:message """ + You must provide a short abstract about the ontology and its scope. + Recommended property: + Example statement (text/turtle): dcterms:abstract "SomeOntology defines a range of classes and properties which can be applied to do stuff in a particular domain."@en , "SomeOntology definiert eine Reihe von Klassen und Properties, die in einer bestimmten Domäne verwendet werden können, um etwas damit zu tun."@de . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides an abstract. It produces an info message if not."@en ; + sh:name "Ontology abstract"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:abstract )] ; + sh:severity sh:Info ; + sh:nodeKind sh:Literal ; + sh:datatype rdf:langString ; + sh:message """ + You should provide the ontology abstract as an rdf:langString. + Recommended property: + Example statement (text/turtle): dcterms:abstract "SomeOntology defines a range of classes and properties which can be applied to do stuff in a particular domain."@en , "SomeOntology definiert eine Reihe von Klassen und Properties, die in einer bestimmten Domäne verwendet werden können, um etwas damit zu tun."@de . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides its abstract as an rdf:langString. It produces an info message if not."@en ; + sh:name "Ontology abstract - language"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:abstract )] ; + sh:severity sh:Info ; + sh:uniqueLang true ; + sh:message """ + You should provide only one ontology abstract per language. + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides several abstracts in the same language. It produces an info message if it does."@en ; + sh:name "Ontology abstract - unique language"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:abstract )] ; + sh:severity sh:Info ; + sh:maxLength 500 ; + sh:message """ + You should limit the ontology abstract to 500 characters maximum. + The TIB Terminology Service requires short ontology descriptions for a user-friendly ontology list. + To provide more information about the ontology, add an additional description (recommended property: ) or add a reference to a related article (recommended property: ). + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape cheks whether the ontology abstract is longer than 500 characters. It produces an info message if it does."@en ; + sh:name "Ontology abstract - length"@en ; + ] ; + +## Ontology issue tracker +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Warning ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message """ + You must provide an IRI for the ontology's issue tracker or another location where bugs and suggestions for the ontology can be reported. + Recommended property: + Example statement (text/turtle): doap:bug-database . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology references an issue tracker on its repository (e.g. at GitLab or GitHub). It creates a warning message, if it does not."@en ; + sh:name "Ontology issue tracker"@en ; + ] ; + +## Ontology documentation +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Warning ; + sh:nodeKind sh:IRI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message """ + You must provide an IRI to the ontology documentation. + Recommended property: + Example statement (text/turtle): premis:documentation . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides a link to its documentation. It produces warning message if it does not."@en ; + sh:name "Ontology documentation"@en ; + ] ; + +# RECOMMENDED METADATA + +## Ontology contributor(s) +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath (dcterms:contributor dc:contributor schema:contributor pav:contributedBy)] ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + You should list all contributors to the ontology. + Contributors should be referenced via PIDs, e.g. ORCiDs for persons and RORs for organisations. + If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. + Recommended property: + + Example statement 1 (text/turtle): . rdf:type foaf:Person . + + Plain name strings can be provided in addition (for readability). + Example statement 2 (text/turtle): + . + rdf:type foaf:Person ; "Max" ; + "Muster" . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides information about its contributors. It produces an info message if no contributor information is present."@en ; + sh:name "Ontology contributor(s)"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:contributor dc:contributor schema:contributor pav:contributedBy)] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide the ontology contributor information as IRIs. + Please make sure to provide persistent identifiers (PIDs) wherever possible, e.g. ORCiDs for persons and RORs for organisations. + If an ontology is developed by a larger group, it is recommended to give the organization or project identifier as the creator and list individual persons as contributors. + Recommended property: + Example statement 1 (text/turtle): . rdf:type foaf:Person . + + Plain name strings could be provided in addition (for readability). + Example statement 2 (text/turtle): + . + rdf:type foaf:Person ; "Max" ; + "Muster" . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology states its contributors via IRIs. It produces an info message if contributor information is given e.g. as xsd:string."@en ; + sh:name "Ontology contributor(s) - datatype"@en ; + ] ; + +## Ontology funder +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + If applicable, you should reference any institutions funding the work on the ontology. + The funding instution(s) should be referenced by PIDs, e.g. RORs (https://ror.org/) or Crossref Funder Registry IDs (https://www.crossref.org/services/funder-registry/)). + Recommended property: + Example statement (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology references funding information. It produces an info message if not."@en ; + sh:name "Ontology funder"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should reference any institutions funding your ontology via IRI. + The funding institution should be referenced by PIDs, e.g. RORs (https://ror.org/) or Crossref Funder Registry IDs (https://www.crossref.org/services/funder-registry/)). + Recommended property: + Example statement (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology references its funder via IRI. It produces an info message if it does not."@en ; + sh:name "Ontology funder"@en ; + ] ; + +## Ontology funding +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + If applicable, you should reference the grant which funds the work on the ontology. + The grant should be referenced by PID, e.g. Crossref Grant ID (https://www.crossref.org/documentation/research-nexus/grants/)). + Recommended property: + Example statement (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology references a grant funding the work on the ontology. It produces an info message if not."@en ; + sh:name "Ontology funding (grant)"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should reference any grants funding your ontology via IRI. + The funding grant should be referenced by PID, e.g. Crossref Grant IDs (https://www.crossref.org/documentation/research-nexus/grants/)). + Recommended property: + Example statement (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology references its funding grant via IRI. It produces an info message if it does not."@en ; + sh:name "Ontology funding (grant)"@en ; + ] ; + + +## Ontology audience description +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath (doap:audience schema:audience dcterms:audience)] ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message """ + You should describe the intended audience of the ontology. + The audience description should be a short, language-tagged text. + Recommended property: + Example statement (text/turtle): doap:audience \"This ontology is intended for researchers in derivational morphology, a branch of linguistics.\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology describes its audience. It produces an info message if audience information is missing."@en ; + skos:editorialNote "see also open comment at G-Doc: https://docs.google.com/document/d/1FRmCQ7eD6PcqSQgPbqCGjki3t39ROoYozsehCPX9E0Q/edit?disco=AAAAwke7GNs" ; + sh:name "Ontology audience description"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (doap:audience schema:audience dcterms:audience)] ; + sh:severity sh:Info ; + sh:datatype rdf:langString ; + sh:message """ + You should provide the audience description of the ontology as an rdf:langString. + Recommended property: + Example statement (text/turtle): doap:audience \"This ontology is intended for researchers in derivational morphology, a branch of linguistics.\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides the audience description as an rdf:langString. It produces an info message if not."@en ; + sh:name "Ontology audience description - language"@en ; + ] ; + + +## Ontology subject(s) +### status: developer and external review needed + sh:property [ + sh:path dcterms:subject ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + You should provide some keywords to describe the subject(s) of your ontology. + It is recommended to use identifiers of controlled vocabularies or ontologies to do so. + You can search for fitting terms on TIB Terminology Service (https://terminology.tib.eu). + Recommended property: + Example statement (text/turtle): dcterms:subject , , , . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides subjects. It produces an info message if it does not."@en ; + sh:name "Ontology subject(s)"@en ; + ] ; + + sh:property [ + sh:path dcterms:subject ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide ontology subjects with IRIs from controlled vocabularies or ontologies. + You can search for fitting terms on TIB Terminology Service (https://terminology.tib.eu). + Recommended property: + Example statement (text/turtle): dcterms:subject , , , . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides its subjects via IRIs. It produces an info message if it does not."@en ; + sh:name "Ontology subject(s) - datatype"@en ; + ] ; + + +## Ontology annotation language(s) +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath (dcterms:language ) ]; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + You should provide information about the ontology annotation language(s) (e.g. for term labels, term definitions, etc.). + You should only claim that the ontology uses an annotation language, if all ontology elements or an extensive part of the ontology is annotaed in that languge. + Recommended controlled vocabulary: + Recommended property: + Example statement (text/turtle): dcterms:language , . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology specifies the languages it covers (e.g. for term labels, term definitions, etc.). It produces an info message if no language information is given."@en ; + sh:name "Ontology annotation language(s)"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:language ) ]; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should specify the ontology annotation language(s) via IRIs. + Recommended controlled vocabulary: + Recommended property: + Example statement (text/turtle): dcterms:language , . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides information about its language coverage via IRIs. It produces an info message if it does not."@en ; + sh:name "Ontology annotation language(s) - datatype"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dcterms:language ) ]; + sh:severity sh:Info ; + sh:pattern "(^http://id.loc.gov/vocabulary/iso639-2/[a-z]{3}$|^https://id.loc.gov/vocabulary/iso639-2/[a-z]{3}$)" ; + sh:message """ + You should provide ontology annotation language values that match the pattern for language identifiers from 'ISO 639-2: Codes for the Representation of Names of Languages - Part 2: Alpha-3 Code for the Names of Languages' (cf. https://id.loc.gov/vocabulary/iso639-2.html). + Example identifier: + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the values for language coverage match the pattern for language identifiers from 'ISO 639-2: Codes for the Representation of Names of Languages - Part 2: Alpha-3 Code for the Names of Languages'. It produces an info message if they do not."@en ; + sh:name "Ontology annotation language(s) - pattern"@en ; + ] ; + + +## Applied logical framework +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:message """ + You should state which logical framework the ontology applies. + The information can be given as a text, referring to the Semantic Web Standard (e.g. 'OWL 2') and possibly the OWL profile (e.g. 'OWL 2 EL profile'). + Recommended property: + Example statement (text/turtle): mod:hasFormalityLevel \"OWL version 2, EL profile\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology specifies the logical framework it applies. It produces an info message if the information is missing."@en ; + sh:name "Applied logical framework description"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:datatype rdf:langString ; + sh:message """ + You should provide the description of the logical framework applied by the ontology as an rdf:langString. + Recommended property: + Example statement (text/turtle): mod:hasFormalityLevel \"OWL version 2, EL profile\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's information about it applied logical framework is provided as an rdf:langString. It produces an info message if it does not."@en ; + sh:name "Applied logical framework description - language"@en ; + ] ; + + +## Ontology serialization/ file format +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath ( ) ]; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + You should state the ontology's serialization/ file format. + The value should be provided as an IRI. + We recommend to provide the information about the media type/ file format of your ontology as one of the values from the Media Types list of the Internet Assigned Number Authority (IANA) (cf. https://www.iana.org/assignments/media-types/media-types.xhtml) or from the W3C resource "Unique URIs for File Formats" : + + In order to publish your ontology on the TIB Terminology Service, you must provide the ontology in one of the following formats: + - resp. + - resp. + - OBO format (cf. http://purl.obolibrary.org/obo/oboformat/spec.html) + + Currently, there is no registered media type for obo format. + + Recommended property: + Example statement (text/turtle): omv:hasOntologySyntax . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology specifies its serialization/ file format. It produces an info message if it does not."@en ; + sh:name "Ontology serialization/ file format"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should state the ontology's serialization/ file format. + The value should be provided as an IRI. + We recommend to provide the information about the media type/ file format of your ontology as one of the values from the Media Types list of the Internet Assigned Number Authority (IANA) (cf. https://www.iana.org/assignments/media-types/media-types.xhtml) or from the W3C resource "Unique URIs for File Formats" : + + In order to publish your ontology on the TIB Terminology Service, you must provide the ontology in one of the following formats: + - resp. + - resp. + - OBO format (cf. http://purl.obolibrary.org/obo/oboformat/spec.html) + + Currently, there is no registered media type for obo format. + + Recommended property: + Example statement (text/turtle): omv:hasOntologySyntax . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology specifies its serialization/ file format via IRI. It produces an info message if it does not."@en ; + sh:name "Ontology serialization/ file format - datatype"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:maxCount 1; + sh:xone ( + # tbd: not all are relevant or digestable by the TS + # for the TS rdf+xml, turtle and obo are confirmed + # no expected value for obo ontologies > Ontorowser mentions application/obo and text/obo, but these are specific to the service, not officially acknowledged: https://github.com/Novartis/ontobrowser/blob/master/doc/web_services.md + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + [sh:hasValue ;] + # [sh:hasValue ;] + [sh:hasValue ;] + [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + # [sh:hasValue ;] + ); + sh:message """ + You should state the ontology's serialization/ file format. + The value should be provided as an IRI. + We recommend to provide the information about the media type/ file format of your ontology as one of the values from the Media Types list of the Internet Assigned Number Authority (IANA) (cf. https://www.iana.org/assignments/media-types/media-types.xhtml) or from the W3C resource "Unique URIs for File Formats" : + + In order to publish your ontology on the TIB Terminology Service, you must provide the ontology in one of the following formats: + - resp. + - resp. + - OBO format (cf. http://purl.obolibrary.org/obo/oboformat/spec.html) + + Currently, there is no registered media type for obo format. + + Recommended property: + Example statement (text/turtle): omv:hasOntologySyntax . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's serialization/ file format value is from a selection of the recommended controlled lists. It produces an info message if there is more than one value or when the value is not from the selection of the list."@en ; + sh:name "Ontology serialization/ file format - controlled vocabulary value"@en ; + ] ; + +## Ontology status +### status: developer and external review needed +### for later: dedicated ontology_status property missing - suggest to OBO? if available: use instead of bibo:status + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:datatype rdf:langString ; + sh:message """ + You should declare the current maintenance status of the ontology. You could use an English label to do so. We recommend using one of 'active', 'inactive', 'orphaned' or 'obsolete' (cf. https://obofoundry.org/docs/OntologyStatus.html). + The value you use should be language-tagged. + Recommended property: + Example statement (text/turtle): bibo:status "inactive"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides its maintenance status. It produces an info message, if the information is missing."@en ; + sh:name "Ontology status"@en ; + ] ; + +## Ontology code repository +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1; + sh:maxCount 1; + sh:message """ + You should provide the link to the ontology's code repository. + The ontology should be on a code repository and the ontology should contain the repository's IRI. + Recommended property: + Example statement (text/turtle): doap:repository . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology povides a link to its code repository. It produces an info message, if the information is missing."@en ; + sh:name "Ontology code repository"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI; + sh:message """ + You should provide the link to the ontology's code repository as an IRI. + Recommended property: + Example statement (text/turtle): doap:repository . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology povides the link to its code repository as an IRI. It produces an info message, if the information is given as an xsd:string or the like."@en ; + sh:name "Ontology code repository - datatype"@en ; + ] ; + +## Ontology distributions/ products +### status: developer and external review needed + sh:property [ + sh:path [ sh:alternativePath ( schema:distribution dcterms:hasFormat)]; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide IRIs to available alternative serializations or distributions of the ontology. + Recommended property: + Example statement (text/turtle): dcat:distribution , , . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides links to alternative serializations. It produces an info message if the ontology is missing or not provided as an IRI."@en ; + sh:name "Ontology distributions/ products"@en ; + ] ; + +## Application example +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide a link to an application example of the ontology. + Ideally, the ontology provides a PID to e.g. a publication describing applications of the ontology, or directly to an application or online service that uses the ontology. + Recommended property: + Example statement (text/turtle): vann:example . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides links to application examples. It produces an info message if the information is missing or not provided as an IRI."@en ; + sh:name "Application example"@en ; + ] ; + +## Related resource(s) +### status: developer and external review needed + sh:property [ + sh:path dcterms:references ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide references to resources related to the ontology via IRI. + Related recources could for example be publications introducing, discussing, evaluating or describing the ontology, recources containing alignments of your ontology to other ontologies, or any other resources that you would like to reference in your ontology. + The reference should be provided via PID, for example a DOI, if available. + Recommended property: + Example statement (text/turtle): dcterms:references . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides references to related resources as IRIs. It produces an info message if the information is missing or not provided as an IRI."@en ; + sh:name "Related resource(s)"@en ; + ] ; + + +## Citation suggestion +### status: developer and external review needed + sh:property [ + sh:path dcterms:bibliographicCitation ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:message """ + You should provide information about how the ontology should be cited. + The information should be provided as an rdf:langString. + Recommended property: + Example statement (text/turtle): dcterms:bibliographicCitation \"Last name, first name; last name, first name et al. (YYYY): Title. URL: https://w3id.org/SomeOntology/1.1.6\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape ckecks whether the ontology provides information about how it should be cited. It produces an info message if the information is missing."@en ; + sh:name "Citation suggestion"@en ; + ] ; + +## Ontology sources (derived from) +### status: developer and external review needed + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:message """ + You should specify whether and from which other ontologies your ontology has been derived. + The reference should be made by an owl:versionIRI of the ontology from which the current ontology has been derived. + Recommended property: + Example statement (text/turtle): pav:derivedFrom . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides links to other ontologies it has been derived from. It produces an info message if the information is missing or not provided as IRIs."@en ; + sh:name "Ontology sources (derived from)"@en ; + ]; + +## Ontology root classes +### status: developer and external review needed + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:message """ + You should explicitly declare the ontology's root classes. + This information can be used for tree-like visualizations of the class hierarchy in technical services, e.g. TIB Terminology Service. + The repsective classes (if any) need to be provided via their identifier. + Recommended property: + Example statement (text/turtle): obo:IAO_0000700 . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares its preferred root classes. It produces an info message if the information is missing or the information is not provided as IRIs."@en ; + sh:name "Ontology root classes"@en ; + ] ; + +# OPTIONAL METADATA +### status: developer and external review needed + +## Ontology description +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath (dc:description dcterms:description schema:description)]; + sh:severity sh:Info ; + sh:nodeKind sh:Literal; + sh:datatype rdf:langString ; + sh:message """ + You should provide the ontology description as an rdf:langString. + Recommended property: + Example statetement (text/turtle): schema:description \"Free text describing the ontology and how it came to be. Basically everything you might want to add and which does not fit into the abstract.\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology description is an rdf:langString. It produces an info message if it is not."@en ; + sh:name "Ontology description - language"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (dc:description dcterms:description schema:description)] ; + sh:severity sh:Info ; + sh:uniqueLang true ; + sh:message """ + You should only provide one ontology description per language. + Recommended property: + Example statements (text/turtle): schema:description \"Free text describing the ontology and how it came to be. Basically everything you might want to add and which does not fit into the abstract.\"@en, \"Freitext, der die Ontologie und ihre Genese beschreibt. Hier können umfangreiche Hintergrundinformationen zur Ontologie gegeben werden, die über ein kurzes Abstract hinausgehen.\" . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether multiple ontology descriptions in the same language are present. It produces an info message if there are multiple descriptions in the same language."@en ; + sh:name "Ontology description - unique language"@en ; + ] ; + + +## Alternative ontology title +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )]; + sh:severity sh:Info ; + sh:datatype rdf:langString ; + sh:message """ + You should provide the ontology's alternative title as an rdf:langString. + Recommended property: + Example statement (text/turtle): dcterms:alternative \"My Ontology\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en; + sh:description "This shape checks whether the ontology's alternative title is an rdf:langString. It produces an info message if it is not."@en; + sh:name "Alternative ontology title - language"@en; + ] ; + +## Alternative ontology prefix/ acronym +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:datatype xsd:string ; + sh:message """ + You should provide the ontology's alternative prefix as an xsd:string. + Recommended property: + Example statement (text/turtle): idot:alternatePrefix \"mo\"^^xsd:string . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's alternative prefix is an xsd:string. It produces an info message if it does not."@en ; + sh:name "Alternative ontology prefix/ acronym - datatype"@en ; + ] ; + +## Related version/ version history +### status: see below + +### Prior ontology version +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide the ontology's prior version as an IRI. + Ideally, a resolving ontology versionIRI should be used. + Recommended property: + Example statement (text/turtle): owl:priorVersion . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description """This shape checks whether the ontology's prior version is provided as an IRI, ideally via a resolving versionIRI. It produces an info message if it is not."""@en ; + sh:name "Prior ontology version"@en ; + ] ; + +### Related ontology version +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide the ontology's related version as an IRI. + Ideally, a resolving ontology versionIRI should be used. + Recommended property: + Example statement (text/turtle): dcterms:isVersionOf . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's related versions are provided as IRIs, ideally via a resolving versionIRI. It produces an info message if they are not."@en ; + sh:name "Related ontology version"@en ; + ] ; + +### Compatible ontology version +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide compatible versions of the ontology as IRIs. + Ideally, a resolving ontology versionIRI should be used. + Recommended property: + Example statement (text/turtle): owl:backwardCompatibleWith . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides links to compatible versions of the ontology via IRIs. It produces an info message if they are not."@en ; + sh:name "Compatible ontology version"@en ; + ] ; + +### Incompatible ontology version +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide incompatible versions of the ontology as IRIs. + Ideally, a resolving ontology versionIRI should be used. + Recommended property: + Example statement (text/turtle): owl:incompatibleWith . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides links to incompatible versions of the ontology via IRIs. It produces an info message, if it does not."@en ; + sh:name "Incompatible ontology version"@en ; + ] ; + + +## Social media +### status: intentionally no shape + +## KOS type +### status: developer and external review needed + + sh:property [ + sh:path dcterms:type ; + sh:severity sh:Info ; + sh:maxCount 1 ; + sh:message """ + You should declare at most on KOS type for the resource. Use an identifier from the NKOS type vocabulary (https://nkos.dublincore.org/nkostype/nkostype.rdf). + Recommended property: + Example statement (text/turtle): dcterms:type . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares a KOS-type as an IRI from the NKOS type vocabulary. It produces an info message if it does not."@en ; + sh:name "KOS type"@en ; + ] ; + + sh:property [ + sh:path dcterms:type ; + sh:severity sh:Info ; + sh:xone ( + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + [sh:hasValue ] + ) ; + sh:message """ + The KOS type identifier should be provided as an IRI. The IRI should be one of the KOS types defined by the NKOS type vocabulary (https://nkos.dublincore.org/nkostype/nkostype.rdf). + Recommended property: + Example statement (text/turtle): dcterms:type . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares a KOS-type as an IRI from the NKOS type vocabulary. It produces an info message if it does not."@en ; + sh:name "KOS type"@en ; + ] ; + +## Example ontology identifier +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should declare an example identifier for the ontology as an IRI. + Recommended property: + Example statement (text/turtle): idot:exampleIdentifier . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares example identifiers as IRIs. It produces an info message if it does not."@en ; + sh:name "Example ontology identifier"@en ; + ] ; + +## Ontology identifier pattern +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:message """ + You should provide the identifier pattern for the ontology as an xsd:string. + Recommended property: + Example statement (text/turtle): idot:identifierPattern \"^\\d{4}-[A-Z]{2}$\"^^xsd:string . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares an identifier pattern as xsd:string. It produces an info message if it does not."@en ; + sh:name "Ontology identifier pattern"@en ; + ] ; + + +## Ontology homepage +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:maxCount 1 ; + sh:message """ + You should provide the homepage of the ontology as an IRI. + Recommended property: + Example statement (text/turtle): foaf:homepage . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology homepage is provided as an IRI. It produces an info message if it is not."@en ; + sh:name "Ontology homepage"@en ; + ] ; + +## Ontology publisher +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:xone ( + # pattern sources: Wikidata entries of the identifier types + [sh:pattern "https://ror.org/([a-z0-9]{9})" ; ] + [sh:pattern "https://isni.org/isni/[0]{4}[0-9]{4}[0-9]{4}[0-9]{3}[0-9X]" ;] + [sh:pattern "https://d-nb.info/gnd/(|(1[012]?[0-9]{7}[0-9X]|[47][0-9]{6}-[0-9]|[1-9][0-9]{0,7}-[0-9X]|3[0-9]{7}[0-9X]))$" ;] + ) ; + sh:message """ + You should specify the ontology publisher via ROR, ISNI or GND identifier. + The value you provide should be given as an IRI and match the identifier patterns. + If you use valid ROR, ISNI or GND identifiers, this should be the case. + Recommended property: + Example statement (text/turtle): dcterms:publisher . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology specifies its publisher as an IRI belonging to the ROR, ISNI or GND namespace. It produces an info message if not."@en ; + sh:name "Ontology publisher"@en ; + ] ; + +## Ontology comments +### status: developer and external review needed + + sh:property [ + sh:path rdfs:comment ; + sh:severity sh:Info ; + sh:datatype rdf:langString ; + sh:message """ + You should provide any comments about the ontology as rdf:langString. + Recommended property: + Example statement (text/turtle): rdfs:comment \"SomeOntology does not actually exist.\"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the comments about the ontology are provided as an rdf:langString. It produces an info message if they are not."@en ; + sh:name "Ontology comments"@en ; + ] ; + + +## Example ontology class +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide example classes of the otology as IRIs. + Recommended property: + Example statement (text/turtle): void:exampleResource . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether example classes of the ontology are provided as IRIs. It produces an info message if they are not."@en ; + sh:name "Example ontology class - data type"@en ; + ] ; + + +## Ontology mailing list +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:maxCount 1 ; + sh:message """ + You should provide the ontology mailing list as an IRI. + Recommended property: + Example statement (text/turtle): doap:mailing-list . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology mailing list is provided as an IRI. It produces an info message if it is not."@en ; + sh:name "Ontology mailing list"@en ; + ]; + +## Ontology logo/ depiction/ related visualizations +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide links to depictions related to the ontology as IRIs. + Recommended property: + Example statement (text/turtle): foaf:logo + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's related depictions are provided via IRI. It produces an info message if they are not."@en ; + sh:name "Ontology logo/ depiction/ related visualizations"@en ; + ]; + +## Related identifiers +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide the ontology's related identifiers as IRIs. + Recommended property: + Example statement (text/turtle): dcterms:identifier . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's related identifiers are provided as IRIs. It produces an info message if they are not."@en ; + sh:name "Related identifiers"@en ; + ]; + +## Development environment +#### status: intentionally no shape + +## Alignments/ mappings +### status: developer and external review needed + +### Aligned resources +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath ( )] ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide information about ontologies your ontology is aligned to as IRIs. + Recommended property: + Example statement (text/turtle): mod:hasEquivalencesWith . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology references ontologies it is aligned to via IRIs. It produces an info message if it does not."@en ; + sh:name "Aligned resources"@en ; + ]; + +### Alignment files/ Mapping files +### status: see shape "Related resources" + +## Competency Questions +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:xone ( [sh:nodeKind sh:IRI ;] [sh:datatype rdf:langString ;] ); + sh:message """ + You should provide the link to the ontology's competency questions as an IRI or provide the questions directly as an rdf:langString. + Recommended property: + Example statement 1 (text/turtle): \"Who developed an ontology?\"@en . + Example statement 2 (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides competency questions as rdf:langString or an IRI to an online document. It produces an info message if it does not."@en ; + sh:name "Competency questions"@en ; + ]; + +## Applied methodology +### status: intentionally no shape + +## Preferred ontology namespace +### status: developer and external review needed + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:maxCount 1 ; + sh:message """ + You should provide at most one preferred namespace URI for the ontology. + Recommended property: + Example statement (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + + """@en ; + sh:description "The ontology should declare its preferred namespace URI."@en ; + sh:name "Preferred ontology namespace"@en ; + ] ; + + sh:property [ + sh:path ; + sh:severity sh:Info ; + sh:nodeKind sh:IRI ; + sh:message """ + You should provide the ontology's preferred namespace URI as an IRI. + Recommended property: + Example statement (text/turtle): . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology declares its preferred namespace URI as an IRI. It produces an info message if it does not."@en ; + sh:name "Preferred ontology namespace - datatype"@en ; + ] ; + +## Ontology issue date +### status: developer and external review needed + + sh:property [ + sh:path [ + sh:alternativePath ( + + + + ) + ] ; + sh:severity sh:Info ; + sh:datatype xsd:dateTime ; + sh:maxCount 1 ; + sh:message """ + You should provide at most one ontology issue date that conforms to xsd:dateTime. + Recommended property: + Example statement: \"2023-11-21T00:00:00\"^^xsd:dateTime . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology's issue date conforms to xsd:dateTime. It produces an info message if it does not."@en ; + sh:name "Ontology issue date - datatype"@en ; + ] ; + +### Ontology modification date +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath (dcterms:modified schema:dateModified pav:curatedOn pav:lastUpdateOn)]; + sh:severity sh:Info ; + sh:datatype xsd:dateTime ; + sh:maxCount 1; + sh:message """ + You should provide at most one (the latest) ontology modification date in xsd:dateTime format. + Recommended property: + Example statement (text/turtle): dcterms:modified "2020-11-19T00:00:00"^^xsd:dateTime. + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides at most one modification date in xsd:dateTime format. It produces an info message if not."@en ; + sh:name "Ontology modification date"@en ; + ] ; + +### Ontology version information +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath (owl:versionInfo pav:version)]; + sh:severity sh:Info ; + sh:datatype xsd:string ; + sh:message """ + You should provide textual information about the ontology version as an xsd:string. + It is recommended to use semantic versioning (cf. https://semver.org/) or OBO style date-based versioning (http://obofoundry.org/principles/fp-004-versioning.html). + Recommended property: + Example statement 1: owl:versionInfo "2023-01-01"^^xsd:string . + Example statement 2: owl:versionInfo "1.0.0"^^xsd:string. + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides at most one textual version information as an xsd:string. It produces an info message if not."@en ; + sh:name "Ontology version information"@en ; + ] ; + + sh:property [ + sh:path [sh:alternativePath (owl:versionInfo pav:version)]; + sh:severity sh:Info ; + sh:maxCount 1 ; + sh:message """ + You should provide at most one textual information about the ontology version. + The value should be providee as an xsd:string. + It is recommended to use semantic versioning (cf. https://semver.org/) or OBO style date-based versioning (http://obofoundry.org/principles/fp-004-versioning.html). + Recommended property: + Example statement 1: owl:versionInfo "2023-01-01"^^xsd:string . + Example statement 2: owl:versionInfo "1.0.0"^^xsd:string. + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "This shape checks whether the ontology provides at most one textual version information as an xsd:string. It produces an info message if not."@en ; + sh:name "Ontology version information"@en ; + ] ; + +### Ontology version notes +### status: developer and external review needed + + sh:property [ + sh:path [sh:alternativePath (adms:versionNotes vann:changes)] ; + sh:severity sh:Info ; + sh:nodeKind sh:Literal ; + sh:datatype rdf:langString ; + sh:message """ + You should provide ontology version notes (e.g. notes on updates as compared to the previous version of the ontology) as an rdf:langString. + Recommended property: + Example statement (text/turtle): adms:versionNotes "Changes from 2000-01-12: add annotation properties: familyName [...]"@en . + Need help? Learn more about SHACL: https://www.w3.org/TR/2017/REC-shacl-20170720/ + """@en ; + sh:description "The shape checks whether the ontology provides version notes as an rdf:langString. It produces an info message if not."@en ; + sh:name "Ontology version notes"@en ; + ] ; + +# End of shape + sh:closed false ; + sh:ignoredProperties ( rdf:type owl:topDataProperty owl:topObjectProperty ) . + diff --git a/README.md b/README.md index 1b77f10..901bcb5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,22 @@ -# terminology-metadata -Terminology metadata recommendations by TIB +# Terminology Metadata Recommendations by TIB + + + +With this repository, *TIB - Leibniz Information Centre for Science and Technology University Library* provides a practical guide for metadata management of ontologies. It gives recommendations on required, recommended and optional metadata for ontologies. + +In particular, it addresses ontology engineers who would like to publish their ontologies on the [TIB Terminology Service](https://terminology.tib.eu/ts), the [NFDI4INg Terminology Service](https://terminology.nfdi4ing.de/ts/) or the [NFDI4Chem Terminology Service](https://terminology.nfdi4chem.de/ts/). + +An introduction and overview is given in the [Metadata Guide](/MetadataGuide.md). + +In addition, we provide SHACL shapes based on these recommendations in [OntoMetadataShape.ttl](/OntoMetadataShape.ttl) which can also be reached via . These shapes can be used in SHACL validators and to check whether an ontology meets the recommendations. For example, the following onlin e SHACL validators are available: + +* [SHACL Playground](https://shacl.org/playground/) +* [SHACL Playground by Zazuko](https://shacl-playground.zazuko.com/) +* [SHACL Play!](https://shacl-play.sparna.fr/play/) + +> INFO: This recommendation is still a draft. Approval and discussion by a broader communiuty are required. + +## Further reading and sources + +* Arndt, S., Borgelt, H. und Strömert, P. (2023) „FAIR Ontology Metadata - Crucial Information for Understanding, Evaluation, and Application“. 2nd Ontologies4Chem Workshop 2023 (Ontologies4Chem 2023), Zenodo, 12 Oktober. doi: 10.5281/zenodo.10117899. +* see complete [list of sources](/MetadataGuide.md#8-sources) in the Metadata Guide \ No newline at end of file diff --git a/TabularOverview.tsv b/TabularOverview.tsv new file mode 100644 index 0000000..fdb84e7 --- /dev/null +++ b/TabularOverview.tsv @@ -0,0 +1,54 @@ +order number section metadatum Preferred property Mandatory Recommended Optional Cardinality [[13]](#source13) [[14]](#source14) [[15]](#source15) [[16]](#source16) [[17]](#source17) [[18]](#source18) [[19]](#source19) [[20]](#source20) [[21]](#source21) [[22]](#source22) [[23]](#source23) DO NOT SHOW https://github.com/information-artifact-ontology/ontology-metadata/pull/106#issuecomment-1117383852 DO NOT SHOW https://obofoundry.org/docs/OntologyStatus.html +1 3.1 Title x 1…* true true true true true true true false false true true true false +2 3.2 Preferred ontology prefix/ acronym x 1 true true true false true true true false false true false true false +3 3.3 License x 1 true true true true true true true true true true true true false +4 3.4 Creator x 1…* true true true true true true true true true false true false false +5 3.5 Version IRI x 1 false false false false true true true true true false true false false +6 3.6 Creation date x 1 true true false false true true true true true false true false false +7 3.7 Abstract x 1…* false true false true true true true false false true true false false +8 3.8 Issue tracker x 1 true true false true false false true false false false true true false +9 3.9 Documentation x 1 false false false false false false false false true false false false false +10 4.1 Contributor(s) x 0…* false true true true true true true true false false true false false +11 4.2 Funder x 0…* true true false false true false true false false false true false false +12 4.3 Funding (grant) x 0…* false false false false true false false false false false true false false +13 4.4 Audience description x 0...1 true true false true false false true false false false true false false +14 4.5 Subject(s) x 0…* true true false true false false true false true true true false false +15 4.6 Annotation language(s) x 0…* true true false false false false true false false false true false false +16 4.7 Applied logical framework x 0...1 false true false true false false true false false false false false false +17 4.8 Serialization/ file format x 0...1 true true false false false false true false false false true false false +18 4.9 Status x 0...1 true false false true true true true true true true true false true +19 4.10 Code repository x 0...1 false true false true false false true false false true false true false +20 4.11 Distributions/ products x 0…* true true false false false false true false true false true false false +21 4.12 Application example x 0…* false true false true false false true false false false false false false +22 4.13 Related resource(s) x 0…* true true false false true true true false true true true true false +23 4.14 Citation suggestion x 0…* false true false false true true true true false false true false false +24 4.15 Ontology sources (derived from) x 0…* true true false true true true true true true false true false false +25 4.16 Root classes x 0…* false true false false false false true false false false false false false +26 5.1 Description x 0…* true true true true true true true false true true true true false +27 5.2 Alternative ontology title x 0…* false true false false false false true false false false true false false +28 5.3 Alternative ontology prefix/ acronym x 0…* true true false false false false false false false true false false false +29 5.4.1 Prior ontology version x 0…* false true false false true true true true true false false false false +30 5.4.2 Related ontology version x 0…* false true false false false false true false false false false false false +31 5.4.3 Compatible ontology version x 0…* false false false false true true true true false false false false false +32 5.4.4 Incompatible ontology version x 0…* false false false false true true true true false false false false false +33 5.5 Social media x 0…* true false false false false false false false false true false false false +34 5.6 KOS type x 0…1 false false false false false false false false false false true false false +35 5.7 Example ontology identifier x 0…* true true false false false false true false false true false false false +36 5.8 Ontology identifier pattern x 0…1 true true false true false false true false false true false false false +37 5.9 Ontology homepage x 0…1 true true false false false false true false false true false true false +38 5.10 Publisher x 0…* true true true false true true true false false false true false false +39 5.11 Ontology comments x 0…* true true true false false false true false false true false false false +40 5.12 Example ontology class x 0…* true true false false true false true false false false true false false +41 5.13 Ontology mailing list x 0…1 true true false true false false true false false false false true false +42 5.14 Ontology logo/ depiction/ related visualizations x 0…* true true false true true true true false false true false true false +43 5.15 Related identifiers x 0…* true true false false true true true false false true true false false +44 5.16 Development environment x 0…* true true false true false true true false false false false false false +45 5.17.1 Aligned resources x 0…* false true false false false false true false true false false false false +46 5.17.2 Alignment files/ mapping files x 0…* false false false false false false false false true false false false false +47 5.18 Competency questions x 0…* false true false true false false true false false false false false false +48 5.19 Applied methodology x 0…* true true false true false false true false false false false false false +49 5.20 Preferred ontology namespace x 0…1 true true true false true true true false false false true false false +50 5.21 Ontology issue date x 0…1 false true true false true true false false false false false false false +51 5.22 Modification date x 0…1 false true true false true true true true false false true false false +52 5.23 Textual version information x 0…1 false true true false true true true true false true true false false +53 5.24 Version notes x 0…* false true true false false true false true false false false false false