EvaBlomqvist (Talk | contribs) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 13: | Line 13: | ||
|Motivation=There are ontologies where a given class can have plenty of superclasses, building a polyhierarchy. If all those subsumption relationships are directly stated by the ontology maintainer, two main problems rise: (i) the ontology becomes very difficult to maintain: whenever a subsumption must be deleted (because a class has changed) or created (because a new class has been created) it has to be done by hand; in a polyhierarchy the process becomes very inefficient and error-prone. (ii) the semantics are implicitly stated, not explicitly: any other ontologist or reasoner only knows that a class is a subclass of its superclasses, without knowing why. | |Motivation=There are ontologies where a given class can have plenty of superclasses, building a polyhierarchy. If all those subsumption relationships are directly stated by the ontology maintainer, two main problems rise: (i) the ontology becomes very difficult to maintain: whenever a subsumption must be deleted (because a class has changed) or created (because a new class has been created) it has to be done by hand; in a polyhierarchy the process becomes very inefficient and error-prone. (ii) the semantics are implicitly stated, not explicitly: any other ontologist or reasoner only knows that a class is a subclass of its superclasses, without knowing why. | ||
|Aim=To untangle a polyhierarchy, coding the subsumption relationships using restrictions rather than class-subclass relationships. The application example for this ODP is adapted from the Cell Type Ontology. In the example, the subsumption relationships that already are in the Cell Type Ontology are inferred by the reasoner instead of hard-coded. The term Neutrophil is used as an example class to show how a class can relate to different modules. | |Aim=To untangle a polyhierarchy, coding the subsumption relationships using restrictions rather than class-subclass relationships. The application example for this ODP is adapted from the Cell Type Ontology. In the example, the subsumption relationships that already are in the Cell Type Ontology are inferred by the reasoner instead of hard-coded. The term Neutrophil is used as an example class to show how a class can relate to different modules. | ||
− | |||
|Elements=The original classes of the ontology are divided in different axes. The conditions for each subsumption relationship are encoded as restrictions (e.g. [PerformsFunction some Defense]) that will relate the different modules. | |Elements=The original classes of the ontology are divided in different axes. The conditions for each subsumption relationship are encoded as restrictions (e.g. [PerformsFunction some Defense]) that will relate the different modules. | ||
|Implementation=Identify the modules: group the classes. Create the modules, maintaining only one parent for any given primitive class and making primitive siblings disjoint. Redefine the classes (or define the newly added classes) according to the conditions for belonging to each module. Protege includes a wizard, the restrictions matrix, that helps in the process. | |Implementation=Identify the modules: group the classes. Create the modules, maintaining only one parent for any given primitive class and making primitive siblings disjoint. Redefine the classes (or define the newly added classes) according to the conditions for belonging to each module. Protege includes a wizard, the restrictions matrix, that helps in the process. | ||
}} | }} | ||
{{Logical OP Example Template | {{Logical OP Example Template | ||
+ | |ProblemExample=[[Image:Normalisation_instance.png|center]] | ||
|SolutionExample=http://ontologydesignpatterns.org/wiki/Image:Normalisation_instance.png | |SolutionExample=http://ontologydesignpatterns.org/wiki/Image:Normalisation_instance.png | ||
|Consequences=The ontology gets untangled and becomes a collection of neat modules. The rest of the semantics are given by restrictions pointing to the modules, and the reasoner maintains the structure, avoding error-prone human maintenance of the polyhierarchy. | |Consequences=The ontology gets untangled and becomes a collection of neat modules. The rest of the semantics are given by restrictions pointing to the modules, and the reasoner maintains the structure, avoding error-prone human maintenance of the polyhierarchy. | ||
}} | }} | ||
− | {{Logical OP Reference Template}} | + | {{Logical OP Reference Template |
+ | |Origin=See [[Community:References/Modularisation of domain ontologies implemented in description logics and related formalisms including owl 3|(Rector, 2003)]] | ||
+ | |KnownUse=See [[Community:References/Modularisation of domain ontologies implemented in description logics and related formalisms including owl 3|(Rector, 2003)]] | ||
+ | }} | ||
{{Additional information header}} | {{Additional information header}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Review assigned]] | [[Category:Review assigned]] | ||
{{Scenarios about me}} | {{Scenarios about me}} | ||
Line 38: | Line 31: | ||
{{Modeling issues about me}} | {{Modeling issues about me}} | ||
{{My references}} | {{My references}} | ||
− | |||
− | |||
− |
Diagram
Name | Normalization |
---|---|
Also known as | Modularization, Untangling |
Author(s) | AlanRector, MikelEganaAranguren |
SubmittedBy | BenedictoRodriguezCastro |
Motivation | There are ontologies where a given class can have plenty of superclasses, building a polyhierarchy. If all those subsumption relationships are directly stated by the ontology maintainer, two main problems rise: (i) the ontology becomes very difficult to maintain: whenever a subsumption must be deleted (because a class has changed) or created (because a new class has been created) it has to be done by hand; in a polyhierarchy the process becomes very inefficient and error-prone. (ii) the semantics are implicitly stated, not explicitly: any other ontologist or reasoner only knows that a class is a subclass of its superclasses, without knowing why. |
---|---|
Aim | To untangle a polyhierarchy, coding the subsumption relationships using restrictions rather than class-subclass relationships. The application example for this ODP is adapted from the Cell Type Ontology. In the example, the subsumption relationships that already are in the Cell Type Ontology are inferred by the reasoner instead of hard-coded. The term Neutrophil is used as an example class to show how a class can relate to different modules. |
Solution description | |
Elements | The original classes of the ontology are divided in different axes. The conditions for each subsumption relationship are encoded as restrictions (e.g. [PerformsFunction some Defense]) that will relate the different modules. |
Implementation | Identify the modules: group the classes. Create the modules, maintaining only one parent for any given primitive class and making primitive siblings disjoint. Redefine the classes (or define the newly added classes) according to the conditions for belonging to each module. Protege includes a wizard, the restrictions matrix, that helps in the process. |
Reusable component | |
Component type |
Origin | See [[Community:References/Modularisation of domain ontologies implemented in description logics and related formalisms including owl 3|(Rector, 2003) |
---|---|
Known use | See [[Community:References/Modularisation of domain ontologies implemented in description logics and related formalisms including owl 3|(Rector, 2003) |
Reference | |
Related ODP | |
Used in combination with | |
Test |
No scenario is added to this Content OP.
This revision (revision ID 10129) takes in account the reviews: none
Other info at evaluation tab