The Modular Structure of an Ontology: Atomic Decomposition and Module Count Chiara Del Vescovo 1 , Bijan Parsia 1 , Uli Sattler 1 , and Thomas Schneider 2 1 School of Computer Science, University of Manchester, UK {delvescc,bparsia,sattler}@cs.man.ac.uk 2 Department of Computer Science, Universit¨ at Bremen, Germany tschneider@informatik.uni-bremen.de Abstract Extracting a subset of a given ontology that captures all the ontology’s knowledge about a specified set of terms is a well-understood task. This task can be based, for instance, on locality-based modules. However, a single module does not allow us to understand neither topic- ality, connectedness, structure, or superfluous parts of an ontology, nor agreement between actual and intended modeling. The strong logical properties of locality-based modules suggest that the family of all such modules of an ontology can support comprehension of the ontology as a whole. However, extracting that family is not feas- ible, since the number of locality-based modules of an ontology can be exponential w.r.t. its size. In this paper we report on a new approach that enables us to efficiently extract a polynomial representation of the family of all locality-based modules of an ontology. We also describe the fundamental algorithm to pursue this task, and report on experiments carried out and results obtained. 1 Introduction Why modularize an ontology? Modern ontologies can get quite large as well as complex, which poses challenges to tools and users when it comes to processing, editing, analyzing them, or reusing their parts. This suggests that exploiting modularity of ontologies might be fruitful, and research into this topic has been an active area for ontology engineering. Much recent effort has gone into devel- oping logically sensible modules, that is, parts of an ontology which offer strong logical guarantees for intuitive modular properties. One such guarantee is called coverage. It means that a module captures all the ontology’s knowledge about a given set of terms (signature)—a kind of dependency isolation. A module in this sense is a subset of an ontology’s axioms that provides coverage for a signature, and each possible signature determines such a module. Coverage is provided by modules based on conservative extensions, but also by efficiently computable approximations, such as modules based on syntactic locality [5]. We call the task of extracting one module given a signature GetOne; it is well understood and starting to be deployed in standard ontology development