Description Logics

advertisement
• Knowledge
Ontology are best delivered
in some computable
Representation
representation
• Variety of choices with different:
– Expressiveness
• The range of constructs that can be used to formally, flexibly,
explicitly and accurately describe the ontology
– Ease of use
– Computational complexity
• Is the language computable in real time
– Rigour
• Satisfiability and consistency of the representation
• Systematic enforcement mechanisms
– Unambiguous, clear and well defined semantics
• A subclassOf B
don’t be fooled by syntax!
• Vocabularies
using natural language
Languages
– Hand crafted, flexible but difficult to evolve, maintain
and keep consistent, with poor semantics
– Gene Ontology
• Object-based KR: frames
– Extensively used, good structuring, intuitive. Semantics
defined by OKBC standard
– EcoCyc (uses Ocelot) and RiboWeb (uses Ontolingua)
• Logic-based: Description Logics
– Very expressive, model is a set of theories, well defined
semantics
– Automatic derived classification taxonomies
Vocabularies: Gene Ontology
• Hand crafted with simple tree-like structures
• Position of each concept and its relationships
wholly determined by a person
• Flexible but…
• Maintenance and consistency preservation
difficult and arduous
• Poor semantics
• Single hierarchies are limiting
Description Logics
• Describe knowledge in terms of concepts and
relations
• Concept defined in terms of other roles and
concepts
– Enzyme = protein which catalyses reaction
– Reason that enzyme is a kind of protein
• Model built up incrementally and descriptively
• Uses logical reasoning to figure out:
– Automatically derived (and evolved) classifications
– Consistency -- concept satisfaction
• FramesFrames
and Logics
– Rich set of language constructs
– Impose restrictive constraints on how they are combined
or used to define a class
– Only support primitive concepts
– Taxonomy hand-crafted
• Description logics
– Limited set of language constructs
– Primitives combined to create defined concepts
– Taxonomy for defined concepts established though
logical reasoning
– Expressivity vs. computational complexity
– Less intuitive
Ontology Exchange
• To reuse an ontology we need to share it with
others in the community
• Exchanging ontologies requires a language with:
– common syntax
– clear and explicit shared meaning
• Tools for parsing, delivery, visualising etc
• Exchanging the structure, semantics or
conceptualisation?
• XOL eXtensible
Ontology Language
Ontology
Exchange
Languages
– XML markup
– Frame based
– Rooted in OKBC
– http://www.ai.sri.com/pkarp/xol/
• OIL OntologyFrames:
Interchange language  Ontology
Description Logics:
Inferencemodelling
Layer primitives,
formal semantics &
OKBC
OIL
reasoning support
Web languages:
XML & RDF based syntax
OIL: Ontology Metadata (Dublin
Core)
Ontology-container
title “macromolecule fragment”
creator “robert stevens”
subject “macromolecule generic ontology”
description “example for a tutorial”
description.release “1.0”
publisher “R Stevens”
type “ontology”
formal “pseudo-xml”
identifier
The Three Roots of OIL
Description Logics:
Formal Semantics &
Reasoning Support
Frame-based Systems:
Epistemological Modelling
Primitives
OIL
Web Languages:
XML- and RDF-based
syntax
OIL primitive ontology
slot-def has-backbone
definitions
inverse is-backbone-of
slot-def has-component
inverse is -component-of
properties transitive
class-def nucleic-acid
class-def rna subclass-of nucleic-acid
slot-constraint has-backbone
value-type ribophosphate
class-def ribophosphate
class-def deoxyribophosphate
OIL defined ontology definitions
class-def defined dna
subclass-of nucleic-acid AND NOT rna
slot-constraint has-backbone
value-type deoxyribophosphate
class-def defined enzyme
subclass-of protein
slot-constraint catalyse
has-value reaction
OIL in XML
• OIL has a DTD, an XML Schema and a
mapping to RDF-Schema. See web site for
details
<slot-def>
<slot-name = “has-component”/>
<inverse> <slot-name = “is-component-of”/>
</inverse>
<properties> <transitive/> </properties>
</slot-def>
<class-def> <class-name= “nucleic-acid”/> </classdef>
OIL Remarks
• Tools:
– Protégé II editor
– FaCT reasoner
• Other projects:
– Semantic Web projects (www.semanticweb.org)
– Agents for the web projects (e.g. DAML)
A knowledge representation language and inference
mechanism for the web
OIL Features
• Based on standard frame languages
• Extends expressive power with DL style logical
constructs
– Still has frame look and feel
– Can still function as a basic frame language
• OIL core language restricted in some respects so
as to allow for reasoning support
– No constructs with ill defined semantics
– No constructs that compromise decidability
• Has both XML and RDF(S) based syntax
OIL Features
• Semantics clearly defined by mapping to very
expressive Description Logic, e.g.:
– slot-constraint eats has-value meat, fish
–  eats.meat  eats.fish
• Note the importance of clear semantics:
– eats.(meat  fish)
• is inconsistent (assuming meat and fish are
disjoint)
• Mapping can also be used to provide reasoning
support from a Description Logic system (e.g.,
FaCT)
Why Reasoning Support?
• Key feature of OIL core language is
availability of reasoning support
• Reasoning intended as design support tool
– Check logical consistency of classes
– Compute implicit class hierarchy
• May be less important in small local
ontologies
– Can still be useful tool for design and maintenance
– Much more important with larger ontologies/multiple
authors
• Valuable tool for integrating and sharing
Download