Title: Semantic Web Research: Ontology Engineering
1Semantic Web Research Ontology Engineering
- Aditya Kalyanpur
- University of Maryland
2Outline
- Previous Work
- Ontology-based Annotation SMORE
- Software Engineering Mapping OWL to Java
- Current Research
- SWOOP OWL Ontology Editor
- Browsing, Editing, Search, Annotation, Change
Management - Debugging Ontologies (PhD Thesis)
- Glass and Black Box Debugging Services
- Future Plans
- SWOOP next stepsversion control etc.
- Repairing OWL Ontologies
- Explanation of Subsumption,,Query Answering
- Modularizing OWL Ontologies..
3Previous Work
4Ontology-based Annotation
- SMORE
- Tool to markup HTML documents with Web Ontologies
(aimed at average web users) - Features
- Annotate Text / Photos etc.
- Triple-based Data Generation
- Auto-inferencing of triples based on semantics
defined in Ontology - Multiple Ontology Support
- Search/Link NL phrases with ontology terms
- Constraint checking identify invalid triples
- Current plans to extend it to support blogging
5SMORE
6Ontology Engg. ltgt Software Engg.
- Mapping OWL to Java
- Aim
- Use OWL as a specification for Java Applications
(analogous to UML) - Build applications that mirror existing OWL
Ontologies - Desirable Features of Mappings
- Preserve formal semantics as much as possible
- Ensure interoperability of resultant OO code
- Easily tweakable
- Result
- A concise and elegant solution to map an OWL
Ontology into Java - Covers most of OWL-Full expressivity
- IBM Development Team built an API based on
mappings JASTOR
7Current Research
8Ontology Editing
- Swoop Web-browser-like Ontology Editor
- Browsing / Editing / Reasoning with Multiple OWL
Ontologies - Based on the WonderWeb OWL API (shares some
design goals) - Recent release v2.2 has 5000 downloads
- Over 200 Users on Swoop mailing lists ( still
growing!) - Numerous Publications on its Use and Extensions
- A place for experimenting our research ideas
9SWOOP
- Key Features
- Hypermedia-inspired Editor
- Designed for OWL Rec.
- Species Validation
- Presentation Syntax Tabs
- Multiple Local/Web Ontology Support
- Collaborative Annotation (using Annotea)
- Ontology Debugging (using Pellet)
- Automatic Partitioning of Ontologies (based on
E-connections) - Resource Holder for comparison/mapping
10SWOOP
11Ontology Debugging
- Problem Debugging defects in an OWL Ontology can
be hard since OWL (DL) is based on an expressive
description logic, - Newcomers to OWL have difficulty in understanding
and fixing defects - Even DL experts find it hard to debug errors in
large, complex ontologies - Main Drawback leads to weakening ontology
(under-specifying) - Solution (same spirit as software debugging) an
OWL Debugging Tool which, - Explains causes of contradiction
- Pinpoints problematic components
- Suggests remedies
12Debugging Services
- Explaining cause of error in a single
unsatisfiable class - Finding minimal set of axioms in ontology
responsible for error Sets of Support (SOS) - Finding the root clash
- Revealing dependencies between unsatisfiable
classes - Identifying Root / Derived Unsatisfiable Classes
13Two Approaches to Debugging
- Glass Box (Reasoner Dependent)
- Modify internals of the reasoner that is used to
detect the defects - Need to reduce overhead in normal reasoning
performance - Currently used to find root clash and SOS
- Black Box (Reasoner Independent)
- Use reasoner as an Oracle and perform separate
analysis on the side - Need to minimize reasoner calls
- Currently used to find Root/Derived unsatisfiable
classes using structural analysis
14Glass Box Debugging for SOS
- Example to capture Sets of Support
- MeatPizza v Pizza u 9hasTopping.Meat
- range(hasTopping, Food)
- Pizza v 8hasTopping.Cheese
- Meat v Food u Vegetable
- Cheese v Meat
MeatPizza, (Pizza u 9hasTopping.Meat)1
MeatPizza
MeatPizza, Pizza1, 9hasTopping.Meat1
MeatPizza, Pizza1, 9hasTopping.Meat1,
8hasTopping.Cheese1,3
hasTopping1
Clash! SOS 1 1,3,5 1,3,5
Meat1
Meat1, Food1,2, Vegetable1,4
Meat1, Food1,2, Vegetable1,4, Cheese1,3,
Meat1,3,5
Meat1, Food1,2, Vegetable1,4, Cheese1,3
Meat1, Food1,2
15Glass Box Debugging for SOS
- Why is axiom tracking hard?
- As expressivity increases, tableaux operations
become complex - e.g. Node merges due to cardinality restrictions
- C v 9 R.D u 9 R.E u 1.R
- Internal modifications done by the reasoner
- Normalization involves rewriting terms
- (9 P.C) 8 P. C
- Absorption - involves combining axioms
- (i) C u D v E
- (ii) C v F
C v F u (E t D)
16Glass Box Debugging for SOS
- Glass Box Evaluation Reasoning Time / Memory
17SOS Use Case
- SWEET-JPL (1537 classes, 2250 axioms) 1 unsat.
class
Description of clash
Minimal set of axioms from ontology responsible
for error (clash)
18SOS Drawbacks
- For a large no. of unsatisfiable classes
- Going down the list and fixing errors one by one
is time-consuming, pointless and sometimes
harmful - Need to identify critical errors (roots) that
propagate and cause errors elsewhere (derived) - Examples of propagation of errors
- A v B, where B is unsatisfiable
- A v 9 R.B, where B is unsatisfiable
- A v B t C, where both B, C are unsatisfiable
19Dependency between Unsat. Classes
- Root and Derived
- Root named class whose unsat. does not depend on
the unsat. of another named class - E.g. A v B u B
- Derived named class whose unsat. depends on the
unsat. of another named class - E.g. A v B u C, where C is unsatisfiable
20Black Box Debugging for Root/Derived
- Asserted Dependencies (Relatively
Straightforward) - Example
- A v B t C, and both B,C are unsatisfiable
- Detection Technique Structural Tracing
- Inferred Dependencies (Challenging)
- Example
- A 9 P. D
- B 9 P. E u C u C
- D v E
- Detection Technique No known complete black-box
algorithm - Heuristics Developed Weak Removal,
Subsumption-safe Transformations
21Root/Derived Use Case
- For Tambis (395 Classes, 590 axioms) 144 unsat.
Classes - Two Iterations to debug completely
Root Unsatisfiable Classes in the Ontology
Dependency Table
22User Study
- How effective is SOS/Root-Derived
- University 8 unsat. classes (5 roots/ 3
derived) - Sweet-JPL 1 unsat classes
- Mini-Tambis 30 unsat classes (5 roots/ 25
derived)
Pilot n12 subjects
23Future Plans
24SWOOPnext steps
- Expressive TBox Query
- Find all classes ?C such that properties name,
age, mail have ?C as its domain? - Find all classes ?C that contain 9 hasChild.Male
in its definition? - Version Control system for Ontologies
- Annotea client server base
- Annotate ontology versions directly (metadata
about change) - Store updates only, starting with a base ontology
(easier to obtain diff) - Difficult to characterize version-clash
25Debuggingnext steps
- Semi-automated techniques for Ontology Repair
- Identify common conflicts among roots
- Rank axioms (e.g. based on minimal effect causing
changes) - Suggest reasonable edits
- Use of Tableaux Tracing
- Explanation of Subsumption..
- Detection of Redundancy
26Modularizing OWL Ontologies
- Bernardos dissertation on methods for combining
and integrating ontologies on the Semantic Web - Theoretical Framework to modularize OWL
Ontologies based on E-connections - Automatic Partitioning algorithm based on theory
- Implementation in SWOOP
- Next Steps
- Change management given modules, i.e., a
framework for collaborative evolution
27Questions?
28 29Clashes
- Basic Types of Clash
- Atomic Individual belongs to OWL Class and its
complement - E.g. C v D u D
- Cardinality Individual has maxCardinality
restriction but is related to more Individuals - E.g. C v 1. R u 2. R
- Datatype Literal value violates range
restriction on OWL Datatype Property - E.g. C v 9 R. false, where R is a OWLDatatype
Property with range xsdinteger
Back
30Structural Tracing
- Root/Derived Detection Examples
- A v C u D (D is unsat.)
- A v (C t D) (Both C, D unsat)
- A v 9 R. C (C is unsat)
- A v 9 R.C (domain(R) unsat)
- A v 1. R u 8 R. C (C is unsat)
- A v 9 R-. C (range(R) is unsat.)
- A B , B v C u C (Inferred)
Back
31Inferred Dependency (1)
- Weak Removal Approach (heuristic)
- Basic Idea Given unsat. classes A, B, remove
A, and test satisfiability of B - Remove tricky to define (motivation make A
satisfiable, but not alter KB significantly) - One way Remove primitive definitions of A (Weak)
- Based on two assumptions about Weak-Removal(A)
- A becomes satisfiable
- Parents(A) do not become satisfiable
Back
32Inferred Dependency (2)
- Subsumption-safe transformations
- Approximate KB by getting rid of unsatisfiability
while preserving subsumption - e.g. A 9 P. D
- B 9 P. E u C u C
- D v E
- Replace C by new C, then discover A v B
- Sound but not complete w.r.t subsumption relation
revealed
Back