<!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>Ontology-based Query Answering with PAGOdA</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yujiao Zhou</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yavor Nenov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bernardo Cuenca Grau</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ian Horrocks</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        We describe PAGOdA: a highly optimised `pay-as-you-go' reasoning system that
supports conjunctive query (CQ) answering with respect to an arbitrary OWL 2
ontology and an RDF dataset. PAGOdA uses a novel hybrid approach to query
answering that combines a datalog reasoner (currently RDFox [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]) with a
fullyedged OWL 2 reasoner (currently HermiT [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) to provide scalable performance
while still guaranteeing sound and complete answers.1 PAGOdA delegates the
bulk of the computational workload to the datalog reasoner, with the extent to
which the fully- edged reasoner is needed depending on interactions between the
ontology, the dataset and the query. Thus, even when using a very expressive
ontology, queries can often be fully answered using only the datalog reasoner; and
even when the fully- edged reasoner is required, PAGOdA employs a range of
optimisations to reduce the number and size of the relevant reasoning problems.
      </p>
      <p>This approach has proved to be very e ective in practice: in our tests of
more than 2,000 queries over ve ontologies, none of which is contained within
any of the OWL pro les, more than 99% of queries were fully answered without
resorting to the fully- edged reasoner. Moreover, even when the fully- edged
reasoner was used, the above mentioned optimisations were highly e ective: the
size of the dataset was typically reduced by an order magnitude, and often by
several orders of magnitude, and it seldom required more than a single test to
resolve the status of all potential answer tuples. Taken together, our experiments
demonstrate that PAGOdA can provide an e cient CQ answering service in
real-world scenarios requiring both expressive ontologies and datasets containing
hundreds of millions of facts.</p>
      <p>
        The basic approach in PAGOdA has been described in [
        <xref ref-type="bibr" rid="ref12 ref13 ref14">13, 14, 12</xref>
        ], and full
details about the algorithms currently implemented can be found in an
accompanying technical report.2 In this paper, we provide an overview of the system
and highlight some of the results from our extensive evaluation.
1 In practice we are limited by the capabilities of OWL 2 reasoners, which typically
restrict the structure of the ontology and/or query in order to ensure decidability
(which is open for CQ answering over unrestricted OWL 2 ontologies).
2 http://www.cs.ox.ac.uk/isg/tools/PAGOdA/pagoda-tr.pdf
      </p>
    </sec>
    <sec id="sec-2">
      <title>The PAGOdA System</title>
      <p>PAGOdA is written in Java and it is available under an academic license.3 As well
as RDFox and HermiT, PAGOdA also exploits the combined approach for CQ
r implemented in KARMA.4 The architecture of PAGOdA
answering in E LHO?
is depicted in Figure 1.</p>
      <p>PAGOdA accepts as input arbitrary OWL 2 DL ontologies, datasets in Turtle
format and CQs in SPARQL. Queries can be interpreted under ground or certain
answer semantics. In the former case, PAGOdA is sound and complete. In the
latter case, however, PAGOdA is ultimately limited by the capabilities of
HermiT, which can only check entailment of ground or DL concept queries; hence,
PAGOdA can guarantee completeness only if the lower and upper bounds match,
or if the query can be transformed into a DL concept query via rolling-up.5
Otherwise, PAGOdA returns a sound (but possibly incomplete) set of answers, along
with a bound on the incompleteness of the computed answer set.</p>
      <p>PAGOdA uses four instances of RDFox: one for the lower bound, one for
each upper bound materialisation (c-chase and c-chasef ), and one for subset
extraction. Furthermore, it uses two instances of HermiT (one in each of the
summary lter and dependency graph components).</p>
      <p>The process of fully answering a query can be divided into several steps. Here,
we distinguish between query independent steps and query dependent ones. As
we can see in Figure 1, the `loading ontology' and `materialisation' steps are
query independent. Therefore, both of them are counted as pre-processing steps.
`Computing query bounds', `extracting subset' and `full reasoning' are query
dependent, and are called query processing steps.</p>
      <p>
        Loading ontology and data. PAGOdA uses the OWL API to parse the input
ontology O. The dataset D is given separately in Turtle format. The normaliser
then transforms the ontology into a set of rules corresponding to the axioms in
O. PAGOdA's normaliser is an extension of HermiT's clausi cation component
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which transforms axioms into so-called DL-clauses [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The dataset D is
loaded directly into (the four instances of) RDFox.
      </p>
      <p>
        After normalisation, the ontology is checked to determine if it is inside OWL
r ); if so, then RDFox (resp. KARMA) is already sound and
2 RL (resp. E LHO?
complete, and PAGOdA simply processes O, D and subsequent queries using the
relevant component. Otherwise, PAGOdA uses a variant of shifting |a
polynomial program transformation commonly used in Answer Set Programming [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]|
to enrich the deterministic part of the ontology with some additional information
from disjunctive rules, resulting in a rule set .
      </p>
      <p>Materialisation. There are three components involved in this step, namely
lower bound, c-chase and c-chasef . Each of these takes as input and D, and
each computes a materialisation (shown in Figure 1 as ellipses). The lower bound
3 http://www.cs.ox.ac.uk/isg/tools/PAGOdA/
4 http://www.cs.ox.ac.uk/isg/tools/KARMA/.
5 PAGOdA implements an extension of the well-known rolling-up technique.
Full reasoning
Extracting subsets
Computing query bounds
Materialisation</p>
      <p>Loading ontology &amp; data
Lq</p>
      <p>cert(q,O ∪ D)
heuristic planner</p>
      <p>HermiT
q,Gq
tracking encoder
Σ,q,Gq track(Σ,q,Gq)</p>
      <p>Lq
FsoundAnswers(q,Σ ∪ D)
M2L</p>
      <p>q
lower store</p>
      <p>KARMA</p>
      <p>RDFox
endormophism
checker</p>
      <p>G0 ⊆ Gq summary filter</p>
      <p>HermiT
q,Gq</p>
      <p>Kq
subset extractor</p>
      <p>RDFox of D</p>
      <p>D
certU2(q,Σ ∪ D)
M2U</p>
      <p>q
Gq
D
c-chase</p>
      <p>RDFox
certU3(q,Σ ∪ D)
M3U</p>
      <p>q
c-chasef *</p>
      <p>RDFox
Σ
shift
profile checker
normaliser</p>
      <p>HermiT clausifier</p>
      <p>
        O
component rst uses RDFox to compute a materialisation of D using the
datalog subset of ; it then uses the materialised dataset as input to KARMA,
which computes the materialisation M2L using the E LHOr? subset of . The
c-chase and c-chasef components compute the M2U and M3U upper bound
materialisations using chase-like procedures [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The former (M2U ) is computed by
over-approximating into datalog; this involves, roughly speaking,
transforming disjunctions into conjunctions, and replacing existentially quanti ed
variables with fresh constants [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. However, PAGOdA optimises the treatment of
`Skolemised' existential rules by not applying them if the existential restriction
is already satis ed in the data. In M3U , PAGOdA further optimises the
treatment of disjunctions by selecting a single disjunct in the head of disjunctive
rules, using a heuristic choice function that tries to select disjuncts that will not
(eventually) lead to a contradiction.
      </p>
      <p>If ? is derived while computing M2L, then the input ontology and dataset is
unsatis able, and PAGOdA simply reports this and terminates. If ? is derived
while computing M3U , then the computation is aborted and M3U is no longer used.
If ? is derived while computing M2U , then PAGOdA checks the satis ability of
[D (using the optimised query answering procedure described below). If [D
is unsatis able, then PAGOdA reports this and terminates; otherwise the input
ontology and dataset is satis able, and PAGOdA is able to answer queries.
Computing query bounds. Given a query q, PAGOdA uses the M2L lower
bound materialisation to compute the lower bound answer Lq, exploiting the
ltration procedure in KARMA to eliminate spurious answer tuples (shown as
]facts
a circle with an `F' in it in Figure 1). If ? was not derived when computing the
M3U materialisation, then the upper bound answer U q is the intersection of the
query answers w.r.t. M3U and M2U ; otherwise U q is computed using only M2U .
Extracting subsets. If Lq = U q, then PAGOdA simply returns Lq; otherwise
it must determine the status of the tuples in the `gap' Gq = U q n Lq. To do this,
PAGOdA extracts subsets of and D that are su cient to check the entailment
of each such tuple. First, the tracking encoder component is used to compute a
datalog program that tracks rule applications that led to the derivation of the
tuples in Gq. This program is then added to the rules and data in the c-chase
component, and RDFox is used to extend the c-chase materialisation accordingly.
The freshly derived facts (over the tracking predicates introduced by the tracking
encoder) are then passed to the subset extractor component, which identi es the
relevant facts and rules in and D.</p>
      <p>
        Full reasoning. PAGOdA uses HermiT to verify answers in Gq. As HermiT
only accepts queries given either as facts or DL concepts, we have implemented
an extension of the rolling-up technique to internalise CQs as ontology axioms
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In the summary lter component, PAGOdA uses summarisation techniques
inspired by the SHER system to quickly identify spurious gap tuples [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. The
remaining gap answers G0 Gq are then passed to the endormorphism checker,
which exploits a greedy algorithm to compute a (incomplete) dependency graph
between answers in G0. This graph is used by the heuristic planner to optimise
the order in which the answers in G0 are checked using HermiT. Finally, veri ed
answers from G0 are combined with the lower bound Lq.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Evaluation</title>
      <p>We have evaluated PAGOdA on a range of realistic and benchmark ontologies,
datasets and queries. Experiments were conducted on a 32 core 2.60GHz Intel
Xeon E5-2670 with 250GB of RAM, and running Fedora 20.6 Further details,
including detailed comparison with other systems, additional experiments, and
results on other ontologies are given in our technical report.</p>
      <p>
        Table 1 summarises our test data. LUBM and UOBM are widely-used
benchmarks [
        <xref ref-type="bibr" rid="ref6 ref9">6, 9</xref>
        ]. We have tested 10 additional queries for which datalog lower-bound
6 Test data available at http://www.cs.ox.ac.uk/isg/tools/PAGOdA/2015/jair/
answers are not guaranteed to be complete (as is the case for the standard
queries). ChEMBL, Reactome, and Uniprot are ontologies that are available
from the European Bioinformatics Institute (EBI) linked data platform.7 The
ontologies are complex and the data is both realistic and large-scale. We
computed subsets of the data using a sampling algorithm based on random walks
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We tested both realistic queries and all atomic queries.
      </p>
      <p>We tested the scalability of PAGOdA on LUBM, UOBM and the ontologies
from the EBI platform. For LUBM we used datasets of increasing size with a step
of n = 100. For UOBM we also used increasingly large datasets with step n = 100
and we also considered a smaller step of n = 5 for hard queries. Finally, in the
case of EBI's datasets, we computed subsets of the data of increasing sizes from
1% of the original dataset up to 100% in steps of 10%. For each test ontology we
measured pre-processing time and query processing time as described in Section
2. We organise the test queries into three groups: G1: queries for which the
lower and upper bounds coincide; G2: queries with a non-empty gap, but for
which summarisation is able to lter out all remaining candidate answers; and
G3: queries where the fully- edged reasoner is called over an ontology subset on
at least one of the test datasets. A timeout of 2:5h was set for each individual
query and 5h for all queries.</p>
      <p>Our results are summarised in Figure 2. For each ontology, we plot time
against the size of the input dataset, and for query processing we distinguish
di erent groups of queries as discussed above. PAGOdA behaves relatively
uniformly for queries in G1 and G2, so we plot only the average time per query
for these groups. In contrast, PAGOdA's behaviour for queries in G3 is quite
variable, so we plot the time for each individual query.</p>
      <p>LUBM(n) All LUBM queries belongs to either G1 or G3 with the latter group
containing two queries. The average query processing time for queries in G1
never exceeds 13s; for the two queries in G3 (Q32 and Q34), this reaches 8; 000s
for LUBM(800), most of which is accounted for by HermiT.</p>
      <p>UOBM(n) As with LUBM, most test queries were contained in G1, and their
processing times never exceeded 8 seconds. We found one query in G2, and
PAGOdA took 569s to answer this query for UOBM(500). UOBM's randomised
data generation led to the highly variable behaviour of Q18: it was in G3 for
UOBM(1) UOBM(10) and UOBM(50), causing PAGOdA to time out in the last
case; it was in G2 for UOBM(40); and it was in G1 in all other cases.
ChEMBL All test queries were contained in G1, and average processing time
was less than 0:5s in all cases. Thus, we have not depicted the scalability of query
processing for ChEMBL in Figure 2.</p>
      <p>Reactome Groups G2 and G3 each contained one query, with all the remaining
queries belonging to G1. Query processing time for queries in G1 never exceeded
10 seconds; for G2 processing time appeared to grow linearly in the size of
datasets, and average time never exceeded 10 seconds; the G3 query (Q65) is
7 http://www.ebi.ac.uk/rdf/platform
(a) LUBM pre-processing
(b) LUBM query processing
(c) UOBM pre-processing
s 2.5 
saTdnhndoo 1 
sce  2 
su1.5 
0.5 
0  0 </p>
      <p>G1(18)  G2(1)  Q18 
much more challenging, but it could still be answered in less than 900 seconds,
even for the largest dataset.</p>
      <p>Uniprot In contrast to the other cases, Uniprot as a whole is unsatis able;
however, our sampling technique can produce a satis able subset up to 40%.
For larger subsets, pre-processing times drop abruptly as unsatis ability can
be e ciently detected in the lower bound. Query processing times were only
considered for satis able samples. There were no queries in G3, and only four
in G2, all of which were e ciently handled.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Discussion</title>
      <p>We have described PAGOdA: a highly scalable and robust query answering
system for OWL 2 DL ontologies. Our experiments using the realistic ontologies
and datasets in the EBI linked data platform have shown that PAGOdA is
capable of fully answering queries over highly complex and expressive ontologies
and realistic datasets containing hundreds of millions of facts|something that
is far beyond the capabilities of state-of-the-art ontology reasoners.
Acknowledgements. This work has been supported by the Royal Society
under a Royal Society Research Fellowship, by the EPSRC projects MaSI3, Score!
and DBOnto, and by the EU FP7 project Optique.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Cal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kifer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Taming the in nite chase: Query answering under expressive relational constraints</article-title>
          .
          <source>Journal of Arti cial Intelligence Research</source>
          <volume>48</volume>
          ,
          <volume>115</volume>
          {
          <fpage>174</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dolby</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kershenbaum</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schonberg</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srinivas</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ma</surname>
          </string-name>
          , L.:
          <article-title>Scalable semantic retrieval through summarization and re nement</article-title>
          .
          <source>In: AAAI 2007, Proceedings of the Twenty-Second AAAI Conference on Arti cial Intelligence, July 22-26</source>
          ,
          <year>2007</year>
          , Vancouver, British Columbia, Canada. pp.
          <volume>299</volume>
          {
          <fpage>304</fpage>
          . AAAI Press (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dolby</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schonberg</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Srinivas</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Scalable highly expressive reasoner (SHER)</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <volume>357</volume>
          {
          <fpage>361</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fink</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tompits</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woltran</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>Simplifying logic programs under uniform and strong equivalence</article-title>
          .
          <source>In: LPNMR</source>
          <year>2004</year>
          ,
          <article-title>Proceedings of Logic Programming and Nonmonotonic Reasoning -</article-title>
          7th International Conference, Fort Lauderdale, FL, USA, January 6-
          <issue>8</issue>
          ,
          <year>2004</year>
          , Proceedings. pp.
          <volume>87</volume>
          {
          <issue>99</issue>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Glimm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stoilos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>HermiT: An OWL 2 reasoner</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>53</volume>
          (
          <issue>3</issue>
          ),
          <volume>245</volume>
          {
          <fpage>269</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          , He in, J.:
          <article-title>LUBM: A benchmark for OWL knowledge base systems</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>3</volume>
          (
          <issue>2-3</issue>
          ),
          <volume>158</volume>
          {
          <fpage>182</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tessaris</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A conjunctive query language for description logic aboxes</article-title>
          .
          <source>In: AAAI/IAAI 2000, Proceedings of the Seventeenth National Conference on Arti cial Intelligence and Twelfth Conference on on Innovative Applications of Arti cial Intelligence, July 30 - August 3</source>
          ,
          <year>2000</year>
          , Austin, Texas, USA. pp.
          <volume>399</volume>
          {
          <fpage>404</fpage>
          . AAAI Press / The MIT Press (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Leskovec</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faloutsos</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Sampling from large graphs</article-title>
          .
          <source>In: KDD 2006, Proceedings of the Twelfth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
          , Philadelphia, PA, USA,
          <year>August</year>
          20-
          <issue>23</issue>
          ,
          <year>2006</year>
          . pp.
          <volume>631</volume>
          {
          <issue>636</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qiu</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xie</surname>
            ,
            <given-names>G.T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Towards a complete OWL ontology benchmark</article-title>
          .
          <source>In: ESWC</source>
          <year>2006</year>
          ,
          <article-title>The Semantic Web: Research and Applications</article-title>
          , 3rd European Semantic Web Conference, Budva, Montenegro, June 11-14,
          <year>2006</year>
          ,
          <source>Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>4011</volume>
          , pp.
          <volume>125</volume>
          {
          <fpage>139</fpage>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nenov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Piro</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olteanu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Parallel materialisation of datalog programs in centralised, main-memory RDF systems</article-title>
          .
          <source>In: AAAI 2014, Proceedings of the Twenty-Eighth AAAI Conference on Arti cial Intelligence, July 27 -31</source>
          ,
          <year>2014</year>
          ,
          <string-name>
            <given-names>Quebec</given-names>
            <surname>City</surname>
          </string-name>
          , Quebec, Canada. pp.
          <volume>129</volume>
          {
          <fpage>137</fpage>
          . AAAI Press (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shearer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Hypertableau reasoning for description logics</article-title>
          .
          <source>Journal of Arti cial Intelligence Research</source>
          <volume>36</volume>
          ,
          <volume>165</volume>
          {
          <fpage>228</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nenov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cuenca Grau</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Pay-as-you-go OWL query answering using a triple store</article-title>
          .
          <source>In: Proceedings of the Twenty-Eighth AAAI Conference on Arti cial Intelligence</source>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nenov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <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>
          :
          <article-title>Complete query answering over Horn ontologies using a triple store</article-title>
          .
          <source>In: The Semantic Web - ISWC 2013 - 12th International Semantic Web Conference</source>
          , Sydney,
          <string-name>
            <surname>NSW</surname>
          </string-name>
          , Australia,
          <source>October 21-25</source>
          ,
          <year>2013</year>
          , Proceedings,
          <source>Part I. Lecture Notes in Computer Science</source>
          , vol.
          <volume>8218</volume>
          , pp.
          <volume>720</volume>
          {
          <fpage>736</fpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nenov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <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>
          :
          <article-title>Pay-as-you-go ontology query answering using a datalog reasoner</article-title>
          .
          <source>In: Informal Proceedings of the 27th International Workshop on Description Logics</source>
          , Vienna, Austria,
          <source>July 17-20</source>
          ,
          <year>2014</year>
          .
          <source>CEUR Workshop Proceedings</source>
          , vol.
          <volume>1193</volume>
          , pp.
          <volume>352</volume>
          {
          <fpage>364</fpage>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>