380 likes | 486 Views
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)
E N D
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) | (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) |
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.
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) |
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) |
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) |
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) |
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) |
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) |
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) |
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) |
New syntax (cont’d) Q ::= D as x | D ::= THING | C | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2 | 9R.THING | 8R.D | (D)
New syntax (cont’d) Q ::= D as x | D ::= > | C | ? | :C | C1uC2 | 8A.D | Pf1 = Pf2 | Pf1¹Pf2 | 9R.> | 8R.D | (D)
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).
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]
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.
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.
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}
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)
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 : ;
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)
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)
n : {C, :C } [L or n : {?} [L (remove all nodes and incident arcs) or m : L1 n : L2 The simple chase (cont’d)
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.
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.
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
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
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
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.
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.
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.
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.
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.
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.
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
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.
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.
Language extensions • Role constructors • Role value maps • Uniqueness constraints