180 likes | 294 Views
Topics covered. ( class assignment ) SHIQ (from [Horrocks, Sattler and Tobies]). QL dependencies to DLA dependencies. ( class assignment ). ( select name, age from EMP where loc = ‘Waterloo’ ) ´ ( select name, age from WATEMP ) ( select name from EMP
E N D
Topics covered • (class assignment) • SHIQ (from [Horrocks, Sattler and Tobies])
QL dependencies to DLA dependencies (class assignment) ( select name, age from EMP where loc = ‘Waterloo’ ) ´ ( select name, age from WATEMP ) ( select name from EMP where loc = ‘Toronto’ ) ´ ( select name from TOREMP ) ( select name from EMP ) ´ ( select name from WATEMP ) union all ( select name from TOREMP )
Dependency translation (cont’d) WEMP ´ EMP u (8loc.WATERLOO) WEMP v (> 1 eref) (8eref.WEMP) v C1 C1 v (8eref.WEMP) u (8wref.WATEMP) C1 v (C1:eref ! id) u (C1:wref ! id) C1 v (eref.name = wref.name) u (eref.age = wref.age) WATEMP v (> 1 wref) (8wref.WATEMP) v C1 TEMP ´ EMP u (8loc.TORONTO) TEMP v (> 1 eref) (8eref.TEMP) v C2 C2 v (8eref.TEMP) u (8tref.TOREMP) C2 v (C2:eref ! id) u (C2:tref ! id) C2 v (eref.name = tref.name) TOREMP v (> 1 tref) (8tref.TOREMP) v C2
Dependency translation (cont’d) EMP v (WEMP t TEMP) WATERLOO v STR u (:TORONTO) u (WATERLOO:! id) TORONTO v STR u (:WATERLOO) u (TORONTO:! id) ¤v8waterloo.WATERLOO ¤v8toronto.TORONTO
Another approach WEMP ´ EMP u (8loc.WATERLOO) WEMP v (8wref.WATEMP) u (WEMP:wref ! id) WATEMP v (8eref.WEMP) u (WATEMP:eref ! id) WATEMP v (name = eref.name) u (age = eref.age) TEMP ´ EMP u (8loc.TORONTO) TEMP v (8tref.TOREMP) u (TEMP:tref ! id) TOREMP v (8eref.TEMP) u (TOREMP:eref ! id) TOREMP v (name = eref.name) EMP v (WEMP t TEMP) WATERLOO v STR u (:TORONTO) u (WATERLOO:! id) TORONTO v STR u (:WATERLOO) u (TORONTO:! id) ¤v8waterloo.WATERLOO ¤v8toronto.TORONTO
Dialect SHIQ The S part stands for ALC plus transitive roles R+µR. Also introduces inverse roles. • SI roles consist of (R[ {R- : R2R}) • Inv(R) = R-; Inv(R-) = R. • Trans(R) = true iff R2R+ or Inv(R) 2R+ The H part means that we allows role inclusion axiomsR1vR2. Given a set R of role inclusion axioms, define the role hierarchy R+´ (R[ {Inv(R1) vInv(R2) : R1vR22R}, v*) where v* is the reflexive transitive closure of v over R[ {Inv(R1) vInv(R2) : R1vR22R}.
(universal concept)>D (primitive concept)C (C)I (transitive role)R2R+ (R)I = ((R)I )+ (negation):D D – (D)I (intersection)D1uD2 (D1)IÅ (D2)I S (union)D1tD2 (D1)I[ (D2)I (role value restriction)8R.D {e1 : 8e2: (e1, e2) 2 (R)I! e22 (D)I} (role existence)9R.D {e1 : 9e2: (e1, e2) 2 (R)IÆ e22 (D)I} (role hierarchy)R1vR2 (R1)Iµ (R2)I H (inverse role) R-{(e2, e1) : (e1, e2) 2 (R)I} I (number restriction) (>n R) {e1 : |{e2 : (e1, e2) 2 (R)I}| ¸n} N (number restriction) (6n R) {e1 : n¸ |{e2 : (e1, e2) 2 (R)I}|} (qualifiednumber restriction) (>n R D) {e1 : |{e2 : (e1, e2) 2 (R)IÆe22 (D)I}| ¸n} Q (qualified number restriction) (6n R D) {e1 : n¸ |{e2 : (e1, e2) 2 (R)I Æe22 (D)I}|} Dialect SHIQ (cont’d)
Dialect SHIQ (cont’d) An interpretation Isatisfies a role hierarchyR+ iff (R1)Iµ (R2)I for each R1v* R22R+. Concept D is satisfiable with respect to role hierarchyR+ iff there exists I that satisfies R+ and for which (D)I¹;.
Internalization in SHIQ Given terminology T, role inclusion axioms R, SHIQ concept D and transitive role U not occurring in T, D or R, define DT´u {:D1tD2 : D1vD22T } and RU´R[ {RvU, Inv(R) vU : R occurs in T, D or R}. Then D is satisfiable with respect to T and R+ iff DuDTu8U.DT is satisfiable with respect to (RU)+.
Reasoning in SHIQ Based on an extension of the union generalized chase for ALC. To accommodate role inclusion hierarchies, allow arcs in a partial database to be labeled with sets of role names and role inverses. Write L(x, y) to denote the set of (possibly inverse) roles that label an arc from x to y. Write »D to denote the negation normal form of a SHIQ concept :D, and clos(D) to denote the smallest set of concepts in negation normal form that contains »D and is closed under subconcepts and ». Node y is an R2-successor of node x if an arc from x to y exists such that R12L(x, y) and R1v* R2. Node y is an R-neighbour of x iff y is an R-successor of x, or if x is an Inv(R)-successor of y.
Blocking in SHIQ As with ALC with arbitrary terminologies, SHIN does not have the finite model property; e.g., when R2 is a transitive super-role of R1, :Cu9(R1)-.(Cu (6 1 R1)) u8(R2)-.(9(R1)-.(Cu (6 1 R1))) requires the existence of an infinite (R1)- path. Therefore need blocking in chases to ensure termination.
Blocking in SHIQ (cont’d) Node y2 is directly blocked in a partial database if it has ancestors y1, x2 and x1 such that 1. arcs exists from y1 to y2 and from x1 to x2, 2. L(x1, x2) = L(y1, y2), 3. L(x1) = L(y1) and 4. L(x2) = L(y2). In such cases, x2 is said to blocky2. A node is indirectly blocked iff one of its ancestors is blocked or it has an incoming arc with an empty label. A node is blocked iff it is directly or indirectly blocked.
The SHIQ chase u–rule: if 1. D1uD22L(x), 2. x is not indirectly blocked, and 3. {D1, D2} *L(x) then L(x) ÃL(x) [ {D1, D2} t–rule: if 1. D1tD22L(x), 2. x is not indirectly blocked and 3. {D1, D2} ÅL(x) = ; then L(x) ÃL(x) [ {D1} or L(x) ÃL(x) [ {D2}.
The SHIQ chase (cont’d) 9–rule: if 1. 9R.D2L(x), 2. x is not blocked and 3. x has no R-neighbour y with D2L(y) then create a new node y and arc (x, y) with L(x, y) Ã {R} and L(y) Ã {D}. 8–rule: if 1. 8R.D2L(x), 2. x is nor indirectly blocked and 3. there is an R-neighbour y of x with DÏL(y) then L(y) ÃL(y) [ {D}.
The SHIQ chase (cont’d) 8+ rule: if 1. 8R2.D2L(x), 2. x is not indirectly blocked, 3. there is some R1 such that Trans(R1) and R1v* R2, 4. there is an R1–neighbour y of x such that 8R1.DÏL(y) then L(y) ÃL(y) [ {8R1.D}. choose-rule: if 1. (6nRD) 2L(x) or (>nRD) 2L(x), 2. x is not indirectly blocked, 3. there is an R-neighbour y of x such that {D, »D} ÅL(y) = ; then L(y) ÃL(y) [ {D} or L(y) ÃL(y) [ {»D}.
The SHIQ chase (cont’d) >–rule: if 1. (>nRD) 2L(x), 2. x is not blocked, 3. there are not nR-neighbours y1, … , yn of x with D2L(yi) and yi¹yj for 1 i < jn then create n new nodes y1, … , yn and arcs (x, yi) with L(x, yi) Ã {R}, L(yi) Ã {D} and yi¹ yj for 1 i<jn.
The SHIQ chase (cont’d) 6–rule: if 1. (6nRD) 2L(x), 2. x is not indirectly blocked, 3. there are n+1 R-neighbours y1, … , yn+1 of x such that D2L(yi), y2 is not an ancestor of x and not y1¹y2 then do the following: 1. L(y1) ÃL(y1) [L(y2); 2. L(y1, x) ÃL(y1, x) [Inv(L(x, y2)) if y1 is an ancestor of x; 3. L(x, y1) ÃL(x, y1) [L(x, y2) if y1 is not an ancestor of x; 4. L(x, y2) Ã; and 5. set z¹y1 for all z such that z¹y2.
Complexity of reasoning A role is simple if it is neither transitive nor has transitive subroles. Theorem: The concept membership problem for SHIQ in which only simple roles occur within the scope of number restrictions is DEXPTIME-complete. Theorem: The concept membership problem for SI is PSPACE-complete. Theorem: The concept inclusion problem for SHIN in which arbitrary roles can occur within the scope of number restrictions is undecidable.