Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 How to decide Query Containment under Constraints using a Description Logic Ian Horrocks, Ulrike Sattler, Sergio Tessaris, and Stephan Tobies presented.

Similar presentations


Presentation on theme: "1 How to decide Query Containment under Constraints using a Description Logic Ian Horrocks, Ulrike Sattler, Sergio Tessaris, and Stephan Tobies presented."— Presentation transcript:

1 1 How to decide Query Containment under Constraints using a Description Logic Ian Horrocks, Ulrike Sattler, Sergio Tessaris, and Stephan Tobies presented by Axel Polleres http://citeseer.ist.psu.edu/horrocks99how.html

2 2 Overview A decision Procedure for deciding conjunctive query containment over DLR (a description logic with n-ary relations) with respect to a given DLR Knowledge base. Reduction from Query containment to DLR ABox Satisfiability Reduction from DLR satisfiability to SHIQ satisfiability  FaCT shall be used to solve query containment!

3 3 The Logic DLR Given a set of concept names NC and relation names NR where each relation has an associated arity n Syntax: Semantics (given an interpretation I, domain Δ ): Note that T n is not necessarily a the set of all tuples of arity n but can only be a subset and the negation of R with arity n is relative to T n.

4 4 Queries ans(x) :- term 1 (x,y,z), term 2 (x,y,z), …, term n (x,y,z). where x is a set of distinguished variables, y is a set of non-distinguished variables and c is a set of constants, and the term i are atoms of the form C(w) or R(w 1, … w n ) with w i from x,y,z Problem setting: Decide whether a query Q1 is entailed by a query Q2 (with the same x), wrt. to a DLR Schema (i.e. TBox) S

5 5 DLR Example Schema S (i.e., TBox): (bus_route ⊓ ($1/3:city_bus)) ⊑ city_bus_route city_bus_route ⊑ (bus_route ⊓ ($1/3:city_bus)) "city_bus_routes are the bus_routes where the first argument is a city_bus" Query q1: Query q2: Are obviously equivalent, i.e. q1 is contained in q2 and vice versa wrt. Schema S

6 6 SHIQ Description Logic with concepts, only binary relations, qualifying number restrictions, transitive roles, inverse roles and role inclusion… Syntax:, R - Semantics (wrt. Interpretation I, domain Δ ):

7 7 How to proceed? Step: Transforming Query containment into ABox inclusion Step 2: Transforming ABox inclusion into ABox Satisfiability Step 3: Transforming DLR satisfiability to SHIQ satisfiability

8 8 Transforming Query containment into ABox inclusion Given two DLR ABoxes A, A', and a DLR schema S we write: " A is included in A' wrt. S " iff every model of can be extended to A'. We want to achieve a transformation Q1  A, Q2  A' such that Query containmaint is reduced to ABox inclusion.

9 9 Transforming Query containment into ABox inclusion canonical ABox and completed canonical Abox for a query: We get (Theorem): Remark: ensures that different constants in q cannot have the same interpretation (i.e., UNA?)

10 10 Transforming ABox inclusion into ABox Satisfiability If the completed canonical Abox of q2 would only consist of membership assertions of concepts, it would be easy i.e. checking would amount to checking for all in that: i.e is unsatisfiable. However, (remember slide 3) negation is "weakly" defined by T n for relations, so we can't do this for the in  Solution: collapse the into concepts!

11 11 Collapsing into a set of concept assertions: Step A: Collapse all w:C, w:D and (w:R, w:S, resp.) such that there is only a single concept per tuple, i.e. {w:X, w:Y}  {w:(X ⊓ Y)}. Step B: Collapse w i :C into (w 1,… w i,…, w n ):R {w i :C, (w 1,… w i,…, w n ):R}  {(w 1,… w i,…, w n ) : (R ⊓ $i:C)} Step C: Collapse each remaining w:R into a concept: {(w 1,… w i,…, w n ):R}  {w i : (  [$i](R ⊓ ⊓ ($j/n:Pwj)) Choose a feasible traversal of the query graph, such that with each w i :C from Step C we can go back to Step B, apply recursively. Finally, having collapsed we can decide the containment using KB satisfiability in DLR 1≤j≤n,j≠i

12 12 Our Example: Remaining problem: cycles! The placeholders for non-distinguished variables (P z2 and P z1 ) have to be replaced! Why? If a non-distinguished variable occurs only once, then this can be safely replcaced by T But: in any other case (occuring from a cycle in the query) any P w from A 1 has to be tested. E.g. here, P z2 can be replaced by T, but for P z1 unsatisfiability has to be tested for any of P n, P y1, P y2

13 13 Transforming DLR Satisfiability into SHIQ Satisfiability By reification of each distinct n-ary tuple in the DLR ABox A Introduce decicated functional relations f 1, f 2, … f n which link to the elements of every tuple. (Skipped the technical details of the translation here, datails to be found in the paper).

14 14 Conclusions, Open Questions This is basically conjunctive Query containment plus DLR. Decidability has already been shown erlier, by [Calvanese, DeGiacomo, Lenzerini, 1998] The paper shows how DL-reasoners (for SHIQ) can be used for this, solving the problem in EXPTime – cheaper for acyclic queries! – Feasible if number of cycles/number of variables+constants in Q1 is small. Due to limited/slow ABox-reasoning in FaCT, FaCT is not generally usable. In principle nice, can possibly be similarly implemented using a prolog system?

15 15 Usable for WSML If we stay within SHIQ, and only allow conjunctive (non-recursive) queries, yes. Otherwise, not so easy...


Download ppt "1 How to decide Query Containment under Constraints using a Description Logic Ian Horrocks, Ulrike Sattler, Sergio Tessaris, and Stephan Tobies presented."

Similar presentations


Ads by Google