Modern ontologies are computer-understandable “dictionaries” widely used in medicine, healthcare, linguistics, business processes, the Semantic Web, etc. Software provides access not only to their explicit knowledge, but also to implicit consequences thereof. The web ontology language OWL, based on description logic, is widely used for this purpose. As an example, the medical ontology SNOMED CT plays a key role in the healthcare systems of several countries. It is constantly maintained and extended by a large team of experts. However, SNOMED’s sheer size makes it very difficult to use, maintain, browse, understand, debug and reuse it, to derive and explain inferences. It is therefore a highly desired task to generate topic-specific sub-dictionaries on pressing a button. For example, if only the knowledge about skeletal bones is of interest, users need to be able to work with the corresponding subontology. If that subontology encapsulates all knowledge that is relevant for the bones taxonomy by including knowledge about, say, diseases affecting bones, then it is called a module. For OWL ontologies, the task of extracting a module for import or reuse is well-understood.
Our group is developing the foundations to support different use cases of modularity: reuse, collaborative ontology development and ontology comprehension. We can already solve the case of ontology reuse with modules that provide strong logical guarantees, as described in the following section. We are currently working to devise methodologies for the use of modules in collaborative ontology development and ontology comprehension.
How do locality-based modules work?
Among the available a posteriori notions of a module—i.e., notions of a module extracted after the ontology has been built monolithically— we favour locality-based modules because they combine strong logical guarantees with efficient computability. Details can be found in [1, 2, 3]. A locality-based module M is a subset of the axioms in an ontology O, and is extracted from O for a set S of terms (class or property names). The set S is called a seed signature of M. Now M provides the following guarantee:
Everything the ontology O knows about the topic consisting of the terms in S and M, is already known by its module M. The remainder of O knows nothing non-trivial about this topic.
All entailments (consequences) of O that can be formulated using only terms from S or M follow already from M. The difference OM has no such entailments other than tautologies.
- Formally: See the technical papers [1, 2, 3].
An example: If your ontology O entails
Duck subClassOf Bird
Bird subClassOf hasPart some Wing
Duck subClassOf hasPart some Wing
and you extract the module M for the seed signature consisting of
Wing, then B is guaranteed to follow from M. Entailments A and C cannot be guaranteed to follow from M; however, they will do so if
Duck happens to be in M. If you need to preserve all subclasses (or superclasses) of the terms you’re interested in, include those subclasses (superclasses) in the seed signature.
Implementation in the OWL API
We have implemented the extraction of locality-based modules in the OWL API. The Documentation page provides an example of how to use the module extraction feature. For a complete overview of the available methods, see the Javadoc, in particular the class SyntacticLocalityModuleExtractor. The relevant classes and interfaces are in the following packages.
Modules to go
On the Web
In the Web-based OWL Module Extractor just paste your ontology (or its URL) and a list of terms for the seed signature and hit the “Extract module” button. You can choose between an axioms view and RDF/XML for the output. This service is restful and works with URLs obtained from the Ontology Repository.
On your machine
There is a standalone GUI for module extraction, OWL-ME: OWL Module Extractor. The tool takes a signature file containing term names, as they exist in the ontology, separated by commas, empty spaces or vertical bars, and extracts a module from the given ontology onto the specified output file. Further instructions can be found in the program’s webpage and documents.
- B. Cuenca Grau, I. Horrocks, Y. Kazakov, and U. Sattler.
Modular Reuse of Ontologies: Theory and Practice.
Journal of Artificial Intelligence Research (JAIR), Vol. 31, pages 273-318, 2008.
Part of this work was carried out within the TONES project.
PDF of a preliminary version
- E. Jiménez-Ruiz, B. Cuenca Grau, U. Sattler, T. Schneider, R. Berlanga Llavori:
Safe and Economic Re-Use of Ontologies: A Logic-Based Methodology and Tool Support.
ESWC 2008, 185–199, Tenerife, Spain.
Extended and corrected version as PDF
- U. Sattler, T. Schneider, M. Zakharyaschev.
Which Kind of Module Should I Extract?
Description Logics, 2009.
Paper as PDF
- B. Parsia, U. Sattler, T. Schneider.
Mechanisms for Importing Modules.
Paper as PDF
- B. Parsia and T. Schneider:
The modular structure of an ontology: an empirical study.
In Proc. KR-10,
pp. 584–586, 2010.
Extended version as PDF