<!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>Parallelization of Query Processing over Expressive Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>E. Patrick Shironoshita</string-name>
          <email>patrick@infotechsoft.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Da Zhang</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mansur R. Kabuka</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jia Xu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>INFOTECH Soft, Inc</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Miami 1201 Brickell Avenue, Suite 220 Coral Gables</institution>
          ,
          <addr-line>Florida 33124, USA Miami, Florida 33131</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>116</fpage>
      <lpage>126</lpage>
      <abstract>
        <p>Efficient query answering over Description Logic (DL) ontologies with very large datasets is becoming increasingly vital. Recent years have seen the development of various approaches to ABox partitioning to enable parallel processing. Instance checking using the enhanced most specific concept (MSC) method is a particularly promising approach. The applicability of these distributed reasoning methods to typical ontologies has been shown mainly through anecdotal observation. In this paper, we present an analysis method that makes use of random graph theory to show that the enhanced MSC method results in very small, tractable concepts provided that the number of role assertions removed from consideration is large enough. We also present execution time and efficiency of a parallel implementation deployed over computing clusters of various sizes, showing the ability of the method to process instance checking for large scale datasets.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Description Logics (DL) are increasingly being
used to model and represent structured and
semistructured data in different applications
        <xref ref-type="bibr" rid="ref10">(Horrocks,
2008)</xref>
        . A core task for DL systems is to provide
an efficient way to answer queries over the
extensional level of the ontology, that is, to compute
answers that are not only asserted, but logically
implied by the ontology (Calvanese et al., 2013).
Considerable efforts have been dedicated to the
optimization of algorithms for query answering in
recent years
        <xref ref-type="bibr" rid="ref15 ref16">(Calvanese et al., 2013; Mo¨ller et al.,
2007; Motik et al., 2007)</xref>
        . One of the challenges
faced in this era of increasing data wealth is to
produce responsive results for queries over very large
data sets
        <xref ref-type="bibr" rid="ref19">(Priya et al., 2014)</xref>
        . However, even as
reasoners for very expressive DLs have been created,
performing reasoning over very large ABoxes is
still prohibitive
        <xref ref-type="bibr" rid="ref5 ref8">(Calvanese et al., 2013; Donini,
2003; Glimm et al., 2007)</xref>
        .
      </p>
      <p>
        In the last few years, methods for parallel and
distributed reasoning over expressive ontologies
have been published
        <xref ref-type="bibr" rid="ref19 ref23 ref24 ref25 ref26">(Xu et al., 2013, 2015b; Priya
et al., 2014; Wandelt and Mo¨ller, 2012)</xref>
        ; these
methods generally seek to make use of fast
syntactic checks to generate a set of independent
partitions that can be processed in parallel. In
        <xref ref-type="bibr" rid="ref25 ref26">(Xu
et al., 2015a)</xref>
        , a method for instance checking
is proposed, combining the work in
        <xref ref-type="bibr" rid="ref24 ref25 ref26">(Xu et al.,
2013, 2015b)</xref>
        with the idea of a most specific
concept (MSC)
        <xref ref-type="bibr" rid="ref17 ref4 ref6">(Nebel, 1990; Donini and Era, 1992;
Donini et al., 1994)</xref>
        to move the reasoning task
from the very large ABox into a much smaller
TBox. Empirical evaluation of the method has
shown its ability to perform sound and complete
instance checking over SHI DLs within
reasonable time. Moreover, the method is inherently
parallelizable, lending itself to implementation within
clusters of commodity hardware. In this paper, we
examine the enhanced MSC method and its
parallelization implementation.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>The Enhanced Most Specific Concept (MSC) method</title>
      <p>2.1</p>
      <sec id="sec-2-1">
        <title>Basic MSC Method</title>
        <p>A Description Logics (DL) knowledge base, also
referred to as an ontology, is typically defined a
tuple, denoted K = (T , A), where the
terminological component or TBox T contains definitions of
concepts and roles, and the assertional component
or ABox A contains assertions about membership
of individuals in concepts and about role relations
between individuals. The set of roles, concepts,
and individual instances in an ontology are
denoted respectively by R, C, and I. The discussion</p>
        <p>TBox</p>
        <sec id="sec-2-1-1">
          <title>Headmaster v Professor</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>Professor v Person</title>
        </sec>
        <sec id="sec-2-1-3">
          <title>MagicCourse v Course</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>Muggle v ¬Wizard</title>
          <p>takesCourse.MagicCourse v Wizard</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>9 isHeadOf.School u Person v Headmaster</title>
          <p>
            ABox
School(hogwarts)
Professor(albus)
Professor(severus)
MagicCourse(potions)
MagicCourse(transfiguration)
Course(math)
Student(harry)
Muggle(dudley)
isHeadOf(hogwarts, albus)
takesCourse(harry, transfiguration)
taughtBy(transfiguration, albus)
taughtBy(potions, severus)
in this paper assumes that the reader is familiar
with DL concepts and notations; refer to
            <xref ref-type="bibr" rid="ref1">(Baader
et al., 2003)</xref>
            for details. For the discussion below,
we will use the example illustrated in Table 1.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Definition 1 (Most Specific Concept) (Nebel,</title>
        <p>1990; Donini and Era, 1992) Let K = {T , A}
be an ontology, and a be an individual in
I. The most specific concept for a w.r.t.
A, written MSCT (A, a), is a concept such
that for every concept D where K |= D(a),
T |= MSCT (A.a) v D.</p>
        <p>If MSCT (A, a) can be derived, then, to test
whether K |= Q(a) holds for an arbitrary
concept Q it suffices to test if (T [ { Q}) |=
MSCT [{ Q}(A, a) v Q. We call the concept Q
the query. Note that Q needs to be inserted into the
TBox in simple form, which may require in turn
the insertion of additional named concepts as well
as general concept inclusion (GCI) axioms to
express the necessary equivalences for these inserted
concepts. In the remainder of this paper, we will
assume that the query Q has been inserted into the
TBox so that MSCT (A, a) denotes the MSC
calculated considering Q.</p>
        <p>
          Computation of the MSC for a given
individual a as defined above can be performed using a
rolling up procedure adapted from the one first
introduced in
          <xref ref-type="bibr" rid="ref11">(Horrocks and Tessaris, 2000)</xref>
          .
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>Definition 2 (Basic MSC Rollup Procedure)</title>
        <p>Provided that the ABox does not contain assertion
cycles, computation of the MSC can be performed
recursively as follows:
1. for a given individual a, start with an empty</p>
        <p>MSCT (A, a);
2. for every concept assertion C(a) ,</p>
        <p>MSCT (A, a) MSCT (A, a) u C;
3. for every role assertion R(a, b),</p>
        <p>MSCT (A, a) MSCT (A, a)</p>
        <p>u 9 R.MSCT (A\{R(a, b)}, b);
4. for every individual equality assertion a = a0,
MSCT (A, a) MSCT (A, a)</p>
        <p>u MSCT (A, a0).</p>
        <p>So, in the example ABox above, the MSC for
severus is</p>
        <sec id="sec-2-3-1">
          <title>Professor u 9 taughtBy .Course</title>
          <p>(1)</p>
          <p>It is important to note that while class
assertions generate relatively simple concepts, role
assertions are capable of generating very complex
concepts. Suppose for example that ABox An
consists of role assertions R0(a0, a1), R1(a1, a2),
. . . , Rn(an, an+1); then:
MSCT (An, a0) =</p>
          <p>9 R1.(9 R2.(. . . (9 Rn.MSCT (an+1)) . . . )) (2)
Thus, in the example ABox of Table 1, the MSC
for harry is</p>
        </sec>
        <sec id="sec-2-3-2">
          <title>Student u 9 takesCourse . (Course u 9 taughtBy. (Professor u isHeadOf .School))</title>
          <p>Two main issues preclude this basic MSC
method from proving fully useful with expressive
ontologies. First, if assertion cycles are present in
the ABox, the method does not terminate. For
example, consider what would happen if</p>
          <p>isProtegeOf(albus, harry)
is inserted into the ABox, then a cycle forms
among the individuals harry, transfiguration,
and albus.</p>
          <p>Second, unless the ABox is highly
disconnected, the method has the potential to generate
very large concepts, of size in the same order of
the ABox itself. Consider what happens if the
following assertion is added to the ABox:</p>
          <p>takesCourse(harry, potions)</p>
          <p>In this case, all individuals become connected
with each other, and the MSC of every individual
ends up being the same size of the ABox.
(3)
(4)
(5)</p>
          <p>Xu et.al. (2015a) define a set of improvements
that result in the Enhanced MSC Method. This
enhancement consists of two parts: a mechanism to
address assertion cycles, and a set of syntactic
conditions to reduce the size of the MSCs in practical
ontologies.
2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>MSC Computation with Assertion Cycles</title>
        <p>
          To address assertion cycles, Xu et.al. (2015a) use
nominals to indicate the joint node of a cycle, as
previously suggested in
          <xref ref-type="bibr" rid="ref20 ref4">(Donini and Era, 1992;
Schaerf, 1994)</xref>
          .
        </p>
      </sec>
      <sec id="sec-2-5">
        <title>Definition 3 (MSC Rollup of Assertion Cycles)</title>
        <p>When a cycle is found starting and ending at
individual ac, the individual is represented by
its corresponding nominal class {ac}, and the
conversion of role assertions within the cycle
requires modification of the rollup method as
follows: If ac is an individual where a cycle is
found, select a direction to go through the cycle
and:
• for R(ac, x), x 6= ac</p>
        <p>MSCT (A, ac) MSCT (A, ac)u</p>
        <p>({ac} u 9 R.MSCT (A\{R(ac, x)}, x))
• for R(y, ac), y 6= ac</p>
        <p>MSCT (A, y) MSCT (A, y) u 9 R.{ac}
• for R(ac, ac),</p>
        <p>MSCT (A, ac) MSCT (A, ac) u {ac}
u9 R.{ac}
• for any other R(x, y) in the cycle, for x 6= ac
and y 6= ac,</p>
        <p>MSCT (A, x) MSCT (A, x)</p>
        <p>u9 R.MSCT (A\{R(x, y)}, y)
Thus, if an ABox
Ac = {R0(a0, a1), R1(a1, a2), . . . , Rn(an, a0)}
the MSC of an assertion cycle is obtained as
follows:</p>
        <p>MSCT (Ac, a0) =</p>
        <p>{a0} u 9 R1.(9 R2.(. . . (9 Rn.{a0}) . . . )) (6)
So, suppose that the ABox in Table 1 is
augmented with the assertion in equation (4), then the
MSC for harry becomes
{harry} u Student u 9 takesCourse .</p>
        <p>(Professor u isHeadOf .School
u isProtegeOf .{harry}))
(7)</p>
        <p>Use of the MSC method to perform instance
retrieval is straightforward. Suppose it is desired to
query an ABox to retrieve all instances of a
concept Q. It suffices to generate MSCT (A, a) for
every individual a in the ABox, and then accept
every individual where (T [ Q) |= MSCT (A, a) v
Q. Note that the query concept Q is added to the
TBox being verified.</p>
      </sec>
      <sec id="sec-2-6">
        <title>2.3 Syntactic Conditions</title>
        <p>
          In
          <xref ref-type="bibr" rid="ref25 ref26">(Xu et al., 2015a)</xref>
          , syntactic conditions
verifiable in polynomial time or better were defined, to
enable reduction on the size of the MSC and thus
permit TBox reasoning in tractable time. These
conditions are based on the following:
Lemma 1 Given two individuals a and b and a
role R, a role assertion R(a, b) influences the
classification of individual a into concept A if and only
if
        </p>
        <p>K |= 9 R.B u A0 v A
where K |= B(b) and where A0 6v A summarizes
information about a not contained in A.
Proposition 1 Let K = (T , A) be a SHI
ontology containing named concept A, concepts A0
and B, and role R. If equation (8) holds, there
must exist some GCIs in T of the form</p>
        <p>9 R0.C1 ./ C2 v C3
where R v R0, ./ is a placeholder for either u or
t, and Ci’s are concepts.</p>
        <p>
          Proof of this proposition can be found in
          <xref ref-type="bibr" rid="ref24">(Xu et al.,
2013)</xref>
          .
        </p>
        <p>Proposition 1 directly leads to a first syntactic
condition denoted SYN COND.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Definition 4 (SYN COND) Role assertions of</title>
        <p>the form R(a, b) are said to be true for
SYN COND if role R participates in at least one
axiom that can be logically converted to the form
of equation 9 for some R v R0, false otherwise.
Assertions R(a, b) with SYN COND = false do
not affect the classification of a unless either R
or some R0 such that R ✓ R0 exist in the query,
and can be safely removed from the calculation
of MSCT (A, a). By symmetry to the inverse role
R , this condition also applies to b. In practice,
the axioms more likely to be found are of the form
C v 9 R.D, which is equivalent to C u &gt; v
9 R.D. Also note that (C v 8 R.D) ⌘ (9 R.¬C v
¬D). In the example in Table 1, assertions with
(8)
(9)
role isHeadOf have SYN COND=true, while
assertions with roles takesCourse and taughtBy
have SYN COND=false and can be safely
removed from consideration, unless the roles exist
in the query itself. Note that in this case, the MSC
for harry is reduced to</p>
        <sec id="sec-2-7-1">
          <title>Student u 9 takesCourse .Course</title>
          <p>(10)</p>
          <p>
            A second syntactic condition presented in
            <xref ref-type="bibr" rid="ref25 ref26">(Xu
et al., 2015a)</xref>
            relies on the identification of explicit
concept assertions and disjointness axioms that
indicate that an individual cannot be classified to an
existential restriction:
          </p>
        </sec>
      </sec>
      <sec id="sec-2-8">
        <title>Definition 5 (SYN COND DJ) Role assertions</title>
        <p>R(a, b) with SYN COND= true are said to be
true for SYN COND DJ if there do not exist any
of:
• an explicit concept assertion B0(b) such that</p>
        <p>K |= B0 v ¬C1;
• an explicit concept assertion A0(a) such that</p>
        <p>K |= A0 v ¬C3; or
• an explicit concept assertion A0(a) such that</p>
        <p>K |= A0 v ¬(C3 t ¬C2)
for C1, C2, an C3 as in Eq.(9) and R v R0.
Role assertions with SYN COND DJ=false can
be safely removed from the calculation of the
MSC of any individual, since they do not affect
classification of either a or b. For example, in
Table 1, role assertions with role takesCourse have
SYN COND=true due to the assertion</p>
        <p>takesCourse.MagicCourse v Wizard.</p>
        <p>However, suppose that the following assertion
were inserted into the ABox:
takesCourse(dudley, math)
(11)
This assertion has SYN COND DJ=false, since
dudley is an instance of Muggle, which in turn is
disjoint with Wizard, the filler concept in the
assertion above.</p>
      </sec>
      <sec id="sec-2-9">
        <title>Definition 6 (SYN COND SC) Role assertions</title>
        <p>R(a, b) with SYN COND= true are said to be
true for SYN COND SC if, for every GCI of the
form in Eq.(9) there exists an explicit concept
assertion A0(a) such that K |= A0 v C3.</p>
        <p>Role assertions with SYN COND SC=true are
redundant for the classification of a, and can
therefore be safely removed from the calculation of the
MSC of any individual. For example, the role
assertion</p>
        <p>Headmaster(albus)
(12)
would have SYN COND SC=true.</p>
        <p>Application of these three syntactic conditions
to the computation of the MSC of a given
individual results in a significant reduction in the size of
the MSC for practical ontologies. The reasons for
this reduction will be established in more detail in
the next section, but first we provide a definition
for the parallelization of the algorithm.</p>
        <p>
          Remark 1 The MSC method is guaranteed to be
sound and complete for SHI DL
          <xref ref-type="bibr" rid="ref25 ref26">(Xu et al.,
2015a)</xref>
          . It can be extended to DL with
expressivity SHIQ with unique name assumption, that is,
if it is assumed that two individuals a and b are
different if they have different names. Details of
such extension are outside the scope of this paper,
but they are straightforward, and generally follow
the extensions to equality-free module extraction
detailed in
          <xref ref-type="bibr" rid="ref24">(Xu et al., 2013)</xref>
          .
2.4
        </p>
      </sec>
      <sec id="sec-2-10">
        <title>Parallelization of the MSC Method</title>
        <p>The MSC method, including the syntactic
conditions detailed above, is highly parallelizable, due
to the following:
Proposition 2 For a given knowledge base K =
(T , A), computation of MSCT (A, a) for an
individual a can be performed independently of the
computation of the MSC of any other individual.
Proof of this proposition follows directly from the
definition of the MSC computation in Definitions
2 and 3, as well as in the definition of the
syntactic conditions, where it should be clear that MSC
computation depends only on the initial state of
the knowledge base. This means that the
calculation of the MSCs for all individuals can be done in
parallel. Instance checking then needs to be
performed against T [ MSCT (A, a) for every
individual a.</p>
        <p>Note that naive parallelized processing of
individual equality assertions (i.e., owl:sameAs
expressions) using the procedures outlined in
Definition 2 results in redundant computations.
Precomputation of the reflexive-transitive closure of
these equalities avoids such redundancy. Note
also that anonymous individuals, typically
presented as blank nodes in OWL, are processed in
the same way as named individuals for calculation
purposes.</p>
        <p>As is shown later in Section 4, parallelization
of the MSC method allows for the processing of
extremely large ABoxes within clusters of
commodity hardware. The resulting computational
complexity is sublinear with respect to the size
of the ABox, which indicates linear complexity
for single-machine implementation. In the next
section, we present an analysis of the expected
computational complexity of the enhanced MSC
method, and show why it has tractable expected
performance for practical ontologies.
3
3.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Data Complexity and Random Graphs</title>
      <sec id="sec-3-1">
        <title>MSC Method Worst-Case Complexity</title>
        <p>
          Typically, the size of the ABox as measured by
the number of facts it contains is orders of
magnitude greater than the size of the TBox, and also
much larger than the size of the query. While it has
been shown that, even with exponential time
complexity, TBoxes of realistic size can be processed
in realistic time
          <xref ref-type="bibr" rid="ref5">(Donini, 2003)</xref>
          , practical ABoxes
can contain million of individuals. Data
complexity for instance checking in DLs with
expressivity SHIQ has an upper bound of 2EXPTIME
          <xref ref-type="bibr" rid="ref8">(Glimm et al., 2007)</xref>
          . A family of less
expressive languages called DL-Lite have been shown to
be first-order-logic rewritable and thus with data
complexity in AC0, while even small additions to
this language family renders the data complexity
for instance checking in co-NP complete or worse
(Calvanese et al., 2013).
        </p>
        <p>
          It is clear that the MSC method for instance
checking is EXPTIME-complete for SHI. Since
the computation of the MSC is PTIME, as it is
essentially depth-first search, complexity of
checking depends on TBox reasoning. From Definition
1, it should be clear that for a connected ABox,
the size of the MSC is the size of the ABox
itself. Since testing for the subsumption of the
MSC against a concept in the TBox is reducible
to satisfiability testing of the union of the TBox
and the MSC, instance checking with the MSC
method is equivalent to satisfiability testing for
SHI DLs, which is EXPTIME-complete
          <xref ref-type="bibr" rid="ref21">(Tobies,
2001)</xref>
          . Given that the syntactic conditions defined
in subsection 2.3 do not guarantee that any role
assertions will be actually removed from the
calculation of the MSC, the worst-case complexity
of the enhanced MSC method is still EXPTIME.
This situation is unlikely to occur in practice
however, as it would mean that every role in the ABox
would have to be involved in a GCI of the form of
equation (9).
        </p>
        <p>From a practical standpoint, it seems more
interesting to study the performance of the enhanced
MSC method when used with typical ABoxes.
Graph theory, and particularly random graph
theory, provide methods and tools for the study of
typical graphs.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Random Graph Theory</title>
        <p>
          Random graph theory is concerned with the study
of graphs as probabilistic random variables with a
defined probability distribution. Here we provide
a short summary of the points of interest to this
paper; the reader is referred to
          <xref ref-type="bibr" rid="ref3">(Chung, 2009)</xref>
          for
more details.
        </p>
        <p>
          Many real-world network structures are
socalled scale-free, that is, they exhibit power-law
degree distributions
          <xref ref-type="bibr" rid="ref13 ref18">(Mika, 2007; Newman, 2002)</xref>
          .
A random power-law graph model can be defined
as G(C, ↵ ), where the number of nodes nk with
degree k is given by
nk = C · k ↵
(13)
where C is the volume of the graph and ↵ is the
log-log rate of growth of the graph.
        </p>
        <p>It is important to note that random power-law
graphs do not contain nodes with degree of 0,
since at this value the distribution is undefined;
therefore, analysis of random power-law graphs
discards all zero-degree nodes. Where it is
necessary to make the distinction, we will denote the
number of non-zero-degree nodes the effective
order of the graph.</p>
        <p>
          It has been shown that a phase transition
occurs as the average node degree increases (where
the degree of a node is the number of edges
connected to it.), so that at a critical value a giant
component forms with high probability 1
          <xref ref-type="bibr" rid="ref14 ref7">(Erdo˝s and
Re´nyi, 1960; Molloy and Reed, 1995)</xref>
          . A
component (also called connected component) is a
maximal subset of the nodes of the graph and all edges
between those nodes such that there is a path
between any two nodes in the component. A giant
component is a connected component with
number of nodes in the same order of magnitude as the
graph itself. For any random graph, the phase
transition occurs at the point given by the solution of:
1Since random graph theory is probabilistic, conclusions
are always obtained ”with high probability”. Henceforth, we
will abbreviate this as w.h.p. This is also sometimes stated as
”asymptotically almost surely”, or just ”almost surely”.
2)pk = 0
where pk is the degree distribution. For power-law
graphs, this reduces to
          <xref ref-type="bibr" rid="ref18 ref3">(Newman, 2002; Chung,
2009)</xref>
          :
1
k=0
X k1 ↵ k2 ↵ = ⇣ (↵
2)
2⇣ (↵
after integration, where ⇣ (t) = P1n=1 n t is the
Riemann zeta function. Thus, the phase
transition point occurs at the value of the power-law
exponent ↵ 0 = 3.47875.... Graphs with exponent
↵ &lt; ↵ 0 show a unique giant component of size
O(n) w.h.p. It can also be shown that for ↵ &gt; 2
the second largest component is in size ✓ (log n),
for 1 &lt; ↵ &lt; 2 the second largest component is
in ✓ (1), and for ↵ &lt; 1 the graph is connected, all
w.h.p
          <xref ref-type="bibr" rid="ref3">(Chung, 2009)</xref>
          .
To apply random graph theory to the study of DL
ABoxes, we define the role assertion graph as
follows:
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Definition 7 (ABox Role Assertion Graph)</title>
        <p>The set of role assertions in a SHI ABox define
an unlabeled, undirected graph GA, where the
nodes represent the individuals in the ABox, and
where there is an edge between nodes if there is
at least one role assertion between the underlying
individuals.</p>
        <p>In other words, the ABox graph GA replaces
multiple parallel edges between two nodes with
a single, unlabeled edge. Self-loops are still
allowed. Note that with respect to the MSC
method, parallel edges result in only a small
increase in MSC size, equivalent to the number of
parallel edges. Suppose multiple role assertions
R1(a, b), R2(a, b), . . . , Rn(a, b) exist in between
individuals a and b in the ABox A; application of
the rollup procedure for assertion cycles in
Definition 3 results in the following:</p>
        <p>MSCT (A, a)</p>
        <p>MSCT (A, a) u {a}
u 9 R1.(9 R2 {a} u · · · u 9 Rn {a}
u MSCT (A\{R1(a, b), R2(a, b)
. . . Rn(a, b)}, b))
(16)</p>
        <p>Thus, collapsing parallel edges into a single
unlabeled edge results in minimal reduction in the
complexity of MSC calculations.</p>
        <p>Certain properties in the role assertion graph GA
can be readily related to expected characteristics
of the MSCs calculated for the underlying ABox.
Specifically:
• the size of MSCT (A, a), as measured by
number of simple form concepts that it
contains, is equivalent to the order of the
connected component that contains the node that
represents the individual a.
• the number of conjuncts at the top level of
MSCT (A, a) is proportional to the degree of
the node representing a.
• the maximum quantification depth of
MSCT (A, a) is given by the diameter of the
connected component containing the node
corresponding to a.</p>
        <p>It is clear that the appearance of a giant component
then means that the MSC for a significant number
of individuals is in O(n), and that therefore the
complexity of MSC instance checking is
exponential in n.</p>
        <p>The application of the syntactic conditions
outlined in subsection 2.3 can be reflected in the role
assertion graph through the removal of assertions
that do not satisfy the conditions. An important
question to ask is how such removal affects the
characteristics of the resulting graph. Since
random graphs are generative processes, it is
reasonable to assume that removal of edges follows the
same degree distribution as the original generation
of the graphs themselves. If this is the case, the
resulting graphs retain their power-law degree
distribution. Thus, if the original ABox role assertion
graph had a giant component of size O(n), for n
the number of nodes, w.h.p. the modified graph
will also show a giant component.</p>
        <p>
          Note however that the reduction in the number
of edges necessarily results also in a reduction in
the effective order of the graph, that is, in the
number of non-zero-degree nodes. It is in fact possible
to calculate both the number of nodes n and
number of edges E in the graph based on the volume
and log growth rate parameters from equation 13.
For ↵ &gt; 2, the equations are as follows
          <xref ref-type="bibr" rid="ref3">(Chung,
2009)</xref>
          :
1
k=1
n =
        </p>
        <p>X C · k ↵ ⇡ C · ⇣ (↵ )
(17)</p>
        <p>E = 12 X1 k · C · k ↵ ⇡
which depends only on ↵ . Therefore, if ↵ remains
constant, a reduction in the number of edges
necessarily results in a proportional reduction
in the number of (non-zero-degree) nodes, that
is, in the effective order of the graph. As will be
shown in Section 4, it is this property that enables
the enhanced MSC method to provide extremely
good performance for very large ABoxes.
To test both the accuracy and to measure
parallelization speedup of the enhanced MSC method,
we set up clusters of compute-optimized instances
through Amazon Web Services (AWS)2. The
enhanced MSC method with syntactic condition
correction was implemented in Java and Scala to work
over Apache Spark3, installed over Hadoop HDFS
and YARN.</p>
        <p>
          For the accuracy tests, we used an in-memory
version of our enhanced MSC implementation.
We set up clusters of two c4.xlarge machines, each
containing 4 virtual CPUs and 7.5GB of
memory, to run the enhanced MSC method, and
compared the results against the HermiT reasoner
version 3.8.14, running on a single c4.xlarge
machine; HermiT was chosen as a comparison
standard due to its stability and speed; future tests will
2aws.amazon.com
3https://spark.apache.org/
4http://www.hermit-reasoner.com
be done against other reasoners such as Pellet5 and
Konclude6. These tests were performed against a
single department dataset for the University
Ontology Benchmark (UOBM)
          <xref ref-type="bibr" rid="ref12">(Ma et al., 2006)</xref>
          ,
containing about 150,000 triples. The UOBM
TBox was modified to convert cardinality
restrictions to existential restrictions, since our current
implementation only handles expressivity up to
SHI. This modified version can be provided upon
request. The UOBM Tbox contains a total of
113 named classes and 35 object properties. We
tested our enhanced MSC implementation against
all 35 named class queries, and all 3,955
possible single-depth existential restriction queries, and
verified 100% agreement between our enhanced
MSC method implementation and HermiT. In
addition, we recorded the running time for all query
executions - the results can be seen in Table 2. It is
interesting to note that the enhanced MSC method
performs much better than HermiT for existential
restrictions. Also note the large standard deviation
found when running a hypertableaux-based
reasoner like HermiT, where a few queries take a very
long time to finish. This result also suggests the
possibility of using enhanced MSC in tandem with
a traditional reasoner when dealing with smaller
datasets.
4.2
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Parallelization</title>
        <p>
          To test the parallelization of the MSC method,
we used the c3.8xlarge instances,which provide 32
virtual CPUs and 60 GBs of storage. We used
the Lehigh University Benchmark (LUBM)
          <xref ref-type="bibr" rid="ref9">(Guo
et al., 2005)</xref>
          to generate data sets of up to 500
million triples. LUBM was chosen as an initial test
ontology due to its ability to generate datasets of
varying size, while providing a reasonably
expressive TBox. These data sets were stored using the
TitanDB7 graph database interface over an Apache
HBase8 backend. Both TitanDB and HBase were
installed over Hadoop HDFS 2.7. Our prototype
application over Spark accesses TitanDB through
its standard Java interface. Data distribution and
replication are performed by the database and are
transparent to our application.
        </p>
        <p>A test was performed to evaluate the scalability
of the parallel MSC method over the number of
triples in the ABox. This test was performed over
5https://github.com/stardog-union/pellet
6http://derivo.de/produkte/konclude/
7http://thinkaurelius.github.io/titan/
8http://hbase.apache.org/
a cluster of 10 c3.8xlarge machines in AWS. The
results are shown in the log-log diagram in Figure
1. As can be observed, the method shows clear
sub-linear performance with respect to the size of
the data set, as expected from an algorithm with
linear performance in a sequential machine.</p>
        <p>The performance with respect to the number of
machines was evaluated in two parts. First, to
evaluate under small cluster conditions, a 500,000
triple set was assembled and used to test against
1 to 10 machines. The execution time and the
efficiency with respect to single-machine
execution are shown in Figure 2a. To obtain evaluation
for large numbers of machines, we used the ABox
with 500 million triples and ran it against 10 to
50 machines; to provide a more realistic
estimation, the efficiency value was corrected against the
result for 500,000 triples in 10 machines. These
higher scalability results are shown in Figure 2b.</p>
        <p>
          In terms of raw performance, the parallel
enhanced MSC algorithm was capable of performing
instance checking for a dataset with 500 million
triples and over 110 million individual instances
in about 1,240 seconds, or around 20 min., using
a cluster of 10 machines and a total of 320
execution cores. Using 50 machines, the execution time
was 346 seconds, or somewhat less than 6
minutes. As a comparison, although the difference
in algorithms means that execution times are not
directly comparable, Oracle reports full ABox
inference over 869 million triples in 62 minutes, and
query performance over this pre-reasoned ABox in
about 4.3 min., using specialized hardware (
          <xref ref-type="bibr" rid="ref22">W3C,
2015</xref>
          ). It is also important to note that, since tests
were performed over an uncontrolled
environment, external perturbations could have affected
(a) Efficiency for small number of machines
(b) Efficiency for large number of machines
some measurements. Nevertheless, it is clear that
the MSC method provides performance
comparable with top-of-the-line database technologies and
very broad scalability.
        </p>
        <p>
          These results demonstrate that the enhanced
MSC method is inherently parallelizable, enabling
it to work with large scale ABoxes. They also
show that the fact that in the worst case the
enhanced MSC method is in EXPTIME does not
preclude its usefulness with practical ontologies.
In the next section, we evaluate the characteristics
of typical ABoxes that support this assertion using
random graph models.
For this purpose, we have created ABox role
assertion graphs for the same set of ontologies used
for the empirical evaluation in
          <xref ref-type="bibr" rid="ref25 ref26">(Xu et al., 2015a)</xref>
          ,
and have calculated the least-squares fit for their
degree distributions. The data sets used are the
following:
1. LUBM1 and LUBM4: Lehigh University
Benchmark ontologies about higher
education entities generated using the tool provided
by
          <xref ref-type="bibr" rid="ref9">(Guo et al., 2005)</xref>
          ; and
2. Arabidopsis thaliana (AT) and
Caenorhabditis elegans (CE), two ABoxes built over the
BioPAX TBox about biomedical pathways in
        </p>
        <p>the respective organisms; the TBox and both
ABoxes can be provided upon request.</p>
        <p>
          We have performed the least-squares fit up to
a maximum degree of 100, which accounts for
over 99.8% of all nodes in every graph considered.
Since there usually are discrepancies when the
degree is very small or very large
          <xref ref-type="bibr" rid="ref3">(Chung, 2009)</xref>
          , this
truncation eliminates a significant source of
inaccuracy in the models. Table 3 provides the total
number of edges and nodes of the role assertion
graph (remember that the number of edges differs
from the total number of properties in the ABoxes
due to the conversion to a graph), values for C and
↵ in Equation 13, and correlation coefficient R2.
Note that the larger graphs approximate a
powerlaw degree distribution to a very high degree. Note
also that the exponents of the approximations are
all between 2 and 3, which is the typical range for
small-world, scale-free networks
          <xref ref-type="bibr" rid="ref13">(Mika, 2007)</xref>
          .
        </p>
        <p>We have then calculated the effective order and
log-growth rate of the degree distribution of the
ABox role assertion graphs for all ontologies after
application of SYN COND, SYN COND DJ, and
SYN COND SC; the results, shown in Table 4,
demonstrate that these conditions indeed produce
a drastic reduction in the effective order of the role
assertion graph and thus in the size of the
resulting connected components, even if a giant
component still appears. Observe in particular that for
the LUBM ontologies, the reduction is so
significant that only a very small number of individuals
remain connected to others.</p>
        <p>It is interesting to examine the relative impact
of the various syntactic conditions. Note that
SYN COND must always be applied, since
without it, the other conditions do not make sense.
Table 5 shows the impact for the application of
LUBM1
LUBM4
AT
CE</p>
        <p>LUBM1
LUBM4
AT
CE</p>
        <p>#
the different conditions on the AT ABox; similar
trends can be seen with the other data sources. As
can be seen, the initial SYN COND condition
accounts for a significant portion of the reduction,
but still leaves highly connected components, and
is therefore not sufficient on its own to enable
processing of instance checking in realistic time.
Both the disjointness and subclass conditions
contribute to a further reduction, resulting finally in a
realistic component size for TBox reasoning
purposes. In general, SYN COND SC contributes
more of the reduction in size, for all studied
ontologies. It should be also noted that a very large
number of resulting components are singletons,
which in the MSC method result in subsumption
checking based only on class assertions; this can
be performed very fast since the class hierarchy of
the TBox can be precomputed.</p>
        <p>Up to now, we have assumed that the power
law exponent remains constant after application of
the various syntactic conditions. It is interesting
then to evaluate the behavior of the exponent in
the power law distribution of equation 13. Figure
3 shows this for the AT data source on a log-log
scale; as can be seen, other than significant
deviations at very low degree values, the exponent
remains relatively constant.
5</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Discussion and Future Work</title>
      <p>The enhanced MSC method is inherently
parallelizable, since instance checking for every
individual in the ABox can be performed
independently. Coupled with recent advances in
cluster computing such as Apache Spark, large triple
SYN COND
SYN COND DJ
SYN COND SC
SYN COND ALL</p>
      <p>Graph size
stores can be queried efficiently using commodity
hardware clusters or cloud platforms.</p>
      <p>Even as worst-case complexity of the method
is in exponential time for a single sequential
machine, and thus intractable for parallelization, the
method performs within realistic time in
practical, real-world ontologies, which typically present
a power-law degree distribution. As discussed in
our random graph theory analysis, this is due to the
ability of the method to reduce the size of the
connected components formed within the ABox Role
Assertion Graph, which in turn means a reduction
in the size of the MSCs generated for the
individuals in the ABox. Our method is thus most
effective when the different syntactic conditions can
be applied to effect this reduction, and will
possibly prove less beneficial if most of the roles in the
TBox are engaged in axioms of the form of
equation (9).</p>
      <p>
        We are currently exploring the use of the
method to address full conjunctive queries over
DL knowledge bases expressed in the SPARQL
query language. This requires the expansion of the
MSC method to retrieve individuals a and b that
can be inferred to be in a relation R(a, b). This
extension is being implemented based on Theorem
4.1 in
        <xref ref-type="bibr" rid="ref25 ref26">(Xu et al., 2015a)</xref>
        . The implementation of
      </p>
      <p>SPARQL query answering will also enable us to
perform tests with other existing benchmarks such
as the DBPedia SPARQL Benchmark (DBPSB).
In addition, we are working on improvements in
the efficiency of the parallelization of the MSC
method. In particular, we are looking into
combining multiple individuals that form part of the
same connected component in the ABox role
assertion graph in the same parallel task, since it can
be seen in Definitions 2 and 3 that portions of the
MSC computation can be shared among
individuals provided that they are connected to each other.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we have presented a parallel
implementation of the enhanced MSC method, and we
have evaluated execution time and efficiency as we
varied the size of the data and the number of
processors used. Since the method performs
independent checking for every individual in the ABox, it
is inherently parallelizable. The results show
sublinear performance with respect to the size of the
ABox, which stems from its performance in linear
time in the computation of the MSCs, and almost
constant time for reasoning due to the small size
of the resulting MSC.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements</title>
      <p>This work is supported by grant # R44GM097851
from the National Institute of General Medical
Sciences (NIGMS), part of the U.S. National
Institutes of Health (NIH).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <given-names>Franz</given-names>
            <surname>Baader</surname>
          </string-name>
          , Diego Calvanese, Deborah L.
          <string-name>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <surname>Daniele Nardi</surname>
          </string-name>
          , and
          <string-name>
            <surname>Peter F.</surname>
          </string-name>
          Patel-Schneider, editors.
          <year>2003</year>
          .
          <article-title>The description logic handbook: theory, implementation, and applications</article-title>
          . Cambridge University Press, New York, NY, USA.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2013.
          <article-title>Data complexity of query answering in description logics</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>195</volume>
          :
          <fpage>335</fpage>
          -
          <lpage>360</lpage>
          . https://doi.org/10.1016/j.artint.
          <year>2012</year>
          .
          <volume>10</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>Fan</given-names>
            <surname>Chung</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>A whirlwind tour of random graphs</article-title>
          . In Robert A. Meyers, editor,
          <source>Encyclopedia of Complexity and Systems Science</source>
          , Springer, pages
          <fpage>7493</fpage>
          -
          <lpage>7505</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <given-names>F</given-names>
            <surname>Donini</surname>
          </string-name>
          and
          <string-name>
            <given-names>A</given-names>
            <surname>Era</surname>
          </string-name>
          .
          <year>1992</year>
          .
          <article-title>Most specific concepts for knowledge bases with incomplete information</article-title>
          .
          <source>In Proceedings of CIKM. Baltimore</source>
          ,
          <string-name>
            <surname>MD</surname>
          </string-name>
          , USA, pages
          <fpage>545</fpage>
          -
          <lpage>551</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Francesco</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Donini</surname>
          </string-name>
          .
          <year>2003</year>
          .
          <article-title>Complexity of Reasoning</article-title>
          . In Franz Baader, Diego Calvanese, Deborah L.
          <string-name>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <surname>Daniele Nardi</surname>
          </string-name>
          , and Peter F.
          <article-title>Patel-Schneider, editors, The description logic handbook: theory, implementation, and applications</article-title>
          , Cambridge University Press, New York, NY, USA, pages
          <fpage>96</fpage>
          -
          <lpage>136</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Francesco M. Donini</surname>
            , Maurizio Lenzerini, Daniele Nardi, and
            <given-names>Andrea</given-names>
          </string-name>
          <string-name>
            <surname>Schaerf</surname>
          </string-name>
          .
          <year>1994</year>
          .
          <article-title>Deduction in Concept Languages: from Subsumption to Instance Checking</article-title>
          .
          <source>J Logic Computation</source>
          <volume>4</volume>
          (
          <issue>4</issue>
          ):
          <fpage>423</fpage>
          -
          <lpage>452</lpage>
          . https://doi.org/10.1093/logcom/4.4.423.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <given-names>P.</given-names>
            <surname>Erdo</surname>
          </string-name>
          <article-title>˝s and A</article-title>
          . Re´nyi.
          <year>1960</year>
          .
          <article-title>On the Evolution of Random Graphs</article-title>
          .
          <source>In Publication of the Mathematical Institute of the Hungarian Academy of Sciences</source>
          . pages
          <fpage>17</fpage>
          -
          <lpage>61</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <given-names>Birte</given-names>
            <surname>Glimm</surname>
          </string-name>
          , Ian Horrocks, Carsten Lutz, and
          <string-name>
            <given-names>Uli</given-names>
            <surname>Sattler</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Conjunctive Query Answering for the Description Logic SHIQ</article-title>
          .
          <source>In Proceedings of the 20th International Joint Conference on Artifical Intelligence</source>
          . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,
          <source>IJCAI'07</source>
          , pages
          <fpage>399</fpage>
          -
          <lpage>404</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Yuanbo</given-names>
            <surname>Guo</surname>
          </string-name>
          , Zhengxiang Pan, and
          <string-name>
            <given-names>Jeff</given-names>
            <surname>Heflin</surname>
          </string-name>
          .
          <year>2005</year>
          .
          <article-title>LUBM: A Benchmark for OWL Knowledge Base Systems</article-title>
          .
          <source>Web Semant</source>
          .
          <volume>3</volume>
          (
          <issue>2</issue>
          -3):
          <fpage>158</fpage>
          -
          <lpage>182</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Ontologies and the Semantic Web</article-title>
          .
          <source>Commun. ACM</source>
          <volume>51</volume>
          (
          <issue>12</issue>
          ):
          <fpage>58</fpage>
          -
          <lpage>67</lpage>
          . https://doi.org/10.1145/1409360.1409377.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sergio</given-names>
            <surname>Tessaris</surname>
          </string-name>
          .
          <year>2000</year>
          .
          <article-title>A conjunctive query language for description logic ABoxes</article-title>
          . In In In AAAI/IAAI. pages
          <fpage>399</fpage>
          -
          <lpage>404</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Li</surname>
            <given-names>Ma</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            <given-names>Yang</given-names>
          </string-name>
          , Zhaoming Qiu, Guotong Xie, Yue Pan, and Shengping Liu.
          <year>2006</year>
          .
          <article-title>Towards a Complete OWL Ontology Benchmark</article-title>
          .
          <source>In The Semantic Web: Research and Applications</source>
          . Springer, Berlin, Heidelberg, pages
          <fpage>125</fpage>
          -
          <lpage>139</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <given-names>Peter</given-names>
            <surname>Mika</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Social Networks and the Semantic Web</article-title>
          , volume
          <volume>5</volume>
          of Semantic Web and Beyond. Springer US, Boston, MA.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <given-names>Michael</given-names>
            <surname>Molloy</surname>
          </string-name>
          and
          <string-name>
            <given-names>Bruce</given-names>
            <surname>Reed</surname>
          </string-name>
          .
          <year>1995</year>
          .
          <article-title>A critical point for random graphs with a given degree sequence</article-title>
          .
          <source>Random Struct. Alg</source>
          .
          <volume>6</volume>
          (
          <issue>2</issue>
          -3):
          <fpage>161</fpage>
          -
          <lpage>180</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <given-names>Boris</given-names>
            <surname>Motik</surname>
          </string-name>
          , Rob Shearer, and
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Optimized Reasoning in Description Logics Using Hypertableaux</article-title>
          . In Frank Pfenning, editor,
          <source>Automated Deduction - CADE-21</source>
          , Springer Berlin Heidelberg, number 4603 in Lecture Notes in Computer Science, pages
          <fpage>67</fpage>
          -
          <lpage>83</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <given-names>Ralf</given-names>
            <surname>Mo</surname>
          </string-name>
          ¨ller, Volker Haarslev, and
          <string-name>
            <given-names>Michael</given-names>
            <surname>Wessel</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>On the Scalability of Description Logic Instance Retrieval</article-title>
          . In Christian Freksa,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Kohlhase</surname>
          </string-name>
          , and Kerstin Schill, editors,
          <source>KI 2006: Advances in Artificial Intelligence</source>
          , Springer Berlin Heidelberg, number 4314 in Lecture Notes in Computer Science, pages
          <fpage>188</fpage>
          -
          <lpage>201</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <given-names>Bernhard</given-names>
            <surname>Nebel</surname>
          </string-name>
          .
          <year>1990</year>
          .
          <article-title>Reasoning and Revision in Hybrid Representation Systems</article-title>
          .
          <source>In Lecture Notes in Artificial Intelligence</source>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <given-names>Mark E. J.</given-names>
            <surname>Newman</surname>
          </string-name>
          .
          <year>2002</year>
          .
          <article-title>Random graphs as models of networks</article-title>
          .
          <source>In Stefan Bornholdt and Hans</source>
          Georg Schuster, editors,
          <source>Handbook of Graphs and Networks</source>
          ,
          <source>Wiley-VCH Verlag GmbH &amp; Co. KGaA</source>
          , pages
          <fpage>35</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          <string-name>
            <given-names>Sambhawa</given-names>
            <surname>Priya</surname>
          </string-name>
          , Yuanbo Guo,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Spear</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Jeff</given-names>
            <surname>Heflin</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Partitioning OWL Knowledge Bases for Parallel Reasoning</article-title>
          . IEEE, pages
          <fpage>108</fpage>
          -
          <lpage>115</lpage>
          . https://doi.org/10.1109/ICSC.
          <year>2014</year>
          .
          <volume>34</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <given-names>Andrea</given-names>
            <surname>Schaerf</surname>
          </string-name>
          .
          <year>1994</year>
          .
          <article-title>Reasoning with individuals in concept languages</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>13</volume>
          (
          <issue>2</issue>
          ):
          <fpage>141</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <string-name>
            <given-names>Stephan</given-names>
            <surname>Tobies</surname>
          </string-name>
          .
          <year>2001</year>
          .
          <article-title>Complexity Results and Practical Algorithms for Logics in Knowledge Representation</article-title>
          . arXiv:cs/0106031 ArXiv: cs/0106031.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <string-name>
            <given-names>W3C. 2015. Large</given-names>
            <surname>Triple Stores - W3c Wiki</surname>
          </string-name>
          . https://www.w3.org/wiki/LargeTripleStores.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Wandelt</surname>
          </string-name>
          and Ralf Mo¨ller.
          <year>2012</year>
          .
          <article-title>Towards ABox Modularization of Semi-expressive Description Logics</article-title>
          .
          <source>Appl. Ontol</source>
          .
          <volume>7</volume>
          (
          <issue>2</issue>
          ):
          <fpage>133</fpage>
          -
          <lpage>167</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <string-name>
            <given-names>Jia</given-names>
            <surname>Xu</surname>
          </string-name>
          , Patrick Shironoshita, Ubbo Visser,
          <string-name>
            <given-names>Nigel</given-names>
            <surname>John</surname>
          </string-name>
          , and Mansur Kabuka.
          <year>2013</year>
          .
          <article-title>Extract ABox Modules for Efficient Ontology Querying</article-title>
          . arXiv:
          <volume>1305</volume>
          .4859 [cs]
          <source>ArXiv: 1305</source>
          .
          <fpage>4859</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          <string-name>
            <given-names>Jia</given-names>
            <surname>Xu</surname>
          </string-name>
          , Patrick Shironoshita, Ubbo Visser,
          <string-name>
            <given-names>Nigel</given-names>
            <surname>John</surname>
          </string-name>
          , and Mansur Kabuka. 2015a.
          <article-title>Converting Instance Checking to Subsumption: A Rethink for Object Queries over Practical Ontologies</article-title>
          .
          <source>International Journal of Intelligence Science</source>
          <volume>05</volume>
          (
          <issue>01</issue>
          ):
          <fpage>44</fpage>
          -
          <lpage>62</lpage>
          . ArXiv:
          <volume>1412</volume>
          .7585. https://doi.org/10.4236/ijis.
          <year>2015</year>
          .
          <volume>51005</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <string-name>
            <given-names>Jia</given-names>
            <surname>Xu</surname>
          </string-name>
          , Patrick Shironoshita, Ubbo Visser,
          <string-name>
            <given-names>Nigel</given-names>
            <surname>John</surname>
          </string-name>
          , and Mansur Kabuka. 2015b.
          <article-title>Module Extraction for Efficient Object Queries over Ontologies with Large ABoxes</article-title>
          .
          <source>AIA</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ):
          <fpage>8</fpage>
          -
          <lpage>31</lpage>
          . https://doi.org/10.15764/AIA.
          <year>2015</year>
          .
          <volume>01002</volume>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>