knowledge representation ontology are best delivered in some computable representation variety of...
TRANSCRIPT
Knowledge Representation• Ontology are best delivered in some computable 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!
Languages• Vocabularies using natural language– 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– Concepts are defined and primitive– Expressivity vs. computational complexity balance– TAMBIS Ontology (uses FaCT)
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
Frames and Logics• Frames– 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
• Ideal: both! Current activity uses a mixture. Logics provide reasoning services for frame schemes.
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?
Ontology Exchange Languages• XOL eXtensible Ontology Language– XML markup – Frame based– Rooted in OKBC
– http://www.ai.sri.com/pkarp/xol/ • OIL Ontology Interchange language Ontology
Inference Layer
– Gives a semantics to RDF-Schema– http://www.ontoknowledge.org/oil
Frames: modelling primitives,
OKBC
Description Logics: formal semantics & reasoning support
Web languages:XML & RDF based syntax
OIL
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 “http://www.ontoknowledge.org/oil/oil.pdf”
source “http://img.cs.man.ac.uk/ismb00/mmexample.pdf”language “OIL”language “en-uk”relation.haspart “http://www.ontoRus.com/bio/mmole.onto”
The Three Roots of OILFrame-based Systems:Epistemological ModellingPrimitives
Web Languages:XML- and RDF-basedsyntax
Description Logics:Formal Semantics & Reasoning Support
OIL
OIL primitive ontology definitions
slot-def has-backbone inverse is-backbone-of
slot-def has-component inverse is -component-ofproperties transitive
class-def nucleic-acidclass-def rna subclass-of nucleic-acid
slot-constraint has-backbone value-type ribophosphate
class-def ribophosphateclass-def deoxyribophosphate
subclass-of NOT ribophosphate
OIL defined ontology definitions
class-def defined dna subclass-of nucleic-acid AND NOT rnaslot-constraint has-backbone
value-type deoxyribophosphate
class-def defined enzyme subclass-of protein slot-constraint catalyse
has-value reaction
class-def defined kinasesubclass-of protein slot-constraint catalyse
has-value phosphorylation-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”/> </class-def> <class-def>
<class-name= “rna”/> <subclass-of> <class name = “nucleic-acid”/> </subclass-of> <slot-constraint>
<slot-name = “has-backbone”/><value-type> <class name= “ribophosphate” </value-type>
</slot-constraint> </class-def>
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 ontologies– Use definitions/axioms to establish inter-ontology relationships– Check for consistency and (unexpected) implied relationships– Already shown to be useful technique for DB schema integration