• 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