420 likes | 616 Views
Ontology Languages and Tools . Recent Developments and Research Challenges. Ian Horrocks <horrocks@cs.man.ac.uk> Information Management Group School of Computer Science University of Manchester. The Web Ontology Language OWL. OWL History.
E N D
Ontology Languages and Tools Recent Developments and Research Challenges Ian Horrocks <horrocks@cs.man.ac.uk> Information Management Group School of Computer Science University of Manchester
OWL History • Semantic Web led to requirement for a “web ontology language” • set up Web-Ontology (WebOnt) Working Group • WebOnt developed OWL language • OWL based on earlier languages RDF, OIL and DAML+OIL • OWL now a W3C recommendation(i.e., a standard) • OWL is a family of 3 languages: OWL Lite, OWL DL and OWL Full • OIL, DAML+OIL and OWL (DL & Lite) based on Description Logics • Has facilitated development of wide range of high quality tools & infrastructure • OWL now used in an increasing range of applications…
OWL Experiences and Directions • Workshop at ESWC’07 (Innsbruck, Austria, 6-7 June) • Brings together users, implementors and researchers • Submissions include: • Enterprise Integration (Mitre) • Product development (Lockheed Martin) • Role based access control (NASA) • Healthcare (SNOMED) • Agriculture and fisheries (UN Food & Agriculture Organization) • Oral Medicine (Chalmers) • …
HappyParent´Parent u8hasChild.(Intelligent t Athletic) HappyParent´Parent u8hasChild.(Intelligent t Athletic) HappyParent´Parent u8hasChild.(Intelligent tAthletic) HappyParent´Parentu8hasChild.(Intelligentt Athletic) What Are Description Logics? • A family of logic based Knowledge Representation formalisms • Descendants of semantic networks and KL-ONE • Describe domain in terms of concepts (classes), roles (properties, relationships) and individuals • Operators allow for composition of complex concepts • Names can be given to complex concepts, e.g.: HappyParent´Parent u8hasChild.(Intelligent t Athletic)
Animal Mat Black IS-A Felix has-color Cat IS-A IS-A sits-on Why (Description) Logic? • OWL exploits results of 15+ years of DL research • Well defined (model theoretic) semantics [Quillian, 1967]
Why (Description) Logic? • OWL exploits results of 15+ years of DL research • Well defined (model theoretic) semantics • Formal properties well understood (complexity, decidability) I can’t find an efficient algorithm, but neither can all these famous people. [Garey & Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, 1979.]
Why (Description) Logic? • OWL exploits results of 15+ years of DL research • Well defined (model theoretic) semantics • Formal properties well understood (complexity, decidability) • Known reasoning algorithms
Pellet CEL Why (Description) Logic? • OWL exploits results of 15+ years of DL research • Well defined (model theoretic) semantics • Formal properties well understood (complexity, decidability) • Known reasoning algorithms • Implemented systems (highly optimised) KAON2
Why the Strange Names? • Description Logics are a family of KR formalisms • Mainly distinguished by available operators • Available operators indicated by letters in name, e.g., S : basic DL (ALC) plus transitive roles (e.g., ancestor R+) H : role hierarchy (e.g., hasDaughter v hasChild) O : nominals/singleton classes (e.g., {Italy}) I : inverse roles (e.g., isChildOf ´ hasChild–) N : number restrictions (e.g., >2hasChild, 63hasChild) • Basic DL + role hierarchy + nominals + inverse + NR = SHOIN • The basis for OWL-DL • SHOIN is very expressive, but still decidable (just) • Decidable we can build reliable tools and reasoners
Class/Concept Constructors • C is a concept (class); P is a role (property); x is an individual name • XMLS datatypes as well as classes in 8P.C and 9P.C • Restricted form of DL concrete domains
OWL RDF/XML Exchange Syntax <owl:Class> <owl:intersectionOf rdf:parseType=" collection"> <owl:Class rdf:about="#Parent"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:allValuesFrom> <owl:unionOf rdf:parseType=" collection"> <owl:Class rdf:about="#Intelligent"/> <owl:Class rdf:about="#Athletic"/> </owl:unionOf> </owl:allValuesFrom> </owl:Restriction> </owl:intersectionOf> </owl:Class> E.g., Parent u8hasChild.(Intelligent t Athletic):
Ontology Engineering Tasks • Typical tasks in Ontology Engineering: • author concept descriptions • refine the ontology • manage errors • integrate different ontologies • (partially) reuse ontologies • These tasks are highly challenging; need for: • tool & infrastructure support • design methodologies
Tools and Infrastructure • Editors/environments • Oiled, Protégé, Swoop, Construct, Ontotrack, …
CEL Tools and Infrastructure • Editors/environments • Oiled, Protégé, Swoop, Construct, Ontotrack, … • Reasoning systems • Cerebra, FaCT++, Kaon2, Pellet, Racer, … Pellet KAON2
Entity Endurant Perdurant Quality Substantial Event Stative Achievement Accomplishment Tools and Infrastructure • Editors/environments • Oiled, Protégé, Swoop, Construct, Ontotrack, … • Reasoning systems • Cerebra, FaCT++, Kaon2, Pellet, Racer, … • Design methodologies • Modularity, foundational ontologies, etc.
Why Ontology Reasoning? • Reasoning is an essential component of tools and services that help users and applications to: • Design and maintain high quality ontologies, e.g.: • Meaningful— all named classes can have instances
Why Ontology Reasoning? • Reasoning is an essential component of tools and services that help users and applications to: • Design and maintain high quality ontologies, e.g.: • Meaningful— all named classes can have instances • Correct— captures intuitions of domain experts
Why Ontology Reasoning? • Reasoning is an essential component of tools and services that help users and applications to: • Design and maintain high quality ontologies, e.g.: • Meaningful— all named classes can have instances • Correct— captures intuitions of domain experts • Minimally redundant— no unintended synonyms Banana split Banana sundae
Why Ontology Reasoning? • Reasoning is an essential component of tools and services that help users and applications to: • Design and maintain high quality ontologies, e.g.: • Meaningful— all named classes can have instances • Correct— captures intuitions of domain experts • Minimally redundant— no unintended synonyms • Answer queries, e.g.: • Find more general/specific classes • Retrieve individuals/tuples matching a given query
OWL 1.1 • Is an extension of OWL • community effort: users and developers from OWLED workshop • Is based on more expressive DL:SROIQ • (OWL is based onSHOIN) • Now a W3C member submission • See http://webont.org/owl/1.1/ • Is backwards compatible with OWL: • every OWL ontology is a valid OWL 1.1 ontology • Every OWL 1.1 ontology not using new features is a valid OWL ontology • Already supported by most popular OWL tools • Protégé, Swoop, TopBraid, FaCT++, Pellet
What’s New in SROIQ? Q stands for qualifying number restrictions: • SROIQ allows for concepts (>n R.C) and (6n R.C), e.g: • Person v Animal u =2 hasPart.Legs • Car v =4 hasComponent.Wheel • Person v 6 1 bio-parent.Male (SHOIN only allows for concepts (>n R), and (6n R))
What’s New in SROIQ? R stands for expressive role assertions: • new role inclusion assertions: R1 o … o Rn v S R1 o … o Rn o S v S S o R1 o … o Rn v S (with some restrictions on cycles) • useful, e.g., for owns ohasPart vowns implies 9owns.Bicycle v9owns.WheelspartOf olocatedIn vlocatedIn implies Fracture u9locatedIn.FemurShaft v Fracture u9locatedIn.Femur hasParent ohasBrother vhasUncle
What’s New in SROIQ? R stands for expressive role assertions: • Tra(R) (supported by SHOIN ) • Asy(R) e.g., Asy(properpartOf), Asy(hasParent) • Sym(R) (supported by SHOIN ) • Refl(R) e.g., Refl(knows) • Irrefl(R) e.g., Irrefl(properPartOf), Asy(hasParent) • Disj(R S) e.g., Disj(hasParent hasSibling)
What Else is New in OWL 1.1? Useful syntactic sugar: • DisjointUnion(C1 .... Cn) • valueNot(marriedTo John)
What Else is New in OWL 1.1? • Extended datatype expressivity: • OWL 1.1 allows for user-defined datatypes: • Datatype(over18 base(xsd:integer) minInclusive("18"^^xsd:integer)), • Class(Adult completesuper(Person) restriction(age someValuesFrom(xsd:integer minInclusive("18"^^xsd:integer)))). • n-ary datatype predicates: e.g. greaterThan: e.g., to define people who spend more than they earn • BUT, we still cannot: • define complex relationships between data properties Women who earn more than their husbands. • declare a datatype property as inverse-functional (keys).
Tractable Fragments of OWL • Why define fragments of OWL? • Ease of use. • Ease of implementation in tools. • Trade-off between expressive power and computational properties Rule of thumb: the more expressive power, the harder the reasoning. • OWL 1.1 defines several different fragments with useful computational properties • Reasoning complexity in range LOGSPACE to PTIME
Tools and Methodologies • OWL 1.1 support already added to several tools: • Protégé, Swoop, TopBraid Composer, FaCT++, Pellet • New features available (soon) in OWL tools: • Incremental classification (addition and retraction) • Conjunctive query answering • Semi-automatic repair of errors • Support for integration and modular design
Modularity in Software Engineering Typically referred to as the extent to which software is divided into components with: • high internal cohesion • controlled coupling between each other through simple interfaces (encapsulation) Benefits of modular software design: • software maintainability • software understandability
Modularity in Ontology Engineering Benefits of a modular ontology design: to simplify • ontology refinement/update modifying a module should not lead to modifications in parts of the ontology that are not conceptually related • understanding relationships between different modules in an ontology controlled and well-understood • integration with other ontologies no unexpected consequences • partial reuse reuse only the relevant part/module of an ontology
Tool Support for Modular Design • Extract smaller modules from large ontologies • E.g., starting with FMA, extract module for “Heart” • Tool ensures that module • Is as small as possible, but • Still contains all relevant knowledge • Check when integration of modules is “safe” • Interface via exported vocabulary • Information flows from imported to importing ontology • No information flows back the other way
Increasing Expressive Power • Database style keys[Lutz et al, JAIR 2004] • E.g., make + model + chassis-number is a key for Vehicles • Rule language extensions • W3C RIF WG (see http://www.w3.org/2005/rules/) • First order extensions (e.g., SWRL) [Horrocks et al, JWS, 2005] • Hybrid language extensions, e.g., [Eiter et al, KR-04; Motik et al, ISWC-04; Rosati, JoWS, 2005] • LP/F-Logic/Common Logic [Chen et al, JLP, 1993; de Bruijn et al, WWW-05] • Other extensions • Extended annotation framework • Macro language • Temporal • Fuzzy • …
Improving Scalability • Optimisation techniques • Improve performance of DL reasoners, e.g., [Sirin et al, KR-06] • Reduction to disjunctive Datalog[Motik et at, KR-04] • Transform SHOIN ontology to DatalogÇ rules • Use LP techniques to deal with large numbers of ground facts • Hybrid DL-DB systems[Horrocks et al, CADE-05] • Use DB to store “Abox” (individual) axioms • Cache inferences and use DB queries to answer/scope logical queries • Polynomial time algorithmsfor sub-ALC logics • Graph based techniques for EL+ [Baader et al, IJCAI-05] • Database techniques for DL-Lite [Calvanese et al, AAAI-05]
Summary • OWLnow being used in a wide range of applications • e-Science, medicine, geography, geology, … • Reasoningenabled tools are of crucial importance • For both design and deployment of ontologies • Large and extremely active R&D area • Language extensions (OWL 1.1) • New and improved tools & methodologies • Research challengesremain • But tools now mature enough for “prime time” applications
Acknowledgements Thanks to: Bernardo Cuenca Grau Bijan Parsia
Thank you for listening Resources: • FaCT++ system (open source) • http://owl.man.ac.uk/factplusplus/ • OWL • http://www.w3.org/TR/owl-features/ • OWLED Workshop • http://owled2007.iut-velizy.uvsq.fr/ Any questions? • Protégé • http://protege.stanford.edu/plugins/owl/ • OWL 1.1 Proposal • http://webont.org/owl/1.1/ • Slides & Tutorial • http://www.cs.man.ac.uk/~horrocks/nsd07/