<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>OWL/ZIP: Distributing Large and Modular Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nicolas Matentzoglu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bijan Parsia</string-name>
          <email>bparsia@cs.manchester.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>The University of Manchester Oxford Road</institution>
          ,
          <addr-line>Manchester, M13 9PL</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Ontologies published on the web can be quite large, from a couple of megabytes to more than a gigabyte. Deploying, importing and using such ontologies can be a problem, both in terms of bandwidth and load time over the web, and in terms of physically storing them. Some ontologies in BioPortal for example are shipped in their compressed form (via their web services), which allows lesize reductions to up to 2% of the original. Moreover, many ontologies have been published in their modular form through the use of owl:imports. Some of the imports are dereferenceable on the web, but in many cases, the imports closure is shipped with the actual (root) ontology, which can lead to confusions on how to interpret the directory structure. In this paper, we are proposing a set of simple conventions to distribute ontologies (monolithic or modular) in a canonical fashion to enable tools to make use of pre-compiled modular structures and reduce IO communication to a minimum using compression.</p>
      </abstract>
      <kwd-group>
        <kwd>OWL</kwd>
        <kwd>Ontologies</kwd>
        <kwd>ZIP</kwd>
        <kwd>Compression</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Many important ontologies today, such as the Foundational Model of Anatomy
(FMA) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and the Cell Cycle Ontology (CCO) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] have grown to lesizes of
hundreds of megabytes in their serialised form. Using, importing or just
regularly downloading a fresh copy over the web can lead to often severe bottlenecks
in load time. Some ontologies available on BioPortal [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], such as the FMA, use
compressed archives for distribution, which allows lesize reductions to up to
2% of the original lesize. Tools that automatically retrieve and work with these
compressed ontologies will need custom functionality to deal with the archive
(i.e. unpack it, identify the correct le to load, load it). In many cases, it would
be desirable to simply deploy the ontology in their compressed form, and have
standard tool support (such as integration with the OWL API, Protege or Jena)
to deal with the correct compression and decompression. Ontologies that are
published in their modular form (i.e., a set of ontologies pointing at one another
with owl:imports), either logical decompositions or results of a modular
engineering process, have often been published as archives (see for example some
examples in BioPortal). These archives however can be ambiguous as to which
le corresponds to the actual ontology (i.e., the entry point). In this paper,
we are brie y discussing decompositions as a use case for OWL/ZIP, describe
the format in more detail, and then presenting a survey of the e ects of using
compression to deploy ontologies over a large corpus.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Dealing with decompositions</title>
      <p>
        A decomposition D of an ontology O (a set of axioms) is a partitioning of O
into a set of subsets S O where it holds that the union of all S O equals O.
There are two fundamentally di erent ways to decompose an ontology:
1. As part of the engineering process, ontologies are designed to be modular to
enable re-use across multiple specialised domains or
2. A decomposition is extracted from the ontology post-engineering to enable
services to interact with logically coherent subsets of the ontology rather than
having to deal with the whole. In the context of this work this distinction
only serves to establish two very di erent interest groups for OWL/ZIP.
Analysing MOWLCorp, a crawl-based corpus of around 21K ontologies [?]1, we
can nd at least 462 syntactically unique ontologies with more than 5 imports,
and 16 with more than 15. All these are examples of the rst kind of
decomposition, where engineers have decided to deploy the ontology in somehow topically
related subsets that might be individually re-used. While imports intended for
re-use should be dereferenceable on the web, the reality is that many ontology
providers prefer to deploy their modular structure with their ontologies, which
creates a need to deal with these kinds of distributions in an unambiguous way.
The need for dealing with the second type of decomposition rst emerged from
rather recent advances in modular reasoning (e.g., maintaining a ontology in
decomposed form removes some overhead from a modular reasoning process). A
decomposition in this sense is more strictly de ned: every subset in the above
de nition corresponds to a logical (in practice locality-based) module. Instead
of duplicating axioms across multiple modules, the modular structure can be
encoded in a much terser representation such as the Atomic Decomposition [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
which will guarantee that every axiom is serialised only once, and the modular
structure is encoded through a dependency graph between axioms and sets of
axioms, called atoms. This dependency graph can be straight forwardly represented
as a pattern of imports, where every (directed) edge representing a dependency
corresponds to a owl:imports statement. While we can observe import structures
with tens of elements in hand-built cases, automated logical decompositions are
typically far more complicated. In the worst case, we have around as many
ontologies in the imports structure as we have axioms in the original ontology.
This also clearly establishes a need to deploy these sorts of decompositions in a
compressed and \single le" form.
1 http://mowlrepo.cs.manchester.ac.uk/datasets/mowlcorp/
      </p>
    </sec>
    <sec id="sec-3">
      <title>OWL/ZIP Convention</title>
      <p>In order to accommodate both for large monolithic ontologies and their
decomposed counterparts we mainly need to agree on:
1. a type of compression in order to minimize the e ort to develop suitable tool
support
2. an entry point in the archive
3. a standard way to determine whether to prefer local imports, if existent,
over global ones</p>
      <p>Our suggestions is as follows. ZIP is a widely used type of compression
supported by most tools that support compressed les in general. Even if the
compression rates might not be optimal, size reductions are possible to between 2
and 20% of the original lesize for text-based ontology serialisations between
1 kilobyte and more than 500 megabyte. A very important consideration here
is that Java provides built-in functionality to deal with archives of this kind,
which is a strong argument for users of the OWL API (Java-based), the most
comprehensive library to deal with OWL 2 ontologies for the community.</p>
      <p>As for the entry point, we suggest a simple le naming convention. Although
not really an applicable label in the case of a mere monolithic ontology, root.owl
might be a generic name to indicate for users of the archive: this is where you
start. root.owl might be empty or non-empty and importing its dependencies
through owl:imports.</p>
      <p>Lastly, we need to specify a standard behaviour for how to deal with imports
in the case that imported ontologies are included les in the same directory
structure, but referenced as URLs in the owl:imports statements. The problem
is that in practice, some of the URLs are dereferenceable, some not. We propose
to interpret the existence of les corresponding to the path/ lename in the URL
as corresponding to the intention of the distributor to prefer the local versions,
as opposed to them being there merely as fallback.</p>
      <p>The full protocol of dealing with an OWL/ZIP le is then as follows:
1. Unzip the archive
2. Find the root.owl entry point
3. For each importing, attempt to resolve imports locally and only on failure
to attempt to deference the imported URL from the web
4</p>
      <p>
        Use case: the Atomic Decomposition in OWL/ZIP
Reasoners that make use of modular reasoning techniques such as Chainsaw [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
might bene t from an ontology that was decomposed at deploy time. We have
developed our own method to represent an Atomic Decomposition (AD) as a set
of ontology les where the dependencies are represented as owl:imports
(compare Figure 1). The Atomic Decomposition can be seen as a terse
representation of the modular structure of an ontology, represented by nodes and edges.
Each node represents an atom (a set of axioms), and each edge represents a
directed dependency relation to another atom. An atom including all its
dependencies corresponds to a genuine module. For the technical details of the AD
the reader is referred elsewhere [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. To make optimal use of the Atomic
Decomposition, we represent connected components of the Atomic Decomposition
dependency graph, the minimal (atoms without further dependencies) and the
maximal (atoms without further dependents) atoms by using le naming
conventions. The root ontology imports the set of connected components and the
tautologies of the original ontology (which would otherwise be lost). The
connected components (not all nodes in the AD are necessarily connected) import
their respective maximal atoms, which in turn import other atoms. Minimal
atoms are the leaf nodes of the dependency graph and do not import anything.
Some results with respect to the serialisation of the Atomic Decomposition are
presented in Section 6.2.
      </p>
      <p>Thus, we show how one might encode additional useful information onto of
the base OWL/ZIP format. Such conventions can ease the building of layered
tools.</p>
      <sec id="sec-3-1">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-2">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-3">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-4">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-5">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-6">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-7">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-8">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-9">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-10">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-11">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-12">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-13">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-14">
        <title>Atom</title>
      </sec>
      <sec id="sec-3-15">
        <title>Atom</title>
        <p>minimal
maximal</p>
      </sec>
      <sec id="sec-3-16">
        <title>Connected</title>
      </sec>
      <sec id="sec-3-17">
        <title>Component 1</title>
      </sec>
      <sec id="sec-3-18">
        <title>Connected</title>
      </sec>
      <sec id="sec-3-19">
        <title>Component 2</title>
      </sec>
      <sec id="sec-3-20">
        <title>Connected</title>
      </sec>
      <sec id="sec-3-21">
        <title>Component 3</title>
      </sec>
      <sec id="sec-3-22">
        <title>Tautologies root.owl</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>OWL/ZIP for monolithic ontologies</title>
      <p>
        We have conducted a survey using the ORE 2014 dataset [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], largely based on
a cleaning strategy described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], on a standard laptop, Lenovo Thinkpad
T520, Windows 7 Professional 64-bit, Memory: 15.9 GB (1333MHz, DDR3),
Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz X 8. All ontologies in the corpus
come with imports closure merged into the root ontology (monolithic). For every
ontology in the corpus, we loaded it with the OWL API (version 3.5.0), zipped
it, unzipped it and loaded it again, and timed the various steps (wall-clock time,
using System.currentTimeMillis() in Java). Each ontology was processed in a
separate Java process (Virtual Machine).
5.2
      </p>
      <sec id="sec-4-1">
        <title>Results</title>
        <p>Compression rates across corpus: As can be seen in Table 1, compression
rates can reduce the le size by at least around 80%, up to a maximum of
almost 99%. A closer look at Figure 2 reveals that the e ects of the compression
(unsurprisingly) are getting better for larger ontologies. Ontologies with more
than 1000 logical axioms generally get compression rates above 80%, tending
towards 90% and more in very large ontologies above 90,000 axioms. Worse
compression rates of less than 85% are generally found only among the very
small ontologies (1000 or less logical axioms).</p>
        <p>Compression Rate
100%
95%
90%
85%
80%
90
900
9,000
90,000
900,000
9,000,000</p>
        <p>Decompression overhead: Figure 3 shows the load time overhead for the
decompression. The x-axis shows the original load time in seconds, the y-axis
the load time overhead induced by the decompression in percent. The overhead
is never more than 100%, i.e., if an ontology in its uncompressed form (x-axis)
would take one second to load, the total load time would never be more than
2 seconds. Bad overheads of 80%-100% however only occur in the in the 100
100%
80%
60%
40%
20%
0%
100%
98%
96%
94%
92%
90%
millisecond (or less) area. The longer the ontologies would take to load in their
uncompressed form, the less e ect does the decompression time have on the
overall loading time. For ontologies that take more than 10 seconds to load, the
overhead is never more than 50%.</p>
        <p>Added Load Time</p>
        <p>Compression Rate
0.01
0.1
1
10
100</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>OWL/ZIP for modular ontologies</title>
      <p>
        One of the bene ts of using zip archives is the possibility to deploy an
ontology in its modularised form. We have conducted a short survey to see how the
use of OWL/ZIP might bene t or limit deploying such an ontology. We are
investigating a rather extreme case, were we deploy the ontology as its Atomic
Decomposition (see Section 4). These kinds of decompositions are extreme in
the sense that they contain a lot of les (i.e., each atom will be serialised as a
separate le on the le system), many more than a manual decomposition would
ever contain. We used the ?-decomposition [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
6.1
      </p>
      <sec id="sec-5-1">
        <title>Experimental Setup</title>
        <p>For the general setup see Section 5.1. We randomly sampled from the same
corpus 10 small (100-1000 logical axioms), 10 medium sized (1000-10000 log.
ax.), 10 large (10000-100000 log. ax.) and 10 very large ontologies (&gt;100000
log. ax.), serialised them into their decomposed from as described in Section 4.
We introduced a sharp timeout of 30 minutes for the entire process of loading,
decomposing, serialising, zipping, unzipping and loading again.
6.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Results</title>
        <p>Out of the 40 ontologies in the testset, 23 were processable within the given
timeout. Compression rates: As can be seen in Figure 4 (right) and Table 2, the
e ect of the compression is relatively stable across the testset, generally between
60% and 80% (with a single outlier in the better end). The gure shows the
compression rate (y-axis) with respect to the number of atoms in the decomposition.
This number serves as a proxy for the size of an ontology; the number of atoms is
strongly correlated with the number of axioms in the type of decomposition we
used here. We use atoms here instead of axioms because it gives a better sense
into how many les the ontology is split. Decompression overhead: Even more
clearly than in the case of monolithic ontologies, we can observe that the
bigger the original load time, the smaller the relative impact of the decompression.
Figure 4 (left) shows the load time for the uncompressed ontology (x-axis) in
seconds with respect to the relative added load through the decompression. The
larger the load time of the ontology in its uncompressed form, the smaller the
relative impact of the unzipping on the total load time. The worst case in the
test set imposed an additional 56% on the load time, which seems reasonable
(Table 2).
The results indicate that using a compressed form to deploy ontologies only
imposes a reasonable degree of performance reduction on the load time.
Furthermore, the general compression rates are compelling at least for the larger
ontologies. The di erences between the monolithic and the modular cases are
most likely due to the overhead induced by having many, potentially thousands
of separate les ( le listings in the archive header, etc).</p>
        <p>It is possible that with a more streamlined implementation (i.e. rather than
uncompressing to disk and then loading via normal mechanisms, we would
directly uncompress to the parser in memory) that the total load (or save) time
could be reduced relative to the uncompressed process. This could happen for
ontologies which are large enough that IO costs dominate and we have su cient
RAM. (If you consider loading an ontology from the web it's clear that in many
cases download time dominates by a large factor.)</p>
        <p>
          If we compare our current results with a recent binary OWL proposal [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ],
we see that we have better compression (5x to 10x vs. 4x) and much worse
parse times (i.e., slow downs vs. dramatic speed ups). We rst note that their
experiments were on a much smaller and idiosyncratic corpus, but also that they
may be missing some easy compression wins (e.g., they replace uses of IRIs with
indexes, but they, as far as we can tell, do not compress the original set of IRIs;
considering the typical amount of shared pre xes in IRIs in an ontology, it is
obvious that signi cant gains could be made). However, a simple implementation
of a binary OWL parser is considerably more challenging than of an OWL/ZIP
one and OWL/ZIP les are easily inspected by hand using ubiquitous tools (i.e.,
a ZIP decompressor and a text editor).
        </p>
        <p>While more accessible than binary formats, OWL/ZIP still imposes some
overhead. Until existing editors catch up, users have to manually unzip and
manage the resulting directory. Our reuse of imports helps to a certain extent,
but even there, existing OWL IDEs are designed to handle hand-built imports
structures.</p>
        <p>The zipped directory allows for further easy extension. For example, reasoners
wishing to cache some state between invocations can put that into a subdirectory
with some hope that the compression would mitigate the size hit and that the
user could be safely unaware of this extra information.
8</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusions and Future Work</title>
      <p>We have proposed a convention to distribute large monolithic and modular
ontologies in a compressed form (OWL/ZIP). The approach covers both an
unambiguous interpretation of the imports closure and a proposal of a speci c
format for the compression. The general rationale for such a format is the sheer
size of many ontologies and the need to distribute decompositions. The results
of our survey indicates that using a standard form of compression like zip is
su cient to deal with this problem, and there are many tools and APIs
available that can deal with it. An interesting investigation would be to include an
OWL/ZIP parser in the OWL API that allows to unzip in memory, using the
Java 7 FileSystem class. This could potentially give bene ts at load time, even
over the standard parsing, due to possible reductions in IO touches. But at least
it should make dealing with compressed ontologies faster.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>E.</given-names>
            <surname>Antezana</surname>
          </string-name>
          , M. Egan~a,
          <string-name>
            <given-names>W.</given-names>
            <surname>Blonde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Illarramendi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. n.</given-names>
            <surname>Bilbao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>De Baets</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Stevens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Mironov</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuiper</surname>
          </string-name>
          .
          <article-title>The Cell Cycle Ontology: an application ontology for the representation and integrated analysis of the cell cycle process</article-title>
          .
          <source>Genome biology</source>
          ,
          <volume>10</volume>
          (
          <issue>5</issue>
          ):
          <fpage>R58</fpage>
          ,
          <string-name>
            <surname>Jan</surname>
          </string-name>
          .
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>C.</given-names>
            <surname>Golbreich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Grosjean</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Darmoni</surname>
          </string-name>
          .
          <article-title>The Foundational Model of Anatomy in OWL 2 and its use</article-title>
          .
          <source>Arti cial intelligence in medicine</source>
          ,
          <volume>57</volume>
          (
          <issue>2</issue>
          ):
          <volume>119</volume>
          {
          <fpage>32</fpage>
          ,
          <string-name>
            <surname>Mar</surname>
          </string-name>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Redmond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tudorache</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A. Musen. Binary</given-names>
            <surname>OWL. In</surname>
          </string-name>
          <string-name>
            <surname>OWLED</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>N.</given-names>
            <surname>Matentzoglu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Bail</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          .
          <article-title>A Snapshot of the OWL Web</article-title>
          . In
          <source>International Semantic Web Conference (1)</source>
          , pages
          <fpage>331</fpage>
          {
          <fpage>346</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>N.</given-names>
            <surname>Matentzoglu</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          .
          <article-title>ORE 2014 Reasoner Competition Dataset</article-title>
          . http://zenodo.org/record/10791, July
          <year>2014</year>
          . Dataset, Accessed:
          <fpage>2014</fpage>
          -07-30.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>N. F.</given-names>
            <surname>Noy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. H.</given-names>
            <surname>Shah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. L.</given-names>
            <surname>Whetzel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Dai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dorf</surname>
          </string-name>
          , N. Gri th, C. Jonquet,
          <string-name>
            <given-names>D. L.</given-names>
            <surname>Rubin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Storey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Chute</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Musen</surname>
          </string-name>
          .
          <article-title>BioPortal: Ontologies and integrated data resources at the click of a mouse</article-title>
          .
          <source>Nucleic Acids Research</source>
          ,
          <volume>37</volume>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Palmisano.</surname>
          </string-name>
          <article-title>Chainsaw: A metareasoner for large ontologies</article-title>
          .
          <source>In OWL Reasoner Evaluation Workshop (ORE</source>
          <year>2012</year>
          ),
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>C. D. Vescovo</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          <string-name>
            <surname>Sattler</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schneider</surname>
          </string-name>
          .
          <article-title>The Modular Structure of an Ontology: Atomic Decomposition</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <volume>2232</volume>
          {
          <fpage>2237</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>