320 likes | 428 Views
SPARQL Update for Materialized Triple Stores under DL- Lite RDFS Entailment. Albin Ahmeti (TU Wien) Diego Calvanese ( Uni Bolzano) Axel Polleres (WU Wien). Motivation.
E N D
SPARQL Update for Materialized Triple Stores under DL-LiteRDFS Entailment Albin Ahmeti (TU Wien) Diego Calvanese (Uni Bolzano) Axel Polleres (WU Wien)
Motivation • Recent standardization of SPARQL 1.1 Update, and SPARQL 1.1 Entailment Regimes with triple stores implementing those standards (often done with materialization) • Query rewriting techniques already explored in the context of DL-Lite and OBDA… do they help us with updates as well? • Emerging the need for a more systematic approach of dealing with SPARQL 1.1 Update over ABoxes & TBox-es Nothing endures but change. - Heraclitus
DELETE { ?X a :Child . } INSERT { ?Y a :Mother . } WHERE { ?X :hasParent?Y . } Whatshould a triplestore do in such a situation? • Whatdoesitmeanto... • DELETE an implicittriple? • INSERT an alreadyimpliedtriple? • WHERE matching variables on implicittriples?
State of the art • What do off-the-shelf triple stores do? • Entailmenttypically only handled at (bulk) loading by materialization but not in the context of Updates. • no “standard” behavior for Delete&Insert upon materialized stores. • interplay of Entailments and Update left out in the SPARQL 1.1 spec. • Approaches in the literature on updates and RDFS (or also DLs) limited to atomic update operations… • [Gutierrez et al., ESWC2011] ABox deletions in the context of RDFS • [Calvanese et al., ISWC2010] ABox & TBox insertions in the context of DL-Lite (incl. inconsistency repair) …but no combined treatment of DELETE + INSERT + BGP matching in the WHERE clause as in SPARQL1.1 Update • Also related to our approach • Deductive DBs: [Gupta et al., SIGMOD93], Maintaining Views Incrementally • KB evolution, Belief revision, etc.: Various works in classical AI and philosophy
(Abox-)Materializedstores: [Munoz et al., ESWC2007] Minimal RDFS (ABox-) Inference Rules ... materialize(G)
SPARQL Query answeringunder RDFS Entailment: SELECT ?Y WHERE { { :joe:hasParent?Y . } UNION {:joe :hasMother ?Y . } UNION {:joe :hasFather?Y . } SELECT ?Y WHERE { :joe:hasParent?Y . } rewrite(q,T) ... ans(rewrite(q, T), G \ T) = ans(q, materialize(G) \ T) Wellknown: materialize(G)
What does that now mean for updates?Our Contribution: • Discuss possible update semantics in the context of materialized stores & RDFS. • Even in this restricted setting (RDFS) this turns out to be challenging: • Our setting: • In case of ABox updates, TBox fixed • Use "minimal"RDFS as TBox language (without axiomatic triples, blank nodes) … i.e., DL-LiteRDFS • Restrict on BGPs to only allow ABox Insert/Deletes INSERT {:joe :hasFather ?Y } WHERE {:joe :hasParent ?Y } INSERT {:joe ?Y :foo} WHERE {:joerdf:type ?Y }
Proposed ABox update semantics • Materialized-preserving semantics • Sem0 … baseline semantics • Sem1a • Sem1b • Sem2 … delete incl. causes and rewrite upon inserts • Sem3 … intuition: combination of Sem1 and Sem2 } inspired by DRed: delete incl. effects and rederive upon inserts
Baseline semantics • Sem0 • Naïve Update followed by re-materialization
Sem0: Naïve Update followed by re-materialization DELETE { ?X a :Child . } INSERT { ?Y a :Mother . } WHERE { ?X :hasParent?Y . } ... DELETE { :joea :Child . } INSERT { :janea :Mother . } ?X=:joe ?Y=:jane No effect! materialize(G)
Alternative Materialized-pres. semantics • Sem1a • “Delete and rederive” 1. Remove DELETEs triplesincl. Effects 2. INSERT triples 3. Re-materialize
Sem1a: Delete and rederive DELETE { :joe :hasMother :jane. } DELETE { :joe :hasMother :jane . :joe :hasParent :jane . :joe a Child . :janea Mother. :jane a Parent.} ... May be viewed quite "radical" materialize(G)
Sem1a: Delete and rederive DELETE { :joe :hasParent :jane. } DELETE { :joe :hasParent :jane . :joe a Child . :jane a Parent.} ... Again: no effect! materialize(G)
Alternative Materialized-pres. semantics • Sem1b • Variant of Sem1a, that makes a distinction between explicit and implicit triples • Re-materialization from scratch from
Sem1b: Delete and rederive with separating "explicit" and "implicit" ABox DELETE { :joe :hasParent :jane. } ... ABoxexpl Abox'impl ABoximpl Again: no effect! materialize(G)
Alternative Materialized-pres. semantics • Sem2 • Delete the instantiations of 𝑃𝑑plus all their causes; • Insert the instantiations of 𝑃𝑖plus all their effects.
Sem2 DELETE following INSERT is NOT idempotent!
Another alternative Materialized-pres. semantics • Sem3 • Idea: Combine Sem1and Sem2 , i.e. • Additionally (recursively) delete “dangling” effects for instantiations of 𝑃𝑑 • i.e. triples that would not be implied any longer by any non-deleted triples after deletion • No formalization given yet, but let’s check the intuition…
Recall: the intuition was to additionally delete triples that would not be implied any longer by any non-deleted triples after deletion.
TBox updates • In this setting • We expand BGPs to take into account TBox Inserts/Deletes – general BGPs • Tboxinserts are trivial in this setting of RDFS. • TBoxdeletions for RDFS are ambiguous (minimal cuts) [Gutierrez et al., ESWC2011] • Opens various degrees of freedom… What if we consider a materialized Tbox? • We also use two RDFS rules for TBox materialization. DELETE {:A rdfs:subClassOf ?C . }
Proposed TBox update semantics • For materialized Tboxes, we define a canonical way to delete explicit and implicitTBox triples • Outbound cut • For each triple , where • we replace with: • add to
Proposed TBox update semantics DELETE { :A rdfs:subClassOf :F. } DELETE { :A rdfs:subClassOf?X. } WHERE { :Ardfs:subClassOf?X . ?X rdfs:subClassOf* :F. } • Outbound cut: Intuition Idea: Can be implemented with SPARQL 1.1 property paths
Analogous alternative: Semincut DELETE { ?Xrdfs:subClassOf :F. } WHERE { :A rdfs:subClassOf* ?X . ?X rdfs:subClassOf :F. } • Inbound cut: Intuition
Prototype & Evaluation • A prototype is available in Java using Jena API implementing the proposed update semantics • http://dbai.tuwien.ac.at/user/ahmeti/sparqlupdate-rewriter/index.html
Conclusions • This preliminary research is the first step to close the gap left by the current standards (SPARQL1.1 Update vs. SPARQL1.1 Entailment Regimes) • We looked into various materialized preserving semantics • Seemingly no “one-size fits all” semantics • Non-intuitive corner cases in each semantics depends on use case? • SPARQL 1.1 Update, i.e. pairing DELETE and INSERT templates with a common WHERE clause (BGP matching) imposes a non-trivial challenge!
Future work • Extend with OWL QL/RL features for expressing TBox • Benefit from a more expressive query language • Exploit different Query rewriting algorithms? Optimisations • Imposes new challenges such as dealing with inconsistencies • Discuss complexity • Implementation and evaluation of proposed update semantics against different triple stores