<!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>Mv-Index: An Efficient Index for Graph-Query Containment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Theofilos Mailis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yannis Kotidis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vaggelis Nikolopoulos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evgeny Kharlamov</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ian Horrocks</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yannis Ioannidis</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Athena Research Centre</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Athens University of Economics and Business</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Bosch Center for Artificial Intelligence</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>National and Kapodistrian University of Athens</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>University of Oslo</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>University of Oxford</institution>
          ,
          <country country="UK">United Kingdom</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Query containment is a fundamental operation used to expedite query processing in view materialization and query caching techniques. Since query containment is NP-complete for arbitrary conjunctive queries on RDF graphs, we have introduced a simpler form of conjunctive queries that we name f-graph queries. During the demo, we will show why containment checking for f-graph queries can be solved in polynomial time. We will present the mv-index, a novel indexing structure that allows for fast containment checking between a single RDF-conjunctive query and an arbitrary number of stored queries. The mv-index structure takes advantage of the interesting properties of f-graph queries. With the mv-index usage, the containment test against hundreds of thousands of queries that are indexed within our structure is performed in microseconds or less.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The growing popularity of graph-structured data in many real-world applications such
as Oil and Gas [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], Energy sector [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], E-commerce [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], industrial monitoring [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
factory automation [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], industrial analytics [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and intelligent querying and search [
        <xref ref-type="bibr" rid="ref1 ref17">17,1</xref>
        ]
has led to a renaissance of research on graph data management. RDF [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and SPARQL
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] are promising examples of a graph data model and the corresponding query
language that have gained a lot of attraction. In order to handle the burst of RDF data that is
available on the Web, much research has been devoted on scalable techniques for RDF
processing such as indexing, caching, and view materialization in order to accelerate
the execution time of SPARQL queries.
      </p>
      <p>
        View materialization is directly related to the problem of query containment [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
that has been proved to be NP-complete for arbitrary conjunctive queries [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and unions
of conjunctive queries [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] over relational databases. The same results also apply for
conjunctive queries on RDF graphs and their SPARQL counterparts [
        <xref ref-type="bibr" rid="ref14 ref5">14,5</xref>
        ].
      </p>
      <p>
        In this demo, we will present f-graph queries, a restricted form of conjunctive
queries that allows to solve the containment checking problem in PTime. Additionally
we will present an efficient indexing structure, the mv-index, for checking the
containment relation between a single f-graph query Qf and a set of indexed queries W in
PTime w.r.t. the combined size of the query and the index. We will further show how
we have extended mv-indices to evaluate containment for arbitrary conjunctive queries
on RDF graphs. This translates to microseconds or less for the containment test against
hundreds of thousands of queries that are indexed within the structure. The latter makes
mv-indices the perfect candidate to be combined with existing and novel materialization
and techniques. The corresponding demo is based on the work presented in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>The Mv-Index Structure</title>
      <p>We will now describe the fundamentals of our indexing structure that is build upon the
f-graph class of queries.</p>
      <p>F-Graph Queries &amp; Query Containment. To solve the containment problem and
build the corresponding indexing structure, we initially focus on its variation Qf v W
where Qf belongs to a special class of conjunctive queries that we name f-graph queries
and W belongs to the class of conjunctive queries that have only IRIs as predicates.
What motivates the choice of f-graph queries in the left-hand side of a query
containment is that: (i) containment for f-graph queries can be solved in PTime; (ii) f-graph
queries appear in real- world query workloads; (iii) f-graph queries can be employed as
representatives of arbitrary conjunctive queries.</p>
      <p>
        An f-graph query Qf is a conjunctive query for which: (i) For every pair of terms
o1, o2 such that o1 6= o2, the triple patterns (s; p; o1), (s; p; o2) cannot both appear in
Qf ; (ii) For every pair of terms s1; s2 2 I [ X such that s1 6= s2, the triple patterns
(s1; p; o), (s2; p; o) cannot both appear in Qf . We name these queries f-graphs because
of the functional and inverse functional characteristics of their predicates. Note that
containment of such queries is polynomial due to the strong requirements for the
fgraph structure. Once a variable v in W has been mapped to a term v0 in Q, there is a
single deterministic choice for mapping the remaining variables appearing in W .
MV-Indices. In the case that we want to check for containment between a single
fgraph query Qf and a set of conjunctive queries W , it would be inefficient to make
each and every comparison. For that reason, we have introduced the
“MaterializedView Index” structure, denoted with mv-index, that allows to store a set of queries W
and use it to check for containment. Our structure is based on Radix trees, ordered tree
data structures that are used in string matching [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>An mv-index M is a tree structure (V; E; L) where: (i) V is a set of vertices; (ii) E v
V 2 is a finite set of edges; (iii) L is a labelling function that maps each edge to a
nonempty ordered list of distinct elements (IRIs, literals, and parenthesis symbols) and each
vertex to the serialized form of an f-graph query.</p>
      <p>The intuition for this form of representation is that queries are represented by their
serialized form in the mv-index structure, either as intermediate or leaf vertices, using
the labelling function L. For a vertex in the mv-index structure, L( ) is its
corresponding query in serialized form. The serialized form of the query represented by a
vertex can be also obtained by following the path from the root of the mv-index to
the specific vertex and concatenating the corresponding edge labels. Therefore, in our
actual implementation we only store edge labels.</p>
      <p>
        During the insertion phase, mv-indices are treated as regular Radix trees that instead
of strings or numbers are used to represent queries in their serialized form. Therefore,
instead of characters within a string, or digits within a number, mv- indices use IRIs,
Mv-Index: An Efficient Index for Graph-Query Containment
literals, variables and separators such as parenthesis symbols in order to represent
serialized queries. More information on how insertion works in Radix trees can be found
in the literature [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. To check for query containment using mv-indices, we have
devised an algorithm that takes advantage of the properties of an f-graph. The intuition
underlying the algorithm is that each time an edge of the mv-index is examined, a
corresponding containment mapping from the corresponding queries in the mv-index to
the examined query is created.
      </p>
      <p>F-Graph Witnesses for Conjunctive Queries. For our algorithm to represent more
expressive conjunctive queries, we have introduced f-graph witnesses. The intuition is
that each conjunctive query can be represented in the form of an f-graph when checking
for query containment.</p>
      <p>For a conjunctive query Q, its corresponding f-graph witness can be obtained by
merging terms that violate conditions (i), (ii) in the definition of f-graph queries. To
perform the aforementioned task, we initially define the equivalence relation on
variables, IRIs, and literals in Q such that o1 o2 when there exists a term s for which
either the triple patterns (s; p; o1) and (s; p; o2) both appear in Q, or the triple patterns
(o1; p; s) and (o2; p; s) both appear in Q. For a term s in Q, [s] denotes its equivalence
class on the relation that contains all the terms that are merged with s. The f-graph
witness Qw of the query Q is obtained by replacing each triple pattern (s; p; o) in the
body of Q with a triple pattern ([s]; p; [o]) where s; o are terms, [s]; [o] their
corresponding equivalence classes, and p is a predicate.</p>
      <p>For a conjunctive query Q, its corresponding f-graph witness Qw and a conjunctive
query W , the following implication applies: Q v W ) Qw v Q. The previous
proposition conveys that we need to check for containment Q v W only when the
containment relation for the witness of Q is satisfied, i.e., Qw v W . Checking Qw v
W can be performed in PTime, while checking Q v W is in the worst case a
NPcomplete problem. Therefore, we pay a PTime budget to solve specific instances of a
NP-complete problem by “postponing” non-deterministic checks in favor of a proof,
computed in PTime, that Q v W does not apply.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Demo</title>
      <p>In the demo we will show how we have implemented our novel structures and
algorithms and test their efficiency in a combined query workload consisting of DBPedia,
WatDiv, BSBM, LUBM, and LDBC queries. We will evaluate insertion and
containment performance with respect to different query and mv-index properties. The average</p>
      <p>Mailis et al.
time for query containment against an mv-index containing 397,507 distinct queries
from all 5 workloads was between 0:0093 msec and 0:041 msec. A presentation of our
work is available online.</p>
      <p>Acknowledgements. This work was partially funded by the SIRIUS Centre, Norwegian
Research Council project number 237898. T. Mailis was financed by EU Horizon2020,
“DARE” project, Grant Agreement nr. 777413. Y. Kotidis was financed by the Research
Centre of Athens University of Economics and Business, in the framework of the project
entitled Original Scientific Publications.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Arenas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marciuska</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Faceted search over rdf-based knowledge graphs</article-title>
          .
          <source>J. Web Semant</source>
          .
          <fpage>37</fpage>
          -
          <issue>38</issue>
          ,
          <fpage>55</fpage>
          -
          <lpage>74</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Brickley</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guha</surname>
            ,
            <given-names>R.V.</given-names>
          </string-name>
          :
          <article-title>Rdf vocabulary description language 1.0: Rdf schema (</article-title>
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chandra</surname>
            ,
            <given-names>A.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merlin</surname>
            ,
            <given-names>P.M.:</given-names>
          </string-name>
          <article-title>Optimal implementation of conjunctive queries in relational data bases</article-title>
          .
          <source>In: STOC. ACM</source>
          (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Charron</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hirate</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Purcell</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rezk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Extracting semantic information for ecommerce</article-title>
          .
          <source>In: ISWC</source>
          . pp.
          <fpage>273</fpage>
          -
          <lpage>290</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gutierrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hurtado</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendelzon</surname>
            ,
            <given-names>A.O.</given-names>
          </string-name>
          , Pe´rez, J.:
          <article-title>Foundations of semantic web databases</article-title>
          .
          <source>JCSS</source>
          <volume>77</volume>
          (
          <issue>3</issue>
          ),
          <fpage>520</fpage>
          -
          <lpage>541</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ho</surname>
          </string-name>
          , V.T.,
          <string-name>
            <surname>Stepanova</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gad-Elrab</surname>
            ,
            <given-names>M.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Rule Learning from Knowledge Graphs Guided by Embedding Models</article-title>
          . In: ISWC. pp.
          <fpage>72</fpage>
          -
          <lpage>90</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hovland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skjaeveland</surname>
            ,
            <given-names>M.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bilidas</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soylu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lanti</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rezk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lie</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ioannidis</surname>
            ,
            <given-names>Y.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotidis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koubarakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waaler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Ontology Based Data Access in Statoil</article-title>
          .
          <source>J. Web Semant</source>
          .
          <volume>44</volume>
          ,
          <fpage>3</fpage>
          -
          <lpage>36</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotidis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mailis</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neuenstadt</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolaou</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , O¨ zc¸ep,
          <string-name>
            <given-names>O¨ .L.</given-names>
            ,
            <surname>Svingos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Zheleznyakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Ioannidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.E.</given-names>
            ,
            <surname>Lamparter</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.,</surname>
          </string-name>
          <article-title>M o¨ller</article-title>
          , R.,
          <string-name>
            <surname>Waaler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>An ontologymediated analytics-aware approach to support monitoring and diagnostics of static and streaming data</article-title>
          .
          <source>J. Web Semant</source>
          .
          <volume>56</volume>
          ,
          <fpage>30</fpage>
          -
          <lpage>55</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mailis</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehdi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neuenstadt</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , O¨ zc¸ep,
          <string-name>
            <given-names>O¨ .L.</given-names>
            ,
            <surname>Roshchin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Solomakhina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Svingos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Brandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Ioannidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.E.</given-names>
            ,
            <surname>Lamparter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            , Mo¨ller, R.,
            <surname>Kotidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            ,
            <surname>Waaler</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Semantic access to streaming and static data at Siemens</article-title>
          .
          <source>J. Web Semant</source>
          .
          <volume>44</volume>
          ,
          <fpage>54</fpage>
          -
          <lpage>74</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehdi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savkovic</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalayci</surname>
            ,
            <given-names>E.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roshchin</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Semantically-enhanced rule-based diagnostics for industrial internet of things: The SDRL language and case study for siemens trains and turbines</article-title>
          .
          <source>J. Web Semant</source>
          .
          <volume>56</volume>
          ,
          <fpage>11</fpage>
          -
          <lpage>29</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Levy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendelzon</surname>
            ,
            <given-names>A.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sagiv</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Answering queries using views</article-title>
          .
          <source>In: PODS</source>
          . pp.
          <fpage>95</fpage>
          -
          <lpage>104</lpage>
          . ACM (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Mailis</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotidis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikolopoulos</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ioannidis</surname>
            ,
            <given-names>Y.E.</given-names>
          </string-name>
          :
          <article-title>An efficient index for RDF query containment</article-title>
          .
          <source>In: SIGMOD</source>
          . pp.
          <fpage>1499</fpage>
          -
          <lpage>1516</lpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Morrison</surname>
            ,
            <given-names>D.R.</given-names>
          </string-name>
          :
          <article-title>Patricia-practical algorithm to retrieve information coded in alphanumeric</article-title>
          .
          <source>JACM</source>
          <volume>15</volume>
          (
          <issue>4</issue>
          ),
          <fpage>514</fpage>
          -
          <lpage>534</lpage>
          (
          <year>1968</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>From sparql to rules (and back)</article-title>
          .
          <source>In: WWW</source>
          . pp.
          <fpage>787</fpage>
          -
          <lpage>796</lpage>
          . ACM (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Prud</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <article-title>Sparql query language for rdf</article-title>
          . https://www.w3.org/ TR/rdf-sparql-query/ (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sagiv</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Equivalences among relational expressions with the union and difference operators</article-title>
          .
          <source>JACM</source>
          <volume>27</volume>
          (
          <issue>4</issue>
          ),
          <fpage>633</fpage>
          -
          <lpage>655</lpage>
          (
          <year>1980</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Soylu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skjaeveland</surname>
            ,
            <given-names>M.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hovland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlatte</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brandt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lie</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Optiquevqs: A visual query system over ontologies for industry</article-title>
          .
          <source>Semantic Web</source>
          <volume>9</volume>
          (
          <issue>5</issue>
          ),
          <fpage>627</fpage>
          -
          <lpage>660</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>