Submissions:OnlynessIsLoneliness (OIL)

From Odp

This article has assigned reviews
Jump to: navigation, search

This pattern has been certified.

Related submission, with evaluation history, can be found here

If you are a member of quality committee please visit the

evaluation section

If you are author of this proposal or you want to contribute to this pattern's review, you can:

In general, it could be useful to visit the evaluation section to have information about the evaluation process of this proposal

Current revision ID: 9706

Graphical representation

Diagram (this article has no graphical representation)

General information

Name OnlynessIsLoneliness
Also known as OIL
Author(s) Catherine Roussey, Oscar Corcho
SubmittedBy Catherine Roussey, Oscar Corcho


Motivation Our work is based on the debugging process of real ontologies that have been developed by domain experts, who are not necessarily too familiar with DL, and hence can misuse DL constructors and misunderstand the semantics of some OWL expressions, leading to unwanted unsatisfiable classes. Our patterns were first found during the debugging process of a medium-sized OWL ontology (165 classes) developed by a domain expert in the area of hydrology called HydrOntology. The first version of this ontology had a total of 114 unsatisfiable classes. The information provided by the debugging systems used on (root) unsatisfiable classes was not easily understandable by domain experts to find the reasons for their unsatisfiability. And in several occasions during the debugging process the generation of justifications for unsatisfiability took several hours, what made these tools hard to use. Using this debugging process and several other real ontologies debugging one, we found out that in several occasions domain experts were just changing axioms from the original ontology in a somehow random manner, even changing the intended meaning of the definitions instead of correcting errors in their formalisations.

We have identified a set of patterns that are commonly used by domain experts in their DL formalisations and OWL implementations, and that normally result in unsatisfiable classes or modelling errors. Thus they are antipatterns. A Koenig define antipatterns as patterns that appear obvious but are ineffective or far from optimal in practice, representing worst practice about how to structure and build software. We also have made an effort to identify common alternatives for providing solutions to them, so that they can be used by domain experts to debug their ontologies.

All these antipatterns come from a misuse and misunderstanding of DL expressions by ontology developers. Thus they are all Logical AntiPatterns (LAP): they are independent from a specific domain of interest, but dependent on the expressivity of the logical formalism used for the representation.

Aim The ontology developer created a universal restriction to say that C1 instances can only be linked with property R to C2 instances. Next, a new universal restriction is added saying that C1 instances can only be linked with R to C3 instances, with C2 and C3 disjoint. In general, this is because the ontology developer forgot the previous axiom in the same class or in the parent class.
Solution description C1 subClassOf R only C2; C1 subClassOf R only C3; C2 disjointWith C3

If it makes sense, we propose to the domain expert to transform the two universal restrictions into only one that refers to the disjunction of C2 and C3.

C1 subClassOf R only (C2 or C3); C2 disjointWith C3

other alternative solutions could be:

1) suppress the disjointness axiom.

2) create two sublass of C1 such as: C1.1 subClassOf C1; C1.1 subClassOf R only C2; C1.2 subClassOf C1; C1.2 subClassOf R only C3; C2 disjointWith C3;

3) create C4 such as C4 isEqualTo C2 or C3; C1 subClassOf R only C4; C2 disjointWith C3.

4) create two subproperty of R: R2 subPropertyOf R; R3 subProperty of R; C1 subClassOf R2 only C2; C1 subClassOf R3 only C3; C2 disjointWith C3.

Reusable component
Component type


Problem example Transtitional_Waters subClassOf is_nearby only Sea_Waters; Transitional_Waters subClassOf is_nearby only River_Mouths; River_Mouths disjointWith Sea_Waters

see Aguas_de_Transicion concept in hydrontology.

Wet_Zone subClassOf Wetlands and are_inundated only Sea_Water and are_inundated only Surface_Water and are_inundated min 1 Thing;

see Zona_Humeda concept in hydrontology.

Pattern solution example
Consequences Transtitional_Waters subClassOf is_nearby only (Sea_Waters or River_Mouths); River_Mouths disjointWith Sea_Waters

Wet_Zone subClassOf Wetlands and are_inundated only (Sea_Water or Surface_Water) and are_inundated min 1 Thing;

Pattern reference

Known use
Related ODP
Used in combination with

Additional information


Scenarios about OnlynessIsLoneliness (OIL)

No scenario is added to this Content OP.


Reviews about OnlynessIsLoneliness (OIL)
Review article Posted on About revision (current is 9706)
LuigiIannone about OnlynessIsLoneliness (OIL) 24550761 September 2009 56215,621
AlessandroAdamou about OnlynessIsLoneliness (OIL) 245508510 September 2009 57775,777
StefanoDavid about OnlynessIsLoneliness (OIL) 245508510 September 2009 57875,787
RinkeHoekstra about OnlynessIsLoneliness (OIL) 245512924 October 2009 57875,787

This revision (revision ID 9706) takes in account the reviews: none

Other info at evaluation tab

Modeling issues

Modeling issues about OnlynessIsLoneliness (OIL)

There is no Modeling issue related to this proposal.


Add a reference

Submission to event


Personal tools
Quality Committee
Content OP publishers