<!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>Towards a Parametric Ontology Modularization Framework Based on Graph Transformation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mathieu d'Aquin</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Paul Doran</string-name>
          <email>pdoran@csc.liv.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enrico Motta</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valentina Tamma</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Liverpool</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Knowledge Media Institute (KMi), The Open University</institution>
          ,
          <addr-line>Milton Keynes</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Several tools and techniques have been proposed recently for extracting modules from ontologies. Being focused on some particular application scenario, modularization tools generally rely on their own definitions and intuitions about modularity. In this paper, it is proposed that these different techniques be expressed under a common framework. As most of the existing approaches rely on the traversal of the graph underlying the ontology to harvest relevant entities and axioms, the framework chosen is based on graph transformation. An abstract model for representing ontologies as attributed graphs is described, along with the reformulation of existing module extraction techniques as graph transformation rules. The ultimate goal of this work is to build a parametric modularization tool, enabling application developers to easily compare, apply and combine different approaches for module extraction, or even create entirely new techniques.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Recently, the idea of modularization has gained important attention from the
Semantic Web community, as tools and methods for developing and managing
large ontologies are more and more required. This notion of modularization, or
modularity, comes from software engineering where it relates to the design of
software made of well defined components that can be managed and reused
independently. However, as the definition for a good software module is already
vague [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], there is no clear agreement on the criteria for decomposing an
ontology into modules. Many different approaches have been proposed, in particular
for extracting significant modules from existing, and potentially large scale
ontologies (see e.g. [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5 ref6">2–6</xref>
        ]). As shown in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], these techniques rely on their own
assumption about modularity, based on the particular application scenario they
are focusing on (reasoning, visualization, evolution, ontology reuse, etc.) This
heterogeneity of approaches, aims, and implementations hampers the
comparison and reuse of existing tools. A framework is required to facilitate the selection
and combination of the appropriate techniques for particular application
scenarios.
      </p>
      <p>
        While they are presented and implemented in different ways, resulting in
different modules, techniques for ontology module extraction are generally based
on similar principles: they rely on the traversal of the graph structure underlying
the ontology to gather entities and axioms considered as relevant for the module.
Each technique relies on its own assumptions, its own rules, about which relations
should be traversed and which entities and axioms should be included. Based
on this observation, it is believed that a graph transformation model [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] can
be used as a basis for a common framework for ontology module extraction. In
such a framework, a modularization technique would be expressed as a set of
transformation rules, applied upon a graph representation of the source ontology.
The interest in designing this framework is twofold:
– Providing a common, well founded comparison framework for ontology
modularization techniques helps in better understanding the intuitions on which
they are based, their relative strengths and limitations, as well as the
situations in which they are relevant or not.
– On the basis of this framework, a “parametric modularization tool” can be
built, in which different approaches can be exploited, combined and even
created by the user, to obtain the modularization that matches the
requirements of his application. The parameters in that case relate to the set of
graph transformation rules, that can be visualized and edited in a simple,
“graphical” way.
      </p>
      <p>
        The proposed framework is based on the structural representation of
ontologies in the form of graphs. Another interesting outcome of this work is that it
provides a basis for studying the limitations of the considered structural
(syntactic) techniques in taking into account the underlying semantics of ontologies.
In particular, we expect difficulties in the integration of approaches relying on
reasoning (like [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]).
      </p>
      <p>In this paper, we provide the initial step towards such a framework. Section 2
presents a brief overview of ontology module extraction. Section 3 investigates a
model for representing ontologies as graphs and extraction operations as
transformation rules. The intention is to show the feasibility and the interest of such
an approach by reformulating several existing module extraction techniques as
graph transformation rules. This is done in Section 4. This leads to a
discussion in Section 5 on the implementation of a tool for parametric modularization
based on the framework presented in this paper. Finally, Section 6 presents the
conclusions and future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Ontology Module Extraction</title>
      <p>
        This paper only considers techniques for extracting one ontology module from an
existing ontology, what we call ontology module extraction techniques.
Descriptions of other types of modularization techniques, including ontology partitioning
and query based view extraction can be found in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>An ontology is defined as a set of axioms (subclass, equivalence, disjointness
relations, etc.) The vocabulary of an ontology O, also called its signature Sig(O),
is the set of entity names that are employed in the axioms of O.</p>
      <p>
        The task of module extraction consists in reducing an ontology O to the
sub-part, the module, that covers a particular sub-vocabulary. It has been called
segmentation in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and traversal view extraction in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. More precisely, given an
ontology O and a set SV ⊆ Sig(O) of terms from the ontology, a module
extraction mechanism returns a module MSV , supposed to be the relevant part of
O that covers the sub-vocabulary SV (Sig(MSV ) ⊇ SV ). Techniques for
module extraction often rely on the so-called traversal approach: starting from the
elements of the input sub-vocabulary, relations in the ontology are recursively
“traversed” to gather related elements to be included in the module. The
relations between these entities are also included to build a self-contained ontology
module, taking the form of an ontology (i.e. a set of axioms).
      </p>
      <p>
        Several tools implementing more-or-less sophisticated techniques have been
recently proposed, generally focusing on a particular use-case for modularization.
For instance, in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] Doran et al discuss a module extraction approach dedicated
to ontology reuse, and [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is a module extraction tool directly integrated in
an ontology development environment (Prot´eg´e), where the extracted module
is integrated into the ontology currently being edited. Other approaches are
involved in specific application scenarios like the selection of relevant knowledge
components from online ontologies [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Finally, modularization is often viewed
as a way to improve the scalability of reasoning mechanisms when dealing with
large ontologies. Corresponding techniques have been developed for example
in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>All these techniques are detailed in Section 4, where they are reformulated
within our common, general framework.
3</p>
      <p>
        A Graph Transformation Model for Modularization
The techniques briefly mentioned in the previous section are intended to be used
in different application scenarios. As such, they rely on different intuitions about
ontology modularity and, therefore, generally give different results [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. However,
these techniques are all based on the same principles: starting from a sub-set of
the named entities of the original ontologies, they traverse the graph underlying
the ontology to harvest relevant entities to be included. In this section, we build
a graph transformation model, composed of a graph model for ontologies and
a rule model for extraction, in order to provide a common framework in which
these techniques can be reformulated.
3.1
      </p>
      <sec id="sec-2-1">
        <title>Representing Ontologies as Attributed Graphs</title>
        <p>
          We chose to rely on directed, attributed graphs, as it is a powerful enough
model to represent ontologies written in RDF-S, OWL, or DAML+OIL. The
underlying RDF graph3 model of these formalisms does not contain the features
required by the framework presented. In addition, attributed graphs are the
model implemented in the AGG library4 for graph transformation, therefore
providing an adequate basis for implementation. Below, we employ a simplified
definition for attributed graphs. Details about attributed graphs, their definition
and transformation, can be found for example in [
          <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
          ].
        </p>
        <p>Attributed graphs. An attributed graph G is a pair (NG, EG), where NG is
a set of attributed nodes and EG is a set of attributed edges. An attributed node
n = hTn, AVni has a type Tn and a set of attribute values AVn. An attributed
edge e = hTe, AVe, Oe, Dei has a type Te, a set of attribute values AVe, an origin
node Oe and a destination node De. An attribute value is a pair (a, v) associating
a value v to an attribute a.</p>
        <p>Ontologies as attributed graphs. Ontology representation languages are
mostly based on the RDF model, that is itself based on graphs. In that sense,
representing ontologies as attributed graphs is quite straightforward. We consider
four types of nodes: Class, P roperty, Individual and Literals. Edge types
correspond to properties used to relate different entities. For example, subClassOf
is a type of edge that can be used to link nodes of the type Class.</p>
        <p>In the case of a named entity (i.e. the entity is associated to an identifier, a
URI), this name is used as a value for the attribute name in the corresponding
node. For example, if an ontology contains a class C, it would be represented as
a node of the type Class, with the attribute value name=C.</p>
        <p>In the case of OWL or DAML+OIL, classes (and to some extent properties)
can be represented as expressions, using language constructs and other classes
or properties. The employed construct is represented in the class node as a
value for an attribute named const and special edges are employed to link
the corresponding node to the nodes of other entities used in its definition. For
example, we use op1 and op2 for the operands of a union (AtB) or an intersection
(A u B), as well as p and someV aluesF rom for an existential restriction (∃p.C).
A simple example. Following the principles described above, Figure 1
shows the representation as an attributed graph of the expression
P ersonW ithDogAndCat ≡ P erson u ∃hasP et.Dog u ∃hasP et.Cat5
3.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Graph Transformation Rules for Ontology Modularization</title>
        <p>Most of the module extraction techniques are based, explicitly or implicitly,
on the idea of traversing the graph underlying the source ontology to collect
entities or axioms to be included in the module. The main difference between
3 http://www.w3.org/TR/rdf-mt/
4 http://tfs.cs.tu-berlin.de/agg/index.html
5 in the description logic syntax. Taken from http://owl.man.ac.uk/tutorial/
twopets.rdf</p>
        <p>N1:Class (name=P ersonW ithDogAndCat)</p>
        <p>≡ op1
N2:Class (const=u)</p>
        <p>N3:Class (name=P erson)
op2
N4:Class (const=u)</p>
        <p>op1
op2
N6:Class (const=∃)
someV aluesF rom
p</p>
        <p>p
N5:Class (const=∃)</p>
        <p>someV aluesF rom</p>
        <p>N7:Class (name=Dog)
N9:Class (name=Cat)</p>
        <p>N8:P roperty (name=hasP et)
these techniques is the rules they apply to decide wether or not an element has
to be included in the module. Therefore, based on the attributed graph model
for ontologies, we believe that module extraction techniques can be formulated
as graph transformation rules.</p>
        <p>Graph transformation rules on attributed graphs. An attributed graph
transformation rule R = hLHSR, RHSR, M apRi is composed of an attributed
graph LHSR representing the left hand side of the rule (the premise), of an
attributed graph RHSR representing the right hand side of the rule (the
transformation), and of a set of mappings between LHSR and RHSR. Mappings
are either pairs of nodes (n1, n2) or pairs of edges (e1, e2), indicating a
correspondence between these two elements in two different graphs. For the sake of
simplicity, we consider nodes having the same label and edges of the same type
between corresponding pairs of nodes to be implicitly mapped.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Transformation rules for module extraction. The role of rules in the case</title>
        <p>of module extraction is to decide which entities and axioms (relations) have to be
included in the extracted module. To represent included elements, a particular
boolean attribute is used, inc, that can be applied to both nodes and edges.
The premiss of a modularization rule generally contains one or more elements
having inc=true. The right hand side of such a rule generally contains additional
elements marked as included (inc=true).6</p>
        <p>Module extraction techniques take as an input a sub-vocabulary of the
ontology. This sub-vocabulary represents the starting point for the application of
the transformation rules. The first step of the process is therefore to mark the
nodes corresponding to the elements of this sub-vocabulary as included. Then,
6 To simplify the notation, we will consider the presence of the inc attribute as
representing inc=true. In case there is no indication about inc, it implicitly means
inc=f alse.
the transformation rules corresponding to the modularization technique are
applied (in random order7) until no transformation is applicable. Applying a rule
corresponds to matching the left hand side of the rule into a subgraph of the
graph representing the source ontology (i.e. finding an isomorphic subgraph) and
replacing this subgraph by the one in the right hand side of the rule, taking into
account the mappings. Existing graph transformation engines (such as AGG)
implement this process and can be used for this purpose.</p>
      </sec>
      <sec id="sec-2-4">
        <title>A simple example: the extraction of a subtree of the class hirarchy.</title>
        <p>A very simple modularization technique consists in extracting a sub-tree of the
class hierarchy of the ontology, specifying (as the input sub-vocabulary) the
root class of this sub-tree. The following transformation rule implements this
technique:</p>
      </sec>
      <sec id="sec-2-5">
        <title>Premiss Transformation</title>
        <p>Once the input root class is marked as included, the rule is applied recursively
until the leaves of the hierarchy are reached, and marked as included. Therefore,
at the end of the transformation process, all the entities (nodes) and axioms
(edges) representing the considered subtree of the ontology class hierarchy are
included in the module.
4</p>
        <p>Implementing Modularization Techniques as Graph
Transformation Rules
Our goal is to provide a common framework for module extraction techniques in
which a common mechanism, graph transformation, would be used and
parametrized by specialized transformation rules. In order to show the feasibility and the
relevance of such an approach, we detail hereafter the reformulation of several
techniques (from very simple ones, to more sophisticated) in our graph
transformation model for ontologies. Note that, in addition to providing the basis
for a tool for parametric, customisable module extraction, this also gives the
opportunity to better understand the intuitions, or assumptions, on which the
considered techniques rely, and to compare them on a common basis.
4.1</p>
      </sec>
      <sec id="sec-2-6">
        <title>Galen Segmentation Service</title>
        <p>
          The technique described in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] has been developed specifically for the Galen
ontology, but the core of the technique is generic and can be applied to any ontology.
7 This assumes that the rules are commutative.
        </p>
        <p>It takes one or several classes of the ontology as an input, and applies the basic
idea that anything that participates (even indirectly) to the description (and so
the definition) of an included class has to be included. Therefore the
(simplified) reformulation of this technique in our graph transformation framework is
straightforward:</p>
      </sec>
      <sec id="sec-2-7">
        <title>Premiss Transformation</title>
        <p>
          A node or an edge marked with the type ∗ can be matched with a node or an
edge of any possible type in the graph model. Note that, according to this rule,
all the super-classes of included classes are included, as well as any definition
associated to included classes or properties. Individuals are not included.
The technique described in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] is focused on ontology module extraction for aiding
an Ontology Engineer in reusing an ontology module. It takes a single class as
input and extracts a module about this class. This approach is independent
of the language in which the ontology is expressed. The traversal carried out
for extraction is done conditionally, with the conditions changing to suit the
language that the ontology is expressed in. The approach it relies on is that, in
most cases, elements that (directly or indirectly) make reference to the initial
class should be included. In that sense, as it can be seen in the following rule, this
technique can be considered as the inverse of the Galen segmentation service.
        </p>
      </sec>
      <sec id="sec-2-8">
        <title>Premiss</title>
      </sec>
      <sec id="sec-2-9">
        <title>Transformation</title>
        <p>N1:∗</p>
        <p>It is worth noticing that, using this technique, all the sub-classes of the input
classes, as well as any entity using this class or other included entities in its
definition, will be included.</p>
        <p>
          The above rule is very simple and shows that this module extraction
technique can be easily represented using graph transformation rules. However, it
does not completely translate the corresponding technique, as [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] indicates: the
classes that are disjoint with the original input class should not be included.
        </p>
        <p>
          This can easily be handled using the notion of negative application
condition [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], that is an extension of the basic attributed graph transformation
model. Basically, a negative application condition is a graph associated to a
rule that, if isomorphic to the sub-graph matched by the premiss, prevent the
rule from being applied. In other terms, a transformation rule can be seen as a
tuple R = hN ACR, LHSR, RHSR, M apRi meaning that, if there exists a
subgraph SG of the source graph such that SG is isomorphic to LHRR and SG is
not isomorphic to N ACR, then SG is replaced by RHSR in the source graph,
taking into account the mappings in M apR.
        </p>
        <p>In the case of the last technique, adding another boolean attribute input
for identifying the input class8, the Negative Application Condition N AC of the
rule would be:</p>
        <p>NAC
N2:Class (inc, input)</p>
        <sec id="sec-2-9-1">
          <title>N1:Class</title>
          <p>disjointW ith</p>
          <p>The N AC in that case acts as the expression of an exception to the rule.
4.3</p>
          <p>
            For Knowledge Selection
[
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] describes a module extraction tool integrated in a larger process, called
knowledge selection, that aims at retrieving the relevant components from online
ontologies, to be used in webpage annotation. The principle here is, like the Galen
segmentation service, to include all the elements that participate to the
definition of the included entities. However, compared to the previously mentioned
technique, the one of [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] has two main particularities: First it makes use of
inferences during the modularization process, meaning that the relations that are
considered can be inferred relations as well as declared ones. Second, in order to
reduce the size of the module (in particular, to facilitate its visualization), not
all the super-classes of the included classes are included. The technique actually
takes shortcuts in the class hierarchy by including only the named classes that
are the most specific common super-classes of included classes.
          </p>
          <p>Concerning the use of inferences during the modularization process, instead
of taking as a source graph the representation of the elements declared in the
ontology, we use the translation of the inferred elements. In particular, in that
case, a subClassOf edge in the source graph no longer means that one class is
directly declared to be a sub-class of the other, but also that it can be inferred,
for example because of the transitivity of the sub-class relation. It is worth
mentioning that an incomplete reasoning mechanism could be implemented as
part of the graph transformation model, where inference rules on the ontology
language would be translated as graph transformation rules. For example, the
inferences linked to the fact that the subClassOf relation is transitive can be
8 This attribute can also be specified for other techniques, even if not used.
represented by a rule generating new subClassOf relations in the graph, on
the basis of existing ones. However, this would represent only a partial solution
since this implementation of ontological reasoning would be very incomplete and
inefficient compared to existing, tableau based reasoners.</p>
          <p>Using the inferred graph, the first rule of the technique is the same as the
one of the Galen segmentation service, except that it excludes named classes,
which are treated separately.</p>
        </sec>
      </sec>
      <sec id="sec-2-10">
        <title>Premiss</title>
        <p>N2:∗</p>
        <p>∗</p>
        <p>As explained above, concerning named classes, only the most specific common
super-classes of included classes are included in this technique. The most specific
super-class C of two classes A and B is a super-class of both A and B such that
there is not any other super-class of A and B that is a sub-class of C. This can
easily be represented by a combination of the (positive) premiss of the rule and
of a negative application condition:</p>
      </sec>
      <sec id="sec-2-11">
        <title>Premiss</title>
        <sec id="sec-2-11-1">
          <title>N3:Class</title>
          <p>v</p>
        </sec>
        <sec id="sec-2-11-2">
          <title>N1:Class (inc)</title>
          <p>NAC</p>
        </sec>
        <sec id="sec-2-11-3">
          <title>N3:Class</title>
          <p>v</p>
        </sec>
        <sec id="sec-2-11-4">
          <title>N4:Class</title>
          <p>v</p>
        </sec>
      </sec>
      <sec id="sec-2-12">
        <title>Transformation</title>
        <sec id="sec-2-12-1">
          <title>N3:Class (inc)</title>
          <p>
            Note that these two rules make use of the fact that the implicit, indirect
sub-class relations are made explicit. Comparing the rules, and considering that
the ones corresponding to the technique in [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] are more “selective” than the one
of Galen, it seems obvious that it will result in smaller modules.
Prompt is a tool including several ontology manipulation and comparison
features that are integrated as a plugin of the Prot´eg´e ontology editor. In particular,
it includes a feature called traversal view extraction, which can be seen as an
ontology module extraction technique [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ]. With this tool, modules extracted from
external ontologies are integrated into the ontology currently being edited.
          </p>
          <p>
            Starting from one class of the considered ontology, Prompt traverses the
relations of this class recursively to include related entities. In that sense, the
principle is similar to the one applied in [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ] and [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]. However, there are two
main reasons that distinguish Prompt from these techniques. First, while [
            <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
            ]
intend to provide an automatic method, Prompt is designed as an interactive
tool, allowing the user to incrementally build ontology modules by extending the
currently extracted one. Second, Prompt allows the user to select the relations
to be traversed and to associate to each of them a level of recursion, at which
the algorithm should stop “traversing” the relation.
          </p>
          <p>Whilst this first particularity of Prompt, its interactivity, affects only the
overall system; the second one introduces a certain level of sophistication in
the transformation rules required to implement it. In order to identify selected
properties to be traversed, an attribute selected is associated to the node they
correspond to. Another attribute is used to represent the maximum recursion
level for each of the selected properties. Two rules are considered: one for the
first step of the traversal, and one for the following steps.</p>
        </sec>
      </sec>
      <sec id="sec-2-13">
        <title>Premiss</title>
        <p>
          As we can see, this corresponds to a specialization of the Galen segmentation
service rule, introducing a limitation. Indeed, the Prompt rule applied with all
the properties selected and a level of recursion infinite would give the same result
as Galen. Otherwise, the result would be smaller.
[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] defines a module as a minimal, conservative extension [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] of the original
ontology with respect to the considered sub-vocabulary. Being a conservative
extension means that the meaning of the terms of the input sub-vocabulary
is completely captured by the module, as it is in the source ontology. In [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ],
Cuenca-Grau et al. also show that computing a minimal module considering the
definition they provide is undecidable, and describe two different approximations
based on the notion of locality. The first method makes use of a reasoner to check
the semantic locality of the axioms to be included. This procedure is decidable
but, due to the use of a reasoning mechanism, it is also complex. The second
one syntactically tests the locality of axioms and can be realized in polynomial
time.
        </p>
        <p>This technique clearly shows the limit of our framework based on graph
transformation. Indeed, since the first method relies on the use of a reasoner
to dynamically realise complex inferences for testing semantic locality, it could
not be implemented as graph transformation rules. The second method is based
on the syntactic inspection of the axioms of the ontology, looking in particular
at the structure of the entities linked by these axioms. Therefore, it should be
possible to design a set of transformation rules implementing the test of syntactic
locality, and so, the extraction of a module based on this notion. However, the
number of rules that are required is too numerous to make this approach really
practical.
5</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Towards a Parametric Modularization Tool</title>
      <p>In the previous section, a number of module extraction techniques were
reformulated using a common mechanism, graph transformation, parametrized by a
specific set of transformation rules. This has shown that the approach is feasible
for most of the existing techniques.</p>
      <p>The ultimate goal of this work is to build a tool in which the user could
select the appropriate technique for his application, and even reuse, combine
or create rules from different approaches to build a customised modularization
technique. Figure 2 gives an overview of the architecture of such a tool. The
components to implement would be the ontology-to-graph and graph-to-ontology
converters, in accordance with the model described in Section 3. As already
mentioned, we can rely on existing tools and libraries of graph transformation
engines. The ontology-to-graph and graph-to-ontology converters will be able to
take an ontology file as input or interface with a triple store, such as Jena9.</p>
      <p>
        The techniques described in the previous section provide an initial pool of
rules that can be reused and combined. It could, for example, be possible to
add the recursion level of Prompt [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to the techniques described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] or [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
However, a more complete study of the interactions between rules is required, as
some may be incompatible, or may result in the whole ontology being extracted
as a module. In the same line of idea, important efforts are required to provide
support for the editing and creation of rules specifically for module extraction.
Graphical editors and mechanisms for the persistence of module extraction rules
need to be developed.
      </p>
      <p>Also, a natural progression for such a tool would be to allow the user to
interactively build modules. It is unlikely that any one module extraction
technique would extract a module that meets the requirements of the user and their
9 http://jena.sourceforge.net/
particular application. Thus, in the same way as Prompt allows, once an
initial module is created, to refine it by choosing a new starting point. It would
be interesting to build a module interactively, and iteratively, letting the user
choose a different sub-vocabulary and a different set of transformation rules at
each step. In this way, by controlling how the elements of the original ontology
are to be included in the extracted modules, the user could build modules that
match the requirements of their application.
In this paper, we have shown that, even if they are based on different
assumptions and implementations, most of the ontology module extraction techniques
rely on the same principles and can be reformulated in a common framework
based on graph transformation. By reformulating existing techniques as graph
transformation rules, the feasibility of such a framework has been shown. The
interests of this work are multiple. First, having modularization techniques
gathered together in the same format facilitates their comparison and evaluation. It
is simpler for the user to understand them, match them to his requirements, and
apply them. Second, this leads to the development of a parametric
modularization tool, in which the parameters are the rules to apply for module extraction.
The reformulated techniques provide an initial pool of rules to chose from and
to combine to build the adequate technique in a given application scenario. In
addition, this tool would give the possibility to easily (visually, graphically) build
entirely new modularization techniques by editing, modifying and creating new
module extraction rules, enabling application developers to obtain specialised
modularization techniques, without having to re-implement a new tool or
modify an existing one.</p>
      <p>The obvious next step of this work is the implementation of such a tool,
requiring the consideration of a number of different aspects, as described in
Section 5. Moreover, in order to facilitate the exploitation of this tool, and the
manipulation of modularization techniques as graph transformation rules, this
parametric modularization tool should be integrated within an ontology
development environment, such as Prot´eg´e.</p>
      <p>
        Whilst reformulating the existing techniques into the graph transformation
framework presented in this paper, it became clear that some elements and
features are not easily represented in graph transformation rules. In particular,
when trying to reformulate [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] it appeared that it was practically unfeasible to
represent the test at the basis of this technique, the locality test, within our
model. In order to overcome this limitation, it would be interesting to introduce
externally evaluated predicates for nodes and edges, in addition to attributes.
Such a predicate could be use for example to call an external reasoner to check for
the locality of the considered axioms, and so implement the considered technique
in an hybrid way.
      </p>
      <p>
        Another interesting direction for future work would be to consider the
reformulation of the partioning techniques, such as [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], within the framework
presented in this paper. Partitioning techniques are more complicated in the
sense that they produce several modules, and are based on more complex, less
localized computations.
      </p>
      <p>A full comparison between the set of rules needed for each reformulated
technique will be completed. This will, hopefully, provide a solid theoretical
comparison that would allow the user to better select which approach best fits
their needs.</p>
      <p>Also, there is the need to consider scalability issues. With the framework
presented in this paper it is assumed that the whole ontology will be transformed
into a graph, which does not make sense in the cases where modularization is
used as a way to improve the performance of ontology tools, by considering only
a part of the original ontology. One possible solution to this scalability problem
would be to build the graph on the fly, as transformation rules are applied, rather
than building the whole graph in the beginning and then doing the extraction.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Parnas</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>On the Criteria To Be Used in Decomposing Systems into Modules</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>15</volume>
          (
          <year>1972</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Specifying Ontology Views by Traversal</article-title>
          .
          <source>In: Proc. of the International Semantic Web Conference (ISWC)</source>
          .
          <article-title>(</article-title>
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Seidenberg</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rector</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Web Ontology Segmentation: Analysis, Classification and Use</article-title>
          .
          <source>In: Proc. of the World Wide Web Conference (WWW)</source>
          .
          <article-title>(</article-title>
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>d'Aquin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motta</surname>
          </string-name>
          , E.:
          <article-title>Modularization: a Key for the Dynamic Selection of Relevant Knowledge Components</article-title>
          .
          <source>In: Proc. of the ISWC 2006 Workshop on Modular Ontologies</source>
          . (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cuenca-Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Just the right amount: Extracting modules from ontologies</article-title>
          .
          <source>In: Proc. of the 16th International World Wide Web Conference (WWW</source>
          <year>2007</year>
          ), pages
          <fpage>717</fpage>
          -
          <lpage>727</lpage>
          , Banff,
          <string-name>
            <surname>AB</surname>
          </string-name>
          , Canada, May
          <volume>812</volume>
          2007. ACM Press.
          <article-title>(</article-title>
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Doran</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tamma</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iannone</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Ontology module extraction for ontology reuse: An ontology engineering perspective</article-title>
          .
          <source>In: Proceedings of the 2007 ACM CIKM International Conference on Information and Knowledge Management</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>d'Aquin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlicht</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuckenschmidt</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ontology Modularization for Knowledge Selection: Experiments and Evaluations</article-title>
          .
          <source>In: 18th International Conference on Database and Expert Systems</source>
          Applications - DEXA'
          <fpage>07</fpage>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ehrig</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prange</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>Fundamental Theory for Typed Attributed Graph Transformation</article-title>
          .
          <source>In: 2nd International Conference on Graph Transformation</source>
          . (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>AGG: A Graph Transformation Environment for Modeling and Validation of Software</article-title>
          .
          <source>In: Applications of Graph Transformations with Industrial Relevance</source>
          . Springer (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Habel</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heckel</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taentzer</surname>
          </string-name>
          , G.:
          <article-title>Graph Grammars with Negative Application Conditions</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>26</volume>
          (
          <year>1996</year>
          )
          <fpage>287</fpage>
          -
          <lpage>313</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walther</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Conservative extensions in expressive description logics</article-title>
          . In Veloso, M.M., ed.
          <source>: IJCAI</source>
          . (
          <year>2007</year>
          )
          <fpage>453</fpage>
          -
          <lpage>458</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Cuenca-Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Automatic partitioning of owl ontologies using e-connections</article-title>
          .
          <source>In: Proceedings of the 2005 International Workshop on Description Logics (DL-2005)</source>
          .
          <article-title>(</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Stuckenschmidt</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Structure-based partitioning of large concept hierarchies</article-title>
          .
          <source>In: Proceedings of the 3rd International Semantic Web Conference</source>
          . (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>