SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
+




    From OBO to OWL and
    back again – a primer
    David Osumi-Sutherland, Virtual Fly
    Brain/FlyBase
    Chris Mungall – GO/LBL
+
    I use OBO, why should I care about
    OWL?
       OWL 2 is a W3C standard with a large and growing ecosystem of
        developers.

       Using OWL ontologies in Protégé 4 you can use fast reasoners to:
           Query your ontology
             This could be the basis for sophisticated queries on your website
           Quickly find mistakes
           Automate classification

       Non-lossy round tripping from OBO to OWL and back is now easy
           continue developing in OBO while taking advantage of OWL and
            Protégé for reasoning
           This may be a first step to developing in OWL/Protégé
+
    Take home messages
     An   ontology is a classification

     There   are lots of useful ways to classify stuff

     Maintaining   multiple classification schemes by hand is
     hard
      So automate what you can

     Everybody makes mistakes
      So get the computer to find errors for you

     Re-use other people’s work where possible
      import class hierarchies and relations
      use common patterns
+
    What is an ontology ?

     A set  of defined, inter-related terms to use in
        annotation/metadata/knowledge bases.



       A classification



       A query-able store of (scientific) knowledge that
        uses logical inference.
+
    What is an ontology ?

     A set  of defined, inter-related terms to use in
        annotation/metadata/knowledge bases.



       A classification



       A query-able store of (scientific) knowledge that
        uses logical inference.
+
    Defining classes – Textual and
    formal definitions
Relationships formalize at least some of the textual
definition

    name: insect leg
    def: “A paired ventral
    appendage of the
    thoracic segments, used
    for walking”
    is_a appendage
    relationship: part_of
    „thoracic segment‟
    relationship:
    has_function_in: walking
+
    Attaching textual information to a
    class in OWL
       Annotation properties provide URIs and labels for textual info
        attached to a term. In the current OBO to OWL translation we
        use:
           OBO name = rdfs:label
           OBO def = IAO:definition
           …
+
    What is an ontology ?

     A set  of defined, inter-related terms to use in
        annotation/metadata/knowledge bases.

                    depends on

       A classification               depends on

                 depends on

       A query-able store of (scientific) knowledge that
        uses logical inference.
+
    What (use) is an ontology?


     A set
          of defined, inter-related terms to use in
     annotation.


      Relationsbetween terms allow annotations to be
       grouped in scientifically meaningful ways

        requires  an ontology to be an accurate and
        scientifically meaningful classification and store of
        scientific knowledge.
+
    What is an ontology ?
    A classification


                            appendage


                                            wing

                       antenna      forew
                                     ing
                                               hind
                                               wing
+
    OBO-OWL cheat sheet:
    classification
     OWL Manchester Syntax    Protégé
        antenna SubClassOf
         appendage




     OBO    format :          OBO-Edit:
        name: antenna
        is_a: appendage
+
    What is an ontology ?

       A classification
           There are lots of scientifically useful ways to classify a
            bit of anatomy.
               its parts and their arrangement
               its relation to other structures
                   what is it: part of; connected to; adjacent to, overlapping?
               its shape
               its function
               its developmental origins
               its species or clade
               its evolutionary history?
+    Manually maintaining an ontology
    with multiple classification schemes
                   is hard




                         • It is difficult to keep track of
                         multiple classification chains to:
                               • ensure completeness;
                               • avoid redundancy;
                               • avoid introducing error due to
                               inheritance of classification
                               criteria from a distant ancestor
+
    Relations – OBO vs OWL

       OBO: relation
                               part_of




       OWL: object property
+
    class – class relationships are
    quantified
     Class:Class   relationships are many to many
      Does the relation apply to all or just some of the
       class ?
        we specify this with quantifiers:
          ∀: for all, all, only, every
          ∃: there exists, some
+
    relationships between classes use
    quantifiers

     OBO  (quantifiers hidden)
      name: leg
      relationship: part_of
       thoracic segment

     OWL  (MS):
      leg SubClassOf part_of
       some ‘thoracic segment‟
+
    Relationship record necessary
    conditions for class membership
    Being part of a thoracic segment is a necessary condition of being in the
    class leg

    „leg‟ SubClassOf part_of some thoracic segment


                part_of some
                ‘thoracic segment


                              leg
                 wing
+
    Directionality and quantifiers


    „wing‟ SubClassOf part_of some thoracic segment   ✔
    „thoracic segment‟ SubClassOf has_part some „wing‟    ✗

           has_part some
           wing


                thoracic
                segment

                           ✗
+
    Directionality and quantifiers

       „claw‟ SubClassOf connected_to some ‘tarsal segment‟   ✔
       „tarsal segment‟ SubClassOf connected_to some claw     ✗


              connected_to some
              „claw‟                   claw



                    tarsal
                   segment
                                                   tarsal segments

                                   ✗
+
    Relationships store knowledge in
    query-able form


                              part_of some ‘insect
                              thorax‟

                            wing
                                     forew     leg
                                      ing

                              hind
                              wing
+
    OBO-OWL cheat sheet:
    necessary conditions for class membership

     OWL Manchester Syntax            Protégé
        antenna SubClassOf part_of
         some head




     OBO    format :                  OBO-Edit:
        name: antenna
        relationship: part_of head
+    Manually maintaining an ontology
    with multiple classification schemes
                   is hard




                       So automate what you
                       can.
+ The knowledge an ontology contains
                  can be used to automate
                       classification
   English: Any sense organ that functions in the detection of smell is an olfactory sense
    organ



   OWL Manchester Syntax
      olfactory sense organ
    EquivalentTo „sense organ‟
    and capable_of some „detection                             olfactory     capable_of
    of smell‟                             sense organ          sense         some
                                                               organ         detection of
                                                                             smell
   OBO format :
      name: olfactory sense organ
     intersection_of: sense organ
     intersection_of: capable_of detection
    of smell
+
    sense organ          capable_of some
                         detection of smell

    nose
                               nose

                                              olfactory
                                              sense
                                              organ


                                                nose

                  olfactory    capable_of
    sense organ   sense        some
                  organ        detection of
                               smell
+
    How much classification to
    automate
       Aim to automate classification at least enough that only a single
        is_a hierarchy is maintained by hand.

       Only add equivalent class definitions when you are confident you
        can completely formalise a definition.

       Automating classification is often hard. How would you define this
        using an equivalent class statement?
           name: arthropod paired, metameric, segmental appendage
            def: “An organism subdivision that is metameric (divided into segments
            sharing some structural features with each other), protrudes from the
            head or body to which it is attached by an articulation and which
            contains parts of multiple anatomical systems including somatic
            musculature. Each instance is part of a bilateral pair within a single
            segment. Adjacent segments (podomeres) are connected by a joint and
            contain muscle attachment sites.”
+
    OBO-OWL cheat sheet:
    necessary and sufficient conditions for class membership


       OWL Manchester Syntax                    Protégé
           antennal sense organ
            EquivalentTo „sense organ‟ that
            part_of some antenna


           (that / and are interchangable in
            MS)

       OBO format :                             OBO-Edit:
           name: antennal sense organ
           intersection_of: sense organ
           intersection_of: part_of
            antenna
+




    ERROR MESSAGES ARE YOUR
    FRIENDS! – They tell you you‟ve screwed up before you
    get embarrassing emails complaining that you‟ve screwed up
+
    Some classes don‟t intersect
     OWL DisjointWith OBO: disjoint_from




                   X                       Y




                       X         Y         ✗
+
    Some classes don‟t intersect

          anatomical                 anatomical
               space                   structure


         lumen of                    muscle
            gut




                        muscle

                                 ✗
                       lumen
                        of gut
+
    Some classes don‟t intersect

          anatomical                         anatomical
               space                           structure


         lumen of                           muscle
            gut




                    anatomical       anatomical
                    space      muscle structure
                             lumen
                              of gut                 ✗
+
    Some relations only apply between
    particular classes.
                              D   domain       R   range


     anatomical                                                 biological
                          D       capable_of        R
       structure                                                  process



                   X SubClassof capable_of some Y



                   X
                                                    Y
                   anatomical
                                                        biological
                     structure
                                                          process
+
    Some classes don‟t overlap

         anatomical            biological
           structure             process


                            detection
          nose               of smell




           biological         anatomical
             process            structure
                        ✗                   ✗
                            detection
          nose               of smell
+

    anatomical                                          biological
                        D     capable_of    R
      structure                                           process




    detection of smell SubClassof capable_of some nose




    anatomical                             biological
      structure                             process
                  detection                             detection
                   of smell                              of smell
      nose                                 nose
                       „                                     „
                              ✗                                      ✗
+
    Some relations entail others


                                      negatively
                                      regulates
                                      regulates




                             regulates some ‘cell
      negatively_regulates
                             division‟
      some ‘cell division‟


             X                    X
+
    Some relations chains entail
    relations



                  regulates       part_of

                           regulates



      X regulates some Y               X regulates some Z
      Y part_of some Z
+
    Take home messages
     An   ontology is a classification

     There   are lots of useful ways to classify stuff

     Maintaining   multiple classification schemes by hand is
     hard
      So automate what you can

     Everybody makes mistakes
      So get the computer to find errors for you

     Re-use other people’s work where possible
      import class hierarchies and relations
      use common patterns

Weitere ähnliche Inhalte

Ähnlich wie From OBO to OWL - a primer

Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Samuel Croset
 
Drug-discovery knowledge integration and analysis using OWL and reasoners
Drug-discovery knowledge integration and analysis using OWL and reasonersDrug-discovery knowledge integration and analysis using OWL and reasoners
Drug-discovery knowledge integration and analysis using OWL and reasonersSamuel Croset
 
GO Sensu Terms and Taxonomy -- Apr 2007
GO Sensu Terms and Taxonomy -- Apr 2007GO Sensu Terms and Taxonomy -- Apr 2007
GO Sensu Terms and Taxonomy -- Apr 2007Chris Mungall
 
GO Sensu Term and Taxonomy (Apr 2007)
GO  Sensu Term and Taxonomy  (Apr 2007)GO  Sensu Term and Taxonomy  (Apr 2007)
GO Sensu Term and Taxonomy (Apr 2007)Chris Mungall
 
Ontology-based data access and semantic mining with Aber-OWL
Ontology-based data access and semantic mining with Aber-OWLOntology-based data access and semantic mining with Aber-OWL
Ontology-based data access and semantic mining with Aber-OWLRobert Hoehndorf
 
Can there be such a thing as Ontology Engineering?
Can there be such a thing as Ontology Engineering?Can there be such a thing as Ontology Engineering?
Can there be such a thing as Ontology Engineering?robertstevens65
 
OWL-XML-Summer-School-09
OWL-XML-Summer-School-09OWL-XML-Summer-School-09
OWL-XML-Summer-School-09Duncan Hull
 
Ontology Language Extension to Support Collaborative Ontology Building
Ontology Language Extension to Support Collaborative Ontology BuildingOntology Language Extension to Support Collaborative Ontology Building
Ontology Language Extension to Support Collaborative Ontology BuildingJie Bao
 
Formalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementationFormalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementationgolpedegato2
 
Uberon lausanne-2012
Uberon lausanne-2012Uberon lausanne-2012
Uberon lausanne-2012Chris Mungall
 
SHOE (simple html ontology extensions)
SHOE (simple html ontology extensions)SHOE (simple html ontology extensions)
SHOE (simple html ontology extensions)Selman Bozkır
 
UMBEL: Subject Concepts Layer for the Web
UMBEL: Subject Concepts Layer for the WebUMBEL: Subject Concepts Layer for the Web
UMBEL: Subject Concepts Layer for the WebMike Bergman
 
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...Hilmar Lapp
 
Ontology - and Reloaded and Revolutions
Ontology - and Reloaded and RevolutionsOntology - and Reloaded and Revolutions
Ontology - and Reloaded and RevolutionsJie Bao
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)muhammadmubinmacadad2
 
SMalL - Semantic Malware Log Based Reporter
SMalL  - Semantic Malware Log Based ReporterSMalL  - Semantic Malware Log Based Reporter
SMalL - Semantic Malware Log Based ReporterStefan Prutianu
 

Ähnlich wie From OBO to OWL - a primer (20)

Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013Tutorial OWL and drug discovery ICBO 2013
Tutorial OWL and drug discovery ICBO 2013
 
Drug-discovery knowledge integration and analysis using OWL and reasoners
Drug-discovery knowledge integration and analysis using OWL and reasonersDrug-discovery knowledge integration and analysis using OWL and reasoners
Drug-discovery knowledge integration and analysis using OWL and reasoners
 
GO Sensu Terms and Taxonomy -- Apr 2007
GO Sensu Terms and Taxonomy -- Apr 2007GO Sensu Terms and Taxonomy -- Apr 2007
GO Sensu Terms and Taxonomy -- Apr 2007
 
GO Sensu Term and Taxonomy (Apr 2007)
GO  Sensu Term and Taxonomy  (Apr 2007)GO  Sensu Term and Taxonomy  (Apr 2007)
GO Sensu Term and Taxonomy (Apr 2007)
 
Ontology-based data access and semantic mining with Aber-OWL
Ontology-based data access and semantic mining with Aber-OWLOntology-based data access and semantic mining with Aber-OWL
Ontology-based data access and semantic mining with Aber-OWL
 
Can there be such a thing as Ontology Engineering?
Can there be such a thing as Ontology Engineering?Can there be such a thing as Ontology Engineering?
Can there be such a thing as Ontology Engineering?
 
Tutorial 1-Ontologies
Tutorial 1-OntologiesTutorial 1-Ontologies
Tutorial 1-Ontologies
 
Meghyn slides-hse-2014
Meghyn slides-hse-2014Meghyn slides-hse-2014
Meghyn slides-hse-2014
 
OWL-XML-Summer-School-09
OWL-XML-Summer-School-09OWL-XML-Summer-School-09
OWL-XML-Summer-School-09
 
Ontology Language Extension to Support Collaborative Ontology Building
Ontology Language Extension to Support Collaborative Ontology BuildingOntology Language Extension to Support Collaborative Ontology Building
Ontology Language Extension to Support Collaborative Ontology Building
 
Formalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementationFormalization and implementation of BFO 2 with a focus on the OWL implementation
Formalization and implementation of BFO 2 with a focus on the OWL implementation
 
Learning ontologies
Learning ontologiesLearning ontologies
Learning ontologies
 
Uberon lausanne-2012
Uberon lausanne-2012Uberon lausanne-2012
Uberon lausanne-2012
 
SHOE (simple html ontology extensions)
SHOE (simple html ontology extensions)SHOE (simple html ontology extensions)
SHOE (simple html ontology extensions)
 
UMBEL: Subject Concepts Layer for the Web
UMBEL: Subject Concepts Layer for the WebUMBEL: Subject Concepts Layer for the Web
UMBEL: Subject Concepts Layer for the Web
 
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
Towards ubiquitous OWL computing: Simplifying programmatic authoring of and q...
 
Ontology - and Reloaded and Revolutions
Ontology - and Reloaded and RevolutionsOntology - and Reloaded and Revolutions
Ontology - and Reloaded and Revolutions
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)
 
SMalL - Semantic Malware Log Based Reporter
SMalL  - Semantic Malware Log Based ReporterSMalL  - Semantic Malware Log Based Reporter
SMalL - Semantic Malware Log Based Reporter
 
Oop basic concepts
Oop basic conceptsOop basic concepts
Oop basic concepts
 

Kürzlich hochgeladen

HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...CaraSkikne1
 
DUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRA
DUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRADUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRA
DUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRATanmoy Mishra
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxEduSkills OECD
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptxmary850239
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxSaurabhParmar42
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxAditiChauhan701637
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17Celine George
 
How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17Celine George
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfTechSoup
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17Celine George
 
Benefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive EducationBenefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive EducationMJDuyan
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice documentXsasf Sfdfasd
 
What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?TechSoup
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptxraviapr7
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfMohonDas
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17Celine George
 
Philosophy of Education and Educational Philosophy
Philosophy of Education  and Educational PhilosophyPhilosophy of Education  and Educational Philosophy
Philosophy of Education and Educational PhilosophyShuvankar Madhu
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17Celine George
 

Kürzlich hochgeladen (20)

HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...5 charts on South Africa as a source country for international student recrui...
5 charts on South Africa as a source country for international student recrui...
 
DUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRA
DUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRADUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRA
DUST OF SNOW_BY ROBERT FROST_EDITED BY_ TANMOY MISHRA
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptx
 
CAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptxCAULIFLOWER BREEDING 1 Parmar pptx
CAULIFLOWER BREEDING 1 Parmar pptx
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptx
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17
 
How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17How to Use api.constrains ( ) in Odoo 17
How to Use api.constrains ( ) in Odoo 17
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17How to Show Error_Warning Messages in Odoo 17
How to Show Error_Warning Messages in Odoo 17
 
Benefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive EducationBenefits & Challenges of Inclusive Education
Benefits & Challenges of Inclusive Education
 
The Singapore Teaching Practice document
The Singapore Teaching Practice documentThe Singapore Teaching Practice document
The Singapore Teaching Practice document
 
What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?What is the Future of QuickBooks DeskTop?
What is the Future of QuickBooks DeskTop?
 
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptxClinical Pharmacy  Introduction to Clinical Pharmacy, Concept of clinical pptx
Clinical Pharmacy Introduction to Clinical Pharmacy, Concept of clinical pptx
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdf
 
How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17How to Add Existing Field in One2Many Tree View in Odoo 17
How to Add Existing Field in One2Many Tree View in Odoo 17
 
Philosophy of Education and Educational Philosophy
Philosophy of Education  and Educational PhilosophyPhilosophy of Education  and Educational Philosophy
Philosophy of Education and Educational Philosophy
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17
 

From OBO to OWL - a primer

  • 1. + From OBO to OWL and back again – a primer David Osumi-Sutherland, Virtual Fly Brain/FlyBase Chris Mungall – GO/LBL
  • 2. + I use OBO, why should I care about OWL?  OWL 2 is a W3C standard with a large and growing ecosystem of developers.  Using OWL ontologies in Protégé 4 you can use fast reasoners to:  Query your ontology  This could be the basis for sophisticated queries on your website  Quickly find mistakes  Automate classification  Non-lossy round tripping from OBO to OWL and back is now easy  continue developing in OBO while taking advantage of OWL and Protégé for reasoning  This may be a first step to developing in OWL/Protégé
  • 3. + Take home messages  An ontology is a classification  There are lots of useful ways to classify stuff  Maintaining multiple classification schemes by hand is hard  So automate what you can  Everybody makes mistakes  So get the computer to find errors for you  Re-use other people’s work where possible  import class hierarchies and relations  use common patterns
  • 4. + What is an ontology ?  A set of defined, inter-related terms to use in annotation/metadata/knowledge bases.  A classification  A query-able store of (scientific) knowledge that uses logical inference.
  • 5. + What is an ontology ?  A set of defined, inter-related terms to use in annotation/metadata/knowledge bases.  A classification  A query-able store of (scientific) knowledge that uses logical inference.
  • 6. + Defining classes – Textual and formal definitions Relationships formalize at least some of the textual definition name: insect leg def: “A paired ventral appendage of the thoracic segments, used for walking” is_a appendage relationship: part_of „thoracic segment‟ relationship: has_function_in: walking
  • 7. + Attaching textual information to a class in OWL  Annotation properties provide URIs and labels for textual info attached to a term. In the current OBO to OWL translation we use:  OBO name = rdfs:label  OBO def = IAO:definition  …
  • 8. + What is an ontology ?  A set of defined, inter-related terms to use in annotation/metadata/knowledge bases. depends on  A classification depends on depends on  A query-able store of (scientific) knowledge that uses logical inference.
  • 9. + What (use) is an ontology?  A set of defined, inter-related terms to use in annotation.  Relationsbetween terms allow annotations to be grouped in scientifically meaningful ways  requires an ontology to be an accurate and scientifically meaningful classification and store of scientific knowledge.
  • 10. + What is an ontology ? A classification appendage wing antenna forew ing hind wing
  • 11. + OBO-OWL cheat sheet: classification  OWL Manchester Syntax  Protégé  antenna SubClassOf appendage  OBO format :  OBO-Edit:  name: antenna  is_a: appendage
  • 12. + What is an ontology ?  A classification  There are lots of scientifically useful ways to classify a bit of anatomy.  its parts and their arrangement  its relation to other structures  what is it: part of; connected to; adjacent to, overlapping?  its shape  its function  its developmental origins  its species or clade  its evolutionary history?
  • 13. + Manually maintaining an ontology with multiple classification schemes is hard • It is difficult to keep track of multiple classification chains to: • ensure completeness; • avoid redundancy; • avoid introducing error due to inheritance of classification criteria from a distant ancestor
  • 14. + Relations – OBO vs OWL  OBO: relation part_of  OWL: object property
  • 15. + class – class relationships are quantified  Class:Class relationships are many to many  Does the relation apply to all or just some of the class ?  we specify this with quantifiers:  ∀: for all, all, only, every  ∃: there exists, some
  • 16. + relationships between classes use quantifiers  OBO (quantifiers hidden)  name: leg  relationship: part_of thoracic segment  OWL (MS):  leg SubClassOf part_of some ‘thoracic segment‟
  • 17. + Relationship record necessary conditions for class membership Being part of a thoracic segment is a necessary condition of being in the class leg „leg‟ SubClassOf part_of some thoracic segment part_of some ‘thoracic segment leg wing
  • 18. + Directionality and quantifiers „wing‟ SubClassOf part_of some thoracic segment ✔ „thoracic segment‟ SubClassOf has_part some „wing‟ ✗ has_part some wing thoracic segment ✗
  • 19. + Directionality and quantifiers  „claw‟ SubClassOf connected_to some ‘tarsal segment‟ ✔  „tarsal segment‟ SubClassOf connected_to some claw ✗ connected_to some „claw‟ claw tarsal segment tarsal segments ✗
  • 20. + Relationships store knowledge in query-able form part_of some ‘insect thorax‟ wing forew leg ing hind wing
  • 21. + OBO-OWL cheat sheet: necessary conditions for class membership  OWL Manchester Syntax  Protégé  antenna SubClassOf part_of some head  OBO format :  OBO-Edit:  name: antenna  relationship: part_of head
  • 22. + Manually maintaining an ontology with multiple classification schemes is hard So automate what you can.
  • 23. + The knowledge an ontology contains can be used to automate classification  English: Any sense organ that functions in the detection of smell is an olfactory sense organ  OWL Manchester Syntax  olfactory sense organ EquivalentTo „sense organ‟ and capable_of some „detection olfactory capable_of of smell‟ sense organ sense some organ detection of smell  OBO format :  name: olfactory sense organ  intersection_of: sense organ  intersection_of: capable_of detection of smell
  • 24. + sense organ capable_of some detection of smell nose nose olfactory sense organ nose olfactory capable_of sense organ sense some organ detection of smell
  • 25. + How much classification to automate  Aim to automate classification at least enough that only a single is_a hierarchy is maintained by hand.  Only add equivalent class definitions when you are confident you can completely formalise a definition.  Automating classification is often hard. How would you define this using an equivalent class statement?  name: arthropod paired, metameric, segmental appendage def: “An organism subdivision that is metameric (divided into segments sharing some structural features with each other), protrudes from the head or body to which it is attached by an articulation and which contains parts of multiple anatomical systems including somatic musculature. Each instance is part of a bilateral pair within a single segment. Adjacent segments (podomeres) are connected by a joint and contain muscle attachment sites.”
  • 26. + OBO-OWL cheat sheet: necessary and sufficient conditions for class membership  OWL Manchester Syntax  Protégé  antennal sense organ EquivalentTo „sense organ‟ that part_of some antenna  (that / and are interchangable in MS)  OBO format :  OBO-Edit:  name: antennal sense organ  intersection_of: sense organ  intersection_of: part_of antenna
  • 27. + ERROR MESSAGES ARE YOUR FRIENDS! – They tell you you‟ve screwed up before you get embarrassing emails complaining that you‟ve screwed up
  • 28. + Some classes don‟t intersect OWL DisjointWith OBO: disjoint_from X Y X Y ✗
  • 29. + Some classes don‟t intersect anatomical anatomical space structure lumen of muscle gut muscle ✗ lumen of gut
  • 30. + Some classes don‟t intersect anatomical anatomical space structure lumen of muscle gut anatomical anatomical space muscle structure lumen of gut ✗
  • 31. + Some relations only apply between particular classes. D domain R range anatomical biological D capable_of R structure process X SubClassof capable_of some Y X Y anatomical biological structure process
  • 32. + Some classes don‟t overlap anatomical biological structure process detection nose of smell biological anatomical process structure ✗ ✗ detection nose of smell
  • 33. + anatomical biological D capable_of R structure process detection of smell SubClassof capable_of some nose anatomical biological structure process detection detection of smell of smell nose nose „ „ ✗ ✗
  • 34. + Some relations entail others negatively regulates regulates regulates some ‘cell negatively_regulates division‟ some ‘cell division‟ X X
  • 35. + Some relations chains entail relations regulates part_of regulates X regulates some Y X regulates some Z Y part_of some Z
  • 36. + Take home messages  An ontology is a classification  There are lots of useful ways to classify stuff  Maintaining multiple classification schemes by hand is hard  So automate what you can  Everybody makes mistakes  So get the computer to find errors for you  Re-use other people’s work where possible  import class hierarchies and relations  use common patterns

Hinweis der Redaktion

  1. Not interested in philosophical debates about this – want to keep it practical.
  2. Not interested in philosophical debates about this – want to keep it practical.
  3. Emphasise that relationships are part of the definition. In this case, not all detail is formalised: ventral and paired are ignored.
  4. Make graph of hierarchy
  5. Add screen cap for object properties in Protege
  6. Make screen shot for this
  7. The point is not to read all the text, just to note that it is complicated. Note that this approach differs from Simon’s, as I understand it, of making formal defs primary and aiming for complete Rector demoralization.
  8. Slightly patronising slide, but made this because I think non-coders often think having lots of error messages is a chore. I know I used to.
  9. Last point will be dealt with later by Chris.