1 / 38

Topics covered

Topics covered. Introduction to description logic: Single column QL The ALC family of dialects Terminologies Language extensions. Single column QL. D ::= THING | C Q ::= D as x | (empty x) | (THING as x minus C as x)

infinity
Télécharger la présentation

Topics covered

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Topics covered • Introduction to description logic: Single column QL • The ALC family of dialects • Terminologies • Language extensions

  2. Single column QL D ::= THING | C Q ::= D as x | (empty x) | (THING as x minus C as x) | (from Q1, Q2) | (elim x from x.A = y, elim y from y = x, Q) | (x.Pf1 = x.Pf2) | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  3. Initial analysis The language L2 consists of all formulae of FOPC with equality and constant functions that use at most two distinct variables. Theorem: The satisfiability problem for L2 is NEXPTIME-complete. Corollary: The query containment problem for single column QL is decidable for queries that are attribute free.

  4. New syntax (cont’d) D ::= THING | C Q ::= D as x | ?, | (empty x) | (THING as x minus C as x) | (from Q1, Q2) | (elim x from x.A = y, elim y from y = x, Q) | (x.Pf1 = x.Pf2) | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  5. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C, | (THING as x minus C as x) | (from Q1, Q2) | (elim x from x.A = y, elim y from y = x, Q) | (x.Pf1 = x.Pf2) | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  6. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C | C1uC2, | (from Q1, Q2) | (elim x from x.A = y, elim y from y = x, Q) | (x.Pf1 = x.Pf2) | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  7. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C | C1uC2 | 8A.D , | (elim x from x.A = y, elim y from y = x, Q) | (x.Pf1 = x.Pf2) | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  8. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 , | (x.Pf1 = x.Pf2) | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  9. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2, | (THING as x minus x.Pf1 = x.Pf2) | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  10. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2 | 9R.THING, | (elim x x.R = y) | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  11. New syntax (cont’d) D ::= THING | C Q ::= D as x | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2 | 9R.THING | 8R.D, | (THING as x minus elim x from x.R = y, elim y from y = x, THING as x minus Q) | 

  12. New syntax (cont’d) Q ::= D as x |  D ::= THING | C | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2 | 9R.THING | 8R.D | (D)

  13. New syntax (cont’d) Q ::= D as x |  D ::= > | C | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2 | 9R.> | 8R.D | (D)

  14. Concept dependencies On terminology and notation: We call an instance of the language generated by D for a given DL a concept. A concept inclusion dependencyC for a given DL is written D1vD2 and corresponds to the query containment dependency (D1 as x) v (D2 as x). A concept definitionC for a given DL is written C´D and corresponds to the query equivalence dependency (C as x) ´ (D as x).

  15. CLASSIC† (our first DL) (syntax) (semantics) D ::= (universal concept) | >D (primitive concept) | C (C)I (bottom concept) | ? ; (atomic negation) | :C D – (C)I (intersection) | D1uD2 (D1)IÅ (D2)I (attribute value restriction) | 8A.D {e : (A)I(e) 2 (D)I} (path agreement) | Pf1 = Pf2 {e : (Pf1)I(e) = (Pf2)I(e)} (path disagreement) | Pf1¹Pf2 {e : (Pf1)I(e) ¹ (Pf2)I(e)} (existential quantification) | 9R.D{e1 : 9e2 : (e1, e2) 2 (R)I Æe22 (D)I} (role value restriction) | 8R.D {e1 : 8(e1, e2) 2 (R)I : e22 (D)I} | (D) †[Borgida and Patel-Schneider, 1994]

  16. Concept dependencies (cont’d) The concept inclusion problem for a given DL is to determine if a concept inclusion dependency in the DL, D1vD2, is an axiom; that is, to determine if (D1)Iµ (D2)I for any database I. Theorem: The concept inclusion problem for CLASSIC is solvable in low order polynomial time.

  17. An efficient decision procedure • Theorem: The following procedure decides if C = (D1vD2) is an • axiom for CLASSIC, and can be implemented in low order polynomial • time. • Create a partial database I1 consisting of a single individual e in concept D1. Perform a simple chase of I1 to obtain a partial database I2. • Return true if the domain of I2 is empty, or if the tuple • hx : e , cnt : 1i • occurs in «D2 as x¬(I2)†; otherwise return false. • †Use forced semantics for agreements and disagreements.

  18. A n1 : L n2 : {D} The simple chase n : {D1tD2} [L n : {D1, D2} [L n1 : {8A.D} [L R n1 : {9R.D} [L n1 : L n2 : {D}

  19. R n1 : {8R.D} [L1 n2 : L2 n : {A1.A2.  .Ar = B1.B2.  .Bs} [L A1 A2 Ar R n : L u1 : ; L ur : ; n1 : L1 n2 : {D} [L2 B1 B2 Bs v1 : ; L vs : ; The simple chase (cont’d)

  20. A A w : L w : L u : L1 u : L1 A A v : L2 v : L2 The simple chase (cont’d) n : {A1.A2.  .Ar ¹B1.B2.  .Bs} [L A1 A2 Ar n : L u1 : ;  ur : ; B1 B2 Bs v1 : ;  vs : ;

  21. A A u : L1 v : L3 u : L1 v : L3 n1 : L1 n2 : L2 n1 : L1[L2 n2 : L1[L2 A A w : L2 x : L4 w : L2 x : L4 n1 : L1 n2 : L2 n3 : L3 n1 : L1 n2 : L2 n3 : L3 The simple chase (cont’d)

  22. A A w : L u : L1 w : {?} u : L1 A A v : L2 v : L2 A A u : L1 v : L3 u : L1 v : L3 A A w : L2 x : L4 w : L2 x : L4 The simple chase (cont’d)

  23. n : {C, :C } [L or n : {?} [L (remove all nodes and incident arcs) or m : L1 n : L2 The simple chase (cont’d)

  24. Evaluating agreements and disagreements Note that agreements and disagreements can navigate missing attribute values. In such cases, assume a forced semantics. In particular, a node n satisfies an agreement iff the agreement has the form Pf1.Pf = Pf2.Pf where (Pf1)I(n) and (Pf2)I(n) are defined and lead to nodes connected by an equality arc; n satisfies a disagreement iff it has the form Pf1 = Pf2 where (Pf1)I(n) and (Pf2)I(n) are defined and lead to nodes connected by an inequality arc.

  25. Example select e from EMP as e where e = e.b.b.b and e = e.b.b.b.b.b @ (from (EMP as x), (from (x = x.b.b.b), (x = x.b.b.b.b.b))) ´ EMP u (id = b.b.b) u (id = b.b.b.b.b) as x @EMP u (id = b.b.b) u (id = b.b.b.b.b) ´ EMP u (id = id.b) @EMP u (id = b) as x) @select e from EMP as e where e = e.b Observation: The chase decision procedure for CLASSIC can be implemented in O(n log n) time, where n is the length of the component descriptions.

  26. The ALC family of DLs (syntax) (semantics) D ::= (primitive concept) | C (C)I (universal concept) | > D (bottom concept) | ? ; (atomic negation) | :C D – (C)I (intersection) | D1uD2 (D1)IÅ (D2)I (role value restriction) | 8R.D {e1 : 8(e1, e2) 2 (R)I : e22 (D)I} (limited existential quantification) | 9R.> {e1 : 9e2 : (e1, e2) 2 (R)I Æe22 (D)I} (union) | D1tD2 (D1)I[ (D2)I (full existential quantification) | 9R.D {e1 : 9e2 : (e1, e2) 2 (R)I Æe22 (D)I} (quantified number restriction) | (>n R) {e1 : |{e2 : (e1, e2) 2 (R)I}| ¸n} (quantified number restriction) | (6n R) {e1 : n¸ |{e2 : (e1, e2) 2 (R)I}|} (full negation) | :D D – (D)I

  27. The ALC family of DLs (cont’d) FL0FL–ALALN D ::= Cp p p p | >p p p | ?p p p | :Cpp | D1uD2p p p p | 8R.Dp p p p | 9R.>ppp | D1tD2 | 9R.D | (>n R) p | (6n R) p | :D

  28. The ALC family of DLs (cont’d) ALU ALEALUEALCALCN D ::= Cp p p p p | >pp p p p | ?pp p p p | :Cppppp | D1uD2p p p p p | 8R.Dp p p p p | 9R.>ppppp | D1tD2pp±p | 9R.Dpp±p | (>n R) p | (6n R) p | :D±pp

  29. Some complexity results Theorem: The concept inclusion problems for ALC and ALCN are PSPACE-complete. A consistency problem for a given set of concepts is to determine if there exists a database that interprets a given member of the set as nonempty. Observation: The consistency problem for ALC (resp. ALCN ) coincides with the concept inclusion problem for ALC (resp. ALCN ). In particular, D1vD2 is an axiom iff the concept (D1u:D2) is not consistent.

  30. Testing consistency in ALC • Theorem: The following procedure decides if a given concept D in ALC • is consistent. • Create a singleton set S1 = {I} of partial databases in which I consists of a single individual e in concept D. Perform a union generalized chase of S1 to obtain a set of partial databases S2 = {I1, … , In}. • Return true if the domain of any database in S2 is nonempty; otherwise return false.

  31. e : {D1tD2} [L e : {D1} [L e : {D2} [L (old node n in I) (new node n in I1) (new node n in I2) Union generalized chase • Repeatedly do the following to a given set of partial databases S until no • changes occur. • Apply the simple chase augmented with the negation rule to a member of S. • If S contains a partial database I that in turn contains a node n with the form on the left below, then replace I with two partial databases I1 and I2 in S in which the labeling of node n is revised to the forms on the right below.

  32. The negation rule Exhaustively apply the following rewrites to the concept labeling for any given node:† :>)? :?)> ::D)D :(D1uD2) ) (:D1) t (:D2) :8A.D)8A.:D :8R. D)9R.:D :9R. D)8R.:D :(D1tD2) ) (:D1) u (:D2) †Obtains negation normal form for concept descriptions.

  33. A general membership problem A database schema T that consists of concept dependencies in which no primitive concept occurs more than once on the left-hand-side of a concept definition is called a terminology. The membership problem for a DL dialect is to determine, given a set {C1, … , Cn, C} of concept dependencies in the DL, if {C1, … , Cn} ²C; that is, if every database I that models each Ci also models C. Theorem: The membership problem for CLASSIC is undecidable. Theorem: The membership problem for ALCN is DEXPTIME-complete.

  34. Varieties of terminologies A terminology T with only concept definitions is definitional. For each C1´D occurring in a terminology T and each primitive concept C2 occurring in D, C1 has a direct use of C2. The use relation is the transitive closure of direct use. T is cyclic iff there exists an atomic concept in T that has a use of itself. T is acyclic iff it is definitional and is not cyclic.

  35. An acyclic terminology in ALC WOMAN ´ PERSON u FEMALE MAN ´ PERSON u:WOMAN MOTHER ´ WOMAN u9hasChild.PERSON FATHER ´ MAN u9hasChild.PERSON PARENT ´ FATHER t MOTHER GRANDMOTHER ´ MOTHER u9hasChild.PARENT MOTHERWITHMANYCHILDREN ´ MOTHER u> 3 hasChild MOTHERWITHOUTDAUGHTER ´ MOTHER u8hasChild.:WOMAN WIFE ´ WOMAN u9hasHusband.MAN

  36. More complexity results Theorem: The membership problem for FL0 with acyclic terminologies is CoNP-complete. Theorem: The membership problem for ALC with acyclic terminologies is PSPACE-complete. The DL ALCF extends ALC with agreements and disagreements of path functions. Theorem: The concept inclusion problem for ALCF is PSPACE-complete. Theorem: The membership problem for ALCF with acyclic terminologies is NEXPTIME-complete.

  37. Blocking • Theorem: The membership problem for ALCN is DEXPTIME-complete. • The membership problem for ALCN can be solved by a refinement of the • consistency checking algorithm for concepts in ALC. There are two • important tricks to note. • Each concept dependency occurring in the terminology, e.g. D1vD2, is internalized to each new node by adding a corresponding concept, e.g. (:D1tD2), to the node’s label. • To ensure termination, no chasing is performed on blocked nodes. A node is blocked if its concepts are included in an older node.

  38. Language extensions • Role constructors • Role value maps • Uniqueness constraints

More Related