Ontologies and digital twins
If you read a bit about digital twins or data management you may have already heard of the term "ontology" but what does it mean? In this article we will explain in a simplified way how an ontology works and why are they used with digital twins.
A little history
The roots of the term "ontology" come from the Greek ontos-, "being", and logos, "reason", "speech". This term was coined in the 17th century and refers to the science of being as being. Computer science borrowed this term from philosophy in the 1990s. In philosophy, Ontology is a fundamental branch of Metaphysics, which is concerned with the meaning of the word "being" and thus with the notion of existence.
What is an ontology?
In computer science, an ontology is a way to describe and classify elements of a specific subject in a logical and structured manner using concepts and relationships. It's like a very detailed map of a specific domain. However, it's important to note that this "map" is never complete, as it's impossible to represent all the details and complexity of a domain in such a format. Moreover, the accuracy and level of detail of this map can vary depending on how and for what it will be used.
In the above example, a certain "world scene" is represented, which to be described requires two things:
- An unambiguous vocabulary (also called conceptual or ontological vocabulary)
- An enunciation of the facts of the scene based on the use of the vocabulary of the ontology
What is an ontology made of?
Class and subclass
In an ontology, a class can be seen as a group or category. It's a way of classifying or grouping things that have similar characteristics or are related in some way. For example, in an ontology about animals, "Dog" could be a class, and specific items like "Bulldog", "Labrador", "Poodle", etc., would be members of this class. It's a bit like a box in which you put things that are similar or related in some way.
This coffee machine is a concept, i.e. an abstract representation of an entity, object, idea or phenomenon in the real world.
This coffee machine represents the class of coffee machines, but within this class there are subclasses of coffee machines. The differentiation between the subclasses is done at the level of properties. The "coffee machine" class has properties which all subclasses inherit. But the different subclasses each have unique properties as shown in the diagram below
The 2 subclasses in the diagram inherit properties from the "Coffee Machine" class but at the same time have properties that are unique to their class. It is possible to add further subclasses to further subdivide the inherited and unique properties.
An individual is a basic object or entity that exists in the real world or in a conceptual model. For example "coffee machine" is a class and "SEKAI Coffee Machine 2V4HF0" is the individual (i.e. instance of a class). An individual can be a living entity, a physical object or an abstract concept such as an idea or a feeling. It is used to uniquely identify an entity as the individual has its own characteristics.
Attributes are properties, features, characteristics or parameters that objects may possess and share. As mentioned earlier, classes group properties but objects are not obliged to possess all the properties of their class. Attributes are therefore specific properties that objects of the class may have. For example, in an animal ontology, there may be a class "bird" in which you can find eagles and penguins but the eagle has the attribute "canFly" and its value is “true” but the penguin will have the same attribute value set to “false”. In the case of an ontology about cars, the attributes could be individual elements such as the weight of the vehicle, the colour, the power of the engine...
In an ontology, the concept of a relationship refers to a connection or semantic link between two entities or concepts. Ontologies are used to represent the structure of a knowledge domain by defining classes, properties, instances and relationships between them. Relationships are essential to express how concepts and entities relate to each other. For example, in an ontology about living things, a relationship might be "is a parent of" between two individuals, or "belongs to the class" between an individual and a class.
There are several types of relationships in an ontology, including:
- Hierarchical relationships: These relationships describe the hierarchical structure between classes and instances. For example, "is a" (also called "subclass of") expresses a relationship between a subclass and its parent class. "is an instance of" indicates that an individual is an instance of a specific class.
- Association relationships: These are non-hierarchical relationships between entities. For example, "works for" may be a relationship between a person and a company, or "is the capital of" between a city and a country.
- Attribute relationships: These relationships describe the properties of an entity. For example, "has colour" is a relationship between an object and its colour, or "has age" between a person and their age.
Relationships allow information to be inferred from the ontology, by exploiting the semantic links between entities to draw logical conclusions.
In the diagram above, we can see the different relationships between the elements of the graph in the case of the brewing process of a coffee machine.
Why are digital twins composed of ontologies?
Ontologies help to formally model the world, providing a structured representation of objects, systems and processes. Their ability to standardise data representation makes it much easier to make data interoperable between different systems. Moreover, ontologies are also valuable for automatic reasoning, allowing to deduce new information from existing ones, which is a boon for error detection, scenario prediction or automated decision making. When dealing with complex systems, ontologies allow to break down this complexity into smaller, more manageable elements, while keeping a clear view on their interactions. Finally, their modular nature offers the possibility of reusing knowledge from one context to another, such as reusing an ontology that describes one type of aircraft to create the digital twin of another aircraft.