<!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>A Framework for Exploratory Query Answering with Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Medina Andreşel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yazmín Ibáñez-García</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Magdalena Ortiz</string-name>
          <email>ortiz@kr.tuwien.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Logic and Computation, TU Wien, Austria School of Computer Science and Informatics, Cardiff University</institution>
          ,
          <addr-line>Cardiff</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In the ontology-based data access paradigm, ontologies act as an interface to data sources, facilitating query formulation by providing a vocabulary closer to the users' understanding. However, accessing data in large and unfamiliar sources can still be hard. In practice, users may find that the formulated queries have too many answers to be informative, or at the other extreme, they have very few or no answers at all. Refining queries can be difficult for users who may not know how to formulate their information needs according to the data. Moreover, changes in the query may have no effect on the answers, or dramatically affect them in unexpected ways. Manual exploration via iterative query evaluation can be computationally very costly if each minor query variation is evaluated independently and from scratch. Towards addressing this problem, we propose a framework for exploring datasets using ontology-mediated queries (OMQs). Rather than formulating a precise conjunctive query (CQ), the user writes a template CQ where parts may be marked to indicate that they may be relaxed or constrained during the exploration. From such a template we build what we call a query space: a set of OMQs that are ordered according to their specificity (or generality). The OMQs in the space are obtained from the template using a fixed set of reformulation rules that modify CQs to be more general or more specific w.r.t. O and a given dataset A. Navigating the query space from one query to a more general (or specific one) allows then users to explore the dataset. The reformulation rules were proposed in our previous work [1], but here their application is restricted by the template and yields a finite space of queries that enables data exploration by choosing among the automatically generated reformulations those which modify the answers in a minimal way. Our framework can be realized in Datalog. We describe how a query space can be generated using Datalog rules. The Datalog program is evaluated over the data and produces a structure (i.e., compilation) that contains all OMQs in the space and their answers, and which can be used to navigate between</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        reformulations and compute answers to individual queries on-the-fly. As a
proofof-concept, we implement the approach and test its potential for exploring data
in DBpedia, using the VLog Datalog reasoner [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]1.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <sec id="sec-2-1">
        <title>We assume that the reader has basic knowledge about Description Logics (DLs)[5].</title>
        <sec id="sec-2-1-1">
          <title>A DL ontology O is simply a TBox expressed in a specific DL. We will focus on</title>
          <p>
            extensions of DL-LiteR [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] with complex role inclusions.
          </p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Let us assume an alphabet consisting of countable infinite sets C, R, I of</title>
        <p>respectively concept, role, and individual names. Further, we assume the set of
role names is the union of two disjoint sets of simple and non-simple role names.
A DL-LiteH;R TBox T is a finite set of axioms taking the following forms:
A v A0;</p>
        <p>A v 9p;
9p v A</p>
        <p>A v 9p:A0
p v s;
p
v s
r s v p;
where A; A0 2 C and p; r; s 2 R, and such that: (i) for every r s v p 2 T , s is
simple and p is non-simple; (ii) if p v s 2 T or p v s 2 T , and s is a simple
role, then p is also simple. Axioms of the form r s v p are called complex role
inclusions (CRI). A DL-LiterHecR-safe TBox is a DL-LiteH;R TBox where all the</p>
        <sec id="sec-2-2-1">
          <title>CRIs are of the form r s v r, and for every such CRI there is no axiom of the</title>
          <p>form B v 9s. A DL-LiteR TBox is a DL-LiteH;R TBox without CRIs. We use</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>ABoxes to formalize datasets. An ABox is a finite set of assertions of the forms</title>
        <p>A(a), and p(a; b), with a; b 2 I, A 2 C, and p 2 R.</p>
      </sec>
      <sec id="sec-2-4">
        <title>The semantics of DL is defined in terms of interpretations. An interpretation</title>
        <p>I = ( I ; I ) consists of a nonempty domain I , and interpretation function I ;
I is a model of O (I j= O), if I satisfies every axiom in O. An interpretation</p>
        <sec id="sec-2-4-1">
          <title>I satisfies an ABox A, if aI 2 AI for all A(a) 2 A and (aI ; bI ) 2 pI , for all</title>
          <p>
            p(a; b) 2 A. Given a DL ontology O and an ABox A, we denote by IO;A the
canonical model of (O; A), which models (O; A) and can be homomorphically
maped to any other model of (O; A). For DL-LiteR ontologies, if (O; A) has a
model, then it has a canonical model [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ].
          </p>
          <p>Ontology-mediated Querying. A conjunctive query q is a first order formula
with free variables x that takes the form 9y:'(x; y), with ' a conjunction of
atoms of the form A(x), r(x; y), and x = a, where A 2 C, r 2 R, x; y variables
from x [ y and a is an individual. A term is either an individual from I or a
variable. The free variables in a query are called the answer variables. We will
write q(x) to make explicit reference to the answer variables of q, and '(x; y)
to denote the set of atoms in q. The arity of q(x) is defined as the length of x,
denoted jxj.</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>Let I be an interpretation and q(x) a CQ. A tuple a from I of length jxj is an answer to q in I if there is a map from the terms in q to I such that (i) (x) = a, (ii) (b) = bI for each individual b, (iii) I j= P ( (z)) for each P (z)</title>
          <p>1 Implementation, evaluation and proofs at https://github.com/medinaandresel/DL2020
in q, and (iv) (t) = (t0) for each t = t0 in q. We use ans(q; I) to denote the
set of all answers to q in I.</p>
          <p>An ontology mediated query (OMQ) is a pair (q(x); O) with O an ontology
and q(x) a CQ. Given A, a tuple of individuals a from A with jaj = jxj is a
certain answer of (q(x); O) over A if a 2 ans(q; I) for each model I of O
satisfying A, and we use ans(q; O; A) to denote all such tuples. The OMQ answering
problem is: Given (O; q(x)), a dataset A, and a a tuple of individuals of length
equal to jxj, is a a certain answers of (q(x); O) over A. For (q1; O) and (q2; O)
of the same arity, we write q1 O;A q2 if ans(q1; O; A) ans(q2; O; A). In this
case, we say that q1 is a specialization of q2 w.r.t. O; A and, conversely, q2 a
generalization of q1 w.r.t. (O; A).
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Framework for Exploratory Querying</title>
      <sec id="sec-3-1">
        <title>We start by formalizing a suitable notion of query space.</title>
        <p>Definition 1. An exploratory query space for a given ABox A is a preordered
set Q = hQ; i of queries mediated by an ontology O, such that (q1; O) (q2; O)
implies q1 (O;A) q2. We will write q1 q2, whenever O is clear from the context.</p>
      </sec>
      <sec id="sec-3-2">
        <title>We now introduce query templates, which is the starting point to build ex</title>
        <p>ploratory query spaces. Syntactically, they are CQs whose atoms may be marked
if we want to consider more specialized( s) or generalized( g) versions of them.
Definition 2 (Query Templates). A query template
9y: 1 ^ ^ n, where each i is an atom of the form:
[x] is an expression</p>
        <p>A(x) j r(x; y) j x = a j As(x) j Ag(x) j rs(x; y) j rg(x; y) j x = as j x = ag;
where x; y 2 x [ y, x are the answer variables, A 2 C or &gt;, r 2 R and a 2 I.</p>
      </sec>
      <sec id="sec-3-3">
        <title>Example 1. We can succintly describe CQs that retrieve (possibly special types of) events in Rhodes or in more general locations, using template:</title>
        <p>
          [x] =9z Events(x) ^ hasLocg(x; z) ^ z = Rhodesg:
Given some as starting point, we will use reformulation rules to build a set of
related CQs. To guarantee that these queries can be ordered according to their
specificity (or generality), these rules will be guided by a set of reformulation
axioms. In general, O can be used to guide the rules application. However, to
take also the data into account, we allow other sets R of reformulation axioms
as well. For example, R can be a subset of O that the user considers relevant. It
may contain assertions from A, or other axioms implied by O and A, enabling
data-driven query reformulations in the style of [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The reformulation rules are
presented in Table 1. We use ‘_’ as a placeholder for a fresh variable; y~ denotes
the condition (y 62 vars( 0) [ x) _ (y = _); y^ denotes that y is not an answer
variable in the template; and rx stands for any of rs, rg, or r.
(R1) If B v A 2 R
(R2) If A v 9r 2 R
(R3) If 9r v A 2 R
(R4) If r v p 2 R
(R5) If s v p 2 R
(R6) If fB v 9s:A;
r s v rg
        </p>
        <p>R
(R7) If A(a) 2 R
(R8) If r(a; b) 2 R
(R9) If fs(a; b);
r s v rg
then: 0 ^ As(x) s 0 ^ Bs(x)
then: 0 ^ rs(x; y~) s 0 ^ As(x)
then: 0 ^ As(x) s 0 ^ rs(x; _)
then: 0 ^ ps(x; y) s 0 ^ rs(x; y)
then: 0 ^ ps(x; y) s 0 ^ ss(y; x)
0 ^ rx(x; y^) ^ As(y^) s
0 ^ rx(x; y^) ^ Bg(y^) g
then:
then:
then:
then: 0 ^ As(x) s</p>
        <p>0 ^ x = as
0 ^ rs(x; y~) s 0 ^ x = as
0 ^ rs(x~; y) s 0 ^ y = bs
0 ^ Bg(x) g
0 ^ Ag(x) g
0 ^ rg(x; y~) g
0 ^ rg(x; y) g
0 ^ sg(x; y) g
0 ^ Ag(x)
0 ^ rg(x; _)
0 ^ Ag(x)
0 ^ pg(x; y)
0 ^ pg(y; x)
0 ^ rx(x; y) ^ Bs(y)
0 ^ rx(x; y) ^ Ag(y)
0 ^ x = ag g 0 ^ Ag(x)
0 ^ x = ag g
0 ^ x = bg g
0 ^ rg(x; _)
0 ^ rg(_; x)</p>
        <p>0 ^ rs(x; y^) ^ y^ = b s 0 ^ rs(x; y) ^ y = as
0 ^ rg(x; y^) ^ y^ = ag g 0 ^ rg(x; y) ^ y = bg</p>
        <p>.</p>
        <p>Definition 3. A reformulation axiom is either an ABox assertion or a TBox
axiom in DL-LiterHecR-safe. Given a template and a set of reformulation axioms
R, we say that 0 is derivable from using R if there is a sequence of
reformulations 1 : : : n = 0, with n 1 and 2 fs; gg, using the rules in
Table 1. We will use R 0, to indicate that 0 is derivable from w.r.t. R,
and we will write cq( ) to denote the CQ obtained from by removing all the s
and g labels. Then we define:
– QR is the set of all CQs fq(x) j [x] R 0[x]; cq( 0[x]) = q(x)g.
– For each pair q1; q2 2 QR, we set q1 R q2 if q1 = q2, or there are templates
1 and 2 such that cq( i) = qi and either 2 sR 1, or 1 gR 2.</p>
        <p>
          Note that, following [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], we are allowing CRIs in our reformulation axioms
to be able to reformulate our queries along dimensions that are not captured
by the subclass or subrole relations. For example, a location dimension that has
different granularity levels connected by a ‘part-of’ rather than by a ‘subclass-of’
relation. For example, using axioms like City v 9partOf :Country and the CRI
hasLoc partOf v hasLoc, we can generalize a query asking for events in a city
to one that asks for events in a country instead. We call this particular kind of
generalization operation a ‘roll up’ and its specialization counterpart ‘drill down’
(see rules R6 and R9).
        </p>
        <p>Rules in Table 1 specialize As(x) as either B(x) using (R1) or r(x; _) using
(R3), which are more specific than A, or as A(a), with a a known instance of
concept A using (R7). Atoms ps(x; y) are specialized as r(x; y) with r a role
more specific than r using (R4) or (R5), or B(x) (or B(y)), with B a concept
that is more specific than 9r (or 9r ) with rule (R2). The rules work similary
for the generalizing counterparts.</p>
      </sec>
      <sec id="sec-3-4">
        <title>Example 2. Let us consider again the template [x] from Example 1, and the set</title>
        <p>of reformulation axioms: R1 = fhasLoc partOf v hasLoc; partOf(Rhodes; Greece)g:</p>
      </sec>
      <sec id="sec-3-5">
        <title>Rule (R9) is applicable for</title>
        <p>and R1 (since z is not an answer variable):
Events(x) ^ hasLocg(x; z) ^ z = Rhodesg g Events(x) ^ hasLocg(x; z) ^ z = Greeceg</p>
      </sec>
      <sec id="sec-3-6">
        <title>By removing the special markers, the following query is part of QR1 :</title>
        <p>q1(x) : 9z Event(x) ^ hasLoc(x; z) ^ z = Greece:
Thus, cq( ) R1 q1. The semantics of change if we consider, for example,
the set of reformulation axioms R2 = fConference v Eventg. Using rule (R1)
we can capture the query q2(x) : 9z Conference(x) ^ hasLoc(x; z) ^ z = Rhodes:</p>
        <sec id="sec-3-6-1">
          <title>Let O be written in a language that enjoys the canonical model property. Then</title>
          <p>we call a set R of reformulation axioms compatible with (O, A) if IO;A R.</p>
        </sec>
        <sec id="sec-3-6-2">
          <title>Compatibility of R ensures that we obtain an exploratory query space.</title>
          <p>Lemma 1. Let be a template, R a set of reformulation axioms, and O an
ontology in a language that enjoys the canonical model. If A is such that R is
compatible with (O; A), then hQR; Ri is exploratory for A.</p>
          <p>Example 3. Let O = fWorkshop v Conference, Conference v Eventg and A =
fWorkshop(DL2020); hasLoc(DL2020; Rhodes);
hasLoc(DL2020; Greece); partOf(Rhodes; Greece)g:
fhasLoc partOf v hasLocg is compatible with (O; A) and the rest of R1 and R2
are in (O; A), so both (QR1 ; R1 ) and (QR2 ; R2 ) are exploratory for (O; A).</p>
        </sec>
        <sec id="sec-3-6-3">
          <title>If R is not a subset of O [ A, we need to test its compatibility. When O is in</title>
          <p>
            DL-LiterHecR-safe, such test can be done in PTime [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ].
3.1
          </p>
          <p>Exploring Query Spaces</p>
        </sec>
      </sec>
      <sec id="sec-3-7">
        <title>The order in a query space enables users to explore the dataset by navigat</title>
        <p>ing from one query to a more general (or specific one) on demand. However,
obtaining all reformulations may not be satisfactory if there are too many of
them, and we may need to identify the most relevant ones. For example,
assuming that a dataset contains in addition to the assertions in Example 3:
Conference(KR2020), hasLoc(KR2020; Rhodes), a natural way to filter out the
answers to q(x): Event(x) ^ hasLoc(x; z) ^ z = Rhodes is to navigate to qn(x) :
Conference(x) ^ hasLoc(x; z) ^ z = Rhodes. This reformulation however does not
change the set of answers – fKR2020; DL2020g, and it may be more interesting
to directly specialize to qs(x) : Workshop ^ hasLoc(x; z) ^ z = Rhodes, which
drops KR2020 as answer. By identifying such queries in the space, the data can
be explored in a more effective step-by-step fashion.</p>
        <p>
          Definition 4. For queries q1 6= q2 in Q = (Q; ) such that q1 q2, we say
that q1 is a neutral specialization of q2, written q1 ' q2, if ans(q1; O; A) =
ans(q2; O; A); it is a strict specialization of q2, written q1 q2, if ans(q1; O; A) (
ans(q2; O; A). Conversely, q2 is a neutral, respectively strict, generalization of
q1. Further,
– If q1 ' q2, we say that q1 is a maximal neutral specialization of q2 if for each
q0 2 Q such that q0 q1, it holds that q0 q2. Conversely, q2 is a maximal
neutral generalization of q1 if for each q0 2 Q such that q2 q0, we have
q1 q0.
– q1 is a minimal strict specialization of q2, if q1 q2 and for each q0 2 Q
such that q1 q0 q2 we have q0 ' q2. Conversely, q2 is a minimal strict
generalization of q1 if for each q0 2 Q such that q1 q0 q2 we have q1 ' q0.
We denote by maxNeusA(q; Q) and minStrAs(q; Q) the set of all maximal neutral
and of all minimal strict specializations, respectively, and similarly for
generalizations. Maximal neutral reformulations are useful, since they allow us to easily
identify the minimal strict reformulations desirable for navigating the space.
Observation 1 Let Q = hQ; i be an exploratory query space for A mediated
by O, and let c extend so that q1 c q2 whenever q1 ' q2. For q 2 Q, we
have:
– q1 2 minStrAs(q; Q) iff q1 6 c q, and q1 c q2 for some q2 2 maxNeusA(q; Q).
– q1 2 minStrAg(q; Q) iff q1 6 c q, and q2 c q1 for some q2 2 maxNeugA(q; Q).
Not surprisingly, identifying minimal strict reformulations is not feasible in
polynomial time in general. It is at least as hard as the following following decision
problem: given q and q0 in Q, verify if q0 is a maximal neutral specialization (or
generalization) of q in Q. Specifically, coNP-hardness for maximal neutral
specializations can be proved even for monadic tree-shaped CQs mediated by the
empty ontology, by reducing the problem of verifying if a given E L concept is the
most specific concept for individuals a1; : : : ; an, given ABox A [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. However, we
show in the next section that using an offline-phase that compiles the answers
to the queries in the space, computing such relevant reformulations can still be
realized efficiently using Datalog with stratified negation (since the size of the
compilation is comparably smaller than the size of the dataset).
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Capturing Query Spaces in Datalog</title>
      <sec id="sec-4-1">
        <title>In this section, we describe a way to realize our exploratory framework using</title>
      </sec>
      <sec id="sec-4-2">
        <title>Datalog. Before proceeding, we recall the syntax and semantics of Datalog pro</title>
        <p>
          grams with stratified negation [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>Datalog with Equality and Stratified Negation. Let P, V and K be
countable infinite sets of predicates, variables and constants. Variables and constants
are terms. An atom is either (i) p(v) with v a tuple of terms of the same arity
as p, or (ii) v = v0 for terms v; v0. A Datalog rule has the form:
p(v)</p>
        <p>1; : : : ; k; : k+1; : : : ; : m
where m k, p(v) is called the head of and denoted by head ( ), while the set
of atoms f 1; : : : ; mg is the body of ; body+( ) denotes the positive atoms and
body ( ) the negative ones. As usual, all variables in head( ) and in body ( )
must also occur in body+( ). A rule with empty body is called fact and maybe
written p(v):</p>
      </sec>
      <sec id="sec-4-3">
        <title>A Datalog program is a set of Datalog rules. is stratified if it can be</title>
        <p>partitioned as 1; : : : ; n such that for each p, all rules with p in the head are
in the same partition i, and for all atoms in the bodies of those rules, the
definitions of such predicates are in some j , with j i if the atom is positive,
or j &lt; i for negative atoms.</p>
        <p>A set of facts I satisfies a rule if there exists a mapping h : vars( ) 7!
term(I) such that whenever h(body+( )) I and h(body ( )) 6 I, then h (head
( )) I. A model of is any set of facts that satisfies each 2 . For a
stratified program and finite set of facts D, (D) denotes the minimal model
of (which is unique and always exists) consisting of Sin=0 Ii, where I0 = D
and for 1 i n, each Ii minimally extends Ii 1 such that Ii is a model of i.
4.1</p>
        <p>Datalog Encoding of Template-generated Query Spaces</p>
      </sec>
      <sec id="sec-4-4">
        <title>We now build a Datalog program that derives and evaluates all the queries in</title>
        <p>a space. In this section we fix a template = 9y: 1 ^ ^ n with answer
variables x = (x1; : : : ; x`), as well as a set of reformulation axioms R. Further,
we assume that all non-answer variables occuring only once in have been
substituted by ‘_’, and for convenience, assume x [ y V (these are the only
Datalog variables written in lower-case). Since we denote concepts, roles and
individuals by constants, we assume for simplicity C [ R [ I K. We also
assume a constant vx 2 K for every variable x and a constant c for each atom
in . A special constant null acts as placeholder for ‘_’ and as a ‘filler’ for
irrelevant predicate positions. For each atom i, we use xi to denote (x; null) if
i is either P x(x), P x(x; _) or x = ax; (null; x) if i = P x(_; x); and (x; y) if
i = P x(x; y). By convention, U = (U1; : : : ; Un) and V = (V1; : : : ; Vn) are n-ary
tuples of variables, and X is an `-ary tuple of variables.</p>
        <sec id="sec-4-4-1">
          <title>In Table 2, we show how and R are encoded: each atom in is mapped</title>
          <p>(7!) to a fact in D , and axioms in R to facts in DR. A fixed program rules
simulates the reformulation rules from Table 1. These rules derive a atms atom for
each reformulation of a specializing atom, and a atmg atom for each reformulation
of a generalizing atom in . The final group of rules Q build up the set of</p>
        </sec>
      </sec>
      <sec id="sec-4-5">
        <title>OMQs in the space. Each tuple in refAtms represents a reformulated version of each atom in the template, and allows us to build a query by putting the corresponding variables in the right positions.</title>
      </sec>
      <sec id="sec-4-6">
        <title>We can now make precise how the query space is captured. We denote by</title>
        <p>tr(q) the translation of a given CQ q(x) into the signature of our Datalog
program, obtained by applying to each atom in q the function tr with tr(x = a) =
uAtm(a; t(x)), tr(A(x)) = uAtm(A; t(x)), and tr(r(x; y)) = bAtm(r; t(x); t(y)),
where for each xi, t(xi) = null if x = _ and t(xi) = Xi otherwise.
Definition 5. We let = rules [ Q and D ;R = D
pair h ; D ;Ri the Datalog encoding of ( ; R).
[ DR, and call the</p>
        <p>atmg(V ; U; X; Y ):
strs(U[Ui 7! V ]; c i; V 0) refAx(V; V 0); refAt(c i; V; X; Y ); refAt(c i; V 0; X0; Y 0);</p>
        <p>query (U[Ui 7! V ]; X); : query (U[Ui 7! V 0]; X):
strg(U[Ui 7! V 0]; c i; V ) refAx(V; V 0); refAt(c i; V; X; Y ); refAt(c i; V 0; X0; Y 0);</p>
        <p>query (U[Ui 7! V ]; X); : query (U[Ui 7! V 0]; X):
nrts(U[Ui 7! V ]; c i; V 0) refAx(V; V 0); refAtms(U[Ui 7! V ]); : strs(U[Ui 7! V ]; c i; V 0):
ntrg(U[Ui 7! V ]; c i; V 0) refAx(V 0; V ); refAtms(U[Ui 7! V ]); : strg(U[Ui 7! V ]; c i; V 0):</p>
        <p>nrtx(U[Ui 7! V ]; c i; V 00) nrtx(U[Ui 7! V ]; c i; V 0); nrtx(U[Ui 7! V 0]; c i; V 00):
maxNtrx(U[Ui 7! V ]; c i; V 0) nrtx(U; c i; V 0); : nrtx(U; c i[Ui 7! V ]; V 00); V 0 6= V 00:
maxx(U; V ) refAtms(U); maxNtrx(U1; c 1; V1); : : : ; maxNtrx(Un; c n; Vn):</p>
        <p>with x 2 s; g
mins(U; V1; : : : ; Vi 1; V 0; Vi+1; : : : ; Vn) maxs(U; V ); strict(U; c i; Vi; V 0):
ming(U; V1; : : : ; Vi 1; V 0; Vi+1; : : : ; Vn) maxg(U; V ); strict(U; c i; V 0; Vi):</p>
        <p>Table 3. Datalog program to compute query reformulations
Let c = (c1; : : : ; cn) be a tuple of constants from C [ R [ I. The unfolding of
for c is the rule obtained from</p>
        <p>query (c; x) refAtms(c); qAtm 1 (c1; x1); : : : ; qAtm n (cn; xn)
by choosing some 2 Q for each qAtm i (ci; xi), and a substitution such that
– head( ) = qAtm i (ci; xi), and
– each atom conc(ci), role(ci) and const(ci) is contained in D ;R
and then: (i) replacing qAtm i (ci; xi) with body( ) , and (ii) removing each atom
from body(query (c; x)) that is contained in (D ;R). If the body of the
unfolding for c is tr(q) for some CQ q, we call c the -encoding of q.
Example 4. Let c = (Conference; hasLoc; Rhodes). The unfolding of
query (c; x) uAtm(Conference; x); bAtm(hasLoc; x; z); z = Rhodes:
The body matches tr(q2), so c is a -encoding for q2.
for c is</p>
      </sec>
      <sec id="sec-4-7">
        <title>If q has a -encoding, then it is derivable from derivable q we can find a -encoding.</title>
        <p>Lemma 2. A CQ q is derivable from
of q.</p>
        <p>w.r.t R. Conversely, for each
using R iff there exists a
-encoding
4.2</p>
        <p>
          Evaluation of the Datalog Translation for DL-LiteR OMQs
We now fix an ABox A and a DL-LiteR ontology O, and consider the evaluation
of the queries (q; O) in QR over A. The relevant q are encoded in h ; D ;Ri,
but we still need an OMQ answering algorithm for the DL of O. In the case
of DL-LiteR, one could call an external query rewriting engine for the encoded
queries. However, we chose to partially complete the data w.r.t. O, and then
evaluate the Datalog encoding over the extended dataset.2
2 Such a procedure is very easy to realize if an existential rule engine [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] is chosen
instead of a plain Datalog, as we do in the next section.
        </p>
        <p>We say that a CQ template is rooted if each variable is either an answer
variable or occurs in a join sequence of the form r1(x0; x1); : : : ; rk(xk 1; xk),
where x1 is an answer variable and for 1 &lt; i k, xi occurs existentially in
. We define the join length of a CQ template as the length of its longest join
sequence, and let k be the join length of . In the following, B denotes either a
concept name or 9r. Then, we apply the following procedure:</p>
        <sec id="sec-4-7-1">
          <title>1. For denoting the signature of ( ; R), we build a k-bounded -expansion</title>
          <p>AO;k of A w.r.t. O constructed by taking for each A 2 and each r 2 :
If T B v A and A j= B(a), then A(a) 2 AO;k.</p>
          <p>If T B v 9r1 v : : : v 9rn, T 9rn v A and A B(a), then
A(ar1:::rn ) 2 AO;k, where ar1:::rn is a fresh individual not in A and n k.</p>
          <p>If T s v r (with s possibly inverse) and A s(a; b), then r(a; b) 2 AO;k.</p>
          <p>If T B v 9r1 v : : : v 9rn v 9r and A B(a) then r(ar1:::rn ; ar1:::rnr) 2
AO;k, where k n 0 and ar1:::rn and ar1:::rnr are fresh individuals.
2. Lastly, we translate AO;k into the signature of , similarly as before. For
that, we assume that each individual in AO;k is a constant in K. We define
DA = tr(AO;k), where tr translates each assertion in AO;k as above.</p>
        </sec>
      </sec>
      <sec id="sec-4-8">
        <title>We formulate a minor adaptation of a well known result in the OMQ literature [14, 6].</title>
        <p>Lemma 3. Let (q; O) be a rooted DL-LiteR OMQ over the signature
ans(q; O; A) = ans(q; ;; AO;k).
. Then,</p>
        <sec id="sec-4-8-1">
          <title>If the template is rooted, then we can answer all (q; O) in the space by evaluating over D ;R [ DA. From Lemmas 2 and 3 we obtain:</title>
          <p>be rooted. Let q 2 QR, and let cq be the
-encoding of q.</p>
          <p>Theorem 1. Let
Then
a 2 ans(q; O; A) iff
query (cq; a) 2
(D ;R [ DA)
4.3</p>
          <p>Datalog Program to Compute Query Reformulations
Finally, we also define a set ref of Datalog rules that compute the minimal
strict reformulations of each query in the space, which are the most relevant
for exploration. The program ref is presented in Table 3. In a nutshell, it
derives atoms ming(cq; cq0 ) for tuples of -encodings of queries q; q0 such that
q0 2 minStrg (q; Q), and analogously for the specializations. For this, it relies on
finding pairAs cq and cq0 of -encodings that are the result of applying one
reformulation axiom such that query (cq; a) and :query (cq0 ; a). Using pairs of
strict reformulations and stratified negation, we can identify the reformuations
that are neutral, and again use negation to find the maximal neutral ones.</p>
          <p>Relying on Observation 1, it is not hard to prove that ref computes the
relevant reformulations that we use to explore the dataset:
Template i [ # atoms in i]</p>
          <p>Size of i = (Di) (MB)
# Queries in QRi with answers
Sum of answers over all queries</p>
          <p>s( i) / g( i)</p>
          <p>Computation of i(Di) (s)
Avg. retrieval of answers q 2 QRi (ms)
Avg. retrieval q0 2 minStrG=S(q) (ms)
((ba)) qq00 22 mmianxSNtreAxuxA(q(;qQ;Q))iffiffmminaxx(cx(qc;qc;qc0)q02) 2</p>
          <p>Theorem 2. Let Q = (QR; R) and let Dall = D ;R [ DA. For q; q0 2 Q, let
cq be -encoding of q and cq0 the -encoding of q0. Then, for x 2 fs; gg:
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Implementation and Evaluation</title>
      <sec id="sec-5-1">
        <title>We implemented our exploratory framework using Rulewerk Java API for VLog</title>
      </sec>
      <sec id="sec-5-2">
        <title>Datalog reasoner [10]. The implementation consists of a template parser and</title>
        <p>a translator of the template and rules of the encoding into Rulewerk syntax.
All experiments have been performed on a MacBook Pro (2.7 GHz i5 8GB)
using JavaSE 14.0.1 and Rulewerk version 0.5.03. We used the DBpedia ontology
and dataset, accessed via the endpoint4. We used one set R of reformulation
axioms with 336 axioms and assertions extracted from DBpedia. With its
signature and the DBpedia ontology, we computed the k-bounded -extension DA
using existential rules in VLog. The resulting dataset was computed relatively
fast, given that the data was remotely accessed, and it took in total about 3
minutes to materialize. The size of the extended dataset is around 700 MB. We
have designed templates of various sizes and shapes over the ontology vocabulary
containing classes such as: Events, Museums, ArtWorks, Organizations etc.,
properties startDateg; museums, hasLocations, headquarterg etc., and resources e.g.,
Parisg. The main goals of our evaluation were (a) to test the feasibility of our
framework in practice, in particular the tradeoff between the time to evaluate the</p>
      </sec>
      <sec id="sec-5-3">
        <title>Datalog program and the time to answer and compute query reformulations from</title>
        <p>the pre-computed model, and (b) to test if the template-generated query spaces
ensure a gradual navigation of the answers. For each input i we have measured:
jQRi j - number of generated queries with answers, total number of answers
captured by the query space, and as well as the computational time: to evaluate the</p>
      </sec>
      <sec id="sec-5-4">
        <title>Datalog program, average time to read the answers to queries and average time to compute reformulations from the compiled model. Then, for each query q, we</title>
        <p>3 https://github.com/knowsys/rulewerk
4 SPARQL endpoint: https://dbpedia.org/sparql
measure s(q) – the average number of answers that are droped by minStrAs(q),
respectively g(q) the average number of answers that minStrAg(q) ensures. Then,
for the entire query space, s( i) = (Pq2Q i s(q))=jQ i j measures the average
discarded answers when navigating the query space and similarly for g( i).
Table 4 summarizes our evaluation. Evaluating the Datalog program over the
materialized data is done within seconds for all the query spaces and depends on
the number of answers captured by the query space (i.e., the larger the number
of answers the longer it took to compile). Reading the answers to queries and
navigating the query space is done in less than 1 ms in all cases. The selectivity
and inclusivity of the minimal strict reformulations leads to a reasonably gradual
exploration of the data, relative to the number of answers captured by each space.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work and Conclusions</title>
      <p>
        In recent years, several exploratory search engines have been proposed to
support data access for different exploratory purposes. The basic idea at the core
of many of them is to guide the query formulation process, in a step-by-step
fashion. The many proposed techniques for exploring ontology-mediated data
include similarity-based methods such as [
        <xref ref-type="bibr" rid="ref17 ref21">17, 21</xref>
        ], and visual query languages [
        <xref ref-type="bibr" rid="ref18 ref19 ref4">4,
18, 19</xref>
        ], which include ontology reasoning with query language expresivity
ranging between tree-shaped CQs and monadic positive existential queries. More
recently, [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is able to cover formulation of SPARQL queries, however without
ontological reasoning. To abstract away the ontology reasoning step needed to
obtain complete answers, in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] a schema-agnostic approach to rewrite DL-LiteR
      </p>
      <sec id="sec-6-1">
        <title>OMQs into SPARQL 1.1. is proposed.</title>
        <p>
          Query generalizations have been proposed as a technique for interpreting
null answers (i.e., empty answers) in cooperative database systems [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The
considered generalizations are similar to the ones we propose, however they also
consider numeric comparisons, while we additionally consider the roll-up and
drill-down operations. In line with, [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], we propose a query template language
also designed to ease the process of constructing queries that allows to describe
a set of CQs that are semantically related via two types of taxonomies: concept
and role hierarchies, and dimensions. Then, navigating the query space is done
by moving from one query to another that minimally changes the answers. One
advantage of our approach is that it is implementable in Datalog. Evaluating the
obtained Datalog program is related to the problem of answering queries using
views, which has been intensively studied for relational data [
          <xref ref-type="bibr" rid="ref11 ref12">12, 11</xref>
          ]. As shown in
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], to answer OMQs using views, a different semantics to materialize the views
is needed. However, for DL-LiteR this can be done using existing techniques.
        </p>
      </sec>
      <sec id="sec-6-2">
        <title>From our preliminary evaluation on DBpedia using VLog reasoner, our ap</title>
        <p>proach seems feasible in practice, however an extended evaluation is part of
future work. It would also be interesting to exploit the compilation for
analytical purposes and to extend the reformulation rules to relate queries that have a
different structure.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Acknowledgements This work was supported by the Austrian Science Fund (FWF) projects P30360, P30873 and W1255.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Andresel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ibáñez-García</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ortiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simkus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Relaxing and restraining queries for OBDA</article-title>
          . In: AAAI. pp.
          <fpage>2654</fpage>
          -
          <lpage>2661</lpage>
          . AAAI Press (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Andresel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ibáñez-García</surname>
            ,
            <given-names>Y.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ortiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simkus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Taming complex role inclusions for DL-Lite</article-title>
          .
          <source>In: Description Logics. CEUR Workshop Proceedings</source>
          , vol.
          <volume>2211</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Apt</surname>
            ,
            <given-names>K.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blair</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walker</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Towards a Theory of Declarative Knowledge</article-title>
          , pp.
          <fpage>89</fpage>
          -
          <lpage>148</lpage>
          . Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Arenas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Cuenca</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Marciuska</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Zheleznyakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Faceted search over ontology-enhanced RDF data</article-title>
          .
          <source>In: Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management</source>
          . pp.
          <fpage>939</fpage>
          -
          <lpage>948</lpage>
          . CIKM '
          <volume>14</volume>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.F</given-names>
          </string-name>
          . (eds.):
          <article-title>The Description Logic Handbook: Theory, Implementation, and Applications</article-title>
          . Cambridge University Press, New York, NY, USA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bienvenu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ortiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simkus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Tractable queries for lightweight description logics</article-title>
          .
          <source>In: IJCAI</source>
          . pp.
          <fpage>768</fpage>
          -
          <lpage>774</lpage>
          . IJCAI/AAAI (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Bischof</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krötzsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rudolph</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Schema-agnostic query rewriting in SPARQL 1.1</article-title>
          . In: International Semantic Web Conference (
          <volume>1</volume>
          ).
          <source>Lecture Notes in Computer Science</source>
          , vol.
          <volume>8796</volume>
          , pp.
          <fpage>584</fpage>
          -
          <lpage>600</lpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Tractable reasoning and efficient query answering in description logics: The DL-Lite family</article-title>
          .
          <source>J. Autom. Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>View-based query answering in description logics: Semantics and complexity</article-title>
          .
          <source>J. Comput. Syst. Sci</source>
          .
          <volume>78</volume>
          (
          <issue>1</issue>
          ),
          <fpage>26</fpage>
          -
          <lpage>46</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Carral</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dragoste</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>González</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobs</surname>
            ,
            <given-names>C.J.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Krötzsch</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Urbani</surname>
          </string-name>
          , J.:
          <article-title>Vlog: A rule engine for knowledge graphs</article-title>
          .
          <source>In: ISWC (2). Lecture Notes in Computer Science</source>
          , vol.
          <volume>11779</volume>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>35</lpage>
          . Springer (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          :
          <article-title>Theory of answering queries using views</article-title>
          .
          <source>SIGMOD Rec</source>
          .
          <volume>29</volume>
          (
          <issue>4</issue>
          ),
          <fpage>40</fpage>
          -
          <lpage>47</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Halevy</surname>
          </string-name>
          , A.Y.:
          <article-title>Answering queries using views: A survey</article-title>
          .
          <source>VLDB J</source>
          .
          <volume>10</volume>
          (
          <issue>4</issue>
          ),
          <fpage>270</fpage>
          -
          <lpage>294</lpage>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Jung</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Least general generalizations in description logic: Verification and existence</article-title>
          .
          <source>In: AAAI 2020, Proceedings of the Thirty-Fourth AAAI Conference on Artificial Intelligence, Februrary</source>
          <volume>7</volume>
          -
          <issue>12</issue>
          ,
          <year>2020</year>
          , New York, New York, US (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The combined approach to query answering in DL-Lite</article-title>
          . In: KR. AAAI Press (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Martinenghi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Torlone</surname>
          </string-name>
          , R.:
          <article-title>Taxonomy-based relaxation of query answering in relational databases</article-title>
          .
          <source>VLDB J</source>
          .
          <volume>23</volume>
          (
          <issue>5</issue>
          ),
          <fpage>747</fpage>
          -
          <lpage>769</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Motro</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Query generalization: A method for interpreting null answers</article-title>
          .
          <source>In: Expert Database Workshop</source>
          . pp.
          <fpage>597</fpage>
          -
          <lpage>616</lpage>
          . Benjamin/Cummings (
          <year>1984</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Sabou</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ekaputra</surname>
            ,
            <given-names>F.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ionescu</surname>
            ,
            <given-names>T.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Musil</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schall</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haller</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Biffl</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Exploring enterprise knowledge graphs: A use case in software engineering</article-title>
          .
          <source>In: ESWC. Lecture Notes in Computer Science</source>
          , vol.
          <volume>10843</volume>
          , pp.
          <fpage>560</fpage>
          -
          <lpage>575</lpage>
          . Springer (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Sherkhonov</surname>
            ,
            <given-names>E.</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>Kostylev</surname>
            ,
            <given-names>E.V.</given-names>
          </string-name>
          :
          <article-title>Semantic faceted search with aggregation and recursion</article-title>
          .
          <source>In: International Semantic Web Conference (1). Lecture Notes in Computer Science</source>
          , vol.
          <volume>10587</volume>
          , pp.
          <fpage>594</fpage>
          -
          <lpage>610</lpage>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <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>
          ,
          <string-name>
            <surname>Jimenez-Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          , I.:
          <article-title>OptiqueVQS: Visual query formulation for OBDA</article-title>
          .
          <source>In: Proceedings of the 27th International Workshop on Description Logics (DL</source>
          <year>2014</year>
          ). vol.
          <volume>1193</volume>
          , pp.
          <fpage>725</fpage>
          -
          <lpage>728</lpage>
          . Vienna, Austria (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Vargas</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aranda</surname>
            ,
            <given-names>C.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hogan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>López</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>RDF explorer: A visual SPARQL query builder</article-title>
          .
          <source>In: ISWC (1). Lecture Notes in Computer Science</source>
          , vol.
          <volume>11778</volume>
          , pp.
          <fpage>647</fpage>
          -
          <lpage>663</lpage>
          . Springer (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Yahya</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berberich</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ramanath</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Exploratory querying of extended knowledge graphs</article-title>
          .
          <source>Proc. VLDB Endow</source>
          .
          <volume>9</volume>
          (
          <issue>13</issue>
          ),
          <fpage>1521</fpage>
          -
          <lpage>1524</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>