Modularization of Ontologies
The purpose of authoring ontologies is also reusing of knowledge. Once ontology is created for a domain, it should be (at least to some degree) reusable for other applications in the same domain. To simplify both ontology development and reuse, modular design is beneficial. The modular design uses inheritance of ontologies - upper ontologies describe general knowledge, and application ontologies describe knowledge for a particular application, as illustrated in the figure below.
Modularization of ontologies depending on the scope and partial ordering defined by inheritance
Depending on the scope of the ontology, ontology may be classified as follows (see also figure above):
- upper, generic, top-level ontology - describing general knowledge, such as what is time and what is space
- domain ontology - describing a domain, such as medical domain or electrical engineering domain, or narrower domains, such as personal computers domain
- task - ontology suitable for a specific task, such as assembling parts together
- application - ontology developed for a specific application, such as assembling personal computers
At each level modularization can be used as well - for example, upper ontology may consist of modules for real numbers, topology, time, and space (these parts of the upper ontology are usually called generic ontologies). Ontologies at lower levels import ontologies from upper levels and add additional specific knowledge. In this way, ontologies form a lattice of ontologies defined by partial ordering of inheritance of ontologies. Task and domain ontologies may be independent and are merged for application ontology, or it is possible that for example task ontology imports domain ontology. The upper ontologies are the most reused ones while application ontologies may be suitable for one application only.
When developing new ontology it is desirable to reuse existing ontologies as much as possible. The new ontology should be started by importing upper level ontologies when appropriate ontologies exist. This will simplify the development since one can focus at the domain or application specific knowledge only. It will also simplify integration between applications in the future since defined parts of ontologies will be shared.