170 likes | 288 Views
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
E N D
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?
Frames: modelling primitives, OKBC Description Logics: formal semantics & reasoning support OIL Web languages: XML & RDF based syntax 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
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 OIL Description Logics: Formal Semantics & Reasoning Support Frame-based Systems: Epistemological Modelling Primitives OIL Web Languages: XML- and RDF-based syntax
OIL primitive ontology definitions slot-def has-backbone 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 subclass-of NOT ribophosphate
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 class-def defined kinase subclass-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 • OILcore 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