<!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>SPARQL Update for Materialised Triple Stores under DL-LiteRDFS Entailment</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Albin Ahmeti</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Diego Calvanese</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Axel Polleres</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Computer Science, Free University of Bozen-Bolzano</institution>
          ,
          <addr-line>Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vienna University of Economics and Business</institution>
          ,
          <addr-line>Welthandelsplatz 1, 1020 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Vienna University of Technology</institution>
          ,
          <addr-line>Favoritenstraße 9, 1040 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Updates in RDF stores have recently been standardised in the SPARQL 1.1 Update specification. However, computing answers entailed by ontologies in triple stores is usually treated orthogonally to updates. Even W3C's SPARQL 1.1 Update language and SPARQL 1.1 Entailment Regimes specifications explicitly exclude a standard behaviour for entailment regimes other than simple entailment in the context of updates. In this paper, we take a first step to close this gap. We define a fragment of SPARQL basic graph patterns corresponding to (the RDFS fragment of) DL-Lite and the corresponding SPARQL update language, dealing with updates both of ABox and of TBox statements. We discuss possible semantics along with potential strategies for implementing them. Particularly, we treat materialised RDF stores, which store all entailed triples explicitly, and preservation of materialisation upon ABox and TBox updates.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The availability of SPARQL as a standard for accessing structured Data on the Web
may well be called one of the key factors to the success and increasing adoption of
RDF and the Semantic Web. Still, in its first iteration the SPARQL [23] specification
has neither defined how to treat ontological entailments with respect to RDF Schema
(RDFS) and OWL ontologies, nor provided means how to update dynamic RDF data.
Both these gaps have been addressed within the recent SPARQL 1.1 specification, which
provides both means to define query answers under ontological entailments (SPARQL 1.1
Entailment Regimes [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]), and an update language to update RDF data stored in a triple
store (SPARQL 1.1 Update [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]). Nonetheless, these specifications leave it open how
SPARQL endpoints should treat entailment regimes other than simple entailment in the
context of updates; the main issue here is how updates shall deal with implied statements:
– What does it mean if an implied triple is explicitly (re-)inserted (or deleted)?
– Which (if any) additional triples should be inserted, (or, resp., deleted) upon updates?
      </p>
      <p>
        For the sake of this paper, we address such questions with the focus on a deliberately
minimal ontology language, namely the minimal RDFS fragment of [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].4 As it turns out,
even in this confined setting, updates as defined in the SPARQL 1.1 Update specification
4 We ignore issues like axiomatic triples [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], blank nodes [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], or, in the context of OWL,
inconsistencies arising through updates [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Neither do we consider named graphs in SPARQL,
which is why we talk about “triple stores” as opposed to “graph stores” [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
denote role (or, property) names,  is a set of constants, and , 
we make use of similar abbreviations (sc, sp, dom, rng, a) introduced in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
∈  . For the RDF(S) vocabulary,
      </p>
      <sec id="sec-1-1">
        <title>TBox</title>
        <p>1  ′ ⊑  
2  ′ ⊑</p>
      </sec>
      <sec id="sec-1-2">
        <title>RDFS</title>
        <p>′ sc  .
′ sp  .
3
4</p>
      </sec>
      <sec id="sec-1-3">
        <title>TBox</title>
        <p>∃

⊑  
∃
 − ⊑</p>
      </sec>
      <sec id="sec-1-4">
        <title>RDFS</title>
        <p>dom  .
rng  .</p>
      </sec>
      <sec id="sec-1-5">
        <title>ABox</title>
        <p>( )</p>
      </sec>
      <sec id="sec-1-6">
        <title>RDFS</title>
        <p>
          a  .
5
6  (,  )  P  .
impose non-trivial challenges; in particular, specific issues arise through the interplay of
INSERT, DELETE, and WHERE clauses within a single SPARQL update operation, which
—to the best of our knowledge— have not yet been considered in this combination in
previous literature on updates under entailment (such as for instance [
          <xref ref-type="bibr" rid="ref11 ref5">5, 11</xref>
          ]).
Example 1. As a running example, we assume a triple store 
with RDF (ABox) data
and an RDFS ontology (TBox)  fam about family relationships (in Turtle syntax [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]),
where :hasP, :hasM, and :hasF denote the parent, mother, and father relations.
        </p>
      </sec>
      <sec id="sec-1-7">
        <title>ABox:</title>
        <p>TBox:
:joe :hasP :jack.
:Father sc :Parent.</p>
        <p>:joe :hasM :jane.</p>
        <p>:Mother sc :Parent.
:hasF sp :hasP.</p>
        <p>:hasM sp :hasP.</p>
        <p>:hasP rng :Parent; dom :Child.
:hasF rng :Father; dom :Child.
:hasM rng :Mother; dom :Child.</p>
        <p>The following query should return :jack and :jane as (RDFS entailed) answers:</p>
        <sec id="sec-1-7-1">
          <title>SELECT ?Y WHERE { :joe :hasP ?Y. }</title>
          <p>SPARQL engines supporting simple entailment would only return :jack, though.</p>
          <p>
            The intended behaviour for the query in Ex. 1 is typically achieved either (i) by
query rewriting techniques computing entailed answers at query run-time, or (ii) by
materialising all implied triples in the store, normally at loading time. That is, on
the one hand, borrowing from query rewriting techniques for DL-Lite (such as, e.g.,
PerfectRef [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ]) one can reformulate such a query to return also implied answers.
Example 2 (cont’d). The rewriting according to PerfectRef [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] of the query in Ex. 1
with respect to  fam as a DL TBox in SPARQL yields
          </p>
          <p>SELECT ?Y WHERE { {:joe :hasP ?Y}
Indeed, this query returns both :jane and :jack.</p>
        </sec>
        <sec id="sec-1-7-2">
          <title>UNION {:joe :hasF ?Y}</title>
        </sec>
        <sec id="sec-1-7-3">
          <title>UNION {:joe :hasM ?Y}}</title>
          <p>
            On the other hand, an alternative5 is to materialise all inferences in the triple store,
such that the original query can be used ’as is’, for instance using the minimalistic
inference rules for RDFS from [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]6 shown in Fig. 1.
          </p>
          <p>
            Example 3 (cont’d). The materialised version of 
would contain the following triples—
for conciseness we only show assertional implied triples here, that is triples from the
four leftmost rules in Fig. 1.
5 This alternative is viable for RDFS, but not necessarily for more expressive DLs.
6 These rules correspond to rules 2), 3), 4) of [
            <xref ref-type="bibr" rid="ref19">19</xref>
            ]; they suffice since we ignore blank nodes.
? sc ?. ? a ?.
          </p>
          <p>? a ?.
? sp ?. ? ? ?.</p>
          <p>? ? ?.</p>
          <p>? dom ?. ? ? ?.</p>
          <p>? a ?.
? rng ?. ? ? ?.</p>
          <p>? a ?.</p>
          <p>? sc ?. ? sc ?.</p>
          <p>? sc ?.
? sp ?. ? sp ?.</p>
          <p>? sp ?.
Example 4 (cont’d). The following operation tries to delete an implied triple and at the
same time to (re-)insert another implied triple.</p>
        </sec>
        <sec id="sec-1-7-4">
          <title>DELETE {?X a :Child} INSERT {?Y a :Mother} WHERE {?X :hasM ?Y}</title>
          <p>
            Existing triple stores offer different solutions to these problems, ranging from
ignoring entailments in updates altogether, to keeping explicit and implicit (materialised)
triples separate and re-materialising upon updates. In the former case (ignoring
entailments) updates only refer to explicitly asserted triples, which may result in non-intuitive
behaviours, whereas the latter case (re-materialisation) may be very costly, while still
not eliminating all non-intuitive cases, as we will see. The problem is aggravated by
no systematic approach to which implied triples to store explicitly in a triple store and
which not. In this paper we try to argue for a more systematic approach for dealing with
updates in the context of RDFS entailments; we will focus on materialised RDF stores,
which store all entailed ABox triples explicitly. We propose alternative update semantics
and discuss possible implementation strategies, partially inspired by query rewriting
techniques from ontology-based data access (OBDA) [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ] and DL-Lite [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ].
          </p>
          <p>
            In previous work [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ], we have also discussed reduced RDF Stores, i.e.,
redundancyfree RDF stores that do not store any assertional (ABox) triples already entailed by others,
which we omit here for space limits. Here we have added a more in-depth discussion on
the relation to DRed [
            <xref ref-type="bibr" rid="ref10 ref16 ref6">6, 10, 16, 25</xref>
            ], and we also discuss TBox updates.
2
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>We introduce some basic notions about RDF graphs, RDFS ontologies, and SPARQL
queries. Since we will draw from ideas coming from OBDA and DL-Lite, we introduce
these notions in a way that is compatible with DLs.</p>
      <p>Definition 1 (RDFS ontology, ABox, TBox, triple store). We call a set  of inclusion
assertions of the forms 1–4 in Table 1 an (RDFS) TBox (or ontology), a set  of
assertions of the forms 5–6 in Table 1 an (RDF) ABox, and the union  =  ∪  an
(RDFS) triple store.</p>
      <p>In the context of RDF(S), the set  of constants coincides with the set  of IRIs.
We assume the IRIs used for concepts, roles, and constants to be disjoint from IRIs of
the RDFS and OWL vocabularies.7 In the following, we view RDF and DL notation
interchangeably, i.e., we treat any RDF graph consisting of triples without non-standard
RDFS vocabulary as a set of TBox and ABox assertions. To define the semantics of
RDFS, we rely on the standard notions of (first-order logic) interpretation, satisfaction
of assertions, and model.</p>
      <p>As for queries, we again treat the cases of SPARQL and DLs interchangeably. Let 
be a countably infinite set of variables (written as ’?’ -prefixed alphanumeric strings).
Definition 2 (BGP, CQ, UCQ). A conjunctive query (CQ)  , or basic graph pattern
(BGP), is a set of atoms of the forms 5–6 in Table 1, where now ,  ∈  ∪  . A union of
conjunctive queries (UCQ)  , or UNION pattern, is a set of CQs. We denote with  ( )
(or  ( )) the set of variables from  occurring in  (resp.,  ).</p>
      <p>
        In this definition we are considering only CQs in which all variables are
distinguished (i.e., are answer variables), and such queries correspond to SPARQL basic graph
patterns (BGPs). Also, we allow only for restricted forms of general SPARQL BGPs
that correspond to standard CQs as formulated over a DL ontology; that is, we rule out
more complex patterns in SPARQL 1.1 [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] (such as OPTIONAL, NOT EXISTS, FILTER),
queries with variables in predicate positions, as well as “terminological” queries, e.g.,
{? sc ?. }. We will relax the latter restriction later (see Sec. 4). Also, we do not consider
here blank nodes separately8. By these restrictions, we can treat query answering and
BGP matching in SPARQL analogously and define it in terms of interpretations and
models (as usual in DLs). Specifically, an answer (under RDFS Entailment) to a CQ 
over a triple store  is a substitution  of the variables in  ( ) with constants in  such
that every model of  satisfies all facts in  . We denote the set of all such answers with
ansrdfs(,  ) (or simply ans(,  )). The set of answers to a UCQ  is ⋃︀  ∈ ans(,  ).
      </p>
      <p>
        From now on, let rewrite(,  ) be the UCQ resulting from applying PerfectRef [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]
to a CQ  and a triple store  =  ∪  , and let mat( ) be the triple store obtained
from exhaustive application on  of the inference rules in Fig. 1.
      </p>
      <p>
        The next result follow immediately from, e.g., [
        <xref ref-type="bibr" rid="ref11 ref19 ref4">4, 11, 19</xref>
        ] and shows that query
answering in RDFS can be done by either query rewriting or materialisation.
Proposition 1. Let  =  ∪  be a triple store,  a CQ, and  ′ the set of ABox
assertions in mat( ). Then, ans(,  ) = ans(rewrite(,  ),  ) = ans(,  ′).
      </p>
      <p>
        Various triple stores (e.g., BigOWLIM [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]) perform ABox materialisation directly
upon loading data. However, such triple stores do not necessarily materialise the TBox:
in order to correctly answer UCQs as defined above, a triple store actually does not need
to consider the two rightmost rules in Fig. 1. Accordingly, we will call a triple store or
(ABox) materialised if in each state it always guarantees  ∖  = mat( ) ∖ mat( ).
We observe that, trivially, a triple store containing no ABox statements is materialised.
      </p>
      <p>
        Finally, we introduce the notion of a SPARQL update operation.
7 That is, we assume no “non-standard use” [22] of these vocabularies. While we could assume
concept names, role names, and individual constants mutually disjoint, we rather distinguish
implicitly between them “per use” (in the sense of “punning” [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]) based on their position.
8 Blank nodes in a triple store may be considered as constants and we do not allow blank nodes
in queries, which does not affect the expressivity of SPARQL.
      </p>
      <p>Definition 3 (SPARQL update operation). Let   and   be BGPs, and   a BGP
or UNION pattern. Then an update operation  (  ,   ,   ) has the form
DELETE</p>
      <p>INSERT</p>
      <p>WHERE</p>
      <p>Intuitively, the semantics of executing  (  ,   ,   ) on  , denoted as   (  ,  ,  )
is defined by interpreting both   and   as “templates” to be instantiated with the
solutions of ans(  ,  ), resulting in sets of ABox statements   to be deleted from  ,
and   to be inserted into  . A naïve update semantics follows straightforwardly.
Definition 4 (Naïve update semantics). Let  =  ∪  be a triple store, and
 (  ,   ,   ) an update operation. Then, naive update of  with  (  ,   ,   ),
denoted   (  ,  ,  ), is defined as ( ∖   ) ∪   , where   = ⋃︀  ∈ans(  , ) gr (   ),
  = ⋃︀  ∈ans(  , ) gr (   ), and gr ( ) denotes the set of ground triples in pattern  .
As easily seen, this naïve semantics does not preserve materialisation.9
3</p>
    </sec>
    <sec id="sec-3">
      <title>Alternative Mat-Preserving Semantics for ABox Updates</title>
      <p>We investigate now alternative semantics for updates that preserve a materialised ABox
(or simply, mat-preserving semantics) and in how far these semantics can—similar to
query answering—be implemented on top of off-the-shelf SPARQL 1.1 triple stores.
Definition 5 (Mat-preserving semantics). Let  and  (  ,   ,   ) be as in Def. 4. An
Sem Sem
update semantics Sem is called mat-preserving, if   (  ,  ,  ) = mat(  (  ,  ,  )).
Specifically, we consider the following variants, given an update  (  ,   ,   ):
Sem0mat : as a baseline for a mat-preserving semantics, we apply the naïve semantics,
followed by (re-)materialisation of the whole triple store.</p>
      <p>
        Sem1mat : an alternative approach for a mat-preserving semantics is to follow the
socalled “delete and rederive” algorithm [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for deletions, that is: (i) delete the
instantiations of   plus “dangling” effects, i.e., effects of deleted triples that
after deletion are not implied any longer by any non-deleted triples; (ii) insert the
instantiations of   plus all their effects.
      </p>
      <p>Sem2mat : Another mat-preserving semantics could take a different viewpoint with
respect to deletions, following the intention to: (i) delete the instantiations of   plus
all their causes; (ii) insert the instantiations of   plus all their effects.
Sem3mat : Finally, a mat-preserving semantics could combine Sem1mat and Sem2mat
deleting both causes of instantiations of   and (recursively) “dangling” effects.10
The definition of semantics Sem0mat is straightforward.</p>
      <p>Definition 6 (Baseline mat-preserving update semantics). Let</p>
      <p>Sem0mat
be as in Def. 4. Then,   (  ,  ,  ) = mat(  (  ,  ,  )).
and  (  ,   ,   )
9 Consider, e.g., the update from Ex. 4 on the materialised store from Ex. 3.
10 Note the difference to the basic “delete and rederive” approach. Sem1mat in combination with
the intention of Sem2mat would also mean to recursively delete effects of causes, and so forth.</p>
      <p>Let us proceed with a “reality-check” on this semantics using our running example.
Example 5. Consider the update from Ex. 4. It is easy to see that under Sem0mat executed
on the materialised triple store of Ex. 3, it would not have any effect.</p>
      <p>As this behaviour is quite arguable, let us proceed with discussing the proposed
alternative mat-preserving update semantics, and how they could be implemented.</p>
      <p>
        As for Sem1mat , we rely on a well-known technique in the area of updates for
deductive databases called “delete and rederive” (DRed) [
        <xref ref-type="bibr" rid="ref10 ref16 ref6">6, 10, 16, 25</xref>
        ]. Informally
translated to our setting, when given a logic program 
set of facts   to be deleted and   to be inserted, DRed (i) first deletes   and all its
effects (computed via semi-naive evaluation [24]) from    , resulting in (   )′, (ii) then,
starting from (   )′, re-materialises ( ∖   ) ∪   (again using semi-naive evaluation).
      </p>
      <p>The basic intuition behind DRed of deleting effects of deleted triples and then
rematerialising can be expressed in our notation as follows; as we will consider a variant
of this semantics later on, we refer to this semantics as Sem1m at .
and its materialisation    , plus
Definition 7. Let 
 S(e m 1m, at ,  ) = mat( ∪
,  (  ,   ,   ),   , and   be defined as in Def. 4. Then
mat( ∪</p>
      <p>)) ∪   ).</p>
      <p>As opposed to the classic DRed algorithm, where Datalog distinguishes between
view predicates (IDB) and extensional knowledge in the Database (EDB), in our setting
we do not make this distinction, i.e., we do not distinguish between implicitly and
explicitly inserted triples. This means that Sem1m at would delete also those effects that
had been inserted explicitly before.
a distinction between explicitly and implicitly inserted triples.</p>
      <p>We introduce now a different variant of this semantics, denoted Sem1m at , that makes
Definition 8. Let  (  ,   ,   ) be an update operation, and 
=  ∪ 
∪  
a triple store, where</p>
      <p />
      <p>Sem1m at
triples. Then   (  ,  ,  ) =  ∪ 

′
and  
respectively denote the explicit and implicit ABox
∪  
′
, where   and   are defined as in
Def. 4,  
′
= ( 
∖   ) ∪   , and  
′
= mat( 
′
∪  ) ∖</p>
      <p>Note that in Sem1m at , as opposed to Sem1m at , we do not explicitly delete effects of
  from the materialisation, since the definition just relies on re-materialisation from
scratch from the explicit ABox</p>
      <p>′
still be used for computing Sem1m at as shown by the following proposition.</p>
      <p>
        . Nonetheless, the original DRed algorithm can
Proposition 2. Let us interpret the inference rules in Fig. 1 and triples in  respectively
as rules and facts of a logic program  ; accordingly, we interpret   and   from Def. 8
as facts to be deleted from and inserted into  , respectively. Then, the materialisation
computed by DRed, as defined in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], computes exactly  
′
.
      </p>
      <p>.</p>
      <p />
      <p>None of Sem0mat , Sem1m at , and Sem1m at are equivalent, as shown in Ex. 6.
Example 6. Given the triple store 
=
{:C sc :D . :D sc :E}, on which
we perform the operation INSERT{:x a :C, :D, :E.}, explicitly adding three
triples, and subsequently perform DELETE{:x a :C, :E.}, we obtain, according
to the three semantics discussed so far, the following ABoxes:
Sem0mat : {:x a :D. :x a :E.},
Sem1m at : {:x a :D. :x a :E.}.</p>
      <p>Sem1m at : {},
between these two is shown by the subsequent update DELETE{:x a :D.}:</p>
      <p>While after this update Sem0mat and Sem1m at deliver the same result, the difference
Sem0mat : {:x a :E.},</p>
      <p>Sem1m at : {},</p>
      <p>Sem1m at : {}.</p>
      <p>
        As for the subtle difference between Sem1m at and Sem1m at , we point out that none
of [
        <xref ref-type="bibr" rid="ref16">16, 25</xref>
        ], who both refer to using DRed in the course of RDF updates, make it clear
whether explicit and implicit ABox triples are to be treated differently.
      </p>
      <p>Further, continuing with Ex. 5, the update from Ex. 4 still would not have any effect,
neither using Sem1m at , nor Sem1m at . That is, it is not possible in any of these update
semantics to remove implicit information (without explicitly removing all its causes).</p>
      <p>Sem2mat aims at addressing this problem concerning the deletion of implicit
information. As it turns out, while the intention of Sem2mat to delete causes of deletions
cannot be captured just with the mat operator, it can be achieved fairly straightforwardly,
building upon ideas similar to those used in query rewriting.</p>
      <p>As we have seen, in the setting of RDFS we can use algorithm PerfectRef to expand
a CQ to a UCQ that incorporates all its “causes”. A slight variation can be used to
compute the set of all causes, that is, in the most naïve fashion by just “flattening” the set
of sets returned by PerfectRef to a simple set; we denote this flattening on a set  of sets
as flatten ( ). Likewise, we can easily define a modified version of mat( ), applied to
a BGP 
these considerations, we can thus define both rewritings that consider all causes, and
using a TBox</p>
      <p>11. Let us call the resulting algorithm matef (,  )12. Using
rewritings that consider all effects of a given (insert or delete) pattern  :
= matef (,  ).
of 
 as  ef
Definition 9 (Cause/Effect rewriting). Given a BGP insert or delete template  for
an update operation over the triple store 
, we define the all-causes-rewriting
as  caus = flatten (rewrite(,  )); likewise, we define the all-effects-rewriting of</p>
      <p>This leads (almost) straightforwardly to a rewriting-based definition of Sem2mat .
Definition 10. Let  (  ,   ,   ) be an update operation. Then</p>
      <p>Sem2mat
  (  ,  ,  ) =   (  caus,  ef ,{  }{  fvars})
where   fvars = {? a rdfs:Resource. | for each ? ∈ Var (  caus)
∖ Var (  )}.</p>
      <p>The only tricky part in this definition is the rewriting of the WHERE clause, where  
is joined13 with a new pattern 

fvars that binds “free” variables (i.e., the fresh variables
11 This could be viewed as simply applying the first four inference rules in Fig. 1 exhaustively to</p>
      <p>∪  , and then removing  .</p>
      <p>
        feasibility of this rewriting.
12 Note that it is not our intention to provide optimised algorithms here, but just to convey the
13 A sequence of ’{}’-delimited patterns in SPARQL corresponds to a join, where such joins can
again be nested with UNIONs, with the obvious semantics, for details cf. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
denoted by ‘_’ in PerfectRef ) in the rewritten DELETE clause,   caus. Here, ?x a
rdfs:Resource. is a shortcut for {{?x ?x ?x } UNION {?x ?x ?x } UNION
{?x ?x ?x}}, which binds ?x to any term occurring in  .
      </p>
      <p>Example 7. Getting back to the materialised version of the triple store  from Ex. 3, the
update  from Ex. 4 would, according to Sem2mat, be rewritten to</p>
      <p>DELETE {?X a :Child. ?X :hasF ?x1. ?X :hasM ?x2. ?X :hasP ?x3.}</p>
      <sec id="sec-3-1">
        <title>INSERT {?Y a :Mother. ?Y a :Parent. }</title>
      </sec>
      <sec id="sec-3-2">
        <title>WHERE {{?X :hasM ?Y.} {?x1 a rdfs:Resource.</title>
        <p>?x2 a rdfs:Resource. ?x3 a rdfs:Resource.}}
with  Sem2mat containing :jane a :Mother, :Parent. :jack a :Parent.</p>
        <p>It is easy to argue that Sem2mat is mat-preserving. However, this semantics might still
result in potentially non-intuitive behaviours. For instance, subsequent calls of INSERTs
and DELETEs might leave “traces”, as shown by the following example.
Example 8. Assume  =  fam from Ex. 1 with an empty ABox. Under Sem2mat, the
following sequence of updates would leave as a trace —among others— the resulting
triples as in Ex. 7, which would not be the case under the naïve semantics.</p>
      </sec>
      <sec id="sec-3-3">
        <title>DELETE{} INSERT {:joe :hasM :jane; :hasF :jack} WHERE{};</title>
      </sec>
      <sec id="sec-3-4">
        <title>DELETE {:joe :hasM :jane; :hasF :jack} INSERT{} WHERE{}</title>
        <p>Sem3mat tries to address the issue of such “traces”, but can no longer be formulated
by a relatively straightforward rewriting. For the present, preliminary paper we leave out
a detailed definition/implementation capturing the intention of Sem3mat; there are two
possible starting points, namely combining Sem1m at +Sem2mat, or Sem1m at +Sem2mat,
respectively. We emphasise though, that independently of this choice, a semantics that
achieves the intention of Sem3mat would still potentially run into arguable cases, since
it might run into removing seemingly “disconnected” implicit assertions, whenever
removed assertions cause these, as shown by the following example.</p>
        <p>Example 9. Assume a materialised triple store  consisting only of the TBox triples
:Father sc :Person, :Male . The behaviour of the following update sequence
under a semantics implementing the intention of Sem3mat is arguable:</p>
        <p>DELETE {} INSERT {:x a :Father.} WHERE {};</p>
        <p>DELETE {:x a :Male.} INSERT {} WHERE {};
We leave it open for now whether “recursive deletion of dangling effects” is intuitive: in
this case, should upon deletion of  being Male, also be deleted that  is a Person?</p>
        <p>In a strict reading of Sem3mat’s intention, :x a :Person. would count as a
dangling effect of the cause for :x a :Male., since it is an effect of the inserted triple with
no other causes in the store, and thus should be removed upon the delete operation.</p>
        <p>Lastly, we point out that while implementations of (materialised) triple stores may
make a distinction between implicit and explicitly inserted triples (e.g., by storing
explicit and implicit triples separately, as sketched in Sem1m at already), we consider the
distinction between implicit triples and explicitly inserted ones non-trivial in the context
of SPARQL 1.1 Update: for instance, is a triple inserted based upon implicit bindings in
the WHERE clause of an INSERT statement to be considered “explicitly inserted” or not?
We tend towards avoiding such distinction, but we have more in-depth discussions of
such philosophical aspects of possible SPARQL update semantics on our agenda.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>TBox Updates</title>
      <p>
        So far, we have considered the TBox as static. As already noted in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], additionally
allowing TBox updates considerably complicates issues and opens additional degrees of
freedom for possible semantics. While it is out of the scope of this paper to explore all
of these, we limit ourselves to sketch these different degrees of freedom and suggest one
pragmatic approach to extend updates expressed in SPARQL to RDFS TBoxes.
      </p>
      <p>In order to allow for TBox updates, we have to extend the update language: in the
following, we will assume general BGPs, extending Def. 2.</p>
      <p>Definition 11 (general BGP). A general BGP is a set of triples of any of the forms from
Table 1, where , , ,  ′, ,  ′ ∈  ∪  .</p>
      <p>We observe that with this relaxation for BGPs, updates as per Def. 3 can query TBox
data, since they admit TBox triples in   . In order to address this issue we need to also
generalise the definition of query answers.14
Definition 12. Let  be a union of general BGPs and [[ ]] the simple SPARQL
semantics as per [21], i.e., essentially the set of query answers obtained as the union of
answers from simple pattern matching of the general BGPs in  over the graph  . Then
we define ansRDFS(,  ) = [[ ]]mat( )</p>
      <p>In fact, Def. 12 does not affect ABox inferences, that is, the following corollary
follows immediately from Prop. 1 for non-general UCQs as per Def. 2.
Corollary 1. Let Q be a UCQ as per Def. 2. Then ansRDFS(, 
) = ansrdfs(, 
)</p>
      <p>
        As opposed to the setting discussed so far, where the last two rules in Fig. 1 used for
TBox materialisation were ignored, we now focus on the discussion of terminological
updates under the standard “intensional” semantics (essentially defined by the inference
rules in Fig. 1) and attempt to define a reasonable (that means computable) semantics
under this setting. Note that upon terminological queries, the RDFS semantics and DL
semantics differ, since this“intensional” semantics does not cover all terminological
inferences derivable in DL, cf. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]; we leave the details of this aspect to future work.
      </p>
      <p>Observation 1. TBox updates potentially affects materialisation of the ABox, that is,
(i) upon TBox insertions a materialised ABox might need to be re-materialised in order
to preserve materialisation. (ii) upon TBox deletions in a materialised setting, we have a
similar issue to what we called “dangling” effects earlier.</p>
      <p>
        Observation 2. Whereas deletions of implicit ABox triples can be achieved
deterministically by deleting all single causes, TBox deletions involving sc and sp chains
can be achieved in several distinct ways, as already observed by [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>Example 10. Consider the graph  = {:A sc :B. :B sc :C. :B sc :D.
:C sc :E. :D sc :E. :E sc :F.} with the update DELETE{:A sc :F.}</p>
      <p>Independent of whether we assume a materialised TBox, we would have various
choices here to remove triples, to delete all the causes for :A sc :F.
14 As mentioned in Fn. 7, elements of  may act as individuals, concept, or roles names in parallel.</p>
      <p>
        In order to define a deterministic semantics for TBox updates, we need a canonical
way to delete implicit and explicit TBox triples. Minimal cuts are suggested in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
in the sc (or sp, resp.) graphs as candidates for deletions of sc (or sp, resp.) triples.
However, as easily verified by Ex. 10, minimal multicuts are still ambiguous.
      </p>
      <p>
        Here, we suggest two update semantics using rewritings to SPARQL 1.1 property
path patterns [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] that yield canonical cuts.
      </p>
      <p>Definition 13. Let  (  ,   ,   ) be an update operation where   ,   ,   are general
BGPs. Then  S(e m om,uattcu,t  ) = mat(  (  ′ ,  ,  ′ )), where each triple { 1   2} ∈  
such that scp ∈ {sc, sp} is replaced within   ′ by { 1  ?. }, and we add to   ′ the
property path pattern { 1  ?. ?  *  2}. Analogously, Semimnactut is defined by
replacing {?   2} within   ′ , and adding { 1  * ?. ?   2} within   ′
instead.</p>
      <p>Both Semomuattcut and Semimnactut may be viewed as straightforward extensions of
Sem0mat, i.e., both are mat-preserving and equivalent to the baseline semantics for
non-general BGPs (i.e., on ABox updates):
Proposition 3. Let  (  ,   ,   ) be an update operation, where   ,   ,   are
(nongeneral) BGPs. Then   (  ,  ,  ) =  S(e m im,nactut,  ) =  S(e m 0m, at ,  )</p>
      <p>Semomuattcut</p>
      <p>
        The intuition behind Semmat is to delete for every deleted   . triple, all
directly outgoing  edges from  that lead into paths to  , or, resp., in Semmat all
directly incoming edges to  . This choice is motivated by the following proposition.
Proposition 4. Let  = DELETE {   }, and let  be a triple store with
materialised TBox  . Then, the TBox statements deleted by  S(e m om,uattcu,t  ) (or,  S(e m im,nactut,  ),
resp.) form a minimal cut [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] of  disconnecting  and  .
      </p>
      <p>The following example illustrates that the generalisation of Prop. 4 to updates
involving the deletion of several TBox statements at once does not hold.
Example 11. Assume the materialised triple store  = {:A scp :B,:C,:D. :B
scp :C, :D.} and  = DELETE{:A scp :C. :A scp :D.}. Here, Semimnactut
does not yield a minimal multicut in  wrt disconnecting (:A,:C) and (:A,:D).15</p>
      <p>As the example shows, the extension of the baseline ABox update semantics to TBox
updates already yields new degrees of freedom. We leave a more in-depth discussion of
TBox updates also extending the other semantics from Sec. 3 for future work.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Further Related Work and Possible Future Directions</title>
      <p>
        Previous work on updates in the context of tractable ontology languages such as
RDFS [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and DL-Lite [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] typically has treated DELETEs and INSERTs in isolation, but
15 An orthogonal example, where Semomuattcut would not yield a minimal multicut can be constructed
symmetrically.
not both at the same time nor in combination with templates filled by WHERE clauses,
as in SPARQL 1.1; that is, these approaches are not based on BGP matching but rather
on a set of ABox assertions to be updated known a priori. Pairing both DELETE and
INSERT, as in our case, poses new challenges, which we tried to address here in the
practically relevant context of materialised triple stores. In the future, we plan to extend
our work in the context of DL-Lite, where we could build upon thoroughly studied query
rewriting techniques (not necessarily relying on materialisation), and at the same time
benefiting from a more expressive ontology language. Expanding beyond our simple
minimal RDFS language towards more features of DL-Lite or coverage of unrestricted
RDF graphs would impose new challenges: for instance, consistency checking and
consistency-preserving updates (as those treated in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) do not yet play a role in the
setting of RDFS; extensions in these directions as well as practically evaluating the
proposed semantics on existing triple stores is on our agenda.
      </p>
      <p>
        In the area of database theory, there has been a lot of work on updating logical
databases: Winslett [26] distinguishes between model-based and formula-based updates;
our approach clearly falls in the latter category, more concretely, ABox updates could
be viewed as sets of propositional knowledge base updates [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] generated by SPARQL
instantiating DELETE/INSERT templates. Let us further note that in the more applied
area of databases, there are obvious parallels between some of our considerations and
CASCADE DELETEs in SQL (that is, deletions under foreign key constraints), in the sense
that we trigger additional deletions of causes/effects in some of the proposed update
semantics discussed herein.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>We have discussed the semantics of SPARQL 1.1 Update in the context of RDFS. To the
best of our knowledge, this is the first work to discuss how to combine RDFS with the
new SPARQL 1.1 Update language. While in this paper we have been operating on a
very restricted setting (only capturing minimal RDFS entailments, restricting BGPs to
disallow non-standard-use of the RDFS vocabulary), we could demonstrate that even
in this setting the definition of a SPARQL 1.1 Update semantics under entailments is a
non-trivial task. We proposed several possible semantics, neither of which might seem
intuitive for all possible use cases; this might well suggest that there is no
“one-size-fitsall” update semantics. Further, while ontologies should be “ready for evolution” [20],
we believe that more work into semantics for updates of ontologies alongside with
data (TBox &amp; ABox) is still needed to ground research in Ontology Evolution into
standards (SPARQL, RDF, RDFS, OWL), particularly in the light of the increased
importance that RDF and SPARQL are experiencing in dynamic domains where also
data is continuously updated (dealing with dynamics in Linked Data, querying sensor
data, or stream reasoning). We have taken a first step in the present paper.
Acknowledgements. This work has been funded by the Vienna Science and Technology
Fund (WWTF, project ICT12-015), by the Vienna PhD School of Informatics, and by
EU Project Optique (grant n. FP7-318338).
20. Noy, N.F., Klein, M.C.A.: Ontology evolution: Not the same as schema evolution. Knowledge
and Information Systems 6(4), 428–440 (2004)
21. Pérez, J., Arenas, M., Gutierrez, C.: Semantics and complexity of SPARQL. ACM Trans. on</p>
      <p>Database Systems 34(3), 16:1–16:45 (2009)
22. Polleres, A., Hogan, A., Delbru, R., Umbrich, J.: RDFS &amp; OWL reasoning for linked data.</p>
      <p>In: Reasoning Web. Semantic Technologies for Intelligent Data Access – 9th Int. Summer
School Tutorial Lectures (RW), Lecture Notes in Computer Science, vol. 8067, pp. 91–149.</p>
      <p>Springer (2013)
23. Prud’hommeaux, E., Seaborne, A.: SPARQL query language for RDF. W3C
Recommendation, World Wide Web Consortium (Jan 2008), available at http://www.w3.org/TR/
rdf-sparql-query
24. Ullman, J.D.: Principles of Database and Knowledge-Base Systems, vol. 1. Computer Science</p>
      <p>Press (1988)
25. Urbani, J., Margara, A., Jacobs, C.J.H., van Harmelen, F., Bal, H.E.: DynamiTE: Parallel
materialization of dynamic RDF data. In: Proc. of the 12th Int. Semantic Web Conf. (ISWC).</p>
      <p>Lecture Notes in Computer Science, vol. 8218, pp. 657–672. Springer (2013)
26. Winslett, M.: Updating Logical Databases. Cambridge University Press (2005)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Ahmeti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SPARQL update under RDFS entailment in fully materialized and redundancy-free triple stores</article-title>
          .
          <source>In: Proc. of the 2nd Int. Workshop on Ordering and Reasoning (OrdRing)</source>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berners-Lee</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prud</surname>
          </string-name>
          'hommeaux, E.,
          <string-name>
            <surname>Carothers</surname>
          </string-name>
          , G.:
          <article-title>RDF 1.1 Turtle - Terse RDF Triple Language</article-title>
          .
          <source>W3C Recommendation, World Wide Web Consortium (Feb</source>
          <year>2014</year>
          ), available at http://www.w3.org/TR/turtle/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bishop</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kiryakov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ognyanoff</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peikov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tashev</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Velkov</surname>
          </string-name>
          , R.:
          <article-title>OWLIM: A family of scalable semantic repositories</article-title>
          .
          <source>Semantic Web J</source>
          .
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <fpage>33</fpage>
          -
          <lpage>42</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</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. of Automated Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nutt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Evolution of DL-Lite knowledge bases</article-title>
          .
          <source>In: Proc. of the 9th Int. Semantic Web Conf. (ISWC)</source>
          . pp.
          <fpage>112</fpage>
          -
          <lpage>128</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Widom</surname>
          </string-name>
          , J.:
          <article-title>Deriving incremental production rules for deductive data</article-title>
          .
          <source>Information Systems</source>
          <volume>19</volume>
          (
          <issue>6</issue>
          ),
          <fpage>467</fpage>
          -
          <lpage>490</lpage>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Franconi</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutierrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mosca</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pirrò</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>The logic of extensional RDFS</article-title>
          .
          <source>In: Proc. of the 12th Int. Semantic Web Conf. (ISWC). Lecture Notes in Computer Science</source>
          , vol.
          <volume>8218</volume>
          , pp.
          <fpage>101</fpage>
          -
          <lpage>116</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Gearon</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Passant</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>SPARQL 1.1 update. W3C Recommendation, World Wide Web Consortium (Mar</source>
          <year>2013</year>
          ), available at http://www.w3.org/TR/ sparql11-update/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Glimm</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ogbuji</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>SPARQL 1.1 entailment regimes</article-title>
          .
          <source>W3C Recommendation, World Wide Web Consortium (Mar</source>
          <year>2013</year>
          ), available at http://www.w3.org/TR/ sparql11-entailment/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gupta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mumick</surname>
            ,
            <given-names>I.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Subrahmanian</surname>
            ,
            <given-names>V.S.:</given-names>
          </string-name>
          <article-title>Maintaining views incrementally</article-title>
          .
          <source>In: Proc. of the ACM SIGMOD Int. Conf. on Management of Data</source>
          . pp.
          <fpage>157</fpage>
          -
          <lpage>166</lpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Gutierrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hurtado</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaisman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Updating RDFS: from theory to practice</article-title>
          .
          <source>In: Proc. of the 8th Extended Semantic Web Conf. (ESWC)</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Harris</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SPARQL 1.1 query language</article-title>
          .
          <source>W3C Recommendation, World Wide Web Consortium (Mar</source>
          <year>2013</year>
          ), available at http://www.w3.org/TR/ sparql11-query
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>RDF semantics</article-title>
          .
          <source>W3C Recommendation, World Wide Web Consortium (Feb</source>
          <year>2004</year>
          ), available at http://www.w3.org/TR/rdf-mt/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Katsuno</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendelzon</surname>
            ,
            <given-names>A.O.:</given-names>
          </string-name>
          <article-title>A unified view of propositional knowledge base updates</article-title>
          .
          <source>In: Proc. of the 11th Int. Joint Conf. on Artificial Intelligence (IJCAI)</source>
          . pp.
          <fpage>1413</fpage>
          -
          <lpage>1419</lpage>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ontology-based data access with databases: A short course</article-title>
          .
          <source>In: Reasoning Web. Semantic Technologies for Intelligent Data Access - 9th Int. Summer School Tutorial Lectures (RW)</source>
          ,
          <source>LNCS</source>
          , vol.
          <volume>8067</volume>
          , pp.
          <fpage>194</fpage>
          -
          <lpage>229</lpage>
          . Springer (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Kotowski</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bry</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brodt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Reasoning as axioms change - Incremental view maintenance reconsidered</article-title>
          .
          <source>In: Proc. of the 5th Int. Conf. on Web Reasoning and Rule Systems (RR)</source>
          .
          <source>LNCS</source>
          , vol.
          <volume>6902</volume>
          , pp.
          <fpage>139</fpage>
          -
          <lpage>154</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Mallea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arenas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hogan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polleres</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On blank nodes</article-title>
          .
          <source>In: Proc. of the 10th Int. Semantic Web Conf. (ISWC)</source>
          .
          <source>LNCS</source>
          , vol.
          <volume>7031</volume>
          , pp.
          <fpage>421</fpage>
          -
          <lpage>437</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>On the properties of metamodeling in OWL</article-title>
          .
          <source>J. of Logic and Computation</source>
          <volume>17</volume>
          (
          <issue>4</issue>
          ),
          <fpage>617</fpage>
          -
          <lpage>637</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Muñoz</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pérez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gutiérrez</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Minimal deductive systems for RDF</article-title>
          .
          <source>In: Proc. of the 4th European Semantic Web Conf. (ESWC)</source>
          . pp.
          <fpage>53</fpage>
          -
          <lpage>67</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>