Submissions:OnlynessIsLoneliness (OIL)

From Odp

(Difference between revisions)
Jump to: navigation, search
Current revision (08:29, 31 May 2010) (view source)
m (Text replace - 'WOP2009:Main' to 'WOP:2009')
 
(14 intermediate revisions not shown.)
Line 1: Line 1:
{{Logical_OP_Proposal_toolbar}}
{{Logical_OP_Proposal_toolbar}}
-
{{Include Image
+
{{Graphical representation header}}
 +
{{Graphical representation
|ImageName=[[Media:AntipatternOIL.JPG]]
|ImageName=[[Media:AntipatternOIL.JPG]]
}}
}}
{{Logical OP General Template
{{Logical OP General Template
-
|Name=OnlynessIsLoneliness (OIL)
+
|Name=OnlynessIsLoneliness
|SubmittedBy=Catherine Roussey, Oscar Corcho
|SubmittedBy=Catherine Roussey, Oscar Corcho
 +
|AlsoKnownAs=OIL
 +
|Author=Catherine Roussey, Oscar Corcho
}}
}}
{{Logical OP Description Template
{{Logical OP Description Template
-
|Motivation=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. As aforementioned 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. We have categorized them into three groups:
+
|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.
|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=C1 subClassOf R only C2; C1 subClassOf R only C3; C2 disjointWith C3
|Solution=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.  
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
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.
}}
}}
{{Logical OP Example Template
{{Logical OP Example Template
Line 18: Line 37:
see Aguas_de_Transicion concept in hydrontology.
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.
|SolutionExample=http://www.dia.fi.upm.es/~ocorcho/OWLDebugging/
|SolutionExample=http://www.dia.fi.upm.es/~ocorcho/OWLDebugging/
|Consequences=Transtitional_Waters subClassOf is_nearby only (Sea_Waters or River_Mouths); River_Mouths disjointWith Sea_Waters
|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;
}}
}}
{{Logical OP Reference Template}}
{{Logical OP Reference Template}}
-
[[Category:Waiting for review]]
+
{{Additional information header}}
 +
[[Category:Review assigned]]
{{Scenarios about me}}
{{Scenarios about me}}
{{Reviews about me}}
{{Reviews about me}}
 +
{{Modeling issues about me}}
 +
{{My references}}
{{Submission to event
{{Submission to event
-
|Event=WOP2009:Main
+
|Event=WOP:2009
}}
}}

Current revision


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


Description

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.

Elements
Implementation
Reusable component
Component type


Example

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 http://www.dia.fi.upm.es/~ocorcho/OWLDebugging/
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

Origin
Known use
Reference
Related ODP
Used in combination with
Test

Additional information

Scenarios

Scenarios about OnlynessIsLoneliness (OIL)

No scenario is added to this Content OP.

Reviews

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.


References

Add a reference


Submission to event

WOP:2009

Personal tools
Quality Committee
Content OP publishers