From Odp

This article has assigned reviews
Review about this article has been done.
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: 10129

Graphical representation


Image:Normalisation abstract.png

General information

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


Problem example
Pattern solution example
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.

Pattern reference

Origin See (Rector, 2003)
Known use See (Rector, 2003)
Related ODP
Used in combination with

Additional information


Scenarios about Normalization

No scenario is added to this Content OP.


Reviews about Normalization
Review article Posted on About revision (current is 10129)
BorisVillazón-Terrazas about Normalization 245545616 September 2010 1007110,071
CatherineRoussey about Normalization 245545010 September 2010 1007110,071
MariCarmenSuarezFigueroa about Normalization 245545717 September 2010 1011510,115
AndreaNuzzolese about Normalization 245545919 September 2010 1011510,115

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

Other info at evaluation tab

Modeling issues

Modeling issues about Normalization
Modeling issue Competency question Domains
Multiple Alternative Classification Criteria Allow me to retrieve all "elements" (classes/individuals) of a "domain concept" viewed by a combination of "values" (or "terms") from various "classification criteria" (or "facets").
View Inheritance For example
in the case of the representation of the "wine" domain concept:
  • Allow me to select a bottle of wine by color
    flavour and(or) ocassion.

In the case of the representation of the "pizza" domain concept:

  • Allow me to select a pizza based on the type of base
    the toppings and(or) the name.


Add a reference

  • Normalization Ontology Design Pattern Documentation | reference page
  • Egana-Aranguren, Mikel. Role and Application of Ontology Design Patterns in Bio-ontologies. PhD thesis, School of Computer Science, University of Manchester, 2009. Documentation | reference page
  • Alan L. Rector. Modularisation of domain ontologies implemented in description logics and related formalisms including owl. In K-CAP '03: Proceedings of the 2nd international conference on Knowledge capture, pages 121{128, New York, NY, USA, 2003. ACM. ISBN 1-58113-583-1. Documentation | reference page
Personal tools
Quality Committee
Content OP publishers