Description Logics Dr. Alexandra I. Cristea Description Logics Description Logics allow formal concept definitions that can be reasoned about to be expressed Not a single logic, but a family of KR logics Subsets of first-order logic (FOL) Advantages: – Well-defined model theory – Known computational complexity 2 Why Description Logics in OWL? OWL exploits results of 20+ years of DL research – Well defined (model theoretic) semantics – Formal properties well understood, e.g., computational complexity “I can’t find an efficient algorithm, but neither can all these famous people.” Garey & Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. 1979. – Known reasoning algorithms – Implemented systems (highly optimised): FaCT++, Racer, Pellet, etc. Foundational research was crucial to the design of OWL – “Why not extend the language with feature x, which is clearly harmless?” – “Adding x would lead to undecidability — see proof in [. . . ]” 3 Why ontology reasoning? Given key role of ontologies in many applications, it is essential to provide tools and services to help users: – Design and maintain high quality ontologies, e.g.: – Meaningful — all named classes can have instances (remember ‘mad cows’?) – Correct — captures intuitions of domain experts – Minimally redundant — no unintended synonyms – Answer queries, e.g.: – Find more general/specific classes – Retrieve individuals/tuples matching a given query – But what is (formal) reasoning? The laws of correct reasoning are the subject of mathematical logic 4 Exercise: give examples of (principles of) ‘correct reasoning’ All humans are mortal. Socrates is a human. Ergo Socrates is mortal. Hamlet: “To be or not to be” David Hume: “The sun has risen in the east every morning up until now. Ergo the sun will also rise in the east tomorrow.” Aristotle: If a drink is made with boiling water, it will be hot. This drink was not made with boiling water. Ergo this drink is not hot. 5 Example concept definitions in DL . Woman = Person ⊓ Female . Man = Person ⊓ ¬Woman 6 Reasoning in DL A classifier (a reasoning engine) can construct class hierarchy from ontology concepts defs Concept definitions composed from primitives >> ontology is more maintainable 7 Example Reasoning 8 Example Reasoning 9 Example Reasoning 10 DL Terminology DL separates assertions and concept definitions: A Box: Assertions – e.g. hasChild(john, mary) – This is the knowledge base • T Box: Terminology – The definitions of concepts in the ontology – Example axioms for definitions • C ⊑ D [C is a subclass of D, D subsumes C] • C ≡ D [C is defined by the expression D] 11 DL architecture 12 DL Terminology (2) Concept: class, category or type Role: binary relation – Attributes are functional roles Subsumption: – D subsumes C if C is a subclass of D : i.e. all Cs are Ds Unfoldable terminologies: – The defined concept does not occur in the defining expression: – C ≡ D where C does not occur in the expression D Language families – AL: Attributive Language – ALC: adds full negation to AL 13 Language elements for concept expressions 14 Universal restriction Universal (value) restriction: ∀R.C The set {x|∀y, R(x, y) → y∈C} The set of things x such that for all y where x and y are related by R, y is in C. e.g., ∀hasChild.Parent Set of things x so that for all y where x and y are related by hasChild, y will be in class Parent; everything in set x is a child, everything in set y is a parent. That is, anything that is the object of the relation hasChild must be in class Parent, regardless of what the subject is. This is a local statement: this is true for every statement in your dataset. 15 Existential restriction Existential restriction - also called exists restriction: ∃R.C The set {x|∃y, R(x, y) ⋀ y∈C} The set of things x such that there exists a y where x and y are related via R and y is in class C. e.g., ∃hasChild.Doctor The set of all x’s such that x is related to y via hasChild and y is in class Doctor. the set of all children which have at least one parent who is a doctor This is a local statement: this is true for at least one statement in your dataset. 16 DL naming Attributive language - basic language which allows: – – – – atomic negation concept intersection universal restrictions limited existential quantification Frame based description language, allows: – – – – concept intersection universal restrictions limited existential quantification role restriction allows: – concept intersection – existential restrictions (of full existential quantification) 17 DL naming: Extensions 18 DL naming: Exceptions 19 Common DLs 20 Homework Explain, based on the naming conventions you’ve just seen, what do the DL types for OWL2, Protégé, OWL-Lite, and OWL-DL stand for. 21 Example concept expressions Parent ≡ “Persons who have (amongst other things) some children” Person ⨅ ∃hasChild.⊤ ParentOfBoys ≡ “Persons who have some children, and only have children that are male” Person ⨅ (∃hasChild. ⊤) ⨅(∀hasChild.Male) ScottishParent ≡ “Persons who only have children that drink (amongst other things) some IrnBru” Person ⨅ (∀hasChild. (∃drink.IrnBru)) 22 Value and exists restrictions {a,b,c,d,e,f} are instances; Plant and Animal are classes ⊓ Plant ⊓ Animal ⊑ ⊥ (disjointness) ⊤ ⊑ Plant Animal (partition) 23 Value and exists restrictions {a,b,c,d,e,f} are instances; Plant and Animal are classes ∃eats.Animal = {c,d,e} ∃eats.Animal ⊓ ∀eats.Animal = {c,e} ∀eats.Animal = {a,b,c,e,f} 24 Model theory Δ1 universal domain of individuals, let Δ1 ={a,b,c,d,e,f} eats1 set of pairs for the relation eats, let eats1 = {<d,a>,<d,e>,<e,d>,<e,f>,<c,f>} For all concepts C: i) C1 ⊆ Δ 1 ii) C1≠ ∅ Let Animal1 = {d,e,f} ∴ (¬Animal)1 = {a,b,c} ∴ (∀eats.Animal)1={a,b,c,e,f} ∴ (∃eats. Animal)1 = {c,d,e} 25 Inference MeatEater ≡ ∀eats. Animal = {a,b,c,e,f} Vegetarian ≡ ∀eats. ¬Animal = {a,b,f} Omnivore ≡ ∃eats. Animal = {c,d,e} Inference: From the above classes we can see that: • MeatEater subsumes Vegetarian • Vegetarian is disjoint from Omnivore in this model, with these definitions. The problem is to prove this for ALL models. 26 DL Inference Inference can be expressed in terms of the model – Satisfiability of C: C1 is non-empty – Subsumption C ⊑ D iff C1 ⊆ D1 (“C is subsumed by D”) – Equivalence C ≡ D iff C1 = D1 – Disjointness(C ⨅ D) ⊑ iff C1 ∩ D1 ≡ ∅ 27 • Tractable/terminating inference algorithms exist Last time: – Started DL – DL terminology, some reasoning/ inference, models, architecture Next: – More on DL inference 28 Value and exists restrictions {a,b,c,d,e,f} are instances; Plant and Animal are classes Vegetarian = {a,b,f} Omnivore = {c,d,e} disjoint? MeatEater= {a,b,c,e,f} 29 DL Inference (2) 30 DL Inference (2) 31 DL Inference (2) Yes 32 DL Inference (2) Yes 33 DL Inference (2) Yes 34 DL Inference (2) Yes 35 DL Inference (2) Yes 36 DL Inference (3) Inference has 2 equivalent notions - so implementing one lets us prove all 4 properties Reduction to subsumption ⊑: – Unsatisfiability of C: C ⊑ ⊥ – Equivalence C≡D iff C ⊑ D and D ⊑ C – Disjointness (C ⨅ D) ⊑ ⊥ Reduction to unsatisfiability CI = ∅ : – Subsumption C ⊑ D iff (C ⨅ ¬D) is unsatisfiable – Equivalence C≡D iff (C ⨅ ¬D) and (D ⨅ ¬C) are unsatisfiable – Disjointness (C ⨅ D) is unsatisfiable 37 DL Summary DLs: family of languages based on subsets of FOL. Expressivity depends on language attributes. Attributes: indicated by letters; DL language names: series of letters => expressivity of DL language in its name. DLs allow complex expressions of how concepts relate to one another. Many algorithms (e.g., Tableaux Algorithms) allowing efficient reasoning over DLs. 38 Additional Slides DL 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61