<!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>The VADALOG System: Swift Logic for Big Data and Enterprise Knowledge Graphs?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luigi Bellomarini</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Georg Gottlob</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Pieris</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuel Sallinger</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Banca d'Italia</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>TU Wien</institution>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Edinburgh</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Many modern companies wish to maintain knowledge in the form of an enterprise knowledge graph [21] and to use and manage this knowledge via knowledge graph management systems (KGMS). We view a KGMS as a knowledge base management system (KBMS), which performs complex rule-based reasoning tasks over very large amounts of data and, in addition, provides methods and tools for data analytics and machine learning, whence the equation:</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>KGMS =</p>
      <sec id="sec-1-1">
        <title>KBMS + Big Data + Analytics</title>
      </sec>
      <sec id="sec-1-2">
        <title>In this paper, we summarize vari</title>
        <p>
          ous requirements for a fully- edged
KGMS. Such a system must be
capable of performing complex reasoning
tasks, guaranteeing, at the same time,
e ciency and scalability over Big
Data with an acceptable
computational complexity. Moreover, a KGMS
needs interfaces to many
heterogeneous data sources, including:
corporate RDBMS, NoSQL stores, the web,
machine-learning and analytics
packages. We present knowledge
representation and reasoning formalisms and a
system achieving these goals. To this
aim, we adopt speci c suitable frag- Fig. 1. KGMS Reference Architecture.
ments from the Datalog family of languages [
          <xref ref-type="bibr" rid="ref3 ref5 ref6 ref8 ref9">3, 5, 6, 8, 9</xref>
          ], and we introduce the
vadalog system (following the reference architecture shown in Fig. 1), which
puts these swift logics into action. Our system exploits the theoretical
underpinnings of relevant Datalog languages, combining them with existing and novel
techniques from database engineering and AI practice.
        </p>
        <p>
          This paper is a short version of a fully detailed paper published in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The
vadalog system is Oxford's contribution to VADA [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], a joint project of the
universities of Edinburgh, Manchester, and Oxford. We reported rst work on
the overall VADA approach to data wrangling in [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. In this paper, we focus on
the vadalog system at its core. Our system currently fully implements the core
language and is already in use for a number of industrial applications. Many
extensions, especially those important for our partners, are already realized, but
others are still under development and will be integrated in the future. We
conducted extensive benchmarks on the system, and the results are very promising
in that they show good performance and scalability for large knowledge graphs.
? This paper is a short version of [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Desiderata for a KGMS</title>
      <p>We now proceed to brie y summarize what we think are the most important
desiderata for a fully- edged KGMS. We will list these requirements according to
two categories, keeping in mind, however, that these categories are interrelated.</p>
      <sec id="sec-2-1">
        <title>Language and System for Reasoning</title>
        <p>There should be a logical formalism for expressing facts and rules, and a
reasoning engine that uses this language, which should provide the following features.
Simple and Modular Syntax: It should be easy to add and delete facts and to
add new rules. As in logic programming, facts should conceptually coincide with
database tuples.</p>
        <p>
          High Expressive Power: Datalog [
          <xref ref-type="bibr" rid="ref12 ref17">12, 17</xref>
          ] is a good yardstick for the expressive
power of rule languages. Over ordered structures, Datalog with very mild
negation captures ptime; see, e.g., [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. A rule language should thus ideally be at
least as expressive as plain recursive Datalog, possibly with mild negation.
Numeric Computation and Aggregations: The basic logical formalism and
inference engine should be enriched by features for dealing with numeric values,
including appropriate aggregate functions.
        </p>
        <p>Probabilistic Reasoning: The language should be suited for incorporating
appropriate methods of probabilistic reasoning, and the system should propagate
probabilities or certainty values along the reasoning process.</p>
        <p>
          Ontological Reasoning and Query Answering: First, ontological reasoning to
the extent of tractable description logics such as DL-LiteR should be possible.
Second, it should be expressive enough to cover all SPARQL queries over RDF
datasets under the entailment regime for OWL 2 QL [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>Low Complexity: Reasoning should be tractable in data complexity Whenever
possible, the system should recognize and take pro t of rule sets that can be
processed within low space complexity classes such as nlogspace (e.g. for SPARQL)
or even ac0 (e.g., for traditional conjunctive database queries).</p>
        <p>
          Rule Repository, Rule Management, and Ontology Editor: A library for storing
recurring rules and de nitions should be provided, as well as a user interface for
rule management in the spirit of the ontology editor protege [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Accessing and Handling Big Data</title>
        <p>
          Big Data Access: The system must be able to provide e cient access to Big Data
sources and systems and fast reasoning algorithms over Big Data (see e.g. [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]).
Database Access: Seamless access to relational, graph databases, data
warehouses, RDF stores, and major NoSQL stores should be granted. Data in such
repositories should be directly usable as factual data for reasoning.
Ontology-based Data Access (OBDA): OBDA [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ] allows a system to compile a
query that has been formulated on top of an ontology into one directly on the
database. OBDA should be possible whenever appropriate.
        </p>
        <p>Data Cleaning, Exchange and Integration: Integrating, exchanging and cleaning
data should be supported directly and via integration of third-party software.
Web Data Extraction, Interaction, and IoT: A KGMS should be able to interact
with the web by (i) extracting relevant web data and integrating these data into
the local fact base, and (ii) exchanging data with web forms and servers that are
available through a web interface.</p>
        <p>Procedural Code and Machine Learning: A KGMS should have encapsulation
methods for embedding procedural code and o er a logical interface to it. The
system should be equipped with direct access to existing software packages for
machine learning, text mining, data analytics, and data visualization.
3</p>
        <p>
          The VADALOG Language
vadalog is a Datalog-based language that matches the requirements presented
in Section 2. It belongs to the Datalog family of languages that extend Datalog
by existential quanti ers in rule heads, as well as by other features, and restricts
at the same time its syntax in order to achieve decidability and data
tractability; see, e.g., [
          <xref ref-type="bibr" rid="ref10 ref4 ref5 ref7">4, 5, 7, 10</xref>
          ]. The logical core of the vadalog language corresponds
to Warded Datalog [
          <xref ref-type="bibr" rid="ref1 ref16">1, 16</xref>
          ], which captures plain Datalog as well as SPARQL
queries under the entailment regime for OWL 2 QL [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], and is able to
perform ontological reasoning tasks. Reasoning with the logical core of vadalog is
computationally e cient. vadalog is obtained by extending Warded Datalog
with additional features of practical utility. We now illustrate the logical core of
vadalog, while a discussion of the additional features is in the full paper [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
The logical core of vadalog relies on the notion of wardedness, which applies a
restriction on how the \dangerous" variables of a set of existential rules are used.
Intuitively, a \dangerous" variable is a body-variable that can be uni ed with a
labeled null value when the chase algorithm is applied, and it is also propagated
to the head of the rule. For example, given the set consisting of the rules
P (x) ! 9z R(x; z) and
        </p>
        <p>R(x; y) ! P (y);
the variable y in the body of the second rule is \dangerous" (w.r.t. ) since
starting, e.g., from the database D = fP (a)g, the chase will apply the rst rule
and generate R(a; ), where is a null that acts as a witness for the existentially
quanti ed variable z, and then the second rule will be applied with the variable
y being uni ed with that is propagated to the obtained atom P ( ).</p>
        <p>The goal of wardedness is to tame the way null values are propagated during
the construction of the chase instance by posing the following conditions: 1.
all the \dangerous" variables should coexist in a single body-atom , called
the ward; 2. the ward can share only \harmless" variables with the rest of the
body, i.e., variables that are uni ed only with database constants during the
construction of the chase.</p>
        <p>
          Warded Datalog consists of all the ( nite) sets of warded existential rules.
As an example of a warded set of rules, the following rules encode part of the
OWL 2 direct semantics entailment regime for OWL 2 QL (see [
          <xref ref-type="bibr" rid="ref1 ref16">1, 16</xref>
          ]):
Type(x; y); Restriction(y; z) ! 9w Triple(x; z; w)
        </p>
        <p>Type(x; y); SubClass(y; z) ! Type(x; z)</p>
        <p>Triple(x; y; z); Inverse(y; w) ! Triple(z; w; x)</p>
        <p>Triple(x; y; z); Restriction(w; y) ! Type(x; w):
It is easy to verify that the above set is warded, where the underlined atoms are
the wards. Indeed, a variable that occurs in an atom of the form Restriction( ; ),
or SubClass( ; ), or Inverse( ; ), is trivially harmless. However, variables that
appear in the rst position of Type, or in the rst/third position of Triple can
be dangerous. Thus, the underlined atoms are indeed acting as the wards.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>The VADALOG System</title>
      <p>The functional architecture of the vadalog system, our KGMS, is depicted
in Figure 1. The knowledge graph is organized as a repository, a collection of
vadalog rules. The external sources are supported by means of transducers,
intelligent adapters that integrate the sources into the reasoning process.</p>
      <p>
        The vadalog system ful ls the requirements presented in Section 2. The
Big Data characteristics of the sources and the complex functional requirements
of reasoning are tackled by leveraging the underpinnings of the core language,
which are turned into practical execution strategies. In particular, in the
reasoning algorithms devised for Warded Datalog , after a certain number of chase
steps (which, in general, depends on the input database), the chase graph [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
(a directed acyclic graph where facts are represented as nodes and the applied
rules as edges) exhibits speci c periodicities and no new information, relevant
to query answering, is generated. The vadalog system adopts an aggressive
recursion and termination control strategy, which detects such redundancy as
early as possible by combining compile-time and runtime techniques. In
combination with a highly engineered architecture, the vadalog system achieves high
performance and an e cient memory footprint.
      </p>
      <p>At compile time, thanks to wardedness, which limits the interaction between
the labeled nulls, the engine rewrites the program in such a way that joins on
speci c values of labeled nulls will never occur. At runtime, we do an eager
optimal pruning of redundant chase branches: we exploit fact provenance to
preempt the application of rules which will generate redundant facts. Due to
wardedness, the provenance information needed is bounded.</p>
      <p>The vadalog system uses a pull stream-based approach (or pipeline
approach), where the facts are actively requested from the output nodes to their
predecessors and so on down to the input nodes, which eventually fetch the facts
from the data sources. The stream approach is essential to limit the memory
consumption or, at least make it predictable, so that the system is e ective for
large volumes of data. Our setting is made more challenging by the presence of
multiple interacting rules in a single rule set and the wide presence of
recursion. We address this by means of a specialized bu er management technique.
We adopt pervasive local caches in the form of wrappers to the nodes of the
access plan, where the facts produced by each node are stored. The local caches
work particularly well in combination with the pull stream-based approach, since
facts requested by a node successor can be immediately reused by all the other
successors, without triggering further backward requests. Also, this combination
realizes an extreme form of multi-query optimization, where each rule exploits
the facts produced by the others, whenever applicable. To limit memory
occupation, the local caches are ushed with an eager eviction strategy that detects
when a fact has been consumed by all the possible requestors and thus drops it
from the memory. Cases of actual cache over ow are managed by resorting to
standard disk swap heuristics (e.g. LRU, LFU, etc.)
5</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>The vadalog system is already in use for a number of industrial applications.
We believe that the vadalog system is a well-suited platform for knowledge
graph applications that integrate machine learning (ML) and data analytics
with logical reasoning. We are currently implementing applications of this type
and will report about them soon.</p>
      <p>Acknowledgments This work has been supported by the EPSRC Programme
Grant EP/M025268/1 (http://vada.org.uk/). The VADALOG system as
presented here is the intellectual property of the University of Oxford.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Arenas</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Gottlob, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          .
          <article-title>Expressive languages for querying the semantic web</article-title>
          .
          <source>In PODS</source>
          , pages
          <volume>14</volume>
          {
          <fpage>26</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>L.</given-names>
            <surname>Bellomarini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          , and
          <string-name>
            <surname>E. Sallinger.</surname>
          </string-name>
          <article-title>Swift logic for big data and knowledge graphs</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <volume>2</volume>
          {
          <fpage>10</fpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          , G. Gottlob, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kifer</surname>
          </string-name>
          .
          <article-title>Taming the in nite chase: Query answering under expressive relational constraints</article-title>
          .
          <source>J. Artif. Intell. Res</source>
          ,
          <volume>48</volume>
          :
          <fpage>115</fpage>
          {
          <fpage>174</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          , G. Gottlob, and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kifer</surname>
          </string-name>
          .
          <article-title>Taming the in nite chase: Query answering under expressive relational constraints</article-title>
          .
          <source>J. Artif. Intell. Res.</source>
          ,
          <volume>48</volume>
          :
          <fpage>115</fpage>
          {
          <fpage>174</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          , G. Gottlob, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          .
          <article-title>A general datalog-based framework for tractable query answering over ontologies</article-title>
          .
          <source>J. Web Sem</source>
          .,
          <volume>14</volume>
          :
          <fpage>57</fpage>
          {
          <fpage>83</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Marnette</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          . Datalog+/
          <article-title>-: A family of logical knowledge representation and query languages for new applications</article-title>
          .
          <source>In Logic in Computer Science (LICS)</source>
          ,
          <year>2010</year>
          25th Annual IEEE Symposium on, pages
          <volume>228</volume>
          {
          <fpage>242</fpage>
          . IEEE,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          , G. Gottlob,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Marnette</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          . Datalog+/
          <article-title>-: A family of logical knowledge representation and query languages for new applications</article-title>
          .
          <source>In LICS</source>
          , pages
          <volume>228</volume>
          {
          <fpage>242</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Gottlob, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          .
          <article-title>New expressive languages for ontological query answering</article-title>
          .
          <source>In Proc. of AAAI</source>
          , volume
          <year>2011</year>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Gottlob, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          .
          <article-title>Towards more expressive ontology languages: The query answering problem</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>193</volume>
          :
          <fpage>87</fpage>
          {
          <fpage>128</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>A.</given-names>
            <surname>Cal</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Gottlob, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          .
          <article-title>Towards more expressive ontology languages: The query answering problem</article-title>
          .
          <source>Artif</source>
          . Intell.,
          <volume>193</volume>
          :
          <fpage>87</fpage>
          {
          <fpage>128</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          , M. RodriguezMuro, R. Rosati,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ruzzi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Savo</surname>
          </string-name>
          .
          <article-title>The mastro system for ontology-based data access</article-title>
          .
          <source>Semantic Web</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ):
          <volume>43</volume>
          {
          <fpage>53</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. S. Ceri, G. Gottlob, and
          <string-name>
            <given-names>L.</given-names>
            <surname>Tanca</surname>
          </string-name>
          .
          <article-title>Logic programming</article-title>
          and databases. Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. E. Dantsin,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Gottlob, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          .
          <article-title>Complexity and expressive power of logic programming</article-title>
          .
          <source>ACM Comput. Surv.</source>
          ,
          <volume>33</volume>
          (
          <issue>3</issue>
          ):
          <volume>374</volume>
          {
          <fpage>425</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. T. Furche,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Neumayr</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Sallinger</surname>
          </string-name>
          .
          <article-title>Data wrangling for big data: Towards a lingua franca for data wrangling</article-title>
          .
          <source>In AMW</source>
          , volume
          <volume>1644</volume>
          <source>of CEUR Workshop Proceedings. CEUR-WS.org</source>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ogbuji</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hawke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Herman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Seaborne</surname>
          </string-name>
          .
          <source>SPARQL 1</source>
          .1 entailment regimes,
          <year>2013</year>
          .
          <source>W3C Recommendation 21 March</source>
          <year>2013</year>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Pieris</surname>
          </string-name>
          .
          <article-title>Beyond SPARQL under OWL 2 QL entailment regime: Rules to the rescue</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <volume>2999</volume>
          {
          <fpage>3007</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. J.</given-names>
            <surname>Green</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. T.</given-names>
            <surname>Loo</surname>
          </string-name>
          .
          <article-title>Datalog and emerging applications: an interactive tutorial</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>1213</volume>
          {
          <fpage>1216</fpage>
          . ACM,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>N. F.</given-names>
            <surname>Noy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sintek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Crubezy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. W.</given-names>
            <surname>Fergerson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Musen</surname>
          </string-name>
          .
          <article-title>Creating semantic web contents with protege-2000</article-title>
          . IEEE IS,
          <volume>16</volume>
          (
          <issue>2</issue>
          ):
          <volume>60</volume>
          {
          <fpage>71</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>A.</given-names>
            <surname>Shkapsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Interlandi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Chiu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Condie</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Zaniolo</surname>
          </string-name>
          .
          <article-title>Big Data Analytics with Datalog Queries on Spark</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <volume>1135</volume>
          {
          <fpage>1149</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>VADA</surname>
          </string-name>
          . Project Website. http://vada.org.uk/,
          <year>2016</year>
          . [Online; accessed 3-
          <fpage>Mar2018</fpage>
          ].
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Wikipedia</surname>
          </string-name>
          .
          <article-title>Knowledge graph</article-title>
          . https://en.wikipedia.org/wiki/Knowledge_ Graph,
          <year>2017</year>
          . [Online; accessed 3-Mar-2018].
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>