<!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>Distributed OWL EL Reasoning: The Story So Far</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Raghava Mutharaju</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pascal Hitzler</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Prabhaker Mateti</string-name>
          <email>prabhaker.matetig@wright.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Wright State University</institution>
          ,
          <addr-line>OH</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <fpage>61</fpage>
      <lpage>76</lpage>
      <abstract>
        <p>Automated generation of axioms from streaming data, such as tra c and text, can result in very large ontologies that single machine reasoners cannot handle. Reasoning with large ontologies requires distributed solutions. Scalable reasoning techniques for RDFS, OWL Horst and OWL 2 RL now exist. For OWL 2 EL, several distributed reasoning approaches have been tried, but are all perceived to be ine cient. We analyze this perception. We analyze completion rule based distributed approaches, using di erent characteristics, such as dependency among the rules, implementation optimizations, how axioms and rules are distributed. We also present a distributed queue approach for the classi cation of ontologies in description logic EL+ (fragment of OWL 2 EL).</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The rate at which data is generated is increasing at an alarming rate in this age
of Big Data. Data processing techniques should also scale up correspondingly.
This also holds true in the case of OWL ontologies and reasoning. Manually
constructed ontologies would most likely remain small or medium-sized, in the
order of several thousands or up to a few million axioms. Generating axioms
automatically from streaming data such as tra c [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or text [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] can result in
very large ontologies. Also, in case of reasoning tasks such as classi cation, the
number of inferred axioms keep increasing until the reasoning task terminates.
In some cases the size of the result is 75 times that of the input axioms [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. This
turns out to be problematic for current reasoners in case of very large ontologies.
A distributed approach to reasoning not only accommodates large ontologies but
also provides more processing power.
      </p>
      <p>
        While some progress has been made regarding scalable reasoning over RDFS,
OWL Horst and OWL 2 RL [
        <xref ref-type="bibr" rid="ref20 ref21 ref22 ref23">22, 23, 21, 20</xref>
        ], applying similar techniques to OWL
2 EL turns out to be ine cient. In this paper, we investigate the reasons behind
it as well as analyze other distributed approaches to reasoning over ontologies
in description logic EL+, which is a fragment of OWL 2 EL. We also present
a distributed version of the reasoning algorithm used in CEL reasoner [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The
distributed approaches mentioned in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] are explored in detail here.
      </p>
      <p>Rest of the paper is as follows. Section 2 contains a brief description of EL+
and classi cation. In Section 3, three approaches to distributed reasoning are</p>
      <p>Normal Form Completion Rule
A1 u u An v B R1 If A1; : : : ; An 2 S(X), A1 u</p>
      <p>then S(X) := S(X) [ fBg
A v 9r:B R2 If A 2 S(X), A v 9r:B 2 O, and (X; B) 62 R(r)</p>
      <p>then R(r) := R(r) [ f(X; B)g
9r:A v B R3 If (X; Y ) 2 R(r), A 2 S(Y ), 9r:A v B 2 O, and B 62 S(x)
then S(X) := S(X) [ fBg
r v s R4 If (X; Y ) 2 R(r), r v s 2 O, and (X; Y ) 62 R(s)</p>
      <p>then R(s) := R(s) [ f(X; Y )g
r s v t R5 If (X; Y ) 2 R(r), (Y; Z) 2 R(s), r s v t 2 O, (x; Z) 62 R(t)
then R(t) := R(t) [ f(X; Z)g
Table 1. Completion rules for classifying EL+ ontologies
u An v B 2 O, and B 62 S(X)
described. Section 4 o ers alternative evaluation strategies. In Section 5, some
possible future directions are mentioned and Section 6 contains some related
work. We conclude in Section 7.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>We brie y introduce the description logic EL+. Let the concept names be denoted
by NC , role names by NR and NC&gt; denotes NC including &gt;. Concepts in EL+
are formed according to the grammar</p>
      <p>A ::= C j &gt; j A u B j 9r:B
where C 2 NC&gt;, r 2 NR, and A; B over (possibly complex) concepts. An EL+
ontology is a nite set of general concept inclusions (GCIs) A v B and role
inclusions (RIs) r1 rn v r, where A; B 2 NC&gt;, n is a positive integer and
r; r1; : : : ; rn 2 NR.</p>
      <p>The reasoning task that we consider here is classi cation { the computation
of the complete subsumption hierarchy of all concept names occurring in the
ontology. Other reasoning tasks such as concept satis ability can be reduced to
classi cation. Classi cation is computed using a set of completion rules shown
in Table 1. It requires the input ontology O to be in normal form, where all
concept inclusions have one of the forms</p>
      <p>A v B j A1 u : : : u An v B j A v 9r:B j 9r:A v B
and all role inclusions have the form r v s or r s v t. A; A1; : : : ; An; B 2 NC&gt;
and r; s; t 2 NR.</p>
      <p>
        The transformation into normal form can be done in linear time [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and the
process potentially introduces concept names not found in the original ontology.
The normalized ontology is a conservative extension of the original, in the sense
that every model of the original can be extended into one for the normalized
ontology. In the rest of the paper, we assume that all of the ontologies we deal
with are already in normal form.
      </p>
      <p>The classi cation rules make use of two mappings S and R, S : NC&gt; 7! 2NC&gt; ,
R : NR 7! 2(NC&gt; NC&gt;). Intuitively, B 2 S(A) implies A v B, while (A; B) 2 R(r)
implies A v 9r:B. Before applying the rules, for each element X 2NC&gt;, S(X)
is initialized to contain fX; &gt;g, and R(r), for each role name r, is initialized to
?. The sets S(X) and R(r) are then extended by applying the completion rules
shown in Table 1. Here we consider two ways in which these rules are applied to
the axioms, which are described in later sections.</p>
      <p>
        Classi cation of ontologies using the completion rules is guaranteed to
terminate in polynomial time relative to the size of the input ontology, and it is
also sound and complete. Proofs can be found in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. For further background on
description logics and how they relate to the Web Ontology Language OWL,
please see [
        <xref ref-type="bibr" rid="ref11 ref3">3, 11</xref>
        ].
      </p>
      <p>In this paper, we consider only completion rule based distributed approaches
for classi cation.</p>
      <p>We use the terms node and machine interchangeably throughout the paper.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Distributed Classi cation</title>
      <p>We analyze three di erent distributed approaches to EL+ classi cation. Among
them two have been published previously.
3.1</p>
      <p>Prologue
Before embarking on a parallelization e ort, it will be useful to check how
amenable it is for parallelization. Note that we are using the term parallelization
to mean the following { group of processes co-operating with each other to
accomplish a common goal. These processes could either be running on the same
machine or on di erent machines. Here, we are interested in the latter, in which
case, there is no shared memory.</p>
      <p>Dependency among the completion rules of Table 1 is shown in Figure 1.
Every rule is dependent on one or more rules. So, in this case, applying rules to
axioms cannot be an embarrassingly parallel computation. When these rules are
applied in a distributed environment, some amount of communication is required
among the nodes handling the rules which slows down the system.</p>
      <p>
        Contrary to this, in RDFS and OWL Horst, little or no dependency exists
among the rules and thus embarrassingly parallel computations are possible [
        <xref ref-type="bibr" rid="ref21 ref23">23,
21</xref>
        ]. As a result of this, in these cases, linear or sometimes better than linear
performance with respect increasing nodes was possible.
3.2
      </p>
      <p>
        MapReduce Approach
Taking the lead from the application of MapReduce to RDFS and OWL Horst
reasoning, an attempt was made in [
        <xref ref-type="bibr" rid="ref17 ref24">17, 24</xref>
        ] to use it for EL+ reasoning.
      </p>
      <p>
        MapReduce is a programming model for distributed processing of data on
clusters of machines [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. MapReduce task consists of two main phases: map
and reduce. In map phase, a user-de ned function receives a key-value pair and
outputs a set of key-value pairs. All the pairs sharing the same key are grouped
and passed to the reduce phase. A user-de ned reduce function is set up to
process the grouped pairs. Completion of a task might involve several such map
and reduce cycles. The map and reduce functions can be represented as
      </p>
      <p>Map : (k1; v1) 7! list(k2; v2)</p>
      <p>Reduce : (k2; list(v2)) 7! list(v3)</p>
      <p>The completion rules in Table 1 are slightly modi ed to suit the key-value
nature of MapReduce approach. The modi ed rules are given in Table 2. In
the map phase, preconditions of the rules are checked and in the reduce phase,
conclusion of the rules are computed. For each concept X 2 NC&gt; and r 2 NR,
S(X) is initialized to fX; &gt;g and R(r); P (X); Q(X) are initialized to ?. Rules
R1, R3 and R5 from Table 1 cannot be dealt with using MapReduce approach,
since they have multiple join conditions, which is the reason to split them in the
modi ed rules.</p>
      <p>The general strategy used in this approach is given in Algorithm 1. At the end
of each iteration, duplicates are removed from S; R; P; Q. Algorithm terminates
when there are no changes made by the application of all the rules.</p>
      <p>
        From [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], the performance of this approach and comparison with other
reasoners is given in Table 3. The experiments were run on a Hadoop cluster with
8 nodes. Each node has a 2-core, 3GHz processor with 2GB RAM. Although the
experiments were conducted on machines with less memory, the evaluation of
[
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] on machines with more memory (16GB) and larger ontologies has similar
performance.
3.2.1
      </p>
      <sec id="sec-3-1">
        <title>Analysis</title>
        <p>1. Pros Aspects such as parallelization and fault tolerance are taken care of by
the framework.
2. Cons There are several disadvantages of this approach. a) Duplicates are
generated and an extra step is required to remove the duplicates. b) Since
there are dependencies among the rules (Figure 1), MapReduce approach
may not best suited. c) In each iteration, the algorithm needs to consider
only the newly generated data (compared to last iteration). It is di cult
to detect and lter axioms that generate redundant inferences. d) In every
iteration, axioms are again reassigned to the machines in the cluster. In
the case of RDFS reasoning, schema triples are loaded in-memory and this
assignment of schema triples to machines takes place only once. This is not
possible in the case of EL+ reasoning.
3. Axiom Distribution Axioms are distributed randomly.
4. Rule Distribution In each iteration, all the machines in the cluster, apply
the same rule on the local axioms.
5. Optimizations Rule R4 is taken care of in the reduce phase of rules R2 and</p>
        <p>
          R5. So rule R4 need not be applied again.
Compared to the xpoint iteration method of rule application, it is claimed that
the queue based approach is e cient on a single machine [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. In this section, we
describe a distributed implementation of the queue approach and verify whether
the claim also holds true in a distributed setting. First we brie y explain the
queue approach on a single machine from [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] and then describe the distributed
implementation of it.
        </p>
        <p>For each concept in NC&gt;, a queue is assigned. Instead of applying the rules
mechanically, in the queue approach, appropriate rules are triggered based on
the type of entries in the queue. The possible entries in the queue are of the
S(X) fX; &gt;g, for each X 2 NC&gt;
R(r) fg, for each r 2 NR
P (X) fg, for each X 2 NC&gt;
Q(X) fg, for each X 2 NC&gt;
repeat</p>
        <p>Old.S(X) S(X);
Old.R(r) R(r);
Old.P (X) P (X);
Old.Q(X) Q(X);
P (X) := P (X) [ apply R1-1;
S(X) := S(X) [ apply R1-2;
R(r) := R(r) [ apply R2;
Q(X) := Q(X) [ (apply R3-1);
S(X) := S(X) [ apply R3-2;
R(r) := R(r) [ apply R4;</p>
        <p>R(r) := R(r) [ apply R5;
until ((Old.S(X) = S(X)) and (Old.R(r) = R(r)) and (Old.P (X) = P (X))
and (Old.Q(X) = Q(X)));
Algorithm 1: General strategy for applying rules in MapReduce approach
form B1; : : : ; Bn ! B0 and 9r:B with B1; : : : ; B0; B 2 NC&gt; and r 2 NR. If n =
0, B1; : : : ; Bn ! B0 is simply written as B0. Ob is a mapping from a concept to
sets of queue entries as follows.</p>
        <p>{ if A1 u : : : u An v B 2 O and Ai = A; then A1 u : : : u Ai 1 u Ai+1 u : : : u An !</p>
        <p>B 2 Ob(A)
{ if A v 9r:B 2 O; then 9r:B 2 Ob(A)
{ if 9r:A v B 2 O; then B 2 Ob(9r:A)</p>
        <p>For each concept A 2 NC&gt;, queue(A) is initialized to Ob(A) [ Ob(&gt;). For
each queue, an entry is fetched and Algorithm 2 is applied. The procedure in
Algorithm 3 is called by process(A; X) whenever a new pair of (A; B) is added to
R(r). Note that, for any concept A, Ob(A) does not change during the application
of the two procedures (process, process-new-edge); S(A), queue(A) and R(r)
keep changing.</p>
        <p>In the distributed setup, axioms are represented as key-value pairs as shown
in Table 4. For axioms of the form A1 u : : : u An v B, for each Ai (key) in the
conjunct, (A1; : : : ; Ai 1; Ai+1; : : : ; An; B) is associated as its value.
if X = B1; : : : ; Bn ! B0 and B0 2= S(A) then
if B1; : : : ; Bn 2 S(A) then</p>
        <p>continue with X B0 ;
else</p>
        <p>return;
if X is a concept name and X 2= S(A) then</p>
        <p>S(A) S(A) [ fXg;
queue(A) queue(A) [ Ob(X);
forall the concept names B and role names r with (B; A) 2 R(r) do
queue(B) queue(B) [ Ob(9r:X);
if X is an existential restriction 9r:B and (A; B) 2= R(r) then
process-new-edge(A; r; B);</p>
      </sec>
      <sec id="sec-3-2">
        <title>Algorithm 2: process(A; X)</title>
        <p>forall the role names s with r vOb s do</p>
        <p>R(s) R(s) [ f(A; B)g;
queue(A) queue(A) [ SfB0jB02S(B)g Ob(9s:B0);
forall the concept names A0 and role names t; u do
t s v u 2 O and (A0; A) 2 R(t) and (A0; B) 2= R(u) do
process-new-edge(A0; u; B);
forall the concept names B0 and role names t; u do
s t v u 2 O and (B; B0) 2 R(t) and (A; B0) 2= R(u) do
process-new-edge(A; u; B0);</p>
        <sec id="sec-3-2-1">
          <title>Algorithm 3: process-new-edge(A; r; B) Axioms are distributed across the machines in the cluster based on their keys. A hash function, H maps a unique key, K, to a particular node, N , in the cluster.</title>
          <p>H : K 7! N
For each concept A, care is taken to map Ob(A), queue(A) and S(A) to the
same node. This localizes the interaction (read/write) between these three sets,
which in turn improves the performance. In order not to mix up the keys among
these three sets, unique namespace is used along with the key. For example,
O : A; Q : A; S : A, for Ob(A), queue(A) and S(A) respectively, but, for the hash
function, A is used in all the three cases.</p>
          <p>After the axioms are loaded, each machine applies Algorithm 2 to only the
queues local to it. In order to read/write to the non-local values, each machine
uses the hash function, H. Each machine acts as a reasoner and cooperates with
other machines to get the missing values and perform the classi cation task.</p>
          <p>A single process called Termination Controller (TC), keeps track of the status
of computation across all the nodes in the cluster. TC receives either DONE or
NOT-DONE message from each machine. A double check termination strategy is</p>
          <p>Axiom</p>
          <p>A v B
A1 u : : : u An v B</p>
          <p>A v 9r:B
9r:A v B</p>
          <p>r v s
r s v t
followed here. TC waits till it receives a DONE message from all the machines in
the cluster. It then asks all the nodes to check if any local queues are non-empty.
This is required because, after a node is done with OneIteration (Algorithm 5),
there is a possibility of other nodes inserting values in the queues of this node. If
this condition does indeed arise then a NOT-DONE message is sent to TC. TC
resets its state to NO-CHECK and implements the double check termination
strategy again. The pseudocode of TC is given in Algorithm 4. To simplify, TC
is single threaded and works on only one message at a time. Process named Job
Controller runs on each node of the cluster and implements the queue based
algorithm. This is shown in Algorithm 6.</p>
          <p>This approach is implemented in Java and the key-value store used is
Redis1. Our system is called DQuEL and the source code is available at https:
//github.com/raghavam/DQuEL. We used a 13-node cluster with each node
hav1 http://redis.io
queues GetNonEmptyLocalQueues();
forall the queue A 2 queues do
forall the entry X 2 A do</p>
          <p>process(A; X);
TC ! DONE;</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Algorithm 5: OneIteration()</title>
          <p>OneIteration();
on TC ? CHECK-AND-RESTART ! f
queues GetNonEmptyLocalQueues();
if queues is ; then</p>
          <p>TC ! DONE;
else</p>
          <p>TC ! NOT-DONE;
g on TC ? CONTINUE-WORKING ! OneIteration();
on TC ? TERMINATE ! terminate-self;</p>
          <p>Algorithm 6: Job Controller
ing two quad-core AMD Opteron 2300MHz processors and 12GB of heap size is
available to JVM. Timeout limit was set to 2 hours.</p>
          <p>Not-Galen, GO, NCI, SNOMED CT and 2-SNOMED ontologies were used
for testing. The rst three are obtained from http://lat.inf.tu-dresden.
de/~meng/toyont.html and SNOMED CT can be obtained from http://www.
ihtsdo.org/snomed-ct. 2-SNOMED is SNOMED replicated twice. The time
taken by some popular reasoners such as Pellet, jCEL and ELK on these
ontologies is given in Table 5. Table 6 shows the classi cation times of DQuEL with
varying nodes.
3.3.1 Analysis Although the results are good for smaller ontologies, this
approach turns out to be ine cient for larger ontologies such as SNOMED CT.
The following two factors contributes to the ine ciency. a) Batch processing of
axioms is not possible because each entry in the queue could be di erent from the
one processed before. It is a known fact that batch processing especially
involving communication over networks improves the performance drastically. Batch</p>
          <p>Ontology 1 node 7 nodes 13 nodes
Not-Galen 153.77 147.07 41.37</p>
          <p>GO 165.94 147.28 43.12</p>
          <p>NCI 205.62 55.52 30.21
SNOMED CT TimeOut TimeOut TimeOut
2-SNOMED TimeOut TimeOut TimeOut</p>
          <p>Table 6. Classi cation time (in seconds) of DQuEL
processing has been used to the extent possible, but the approach described in
the next section is more amenable to that. b) Not all data required for the queue
operations is available locally. For example, data of the form Ob(9r:B) might be
present on a di erent node.
1. Pros Good load balancing is possible since the hash function makes an
attempt to distribute axioms across the cluster equally.
2. Cons Large ontologies like SNOMED CT generate many (X; Y ) values which
makes rule R3 (Table 1) computation slow compared to other rules. This
problem is alleviated in the approach described next, by choosing r as the
key in R(r). This spreads R(r) across the cluster and enables more nodes to
work on it.
3. Axiom Distribution It is a random distribution of axioms.
4. Rule Distribution In each iteration, all the rules are applied by every node
in the cluster.
5. Optimizations R(r) sets involving role chains are duplicated as show in Table
4. This makes it easy to retrieve (X; Y ) pairs associated with either r or s
in r s v t.
3.4</p>
          <p>
            Distributed Fixpoint Iteration Approach
In xpoint iteration approach, the completion rules are applied on the axioms
iteratively until there are no changes to S(X); R(r). This idea is extended to
the distributed setting [
            <xref ref-type="bibr" rid="ref16">16</xref>
            ]. The completion rules from Table 2 and the general
strategy mentioned in Algorithm 1 are used here. Axioms are represented as
key-value pairs.
          </p>
          <p>All the axioms in a normalized ontology fall into one of the normal form
categories mentioned in Table 1. This allows axioms to be split into disjoint
collections. Each such collection is assigned to a group of nodes in the cluster.
Only one rule can be applied on axioms of a particular normal form. So this
leads to a clear assignment of axioms and rules to nodes.</p>
          <p>Architecture of this approach is shown in Figure 2. The number of nodes
per group need not be the same across all the groups. Higher number of nodes
are generally assigned to groups handling rules involving roles since they are
generally slower.</p>
          <p>U (X) is used instead of S(X) in this approach. In the naive xpoint iteration
approach, in order to apply a rule such as R1 from Table 1 on axioms of the form
A1 u : : : u An v B, each S(X) needs to be checked for the presence of A1; : : : ; An.
With U (X), it turns into set intersection of conjuncts, which are generally small
in number.</p>
          <p>Termination is achieved with the help of barrier synchronization. At the end
of each iteration, every node broadcasts a status message indicating whether any
changes were made in this iteration and then waits for the other nodes to nish
its current iteration. After receiving the update messages from all the nodes, if
at least one node made an update then all the nodes continue with their next
iteration. Algorithm terminates when no updates are made.</p>
          <p>This approach is implemented in Java and makes use of Redis as the
keyvalue store. The same cluster set up and ontologies as mentioned in the previous
section are used here. This system is named DistEL and is available at https://
github.com/raghavam/DistEL. The classi cation time of DistEL across several
nodes is given in Table 7.
3.4.1 Analysis Although the runtimes of DistEL are high compared to
existing reasoners, it is better than the other approaches described so far. With
more optimizations such as dynamic load balancing, the results can be further
improved.</p>
          <p>MapReduce approach and the approach described here, use xpoint iteration
for classi cation. But compared to MapReduce approach, an important
advantage is that nodes can communicate with each other. Since the completion rules
are interdependent, inter-node communication makes this approach e cient
relatively. Since a node deals with all axioms of the same type, batch processing can
be used here. Communications involving network and database can be improved
a lot with the help of batch processing.
1. Pros Axioms and rules are neatly divided across the cluster based on their
type.
2. Cons Improper load balancing.
3. Axiom Distribution Axioms are distributed based on their normal form type.
4. Rule Distribution Group of nodes in the cluster handle the same type of rule.</p>
          <p>All the rules are applied in parallel across the cluster.
5. Optimizations a) Batch processing b) only the newly made changes in the
previous iteration are considered for the next iteration and c) for R(r) =
f(X; Y )g, instead of considering r as the key (as done in Queue approach),
(Y; r) is chosen as the key and value is X. Since distribution of set R(r) is
based on the key, this leads to a better spread of R(r) across the cluster.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Evaluation Strategy</title>
      <p>Comparing the performance of single machine reasoners with distributed
reasoners is unfair; not only due to the nature of the computation involved but
also due to the following reason. All things being equal, if the time taken on a
single machine is t then on n nodes, it takes p t=n where p is the overhead, p
1. In the case of super linear speedup, p &lt; 1. But, as we have seen from the
results presented here, this reduction in runtime does not happen at all in the
case of distributed reasoners. But are all things equal? Considering the steps in
the algorithm in both the cases is the same, one main di erence is the
computations in case of single machine reasoners takes place in-memory whereas for
distributed approaches mentioned here either a database or a le system was
used. The performance varies vastly in these cases.</p>
      <p>A simple comparison of speeds is shown in Table 8. Integers are read and
written to a HashMap in the case of RAM. For Redis, pipeline (batch operation)
read and write are used. The code used for this experiment is available at https:
//gist.github.com/raghavam/2be48a98cae31c418678. Admittedly, this is a
rather simple experiment, but it shows the di erence in read/write speeds for
simple operations. For read operation, usage of RAM is 43 times faster than
Redis and 26 times faster than le. For write operation also, there is a similar
variation in performance. For random read and write operations, Redis performs
better than a le.
1. Re-implement existing reasoners by making use of the storage system that
is used in the distributed model. For example, use Redis or a le in jCEL or
ELK.
2. Simulate distribution using existing reasoners by running a reasoner on each
node of the cluster. A messaging system can be used to facilitate
communicate and exchange of missing data on each node. But the performance in this
case depends on the axiom distribution. So care should be taken to follow
the same axiom distribution model in case of the distributed approach.
5</p>
    </sec>
    <sec id="sec-5">
      <title>The Road Ahead</title>
      <p>
        Although some progress has been made in distributed OWL 2 EL reasoning,
current results clearly indicate that more needs to be done. Apart from further
optimizations to the approaches presented here, following can be tried.
{ Module based axiom distribution. For a given set of entities, a module
includes all the axioms that are relevant to them [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. If axioms are distributed
based on modules, then perhaps inter-node communication can be reduced.
{ Axiom distribution based on graph partitioning. If a graph of an ontology
can be constructed then distribution of axioms based on vertex partitioning
reduces the dependencies among the axioms.
{ Hadoop variants. There are several variants to the core MapReduce approach
such as Apache Spark2, Iterative MapReduce3, HaLoop4 which might be
more suitable than the core Hadoop's MapReduce.
{ Other distributed frameworks. Peer-to-peer techniques such as use of MPI
and alternative distributed frameworks such as Akka5 can be tried. As
mentioned earlier, peer-to-peer networks o er more control over communication
between nodes when compared to MapReduce.
{ Shared memory supercomputers. Since the completion rules are
interdependent, may be it would be more e cient if shared memory, massively parallel
supercomputers are used. But the disadvantage in this case is that these are
specialized machines which are not commonly available.
2 http://spark.apache.org
3 http://www.iterativemapreduce.org
4 https://code.google.com/p/haloop
5 http://akka.io
      </p>
    </sec>
    <sec id="sec-6">
      <title>Related Work</title>
      <p>
        Apart from the work presented here, other approaches to distributed reasoning
of OWL 2 EL ontologies have been tried. Distributed resolution technique was
applied to EL+ classi cation in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. A peer-to-peer distributed reasoning
approach was presented in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. But, both of them do not provide any evaluation.
There is some work on parallelization of tableau algorithms related to various
description logics [
        <xref ref-type="bibr" rid="ref1 ref14">1, 14</xref>
        ].
      </p>
      <p>
        Though not distributed, parallelization of OWL 2 EL classi cation has been
studied in [
        <xref ref-type="bibr" rid="ref12 ref18">12, 18</xref>
        ]. Classifying EL ontologies on a single machine using a database
instead of doing it in memory has been tried in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
7
      </p>
    </sec>
    <sec id="sec-7">
      <title>Epilogue</title>
      <p>It is possible to have very large ontologies if axioms are generated automatically
from streaming data or text. Reasoners should be capable of scaling up to these
large ontologies. But, existing reasoners are severely handicapped by their use
of only one machine. Scalable and distributed approaches to ontology reasoning
is required. We reviewed and analyzed three distributed approaches to OWL EL
ontology classi cation. Apart from this, we discussed some possible future
directions and also evaluation strategies that can be followed to make the comparison
fair between distributed and single machine approaches.</p>
      <p>Acknowledgements. This work was supported by the National Science
Foundation under award 1017225 \III: Small: TROn { Tractable Reasoning with
Ontologies." Any opinions, ndings, and conclusions or recommendations
expressed in this material are those of the author(s) and do not necessarily re ect
the views of the National Science Foundation.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aslani</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haarslev</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Parallel TBox Classi cation in Description Logics { First Experimental Results</article-title>
          .
          <source>In: Proceedings of the 19th European Conference on Articial Intelligence</source>
          . pp.
          <volume>485</volume>
          {
          <fpage>490</fpage>
          . IOS Press, Amsterdam, The Netherlands (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Pushing the EL Envelope</article-title>
          .
          <source>LTCS-Report LTCS05-01</source>
          , Chair for Automata Theory, Institute for Theoretical Computer Science, Dresden University of Technology, Germany (
          <year>2005</year>
          ), http://lat.inf.tu-dresden. de/research/reports.html
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P</given-names>
          </string-name>
          . (eds.):
          <article-title>The Description Logic Handbook: Theory, Implementation, and Applications</article-title>
          . Cambridge University Press (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Is Tractable Reasoning in Extensions of the Description Logic EL Useful in Practice?</article-title>
          <source>In: Proceedings of the 2005 International Workshop on Methods for Modalities (M4M-05)</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suntisrivaraporn</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>CEL|A Polynomial-time Reasoner for Life Science Ontologies</article-title>
          .
          <source>In: Proceedings of the 3rd International Joint Conference on Automated Reasoning (IJCAR'06)</source>
          , Seattle, WA, USA,
          <year>August</year>
          17-
          <issue>20</issue>
          ,
          <year>2006</year>
          .
          <source>Lecture Notes in Arti cial Intelligence</source>
          , vol.
          <volume>4130</volume>
          , pp.
          <volume>287</volume>
          {
          <fpage>291</fpage>
          . Springer-Verlag (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Battista</surname>
            ,
            <given-names>A.D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumontier</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A Platform for Reasoning with OWL-EL Knowledge Bases in a Peer-to-Peer Environment</article-title>
          .
          <source>In: Proceedings of the 5th International Workshop on OWL: Experiences and Directions</source>
          , Chantilly,
          <string-name>
            <given-names>VA</given-names>
            ,
            <surname>United</surname>
          </string-name>
          <string-name>
            <surname>States</surname>
          </string-name>
          ,
          <source>October</source>
          <volume>23</volume>
          -24
          <year>2009</year>
          . CEUR Workshop Proceedings, vol.
          <volume>529</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Cimiano</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Ontology Learning and Population from Text: Algorithms, Evaluation and Applications</article-title>
          . Springer-Verlag New York, Inc., Secaucus, NJ, USA (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dean</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghemawat</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>MapReduce: Simpli ed data processing on large clusters</article-title>
          .
          <source>In: Proceedings of the 6th Symposium on Operating System Design and Implementation</source>
          (OSDI
          <year>2004</year>
          ), December 6-
          <issue>8</issue>
          ,
          <year>2004</year>
          , San Francisco, California, USA. pp.
          <volume>137</volume>
          {
          <fpage>150</fpage>
          . USENIX Association (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Delaitre</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Classifying ELH Ontologies In SQL Databases</article-title>
          .
          <source>In: Proceedings of the 5th International Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2009</year>
          ), Chantilly,
          <string-name>
            <given-names>VA</given-names>
            ,
            <surname>United</surname>
          </string-name>
          <string-name>
            <surname>States</surname>
          </string-name>
          ,
          <source>October 23-24</source>
          ,
          <year>2009</year>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</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: Proceedings of the 16th International Conference on World Wide Web</source>
          . pp.
          <volume>717</volume>
          {
          <fpage>726</fpage>
          . WWW '07,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2007</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/1242572.1242669
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Krotzsch,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Rudolph</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Foundations of Semantic Web Technologies</article-title>
          . Chapman &amp; Hall/CRC (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Kazakov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , Krotzsch,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Simancik</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Concurrent Classi cation of EL Ontologies</article-title>
          . In: 10th International Semantic Web Conference, Bonn, Germany,
          <source>October 23-27. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7031</volume>
          , pp.
          <volume>305</volume>
          {
          <fpage>320</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lecue</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tucker</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bicer</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tommasi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tallevi-Diotallevi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sbodio</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          :
          <article-title>Predicting Severity of Road Tra c Congestion using Semantic Web Technologies</article-title>
          .
          <source>In: Proceedings of the 11th Extended Semantic Web Conference (ESWC2014)</source>
          , Anissaras, Crete, Greece, May 25{May 29,
          <year>2014</year>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Liebig</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Muller, F.:
          <article-title>Parallelizing Tableaux-based Description Logic Reasoning</article-title>
          .
          <source>In: Proceedings of the 2007 OTM Confederated International Conference on On the Move to Meaningful Internet Systems - Volume Part II</source>
          . pp.
          <volume>1135</volume>
          {
          <fpage>1144</fpage>
          . OTM'
          <volume>07</volume>
          , Springer-Verlag, Berlin, Heidelberg (
          <year>2007</year>
          ), http://dl.acm.org/citation.cfm? id=
          <volume>1780453</volume>
          .
          <fpage>1780504</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Mutharaju</surname>
          </string-name>
          , R.:
          <article-title>Very Large Scale OWL Reasoning through Distributed Computation</article-title>
          .
          <source>In: International Semantic Web Conference (2). Lecture Notes in Computer Science</source>
          , vol.
          <volume>7650</volume>
          , pp.
          <volume>407</volume>
          {
          <fpage>414</fpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Mutharaju</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mateti</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>DistEL: A Distributed EL+ Ontology Classier</article-title>
          . In: Liebig,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Fokoue</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of the 9th International Workshop on Scalable Semantic Web Knowledge Base Systems, Sydney, Australia. CEUR Workshop Proceedings</source>
          , vol.
          <volume>1046</volume>
          , pp.
          <volume>17</volume>
          {
          <fpage>32</fpage>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Mutharaju</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maier</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hitzler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A MapReduce Algorithm for EL+</article-title>
          .
          <source>In: Proceedings of the 23rd International Workshop on Description Logics (DL</source>
          <year>2010</year>
          ), Waterloo, Ontario, Canada, May 4-
          <issue>7</issue>
          ,
          <year>2010</year>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>573</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Ren</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Parallel ABox reasoning of EL ontologies</article-title>
          .
          <source>In: Proceedings of the 2011 Joint International Conference on the Semantic Web</source>
          . pp.
          <volume>17</volume>
          {
          <fpage>32</fpage>
          . JIST'
          <volume>11</volume>
          , Springer, Heidelberg (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Schlicht</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuckenschmidt</surname>
          </string-name>
          , H.:
          <article-title>MapResolve</article-title>
          .
          <source>In: Web Reasoning and Rule Systems { 5th International Conference, RR</source>
          <year>2011</year>
          ,
          <article-title>Galway</article-title>
          , Ireland,
          <source>August 29-30</source>
          ,
          <year>2011</year>
          . Lecture Notes in Computer Science, vol.
          <volume>6902</volume>
          , pp.
          <volume>294</volume>
          {
          <fpage>299</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Urbani</surname>
          </string-name>
          , J., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlobach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bal</surname>
          </string-name>
          , H.E.:
          <article-title>QueryPIE: Backward Reasoning for OWL Horst over Very Large Knowledge Bases</article-title>
          . In: 10th International Semantic Web Conference, Bonn, Germany,
          <source>October 23-27</source>
          ,
          <year>2011</year>
          . Lecture Notes in Computer Science, vol.
          <volume>7031</volume>
          , pp.
          <volume>730</volume>
          {
          <fpage>745</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Urbani</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotoulas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maassen</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bal</surname>
          </string-name>
          , H.:
          <article-title>WebPIE: A Webscale Parallel Inference Engine Using MapReduce</article-title>
          .
          <source>Journal of Web Semantics</source>
          .
          <volume>10</volume>
          ,
          <issue>59</issue>
          {75 (Jan
          <year>2012</year>
          ), http://dx.doi.org/10.1016/j.websem.
          <year>2011</year>
          .
          <volume>05</volume>
          .004
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Urbani</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotoulas</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oren</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Scalable Distributed Reasoning Using MapReduce</article-title>
          .
          <source>In: Proceedings of the 8th International Semantic Web Conference, ISWC</source>
          <year>2009</year>
          ,
          <article-title>Chantilly</article-title>
          ,
          <string-name>
            <surname>VA</surname>
          </string-name>
          , USA, October
          <volume>25</volume>
          -
          <issue>29</issue>
          ,
          <year>2009</year>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Weaver</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          :
          <article-title>Parallel Materialization of the Finite RDFS Closure for Hundreds of Millions of Triples</article-title>
          . In: 8th International Semantic Web Conference,
          <string-name>
            <surname>ISWC</surname>
          </string-name>
          <year>2009</year>
          ,
          <article-title>Chantilly</article-title>
          ,
          <string-name>
            <surname>VA</surname>
          </string-name>
          , USA, October
          <volume>25</volume>
          -
          <issue>29</issue>
          ,
          <year>2009</year>
          . Lecture Notes in Computer Science, vol.
          <volume>5823</volume>
          , pp.
          <volume>682</volume>
          {
          <fpage>697</fpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , Liu,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Mutharaju</surname>
          </string-name>
          , R.:
          <article-title>Scale reasoning with fuzzyEL+ ontologies based on MapReduce</article-title>
          .
          <source>In: Proceedings of the IJCAI-2013 Workshop on Weighted Logics for Arti cial Intelligence</source>
          ,
          <fpage>WL4AI</fpage>
          -
          <lpage>2013</lpage>
          , Beijing, China,
          <year>August 2013</year>
          . pp.
          <volume>87</volume>
          {
          <issue>93</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>