0
Introduction to OPPL
                                 OPPL Syntax
                                  Using OPPL
           ...
Introduction to OPPL
                                     OPPL Syntax
                                      Using OPPL
   ...
Introduction to OPPL
                                     OPPL Syntax
                                      Using OPPL
   ...
Introduction to OPPL
                                     OPPL Syntax
                                      Using OPPL
   ...
Introduction to OPPL
                                     OPPL Syntax
                                      Using OPPL
   ...
Introduction to OPPL
                                                      OPPL instruction
                              ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                   OPPL instruction
                                 ...
Introduction to OPPL
                                                    OPPL instruction
                                ...
Introduction to OPPL
                                                    OPPL instruction
                                ...
Introduction to OPPL
                                                    OPPL instruction
                                ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                    OPPL software
                                   ...
Introduction to OPPL
                                                     OPPL software
                                  ...
Introduction to OPPL
                                      OPPL Syntax
                                       Using OPPL
 ...
Introduction to OPPL
                                      OPPL Syntax
                                       Using OPPL
 ...
Introduction to OPPL
                                      OPPL Syntax
                                       Using OPPL
 ...
Introduction to OPPL
                                      OPPL Syntax
                                       Using OPPL
 ...
Introduction to OPPL
                                      OPPL Syntax
                                       Using OPPL
 ...
Introduction to OPPL
                                      OPPL Syntax
                                       Using OPPL
 ...
Introduction to OPPL
                                     OPPL Syntax
                                      Using OPPL
   ...
Upcoming SlideShare
Loading in...5
×

Transforming the Axiomisation of Ontologies: The Ontology Pre-Processor Language

540

Published on

Mikel Egaña Aranguren, OWLED 2008

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
540
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Transforming the Axiomisation of Ontologies: The Ontology Pre-Processor Language"

  1. 1. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Ontology Pre-Processor Language (OPPL) http://oppl.sourceforge.net/ Mikel Egaña (mikel.eganaaranguren@cs.man.ac.uk) Robert Stevens (robert.stevens@manchester.ac.uk) Bio-Health Informatics Group (BHIG), University of Manchester Erick Antezana (erant@psb.ugent.be) Department of Plant Systems Biology, VIB, Gent, Belgium Department of Molecular Genetics, Ghent University, Gent, Belgium OWLED 2008 DC Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  2. 2. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Introduction to OPPL “Macro” language for manipulating content of OWL ontologies Motivation: authors’ needs when creating/maintaining bio-ontologies (Use cases) Nearly API-level functionality with minimum programming/OWL knowledge Manchester OWL Syntax + SELECT, ADD, REMOVE Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  3. 3. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Introduction to OPPL “Macro” language for manipulating content of OWL ontologies Motivation: authors’ needs when creating/maintaining bio-ontologies (Use cases) Nearly API-level functionality with minimum programming/OWL knowledge Manchester OWL Syntax + SELECT, ADD, REMOVE Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  4. 4. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Introduction to OPPL “Macro” language for manipulating content of OWL ontologies Motivation: authors’ needs when creating/maintaining bio-ontologies (Use cases) Nearly API-level functionality with minimum programming/OWL knowledge Manchester OWL Syntax + SELECT, ADD, REMOVE Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  5. 5. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Introduction to OPPL “Macro” language for manipulating content of OWL ontologies Motivation: authors’ needs when creating/maintaining bio-ontologies (Use cases) Nearly API-level functionality with minimum programming/OWL knowledge Manchester OWL Syntax + SELECT, ADD, REMOVE Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  6. 6. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction SELECT Class: admin;ADD label "office admin"; OPPL statement OPPL statement OPPL instruction Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  7. 7. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples ADD Class: undergraduate; REMOVE Class: undergraduate; SELECT equivalentTo participates_in only (intellectual_dinner and party); ADD label "professor"; REMOVE subClassOf lives_on only (not campus); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  8. 8. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples ADD Class: undergraduate; REMOVE Class: undergraduate; SELECT equivalentTo participates_in only (intellectual_dinner and party); ADD label "professor"; REMOVE subClassOf lives_on only (not campus); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  9. 9. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples ADD Class: undergraduate; REMOVE Class: undergraduate; SELECT equivalentTo participates_in only (intellectual_dinner and party); ADD label "professor"; REMOVE subClassOf lives_on only (not campus); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  10. 10. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples SELECT subClassOf MoleOfSalt; ADD subClassOf hasDensity value 0.0; SELECT inverse participates_in; ADD range student; ADD Class: professor; ADD label "staff"; ADD equivalentTo participates_in only (intellectual_dinner and party); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  11. 11. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples SELECT subClassOf MoleOfSalt; ADD subClassOf hasDensity value 0.0; SELECT inverse participates_in; ADD range student; ADD Class: professor; ADD label "staff"; ADD equivalentTo participates_in only (intellectual_dinner and party); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  12. 12. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples SELECT subClassOf MoleOfSalt; ADD subClassOf hasDensity value 0.0; SELECT inverse participates_in; ADD range student; ADD Class: professor; ADD label "staff"; ADD equivalentTo participates_in only (intellectual_dinner and party); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  13. 13. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples disjointWith, differentFrom, sameAs, type, descendantOf, ancestorOf, subPropertyOf, ... http://oppl.sourceforge.net/test.oppl Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  14. 14. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL instruction examples disjointWith, differentFrom, sameAs, type, descendantOf, ancestorOf, subPropertyOf, ... http://oppl.sourceforge.net/test.oppl Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  15. 15. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL extra instructions SELECT_PRIMITIVE descendantOf student; SELECT_DEFINED descendantOf student; SELECT descendantOf person; ADD disjointWithSiblings; SELECT assertedSubClassOf participates_in some sport; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  16. 16. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL extra instructions SELECT_PRIMITIVE descendantOf student; SELECT_DEFINED descendantOf student; SELECT descendantOf person; ADD disjointWithSiblings; SELECT assertedSubClassOf participates_in some sport; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  17. 17. Introduction to OPPL OPPL instruction OPPL Syntax OPPL instruction examples Using OPPL OPPL extra instructions Future of OPPL OPPL extra instructions SELECT_PRIMITIVE descendantOf student; SELECT_DEFINED descendantOf student; SELECT descendantOf person; ADD disjointWithSiblings; SELECT assertedSubClassOf participates_in some sport; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  18. 18. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL OPPL software http://oppl.sourceforge.net/ OPPLInstructionManager Java library for processing OPPL instructions (LGPL) OWL API, Pellet, FaCT++, DIG OPPL reference implementation: OPPL instructions in flat file java -jar oppl.jar pellet ins.oppl ont.owl new_ont.owl Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  19. 19. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL OPPL software http://oppl.sourceforge.net/ OPPLInstructionManager Java library for processing OPPL instructions (LGPL) OWL API, Pellet, FaCT++, DIG OPPL reference implementation: OPPL instructions in flat file java -jar oppl.jar pellet ins.oppl ont.owl new_ont.owl Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  20. 20. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL OPPL software http://oppl.sourceforge.net/ OPPLInstructionManager Java library for processing OPPL instructions (LGPL) OWL API, Pellet, FaCT++, DIG OPPL reference implementation: OPPL instructions in flat file java -jar oppl.jar pellet ins.oppl ont.owl new_ont.owl Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  21. 21. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 1: Bio-ontology axiomatic enrichment Gene Ontology Next Generation http://www.gong.manchester.ac.uk/ alanine:sodium symporter activity —— Axiomatic enrichment based in rdfs:label —— EquivalentTo: symporter activity and transports only (alanine or sodium) Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  22. 22. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 1: Bio-ontology axiomatic enrichment Gene Ontology Next Generation http://www.gong.manchester.ac.uk/ alanine:sodium symporter activity —— Axiomatic enrichment based in rdfs:label —— EquivalentTo: symporter activity and transports only (alanine or sodium) Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  23. 23. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 1: Bio-ontology axiomatic enrichment rdfs:label: alanine:sodium symporter activity rdfs:label: glycine:potassium symporter activity rdfs:label: valine:sodium symporter activity ... —— —— —— —— —— —— —— —— —— SELECT label "(.+):(.+) (symporter activity)"; ADD equivalentTo symporter_activity and transports only (<1> or <2>); Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  24. 24. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology http://www.cellcycleontology.org/ Gather knowledge about the cell cycle in 5 ontologies Ontologies created anew each pipeline execution Impossible to add new axioms by hand to 5 ontologies: - Axioms overwritten each time the pipeline is executed - Many axioms in different places - Ontologies too big Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  25. 25. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology http://www.cellcycleontology.org/ Gather knowledge about the cell cycle in 5 ontologies Ontologies created anew each pipeline execution Impossible to add new axioms by hand to 5 ontologies: - Axioms overwritten each time the pipeline is executed - Many axioms in different places - Ontologies too big Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  26. 26. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology Add axioms automatically each time the pipeline is executed Explicit development Querying capabilities Flexible development Ontology Design Patterns http://odps.sourceforge.net Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  27. 27. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology Add axioms automatically each time the pipeline is executed Explicit development Querying capabilities Flexible development Ontology Design Patterns http://odps.sourceforge.net Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  28. 28. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology Add axioms automatically each time the pipeline is executed Explicit development Querying capabilities Flexible development Ontology Design Patterns http://odps.sourceforge.net Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  29. 29. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology Add axioms automatically each time the pipeline is executed Explicit development Querying capabilities Flexible development Ontology Design Patterns http://odps.sourceforge.net Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  30. 30. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology Add axioms automatically each time the pipeline is executed Explicit development Querying capabilities Flexible development Ontology Design Patterns http://odps.sourceforge.net Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  31. 31. Introduction to OPPL OPPL software OPPL Syntax Use case 1: Bio-ontology axiomatic enrichment Using OPPL Use case 2: Cell Cycle Ontology Future of OPPL Use case 2: Cell Cycle Ontology # Create object property inmediately_precedes ADD ObjectProperty: inmediately_precedes;ADD functional; ADD subPropertyOf precedes;ADD inverse inmediately_preceded_by;ADD domain CCO_U0000002;ADD range CCO_U0000002; # Meiotic cell cycle: G1 -> S -> G2 -> M SELECT Class: CCO_P0000327;ADD subClassOf inmediately_preceded_by some CCO_P0000325;ADD subClassOf inmediately_precedes some CCO_P0000326; # Query 1: Proteins acting in the mitotic S phase (At) ADD Class: query_1;ADD subClassOf query;REMOVE subClassOf Thing; ADD comment "Proteins acting in the mitotic S phase"; SELECT subClassOf participates_in some (CCO_P0000014 or (part_of some CCO_P0000014));ADD subClassOf query_1; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  32. 32. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Future of OPPL Syntax closer to OWL? ADD Class: professor ADD professor subClassOf Thing Loops, conditional control, subroutines, ... Variables? SELECT subClassOf part_of some ?x; ADD equivalentTo part_of only ?x; SET professor label "new label"; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  33. 33. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Future of OPPL Syntax closer to OWL? ADD Class: professor ADD professor subClassOf Thing Loops, conditional control, subroutines, ... Variables? SELECT subClassOf part_of some ?x; ADD equivalentTo part_of only ?x; SET professor label "new label"; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  34. 34. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Future of OPPL Syntax closer to OWL? ADD Class: professor ADD professor subClassOf Thing Loops, conditional control, subroutines, ... Variables? SELECT subClassOf part_of some ?x; ADD equivalentTo part_of only ?x; SET professor label "new label"; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  35. 35. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Future of OPPL Syntax closer to OWL? ADD Class: professor ADD professor subClassOf Thing Loops, conditional control, subroutines, ... Variables? SELECT subClassOf part_of some ?x; ADD equivalentTo part_of only ?x; SET professor label "new label"; Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  36. 36. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Future of OPPL Formal grammar Protégé plugin (autocomplete, syntax validation, logs, ...) Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  37. 37. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Future of OPPL Formal grammar Protégé plugin (autocomplete, syntax validation, logs, ...) Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  38. 38. Introduction to OPPL OPPL Syntax Using OPPL Future of OPPL Acknowledgements Mikel Egaña: University of Manchester and EPSRC Erick Antezana: European Science Foundation (ESF) for the activity entitled Frontiers of Functional Genomics http://oppl.sourceforge.net/ Mikel Egaña, Robert Stevens, Erick Antezana Ontology Pre-Processor Language
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×