1 / 41

Ontology Languages and Tools

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.

theo
Télécharger la présentation

Ontology Languages and Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. The Web Ontology Language OWL

  3. 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…

  4. 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) • …

  5. 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)

  6. 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]

  7. 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.]

  8. 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

  9. 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

  10. 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

  11. 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

  12. Knowledge Base / Ontology Axioms

  13. 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):

  14. Ontology Engineering

  15. 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

  16. Tools and Infrastructure • Editors/environments • Oiled, Protégé, Swoop, Construct, Ontotrack, …

  17. CEL Tools and Infrastructure • Editors/environments • Oiled, Protégé, Swoop, Construct, Ontotrack, … • Reasoning systems • Cerebra, FaCT++, Kaon2, Pellet, Racer, … Pellet KAON2

  18. 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.

  19. 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

  20. 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

  21. 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

  22. 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

  23. Recent Developments:Languages

  24. 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

  25. 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))

  26. 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

  27. 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)

  28. What Else is New in OWL 1.1? Useful syntactic sugar: • DisjointUnion(C1 .... Cn) • valueNot(marriedTo John)

  29. 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).

  30. 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

  31. Recent Developments:Tools and Methodologies

  32. 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

  33. 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

  34. 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

  35. 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

  36. Research Challenges

  37. 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 • …

  38. 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]

  39. 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

  40. Acknowledgements Thanks to: Bernardo Cuenca Grau Bijan Parsia

  41. 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/

More Related