IMF Semantic Resources 2023-06-30

Table of Contents

IMF Ontology – OWL


The IMF Ontology defines the vocabulary for creating IMF models, containing classes such as [Block], [Terminal], [Aspect] and [Attribute]; and properties such as [part of] and [connected to].

The ontology is designed to meet the following functional requirements:

  • The users of IMF should be subject matter experts (SME). This means that the IMF language and ontology must be easy to learn and simple to use, hence it must contain a limited set of vocabulary terms and grammar rules.
  • The language must provide incremental value, and hence must support modelling in an incremental manner.
  • The language must be scalable across disciplines, work processes, and the value chain. This means that the IMF language must:
    • Enable SMEs from a range of disciplines to fully express their design using the same modelling principles.
    • Enable SMEs to express different levels of precision as part of iterations of their design.
    • Enable use in different phases of a project (concept, detail engineering, manufacturing, etc.).
  • The language must have the precision of machine interpretation to allow automated verification. This means that the IMF language must be precise and unambiguous, and allow translation into other ontology languages and be able to exploit semantic descriptions in external ontologies and reference data libraries.


The use of this ontology may be validated against the following SHACL shape specifications:

Terms in the ontology are created following these principles:

  • All terms should validate against the SHACL shape description:
  • All terms in the ontology are given a status using the `vs:termstatus` property from the ['Term-centric Semantic Web Vocabulary Annotations' vocabulary]( to indicate their level of maturity using one of the values 'unstable', 'testing', 'stable' and 'archaic'. In this version of the ontology the highest status is 'testing'. Some terms are 'unstable'; these terms also contain the word 'unstable' in their label to make this clear.
  • All IRIs in the ontology are placed in the namespace ``. The localnames of IRIs follow these naming conventions:
    • Classes use `UpperCamelCase`;
    • Properties use `lowerCamelCase`, with additional rules:
      • object properties between IMF Classes usually start with a verb, e.g., `has`,
      • object properties for reified properties start with `the`,
      • object properties to external libraries, datatype properties, and annotation properties do not start with a verb;
    • Individuals use `lowerCamelCase`.
  • When referring to a term in the ontology, the following format is used: [prefLabel], where prefLabel is set by the property `skos:prefLabel`, e.g., we will write [Block] to refer to the class `imf:Block`.

The ontology makes use of these vocabularies for its definition:

Versions of this ontology and other semantic web resources for IMF are published at an URL following this schema: `[yyyy-mm-dd]/[resource-name]`.

IMF Model Grammar – SHACL


This shapes graph can be used to validate IMF Model RDF data against the grammar for IMF Models.

IMF Ontology Grammar – SHACL


These SHACL Shapes specify requirements on the definition of terms in the IMF ontology and is therefore useful only for the development of the IMF ontology.

IMF Terms Grammar – SHACL


These SHACL Shapes restrict the use of IRIs in the IMF namespace to those defined in the IMF Ontology.

Use them to validate RDF data against correct use of IMF terms, IRIs only.

IMF Types Grammar – SHACL


These SHACL Shapes specify requirements for creating IMF Types SHACL Shapes. This SHACL Shape file extends the W3C SHACL Shapes specification.

Use them to validate IMF Type SHACL Shapes.

OTTR Templates for IMF Type SHACL shapes

Created: 2023-06-30 fr. 15:32