Download presentation
Presentation is loading. Please wait.
1
Ontology Engineering: Tools and Methodologies
Ian Horrocks Information Management Group School of Computer Science University of Manchester
2
Tutorial Resources
3
Ontologies
4
Ontology: Origins and History
In Philosophy, fundamental branch of metaphysics Studies “being” or “existence” and their basic categories Aims to find out what entities and types of entities exist “Categories”: Aristotle, 350 BC. The oldest known tree diagram was drawn in the 3rd century AD by the Greek philosopher Porphyry in his commentary on Aristotle's categories. Figure 2 shows a version of the Tree of Porphyry, as it was drawn by the 13th century logician Peter of Spain. It illustrates the subcategories under Substance, which is called the supreme genus or the most general supertype.
5
Ontology in Information Science
An ontology is an engineering artefact consisting of: A vocabulary used to describe (a particular view of) some domain An explicit specification of the intended meaning of the vocabulary. Often includes classification based information Constraints capturing background knowledge about the domain Ideally, an ontology should: Capture a shared understanding of a domain of interest Provide a formal and machine manipulable model In Information Science, an ontology is the product of an attempt to formulate an exhaustive and rigorous conceptual schema about a domain. This domain does not have to be the complete knowledge of that topic, but purely a domain of interest decided upon by the creator of the ontology. An ontology is typically a hierarchical data structure containing all the relevant entities and their relationships and rules within that domain (e.g., a domain ontology). However, computational ontology does not have to be hierarchical at all. The computer science usage of the term ontology is derived from the much older usage of the term ontology in philosophy. An ontology which is not tied to a particular problem domain but attempts to describe general entities is known as a foundation ontology or upper ontology. Typically, more specialized domain specific schemata must be created to make the data useful for real world decisions.
6
Example Ontology (Protégé)
7
The Web Ontology Language OWL
Development and standardisation of (Semantic) Web ontology languages has been responsible for huge increase in the development and application of ontologies.
8
OWL History Semantic Web led to requirement for a “web ontology language” set up Web-Ontology (WebOnt) Working Group WebOnt developed OWL language OWL based on earlier languages RDF, OIL and DAML+OIL OWL now a W3C recommendation (i.e., a standard) OWL is a family of 3 languages: OWL Lite, OWL DL and OWL Full OIL, DAML+OIL and OWL (DL & Lite) based on Description Logics Many OWL DL/Lite tools & ontologies Relatively few OWL Full tools or ontologies
9
What Are Description Logics?
A family of logic based Knowledge Representation formalisms Descendants of semantic networks and KL-ONE Describe domain in terms of concepts (classes), roles (properties, relationships) and individuals Operators allow for composition of complex concepts Names can be given to complex concepts, e.g.: Object oriented style of modelling HappyParent ´ Parent u 8hasChild.(Intelligent t Athletic) HappyParent ´ Parent u 8hasChild.(Intelligent t Athletic) HappyParent ´ Parent u 8hasChild.(Intelligent t Athletic) HappyParent ´ Parent u 8hasChild.(Intelligent t Athletic) HappyParent ´ Parent u 8hasChild.(Intelligent t Athletic)
10
Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Cat Animal IS-A has-color Black Felix Mat sits-on [Quillian, 1967]
11
Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Formal properties well understood (complexity, decidability) 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. Freeman, 1979.]
12
Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Formal properties well understood (complexity, decidability) Known reasoning algorithms
13
Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Formal properties well understood (complexity, decidability) Known reasoning algorithms Implemented systems (highly optimised) Pellet KAON2 CEL
14
Why the Strange Names? Description Logics are a family of KR formalisms Mainly distinguished by available operators Available operators indicated by letters in name, e.g., S : basic DL (ALC) plus transitive roles (e.g., ancestor R+) H : role hierarchy (e.g., hasDaughter v hasChild) O : nominals/singleton classes (e.g., {Italy}) I : inverse roles (e.g., isChildOf ´ hasChild–) N : number restrictions (e.g., >2hasChild, 63hasChild) Basic DL + role hierarchy + nominals + inverse + NR = SHOIN The basis for OWL-DL SHOIN is very expressive, but still decidable (just) Decidable we can build reliable tools and reasoners
15
Why (Description) Logic?
Foundational research was crucial to design of OWL Informed Working Group decisions at every stage, e.g.: “Why not extend the language with feature x, which is clearly harmless?” “Adding x would lead to undecidability - see proof in […]” Heath-Robinson approach to language design; big tree is undecidability.
16
Class/Concept Constructors
C is a concept (class); P is a role (property); x is an individual name XMLS datatypes as well as classes in 8P.C and 9P.C Restricted form of DL concrete domains
17
Knowledge Base / Ontology Axioms
18
Knowledge Base / Ontology
A TBox is a set of “schema” axioms (sentences), e.g.: {Parent v Person u >1hasChild, HappyParent ´ Parent u 8hasChild.(Intelligent t Athletic)} An ABox is a set of “data” axioms (ground facts), e.g.: {John:HappyParent, John hasChild Mary} An OWL ontology is just a SHOIN KB
19
OWL RDF/XML Exchange Syntax
E.g., Parent u 8hasChild.(Intelligent t Athletic): <owl:Class> <owl:intersectionOf rdf:parseType=" collection"> <owl:Class rdf:about="#Parent"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:allValuesFrom> <owl:unionOf rdf:parseType=" collection"> <owl:Class rdf:about="#Intelligent"/> <owl:Class rdf:about="#Athletic"/> </owl:unionOf> </owl:allValuesFrom> </owl:Restriction> </owl:intersectionOf> </owl:Class>
20
Ontology Reasoning Development and standardisation of (Semantic) Web ontology languages has been responsible for huge increase in the development and application of ontologies.
21
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
22
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 Correct — captures intuitions of domain experts Banana split is a kind of fruit sundae?
23
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 Correct — captures intuitions of domain experts Minimally redundant — no unintended synonyms Banana split Banana sundae
24
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 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
25
Ontology Applications
26
e-Science E.g., Open Biomedical Ontologies Consortium (GO, MGED)
Used, e.g., for “in silico” investigations relating theory and data E.g., relating data on phosphatases to (model of) biological knowledge Graphic showing protein functional domains (sequences of amino acids?); the identifying characteristics of different proteins.
27
Medicine Central Sulcus Parietal Lobe Frontal Lobe Occipital Lobe
Building/maintaining terminologies such as Snomed, NCI, Galen and FMA Used, e.g., for semi-automated annotation of MRI images - Example from project to (semi-) automate the annotation of MRI images of the brain - FMA derived ontology used to capture knowledge of brain anatomy Frontal Lobe Temporal Lobe Parietal Lobe Occipital Lobe Central Sulcus Lateral Sulcus
28
Organising Complex Information
E.g., UN-FAO, NASA, Ordnance Survey, General Motors, Lockheed Martin, …
29
Organising Complex Information
E.g., UN-FAO, NASA, Ordnance Survey, General Motors, Lockheed Martin, …
30
OWL Experiences and Directions
Workshop at ESWC’07 (Innsbruck, Austria, 6-7 June) Brings together users, implementors and researchers Submissions include: Enterprise Integration (Mitre) Product development (Lockheed Martin) Role based access control (NASA) Healthcare (SNOMED) Agriculture and fisheries (UN Food & Agriculture Organization) Oral Medicine (Chalmers) …
31
Ontology Engineering Development and standardisation of (Semantic) Web ontology languages has been responsible for huge increase in the development and application of ontologies.
32
Ontology Engineering Tasks
Typical tasks in Ontology Engineering: author concept descriptions refine the ontology manage errors integrate different ontologies (partially) reuse ontologies These tasks are highly challenging; need for: tool & infrastructure support design methodologies
33
Tools and Infrastructure
Editors/environments Protégé, Swoop, TopBraid Composer, Construct, Ontotrack, …
34
Tools and Infrastructure
Editors/environments Oiled, Protégé, Swoop, Construct, Ontotrack, … Reasoning systems Cerebra, FaCT++, Kaon2, Pellet, Racer, … Pellet KAON2 CEL
35
Tools and Infrastructure
Editors/environments Oiled, Protégé, Swoop, Construct, Ontotrack, … Reasoning systems Cerebra, FaCT++, Kaon2, Pellet, Racer, … Design methodologies Modularity, foundational ontologies, etc. Entity Substantial Quality Event Achievement Stative Accomplishment Perdurant Endurant
36
Development & Maintenance
37
Development Environments
Most widely used free to download tools are Protégé (Stanford / Manchester) -- be sure to get v4.x Swoop (UMD / Clark & Parsia) Commercial tools include TopBraid, RacerPro, … Facilities typically include Range of display modes and editing features Visualisation Consistency and subsumption checking Useful extras may include Debugging and explanation Repair Integration and/or partitioning Clear that OWL isn’t expressive enough for all applications; users always want/need more
38
Demo Ontologies GALEN NCI http://www.mindswap.org/2003/CancerOntology
NCI Tambis
39
GALEN Ontology about medical terms and surgical procedures.
Work started in the 90s within the OpenGALEN project. Main applications: Integration of clinical records, and decision support. GALEN: is very large (~35,000 concepts), is fairly expressive (SHIF description logic), has not been classified yet by any DL reasoner We will look at a smaller version, which: is still large (~3,000 concepts), is similarly expressive as full GALEN, was first classified by the FaCT system.
40
GALEN: The Ontology at a Glance
Size: ~ 3,000 classes ~ 500 object properties no individuals or datatypes Expressivity ~350 General Concept Inclusion Axioms (GCIs). Concept constructors: Conjunction (intersectionOf) Existential restrictions (someValuesFrom) 150 functional properties 26 transitive properties
41
GALEN: The (Unclassified) Hierarchies
The class hierarchy: Number of subsumption relations: 1,978 Maximum depth of the tree: 13 No multiple inheritance The property hierarchy: 4 properties with multiple inheritance
42
GALEN: Concept definitions and GCIs
Axiom of the form A ´ C with: A a concept name C a (possibly complex) concept A definition assigns a name A to a complex concept C Some examples: LungPathology ´ PathologicalCondition u 9 locativeAttribute.Lung RenalTransplant ´ Transplanting u 9 actsOn.Kindney
43
GALEN: Concept definitions and GCIs
Inclusion axioms: Axioms of the form A v C: A is a concept name C is a possibly complex concept Represent an incomplete (“partial”) definition Examples: XRayMachine v ImagingDevice Candida v Fungus u 9 hasFunction.AerobicMetabolicProcess In GALEN, some of these can be very complex: check out the definitions of Knee Joint and Kidney!
44
GALEN: Concept definitions and GCIs
General Concept Inclusion Axioms (GCIs) Axioms of the form C ´ D C,D can be complex May describe general (background) knowledge about the ontology Examples: Secretion u 9 actsSpecificallyOn.Leucocidin v 9 isFunctionOf.StraphilococcusAureus Transport u 9 actsOn.Glucose u 9 carriesFrom.Blood v 9 carriesTo.Cell
45
Classifying GALEN Ontology statistics (revisited):
Number of class subsumption relations: 6729 1978 of which are “told” and the rest inferred Maximum depth of the class tree: 15 As opposed to 13 in the case of the unclassified tree Classes with multiple inheritance: 408 All multiple inheritance relations have been inferred! This was intended in the design of GALEN Maximum depth of the property tree: 9 No change with respect to the “told” tree Properties with multiple inheritance: 4 Again, no change with respect to the “told” tree Reasoning is mostly performed on classes and not on properties
46
Modeling Choices The “upper” part: The “domain specific” part:
Composed of the domain-independent concepts and roles. Examples: TopCategory, DomainCategory, GeneralisedStructure… Shallowly defined (mostly a taxonomy) The “domain specific” part: Plant, LungPathology, … Richly defined Much more than just a taxonomy!
47
Inferred Knowledge A trivial subsumption: Another example:
Why is PathologicalCondition a subclass of DomainCategory? Simply look at the definition of Pathological Condition! Another example: Why is PathologicalBehavior a subclass of PathologicalCondition? Look at the definition of both classes Notice that Behavior is a subclass of DomainCategory A non-trivial subsumption: Why is AchalasiaProcesses a PathologicalBodyProcesses?
48
Classifying GALEN Simple and multiple inheritance
Focus, for example, on PathologicalBodyProcess Navigate to its super-classes Visualisation can be useful In Swoop we can “Fly the mother ship”!
49
The NCI Ontology Huge bio-medical ontology describing the Cancer domain Maintained by dozens of domain experts Contains information about: genes, diseases, drugs, research institutions, … All with a cancer-centric focus
50
NCI: The Ontology at a Glance
Size: ~ classes ~ 70 object properties no individuals or datatypes Expressivity Concept constructors: Conjunction (intersectionOf) Existential restrictions (someValuesFrom) Axioms: Definitions (no GCIs) Domain and range of properties
51
NCI: The (Unclassified) Hierarchies
The class hierarchy: Number of subsumption relations: Maximum depth of the tree: 19 Classes with multiple inheritance: 4636 Browse through it! The property hierarchy: No properties with multiple inheritance
52
Axioms in NCI Examples:
Cancer_Gene v Gene u 9 hasFunction.Tumoregenesis Alzheimer_Disease v Dementia Domain(rAnatomic_Structure_Has_Location) = Anatomy_Kind Range(rTechnique_Has_Purpose) = Clinical_Or_Research_Activity_Kind
53
The NCI Kinds “Upper” concepts representing the sub-domains of NCI
Examples: Anatomy. Biological processes. Chemicals and drugs. Organisms … Properties relating the Kinds
54
NCI Partitioning and crop-circles view of the partitioning
Gives an intuition about the different sub-domains in NCI, which ones are central, and which ones are “side” domains
55
NCI and GALEN The domains of NCI and GALEN overlap. Both ontologies define concepts such as: Anatomical parts: bone, tissue, etc. Diseases Organisms,… Example: Check out how Femur is defined in NCI and GALEN Different modeling decisions and focus of interest
56
Tambis TAMBIS is a medical ontology constructed during the early days of the Web. The intended application was the integrated access to information in a set of databases. The OWL version was generated from the old format using a (buggy) script.
57
Tambis: The Ontology at a Glance
Size: ~ 400 classes ~ 100 object properties no individuals or datatypes Expressivity No General Concept Inclusion Axioms. Concept constructors: Conjunction (intersectionOf) Disjunction (unionOf) Existential restrictions (someValuesFrom) Universal restriction (allValuesFrom) Cardinality restrictions Axioms Definitions (complete and partial) Transitive, functional, symmetric and inverse properties
58
Tambis: the (unclassified) hierarchies
Subclass relationships: 226 No multiple inheritance Maximum depth of class tree: 6 Maximum depth of property tree: 2
59
Tambis: Example Axioms
Tambis uses cardinality restrictions profusely See definition of anion Use of disjunction See definition of atom Use of universal restrictions See definition of book-title Use of complex nested restrictions See definition of complement-dna See definition of gene Disjointness axioms See definitions of metal, non-metal and metalloid
60
Tambis: Classification
Subclass relationships: 600 compared to 226 Classes with multiple inheritance: 19 compared to none Maximum deph of class tree: 7 compared to 6 Maximum depth of property tree: 2 144 unsatisfiable concepts!
61
Tambis: Unsatisfiable concepts
Almost half of the concepts in Tambis are unsatisfiable The explanations are non-trivial E.g., protein-structure and macromolecular-part Distinguishing root and derived unsatisfiable classes: derived unsatisfiable classes are unsatisfiable because they depend on another unsatisfiable concept. definition of Enzyme, definition of Binding-site root unsatisfiable classes contain an “inherent” contradiction definition of Metal, definition of Non-metal, definition of Metalloid
62
Advanced Issues and Design Patterns
63
Qualified Number Restrictions (QCRs)
Existential restrictions in OWL DL are qualified: Person u 9hasChild.Male Cardinality restrictions can only be qualified with > Person u >2.hasChild The lack of QCRs has been identified as a major limitation of OWL, especially in biomedical applications: A quadruped is an animal with exactly four parts that are legs A medical oversight committee is a committee which consists of at least five members of which two are medical doctors, one is a manager and two are members of the public.
64
Qualified Cardinality Restrictions
Can be approximated using property inclusion and property range. Quadruped ´ Animal u (= 4 hasLeg) hasLeg v hasPart Range(hasLeg) = Leg
65
Qualified Cardinality Restrictions
This approximation is unsound in general: MedicalCommittee ´ Committee u (=3 hasMember) u ·1hasMember.MD u · 1 hasMember.: MD Approximated by: MedicalCommittee ´ (=3 hasMember) u · 1hasMDMember u · 1hasNotMDMember hasMDMember v hasMember hasNotMDMember v hasMember Range(hasMDMember) = MD Range(hasNotMDMember) = : MD
66
Transitive Propagation of Properties
In OWL, we can express transitive propagation of a property: If Paris is located in France and France is located in Europe, then France is located in Europe. If the hand is a part of the arm and the arm is part of the human body, then the hand is a part of the human body. In OWL, however, we cannot express transitive propagation of a property along a different property: If an ulcer is located in the gastric mucosa and the gastric mucosa is a part of the stomach, then the ulcer is located in the stomach If a burn is located in the foot and the foot is part of the leg, then the burn is located in the leg.
67
Transitive Propagation of Properties
Various patterns that approximate transitive propagation have been proposed and used in ontologies. Use of the property hierarchy and transitivity: Part_Of v Located_In Transitive(Part_Of) This pattern may yield undesired results, since part-whole relations may not always imply location: The orange peal is part of the orange, but is it located in the orange?
68
Design Methodologies
69
Modularity in Software Engineering
Typically referred to as the extent to which software is divided into components with: high internal cohesion controlled coupling between each other through simple interfaces (encapsulation) Benefits of modular software design: software maintainability software understandability
70
Modularity in Ontology Engineering
Benefits of a modular ontology design: to simplify ontology refinement/update modifying a module should not lead to modifications in parts of the ontology that are not conceptually related understanding relationships between different modules in an ontology controlled and well-understood integration with other ontologies no unexpected consequences partial reuse reuse only the relevant part/module of an ontology
71
1 CysticFibrosis v Fibrosis u 9locatedIn.Pancreas u
Q 1 CysticFibrosis v Fibrosis u 9locatedIn.Pancreas u 9hasOrigin.GeneticOrigin 2 GeneticFibrosis v Fibrosis u 9hasOrigin.GeneticOrigin 3 Fibrosis u 9 locatedIn. Pancreas v GeneticFibrosis 4 GeneticFibrosis v GeneticDisorder P [ Q ² > v Project Q ² CysticFibrosis v Genetic Disorder P [ Q ² CysticFibProject v GenDisorderProject P [ Q ² > v 9 hasFocus.> P [ Q ² GeneticFibrosis t GeneticDisorder v ? P 1 GenDisorderProject = Project u 9hasFocus.GeneticDisorder 2 CysticFibProject = Project u 9hasFocus.CysticFibrosis 3 9hasFocus.> v Project 4 Project u (GeneticFibrosis u GeneticDisorder) v ? 5 8 hasFocus.CysticFibrosis v 9hasFocus.GeneticDisorder
72
Foundational Ontologies
E.g., DOLCE
73
Recent Work and Research Challenges
74
Increasing Expressive Power
Complex role inclusion axioms [Horrocks, Kutz & Sattler, KR-06] E.g., hasLocation ± partOf v hasLocation Concrete domains/datatypes, e.g., [Lutz, IJCAI-99; Pan et al, ISWC-03] E.g., value comparison (income > expenditure) OWL 1.1 (see Syntactic sugar to make commonly-stated things easier to say New class & property constructors Expanded datatype expressiveness Meta-modelling constructs Semantic-free comments Now a W3C Member Submission Clear that OWL isn’t expressive enough for all applications; users always want/need more
75
Increasing Expressive Power
Complex role inclusion axioms [Horrocks, Kutz & Sattler, KR-06] E.g., hasLocation ± partOf v hasLocation Concrete domains/datatypes, e.g., [Lutz, IJCAI-99; Pan et al, ISWC-03] E.g., value comparison (income > expenditure) OWL 1.1 (see Database style keys [Lutz et al, JAIR 2004] E.g., make + model + chassis-number is a key for Vehicles Rule language extensions W3C RIF WG (see First order extensions (e.g., SWRL) [Horrocks et al, JWS, 2005] Hybrid language extensions, e.g., [Eiter et al, KR-04; Motik et al, ISWC-04; Rosati, JoWS, 2005] LP/F-Logic/Common Logic [Chen et al, JLP, 1993; de Bruijn et al, WWW-05] Clear that OWL isn’t expressive enough for all applications; users always want/need more
76
Improving Scalability
Optimisation techniques Improve performance of DL reasoners, e.g., [Sirin et al, KR-06] Reduction to disjunctive Datalog [Motik et at, KR-04] Transform SHOIN ontology to DatalogÇ rules Use LP techniques to deal with large numbers of ground facts Hybrid DL-DB systems [Horrocks et al, CADE-05] Use DB to store “Abox” (individual) axioms Cache inferences and use DB queries to answer/scope logical queries Polynomial time algorithms for sub-ALC logics Graph based techniques for EL+ [Baader et al, IJCAI-05] Database techniques for DL-Lite [Calvanese et al, AAAI-05]
77
Summary OWL Ontologies provide vocabulary for annotations
Terms have well defined meaning OWL now being used in a wide range of applications e-Science, medicine, geography, geology, … Reasoning enabled tools are of crucial importance For both design and deployment of ontologies Large and extremely active R&D area New and improved tools & methodologies constantly appearing Research challenges remain But tools now mature enough for “prime time” applications
78
Acknowledgements Thanks to my many friends in the DL and Semantic Web communities, in particular: Alan Rector Franz Baader Uli Sattler The Swoop/Pellet team: Aditya Kalyanpur Evren Sirin Bernardo Cuenca Grau Bijan Parsia
79
Thank you for listening
Any questions? Resources: FaCT++ system (open source) OWL OWL Experiences and Directions Workshop Protégé OWL 1.1 Proposal
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.