-
Notifications
You must be signed in to change notification settings - Fork 23
Handling Ambiguous Terms
Imagine you are trying to include a new term into the OEO, for example wind turbine
.1
Unfortunately, this term (like many) is ambiguous and used for different concepts.
On the one hand, wind turbine
can describe a turbine that converts the wind's kinetic energy into rotational energy and should therefore be classified as a subclass of turbine
. On the other hand, wind turbine
can also describe a power generating unit that uses wind energy and should therefore be classified as a subclass of power generating unit
.
Now there are different ways you could solve this. You could add a single class wind turbine
which is a subclass of both turbine
and power generating unit
. This is not an elegant solution, because it would violate the principle of single inheritance. Also, you should keep in mind that classes in the ontology should arise from concepts rather than from words. And in this case you have two different concepts you both want in the ontology.
Another option would be to introduce two classes which are both called wind turbine
. This is technically possible because the OEO uses numerical identifiers which can be used to keep both classes apart. However, this will lead to confusion among people who want to use or talk about wind turbine
s.
In the OEO, we solve this problem-type by using alternative terms. For one or even both of the concepts which share an ambiguous name like wind turbine
, you find a new term that is unambiguous and use that as the classes label. In the case of wind turbine
(subclass of turbine
) this could be wind rotor
. Additionally, to show that the ambiguous name is commonly used for this concept, you add it as an alternative term.
With this solution, you can add two different concepts to the OEO and make sure that everyone can easily see that they are indeed distinct concepts. At the same time, people who want to find one of the concepts you added and look for the widely used, but ambiguous name of this concept are able to find the concept they need (because the ambiguous term is included as an alternative term for the concept). They also see that there is another concept which can be described by that term and are reminded to be careful with the ambiguous term's use.
We use the annotation property alternative term
from the IAO to express that a term is a synonym to the class label. This means that we don't follow the definition of alternative term
strictly, which reads: An alternative name for a class or property which means the same thing as the preferred name (semantically equivalent).
In our example, we use alternative term
to connect wind turbine
to the class wind rotor
, even though they are not completely semantically equivalent. This entails the problem, that wind rotor
could be seen as equivalent to wind energy converting device
, the other class which has the alternative term
wind turbine
.
There are two reasons why we made this decision nonetheless: Firstly, alternative term
is widely used and therefore known to many tools that work with ontologies. If we would define our own property or choose another existing property, we wouldn't have this advantage. And secondly, using alternative term
for synonyms and not strictly according to it's definition is common among other ontologies as well. This lessens the risk of confusing anyone by our decision.
The discussion about alternative term
can be found here.
1 You can find the discussion about wind turbine here
You already know what to do? Perfect, make sure that you miss no step by using checklists
Symbols used in this wiki:
🐙➔ github | 🔶➔ git | 📙➔ protégé | 📝➔ text editor | 🤖➔ robot
-
Home
- Welcome! How to participate
- Use Cases
- Best Practice Principles
- Structure of the OEO
-
Tutorials: How to...
- ...Get Involved (First Steps)
- ...Contribute
- ...Use Protégé to Change the Ontology
- ...Test the Ontology
- ...Write Competency Questions
- ...Choose a Class Type
- ...Deal with Ambiguous Terms
- ...Use Term Tracker Annotations
- ...Use the GitHub Labels
- ...Set up OwlViz for Visualisation
- ...Use Automation of Recurring Text Entries
- ...Manually Merge Terms from Other Ontologies 🤖
- ...Release a New Ontology Version
- ...Translate Into Turtle RDF
- Setup your Work Environment and Get Involved
- ...Maintain automated Workflows for GitHub Issues and PRs
- Get to Know the Workflow This sections will contain the full workflow in the future
- Tools and Utilities
- Community