SlideShare a Scribd company logo
1 of 19
MANAGING ONTOLOGIES
WITH THE ONTOLOGY
DEVELOPMENT KIT (ODK)
CHRIS MUNGALL
CJMUNGALL@LBL.GOV
LAWRENCE BERKELEY NATIONAL LABORATORY
BIO-ONTOLOGIES COSI, ISBM/ECCB 2019
@OBOFoundry
@chrismungall
CONTINUED GROWTH OF ONTOLOGY PROJECTS
• OBO Ontologies registered:
• 2015: 104 ontologies
• 2019: 215 ontologies
• Observation
• Ontology development in 2019 == Bioinformatics/perl coding
circa 1999
• State of development of many ontologies:
• Lack of modularity or reuse
• Lack of testing frameworks or continuous integration
• Little or no leveraging of reasoning
• Version control practice poor or non-existent
• Ontologies frequently contain errors:
• Semantic; e.g. duplicate definitions
• Structural
• Syntactic
• Lexical
Number of ontologies in
BioPortal
Source: Amina Annane and Clement Jonquet
1996
eXtreme Programming (XP)
Test Driven Development (TDD)
2008
GitHub1986
CVS
2005
Git
2000
SVN
1999
SourceForge
1975
Modula
1965-85
“Software Crisis”
1974
Liskov
“strong
typing”
2001
Cruise
Control
1970s 1980s 1990s 2000s 2010s
2011
Travis
1987
Pattern
Languages
1972
Source Code
Control System (SCCS)
ONTOLOGIES AND OBO: OPEN BIO-ONTOLOGIES
• 1950s-60s Semantic Networks
• 1960s-1980s Knowledge Representation
• 1980s-1990s Description Logics, BioCyc, Medical Knowledge Bases,
DAML+OIL
• 1998 Gene Ontology Created
• 2002 Open Bio-Ontologies (OBO) formed, OBO principles
• 2003 OBO Format
• 2003 Rector paper on normalization and modularity
• 2003 OWL – Web Ontology Language
• 2004 Relation Ontology
• 2007 OBO PURLs (Permanent URLs)
• 2011-Present OBO Operations Volunteers http://obofoundry.org
•Open (CC BY or 0)
•Standard syntax and semantics (OWL)
•Standard PURLs for classes
•Versioning
•Well-defined scope
•Classes should be defined
•Use of standard relations (RO/BFO)
•Documentation
•Documented Plurality of Users
•Commitment To Collaboration
•Locus of Authority
•Naming Conventions
•Maintenance
{
ODK: ONTOLOGY DEVELOPMENT KIT
kernel
ODK container
ROBOT
Make
odk.py
dosdp-tools
Reasoners
container
Ontology Operations
(Command Line)
Workflows: chains
together operations
Seed an ontology project:
Create a GitHub repository
with workflows in place
Build ontologies rapidly from
Design Pattern templates
Includes Elk, HermiT, Konklude
Complements ODEs
(Protégé)
fastobo
Validation of obo
format files (Rust)
ODK
GETTING STARTED: SEEDING AN ONTOLOGY PROJECT
• Organizing a project in GitHub – not trivial
• ODK provides a seed utility to start a new
project
• Sets you up with a GitHub structure
• Can be seeded from a YAML project
specification OR command line options
Project.yaml seed
- README.md
- CONTRIBUTING.md
- LICENSE.md
- Changes.md
- .travis.yml
- .github
- ISSUE_TEMPLATE
- new_term.md
- obsolete_request.md
- src
- ontology
- myont-edit.owl
- Makefile
- myont-idspaces.owl
- template
- mytemplate1.yaml
- myont.obo
- myont.owl
Jinja2 Templates
(hand-authored)
ONTOLOGY WORKFLOWS: MAKE AND ROBOT
• ROBOT: ROBOT is an OBO Tool
• Command can be chained together
• ODK will seed your repo with a
Makefile based workflow
• edit  release
annotate
reason
diff
template
report
extract
Add metadata assertions
onto ontology
convert
Use reasoner to detect incoherency
and assert inferred links
compare two ontologies
generate portions of ontology from
templates and tabular data
complete QA/QC report
Extract submodules for imports
Convert between OWL syntaxes,
OBO format, OBO-JSON
http://robot.obolibrary.org/
<more..>
MODULAR ONTOLOGY DEVELOPMENT: EXTRACT
• Don’t develop monoliths!
• Reuse existing ontologies
• OBO was constructed in part to facilitate
ontology reuse
• OWLAPI provides algorithms for extracting
‘modules’ (SLME)
• Also: MIREOT
• ROBOT provides an easy wrapper for these
myont.owl
chebi.owl
chebi_import..owl
robot extract –i chebi.owl –t myont.terms –o chebi_import.owl
https://douroucouli.wordpress.com/2019/06/29/ontotip-learn-
the-rector-normalization-technique/
extract
owl:import
terms
Modularisation of Domain Ontologies Implemented
in Description Logics and related formalisms including OWL -
Proceedings of the 2nd international conference on Knowledge capture
(Rector 2003)
REASONING
• Why use reasoning?
• Semantic Validation of ontology
• e.g. disjoints, domain/range
• unintended equivalence
• Automatic classification, modular
development
• ROBOT provides simple wrapper ontology standard
OWL reasoners
• ODK Docker container includes reasoners that are
awkward to install (e.g. Konklude)
https://douroucouli.wordpress.com/2018/08/03/debugging-
ontologies-using-owl-reasoning-part-1-basics-and-disjoint-
classes-axioms/
OBO CONVENTIONS: ROBOT REPORT
• Reason command provides semantic validation
• ROBOT report validates against a checklist of criteria
• Implemented via SPARQL (and soon ShEx)
• Ensure classes have labels and textual definitions (cardinality 1)
• No two classes should share the same text definition
• Labels and exact synonyms should not clash
• …many more
• Many criteria are ‘OBO-esque’
• Can be configured
• Criteria can potentially be expanded
Level Rule Name Subject Property Value
ERROR duplicate_definition head-mantle fusion [CEPH:0000129] definition [IAO:0000115] .
ERROR duplicate_definition tentacle thickness [CEPH:0000261] definition [IAO:0000115] .
ERROR missing_label anatomical entity [UBERON:0001062] label [rdfs:label]
ERROR missing_ontology_description ceph.owl dc11:description
ERROR duplicate_label leucophore [CEPH:0000284] label [rdfs:label] leucophore
ERROR duplicate_label leucophore [CEPH:0001077] label [rdfs:label] leucophore
ERROR missing_ontology_license ceph.owl dc:license
ERROR missing_ontology_title ceph.owl dc11:title
TEMPLATE-DRIVEN ONTOLOGY DEVELOPMENT
• Dead Simple OWL Design Patterns
(DOSDPs)
• ROBOT Templates
• Allow encoding of common ontology
patterns in structured form
• Ontology Documentation and
Validation
• Generation (“Compilation”) of
ontology portions from TSVs
TSV/Excel
Design
Pattern
Template
OWL
dosdp
tools
CONTINUOUS INTEGRATION
• Runs ODK Docker Container
• Reasoner checks
• Structural Checks using robot report + custom SPARQL
.travis.yml
RELEASE MANAGEMENT
• robot diff is used to create markdown summarizing
changes from last release
• leverage GitHub release mechanism
• ODK creates standard release products
• complete inferred releases (obo, owl, json)
• base files, simple files
UPTAKE OF ODK BY COMMUNITY
• biobanking
• single-cell
ontology
• eupathdb
• worm anatomy
• phipo
• obcs
• credit ontology
• upheno
• …
• GO
• HP
• MP
• Uberon
• ENVO
• CL
• Worm Anatomy
• Fly Phenotype
• …
• upheno
• pho
• eexp
• eating
• zebrafish
phenotype
• allen-neuron-
types
• sickle cell
• monochrom
• …
90+ NEW repositories created Adapted by multiple existing ontologies
• Migrating ontologies detected
multiple errors
• malformed xrefs
• duplicate definitions,
labels
• …
• Multiple improvements to
ontology quality
ONTOBOT
• Agent (bot) for operating on ontologies
• Will make Pull Requests on your ontologies
• E.g.
• On change of upstream ontology (e.g. chebi)
• Rebuild imports (robot extract)
• Create a semantic diff
• Make a PR
• Relies on ODK-compliant GitHub structure
• Currently only running for GO
• Future plans:
• Command OntoBot via GitHub tickets
ODK AND OBO
• ODK is in principle generic
• But we encourage OBO conventions and principles by default
• Identifiers
• Versioning
• License
• Definitions
• …
• Historically OBO principles have been “thrown over the wall”, we haven’t done a good job of helping implement
• OntoTips: http://bit.ly/ontotips
• Definitions: https://douroucouli.wordpress.com/2019/07/08/ontotip-write-simple-concise-clear-operational-
textual-definitions/
SUMMARY/CONCLUSIONS
• ODK is recommended for
• Starting a new ontology project
• Retrofitting into an existing project
• Frees ontology developer from multiple technical
tasks
• Makes it easier to follow OBO principles
• Flexible and we are open to modifications
• Many benefits
• Conventions come with benefits
• No need to roll your own
https://github.com/INCATools/ontology-development-kit
https://hub.docker.com/r/obolibrary/odkfull/
Coming Soon
• Protégé support
• OntoBot improvements
ACKNOWLEDGMENTS
Developers and Contributors
• Nico Matentzoglu
• David Osumi-Sutherland
• Eric Douglass
• Seth Carbon
• Jim Balhoff
• Bjoern Peters
• Matt Horridge
• Rebecca Jackson (Tauber)
• James Overton
Testers
• Simon Jupp
• Erik Segerdell
• Sebastian Koehler
• James Seager
• Leigh Carmody
• Sofia Robb
• Chris Grove
• Raymond Lee
• Alliance of Genome Resource curators
• Citlalli Mejía Almonte
NIH U01HG009453 INCA
NIH R24HG010032 OBO
CHALLENGES / FUTURE DEVELOPMENT
• Unified OBO development guide

More Related Content

What's hot

JAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWAJAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWASORACOM,INC
 
Unit Testing with xUnit.net - Part 2
Unit Testing with xUnit.net - Part 2Unit Testing with xUnit.net - Part 2
Unit Testing with xUnit.net - Part 2BizTalk360
 
How to Build a Semantic Search System
How to Build a Semantic Search SystemHow to Build a Semantic Search System
How to Build a Semantic Search SystemTrey Grainger
 
Your First 90 Days: Listen, Learn & Act by Tumblr CPO
Your First 90 Days: Listen, Learn & Act by Tumblr CPOYour First 90 Days: Listen, Learn & Act by Tumblr CPO
Your First 90 Days: Listen, Learn & Act by Tumblr CPOProduct School
 
Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"Michael Harlaut
 
Descending from the architect's ivory tower
Descending from the architect's ivory towerDescending from the architect's ivory tower
Descending from the architect's ivory towerValtech UK
 
The story of SonarQube told to a DevOps Engineer
The story of SonarQube told to a DevOps EngineerThe story of SonarQube told to a DevOps Engineer
The story of SonarQube told to a DevOps EngineerManu Pk
 
Automate Data Scraping and Extraction for Web
Automate Data Scraping and Extraction for WebAutomate Data Scraping and Extraction for Web
Automate Data Scraping and Extraction for WebHelpSystems
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testingb4usolution .
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Frameworklaurent bristiel
 
Postman: An Introduction for Developers
Postman: An Introduction for DevelopersPostman: An Introduction for Developers
Postman: An Introduction for DevelopersPostman
 
Personalize Expedia Hotel Searches
Personalize Expedia Hotel SearchesPersonalize Expedia Hotel Searches
Personalize Expedia Hotel Searcheslethalamby
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchExcella
 
Natural Language Search with Knowledge Graphs (Activate 2019)
Natural Language Search with Knowledge Graphs (Activate 2019)Natural Language Search with Knowledge Graphs (Activate 2019)
Natural Language Search with Knowledge Graphs (Activate 2019)Trey Grainger
 
FeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptxFeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptxDong Lin
 

What's hot (17)

JAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWAJAWS-UG 金沢 | これだけ知っていれば LPWA
JAWS-UG 金沢 | これだけ知っていれば LPWA
 
Unit Testing with xUnit.net - Part 2
Unit Testing with xUnit.net - Part 2Unit Testing with xUnit.net - Part 2
Unit Testing with xUnit.net - Part 2
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
How to Build a Semantic Search System
How to Build a Semantic Search SystemHow to Build a Semantic Search System
How to Build a Semantic Search System
 
Your First 90 Days: Listen, Learn & Act by Tumblr CPO
Your First 90 Days: Listen, Learn & Act by Tumblr CPOYour First 90 Days: Listen, Learn & Act by Tumblr CPO
Your First 90 Days: Listen, Learn & Act by Tumblr CPO
 
Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"Webinar "Alfresco en une heure"
Webinar "Alfresco en une heure"
 
Descending from the architect's ivory tower
Descending from the architect's ivory towerDescending from the architect's ivory tower
Descending from the architect's ivory tower
 
The story of SonarQube told to a DevOps Engineer
The story of SonarQube told to a DevOps EngineerThe story of SonarQube told to a DevOps Engineer
The story of SonarQube told to a DevOps Engineer
 
Automate Data Scraping and Extraction for Web
Automate Data Scraping and Extraction for WebAutomate Data Scraping and Extraction for Web
Automate Data Scraping and Extraction for Web
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testing
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
Odoo LIMS by LogicaSoft
Odoo LIMS by LogicaSoftOdoo LIMS by LogicaSoft
Odoo LIMS by LogicaSoft
 
Postman: An Introduction for Developers
Postman: An Introduction for DevelopersPostman: An Introduction for Developers
Postman: An Introduction for Developers
 
Personalize Expedia Hotel Searches
Personalize Expedia Hotel SearchesPersonalize Expedia Hotel Searches
Personalize Expedia Hotel Searches
 
Automated Acceptance Testing from Scratch
Automated Acceptance Testing from ScratchAutomated Acceptance Testing from Scratch
Automated Acceptance Testing from Scratch
 
Natural Language Search with Knowledge Graphs (Activate 2019)
Natural Language Search with Knowledge Graphs (Activate 2019)Natural Language Search with Knowledge Graphs (Activate 2019)
Natural Language Search with Knowledge Graphs (Activate 2019)
 
FeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptxFeatHub_DataFun_2023.pptx
FeatHub_DataFun_2023.pptx
 

Similar to Ontology Development Kit: Bio-Ontologies 2019

Building OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsBuilding OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsMelanie Courtot
 
Ontologies and Continuous Integration
Ontologies and Continuous IntegrationOntologies and Continuous Integration
Ontologies and Continuous IntegrationChris Mungall
 
Ontology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical studyOntology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical studyDebashisnaskar
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...seleniumconf
 
Web micro-framework BATTLE!
Web micro-framework BATTLE!Web micro-framework BATTLE!
Web micro-framework BATTLE!Richard Jones
 
Clean code presentation
Clean code presentationClean code presentation
Clean code presentationBhavin Gandhi
 
Ontology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical StudyOntology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical StudyDebashisnaskar
 
Into the Land of lambda, One Programmer's Journey Into Functional Programming
Into the Land of lambda, One Programmer's Journey Into Functional ProgrammingInto the Land of lambda, One Programmer's Journey Into Functional Programming
Into the Land of lambda, One Programmer's Journey Into Functional ProgrammingMike Pence
 
Hackathon report catalogue-ontology-vocabulary-characteristcs-relevant-to-e...
Hackathon report   catalogue-ontology-vocabulary-characteristcs-relevant-to-e...Hackathon report   catalogue-ontology-vocabulary-characteristcs-relevant-to-e...
Hackathon report catalogue-ontology-vocabulary-characteristcs-relevant-to-e...Amanda Vizedom
 
RuleML2015 - Tutorial - Powerful Practical Semantic Rules in Rulelog - Funda...
RuleML2015 - Tutorial -  Powerful Practical Semantic Rules in Rulelog - Funda...RuleML2015 - Tutorial -  Powerful Practical Semantic Rules in Rulelog - Funda...
RuleML2015 - Tutorial - Powerful Practical Semantic Rules in Rulelog - Funda...RuleML
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel ZikmundKarel Zikmund
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleNoam Kfir
 
OOR--Open-Ontology-Repository--jun2010
OOR--Open-Ontology-Repository--jun2010OOR--Open-Ontology-Repository--jun2010
OOR--Open-Ontology-Repository--jun2010Peter Yim
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer ToolsWO Community
 
Weaving aspects in PHP with the help of Go! AOP library
Weaving aspects in PHP with the help of Go! AOP libraryWeaving aspects in PHP with the help of Go! AOP library
Weaving aspects in PHP with the help of Go! AOP libraryAlexander Lisachenko
 
Visual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactoryVisual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactoryPeter Haase
 
JSR 335 / java 8 - update reference
JSR 335 / java 8 - update referenceJSR 335 / java 8 - update reference
JSR 335 / java 8 - update referencesandeepji_choudhary
 

Similar to Ontology Development Kit: Bio-Ontologies 2019 (20)

Building OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web toolsBuilding OBO Foundry ontology using semantic web tools
Building OBO Foundry ontology using semantic web tools
 
Ontologies and Continuous Integration
Ontologies and Continuous IntegrationOntologies and Continuous Integration
Ontologies and Continuous Integration
 
Ontology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical studyOntology and Ontology Libraries: a critical study
Ontology and Ontology Libraries: a critical study
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
 
OCCIware
OCCIwareOCCIware
OCCIware
 
Protractor survival guide
Protractor survival guideProtractor survival guide
Protractor survival guide
 
Web micro-framework BATTLE!
Web micro-framework BATTLE!Web micro-framework BATTLE!
Web micro-framework BATTLE!
 
Clean code presentation
Clean code presentationClean code presentation
Clean code presentation
 
Ontology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical StudyOntology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical Study
 
Into the Land of lambda, One Programmer's Journey Into Functional Programming
Into the Land of lambda, One Programmer's Journey Into Functional ProgrammingInto the Land of lambda, One Programmer's Journey Into Functional Programming
Into the Land of lambda, One Programmer's Journey Into Functional Programming
 
MIREOT
MIREOTMIREOT
MIREOT
 
Hackathon report catalogue-ontology-vocabulary-characteristcs-relevant-to-e...
Hackathon report   catalogue-ontology-vocabulary-characteristcs-relevant-to-e...Hackathon report   catalogue-ontology-vocabulary-characteristcs-relevant-to-e...
Hackathon report catalogue-ontology-vocabulary-characteristcs-relevant-to-e...
 
RuleML2015 - Tutorial - Powerful Practical Semantic Rules in Rulelog - Funda...
RuleML2015 - Tutorial -  Powerful Practical Semantic Rules in Rulelog - Funda...RuleML2015 - Tutorial -  Powerful Practical Semantic Rules in Rulelog - Funda...
RuleML2015 - Tutorial - Powerful Practical Semantic Rules in Rulelog - Funda...
 
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
.NET Fringe 2017 - Challenges of Managing CoreFX repo -- Karel Zikmund
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black Hole
 
OOR--Open-Ontology-Repository--jun2010
OOR--Open-Ontology-Repository--jun2010OOR--Open-Ontology-Repository--jun2010
OOR--Open-Ontology-Repository--jun2010
 
WebObjects Developer Tools
WebObjects Developer ToolsWebObjects Developer Tools
WebObjects Developer Tools
 
Weaving aspects in PHP with the help of Go! AOP library
Weaving aspects in PHP with the help of Go! AOP libraryWeaving aspects in PHP with the help of Go! AOP library
Weaving aspects in PHP with the help of Go! AOP library
 
Visual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactoryVisual Ontology Modeling for Domain Experts and Business Users with metaphactory
Visual Ontology Modeling for Domain Experts and Business Users with metaphactory
 
JSR 335 / java 8 - update reference
JSR 335 / java 8 - update referenceJSR 335 / java 8 - update reference
JSR 335 / java 8 - update reference
 

More from Chris Mungall

MADICES Mungall 2022.pptx
MADICES Mungall 2022.pptxMADICES Mungall 2022.pptx
MADICES Mungall 2022.pptxChris Mungall
 
Scaling up semantics; lessons learned across the life sciences
Scaling up semantics; lessons learned across the life sciencesScaling up semantics; lessons learned across the life sciences
Scaling up semantics; lessons learned across the life sciencesChris Mungall
 
LinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODO
LinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODOLinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODO
LinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODOChris Mungall
 
Ontology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptxOntology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptxChris Mungall
 
LinkML Intro (for Monarch devs)
LinkML Intro (for Monarch devs)LinkML Intro (for Monarch devs)
LinkML Intro (for Monarch devs)Chris Mungall
 
LinkML presentation to Yosemite Group
LinkML presentation to Yosemite GroupLinkML presentation to Yosemite Group
LinkML presentation to Yosemite GroupChris Mungall
 
Experiences in the biosciences with the open biological ontologies foundry an...
Experiences in the biosciences with the open biological ontologies foundry an...Experiences in the biosciences with the open biological ontologies foundry an...
Experiences in the biosciences with the open biological ontologies foundry an...Chris Mungall
 
All together now: piecing together the knowledge graph of life
All together now: piecing together the knowledge graph of lifeAll together now: piecing together the knowledge graph of life
All together now: piecing together the knowledge graph of lifeChris Mungall
 
Collaboratively Creating the Knowledge Graph of Life
Collaboratively Creating the Knowledge Graph of LifeCollaboratively Creating the Knowledge Graph of Life
Collaboratively Creating the Knowledge Graph of LifeChris Mungall
 
Representation of kidney structures in Uberon
Representation of kidney structures in UberonRepresentation of kidney structures in Uberon
Representation of kidney structures in UberonChris Mungall
 
SparqlProg (BioHackathon 2019)
SparqlProg (BioHackathon 2019)SparqlProg (BioHackathon 2019)
SparqlProg (BioHackathon 2019)Chris Mungall
 
US2TS: Reasoning over multiple open bio-ontologies to make machines and human...
US2TS: Reasoning over multiple open bio-ontologies to make machines and human...US2TS: Reasoning over multiple open bio-ontologies to make machines and human...
US2TS: Reasoning over multiple open bio-ontologies to make machines and human...Chris Mungall
 
Uberon: opening up to community contributions
Uberon: opening up to community contributionsUberon: opening up to community contributions
Uberon: opening up to community contributionsChris Mungall
 
Modeling exposure events and adverse outcome pathways using ontologies
Modeling exposure events and adverse outcome pathways using ontologiesModeling exposure events and adverse outcome pathways using ontologies
Modeling exposure events and adverse outcome pathways using ontologiesChris Mungall
 
Causal reasoning using the Relation Ontology
Causal reasoning using the Relation OntologyCausal reasoning using the Relation Ontology
Causal reasoning using the Relation OntologyChris Mungall
 
US2TS presentation on Gene Ontology
US2TS presentation on Gene OntologyUS2TS presentation on Gene Ontology
US2TS presentation on Gene OntologyChris Mungall
 
Introduction to the BioLink datamodel
Introduction to the BioLink datamodelIntroduction to the BioLink datamodel
Introduction to the BioLink datamodelChris Mungall
 
Computing on Phenotypes AMP 2015
Computing on Phenotypes AMP 2015Computing on Phenotypes AMP 2015
Computing on Phenotypes AMP 2015Chris Mungall
 
Mungall keynote-biocurator-2017
Mungall keynote-biocurator-2017Mungall keynote-biocurator-2017
Mungall keynote-biocurator-2017Chris Mungall
 

More from Chris Mungall (20)

MADICES Mungall 2022.pptx
MADICES Mungall 2022.pptxMADICES Mungall 2022.pptx
MADICES Mungall 2022.pptx
 
Scaling up semantics; lessons learned across the life sciences
Scaling up semantics; lessons learned across the life sciencesScaling up semantics; lessons learned across the life sciences
Scaling up semantics; lessons learned across the life sciences
 
LinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODO
LinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODOLinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODO
LinkML Intro July 2022.pptx PLEASE VIEW THIS ON ZENODO
 
Ontology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptxOntology Access Kit_ Workshop Intro Slides.pptx
Ontology Access Kit_ Workshop Intro Slides.pptx
 
LinkML Intro (for Monarch devs)
LinkML Intro (for Monarch devs)LinkML Intro (for Monarch devs)
LinkML Intro (for Monarch devs)
 
LinkML presentation to Yosemite Group
LinkML presentation to Yosemite GroupLinkML presentation to Yosemite Group
LinkML presentation to Yosemite Group
 
Experiences in the biosciences with the open biological ontologies foundry an...
Experiences in the biosciences with the open biological ontologies foundry an...Experiences in the biosciences with the open biological ontologies foundry an...
Experiences in the biosciences with the open biological ontologies foundry an...
 
All together now: piecing together the knowledge graph of life
All together now: piecing together the knowledge graph of lifeAll together now: piecing together the knowledge graph of life
All together now: piecing together the knowledge graph of life
 
Collaboratively Creating the Knowledge Graph of Life
Collaboratively Creating the Knowledge Graph of LifeCollaboratively Creating the Knowledge Graph of Life
Collaboratively Creating the Knowledge Graph of Life
 
Representation of kidney structures in Uberon
Representation of kidney structures in UberonRepresentation of kidney structures in Uberon
Representation of kidney structures in Uberon
 
SparqlProg (BioHackathon 2019)
SparqlProg (BioHackathon 2019)SparqlProg (BioHackathon 2019)
SparqlProg (BioHackathon 2019)
 
US2TS: Reasoning over multiple open bio-ontologies to make machines and human...
US2TS: Reasoning over multiple open bio-ontologies to make machines and human...US2TS: Reasoning over multiple open bio-ontologies to make machines and human...
US2TS: Reasoning over multiple open bio-ontologies to make machines and human...
 
Uberon: opening up to community contributions
Uberon: opening up to community contributionsUberon: opening up to community contributions
Uberon: opening up to community contributions
 
Modeling exposure events and adverse outcome pathways using ontologies
Modeling exposure events and adverse outcome pathways using ontologiesModeling exposure events and adverse outcome pathways using ontologies
Modeling exposure events and adverse outcome pathways using ontologies
 
Causal reasoning using the Relation Ontology
Causal reasoning using the Relation OntologyCausal reasoning using the Relation Ontology
Causal reasoning using the Relation Ontology
 
US2TS presentation on Gene Ontology
US2TS presentation on Gene OntologyUS2TS presentation on Gene Ontology
US2TS presentation on Gene Ontology
 
Introduction to the BioLink datamodel
Introduction to the BioLink datamodelIntroduction to the BioLink datamodel
Introduction to the BioLink datamodel
 
Computing on Phenotypes AMP 2015
Computing on Phenotypes AMP 2015Computing on Phenotypes AMP 2015
Computing on Phenotypes AMP 2015
 
ENVO GSC 2015
ENVO GSC 2015ENVO GSC 2015
ENVO GSC 2015
 
Mungall keynote-biocurator-2017
Mungall keynote-biocurator-2017Mungall keynote-biocurator-2017
Mungall keynote-biocurator-2017
 

Recently uploaded

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

Ontology Development Kit: Bio-Ontologies 2019

  • 1. MANAGING ONTOLOGIES WITH THE ONTOLOGY DEVELOPMENT KIT (ODK) CHRIS MUNGALL CJMUNGALL@LBL.GOV LAWRENCE BERKELEY NATIONAL LABORATORY BIO-ONTOLOGIES COSI, ISBM/ECCB 2019 @OBOFoundry @chrismungall
  • 2. CONTINUED GROWTH OF ONTOLOGY PROJECTS • OBO Ontologies registered: • 2015: 104 ontologies • 2019: 215 ontologies • Observation • Ontology development in 2019 == Bioinformatics/perl coding circa 1999 • State of development of many ontologies: • Lack of modularity or reuse • Lack of testing frameworks or continuous integration • Little or no leveraging of reasoning • Version control practice poor or non-existent • Ontologies frequently contain errors: • Semantic; e.g. duplicate definitions • Structural • Syntactic • Lexical Number of ontologies in BioPortal Source: Amina Annane and Clement Jonquet
  • 3. 1996 eXtreme Programming (XP) Test Driven Development (TDD) 2008 GitHub1986 CVS 2005 Git 2000 SVN 1999 SourceForge 1975 Modula 1965-85 “Software Crisis” 1974 Liskov “strong typing” 2001 Cruise Control 1970s 1980s 1990s 2000s 2010s 2011 Travis 1987 Pattern Languages 1972 Source Code Control System (SCCS)
  • 4. ONTOLOGIES AND OBO: OPEN BIO-ONTOLOGIES • 1950s-60s Semantic Networks • 1960s-1980s Knowledge Representation • 1980s-1990s Description Logics, BioCyc, Medical Knowledge Bases, DAML+OIL • 1998 Gene Ontology Created • 2002 Open Bio-Ontologies (OBO) formed, OBO principles • 2003 OBO Format • 2003 Rector paper on normalization and modularity • 2003 OWL – Web Ontology Language • 2004 Relation Ontology • 2007 OBO PURLs (Permanent URLs) • 2011-Present OBO Operations Volunteers http://obofoundry.org •Open (CC BY or 0) •Standard syntax and semantics (OWL) •Standard PURLs for classes •Versioning •Well-defined scope •Classes should be defined •Use of standard relations (RO/BFO) •Documentation •Documented Plurality of Users •Commitment To Collaboration •Locus of Authority •Naming Conventions •Maintenance {
  • 5. ODK: ONTOLOGY DEVELOPMENT KIT kernel ODK container ROBOT Make odk.py dosdp-tools Reasoners container Ontology Operations (Command Line) Workflows: chains together operations Seed an ontology project: Create a GitHub repository with workflows in place Build ontologies rapidly from Design Pattern templates Includes Elk, HermiT, Konklude Complements ODEs (Protégé) fastobo Validation of obo format files (Rust)
  • 6. ODK GETTING STARTED: SEEDING AN ONTOLOGY PROJECT • Organizing a project in GitHub – not trivial • ODK provides a seed utility to start a new project • Sets you up with a GitHub structure • Can be seeded from a YAML project specification OR command line options Project.yaml seed - README.md - CONTRIBUTING.md - LICENSE.md - Changes.md - .travis.yml - .github - ISSUE_TEMPLATE - new_term.md - obsolete_request.md - src - ontology - myont-edit.owl - Makefile - myont-idspaces.owl - template - mytemplate1.yaml - myont.obo - myont.owl Jinja2 Templates (hand-authored)
  • 7. ONTOLOGY WORKFLOWS: MAKE AND ROBOT • ROBOT: ROBOT is an OBO Tool • Command can be chained together • ODK will seed your repo with a Makefile based workflow • edit  release annotate reason diff template report extract Add metadata assertions onto ontology convert Use reasoner to detect incoherency and assert inferred links compare two ontologies generate portions of ontology from templates and tabular data complete QA/QC report Extract submodules for imports Convert between OWL syntaxes, OBO format, OBO-JSON http://robot.obolibrary.org/ <more..>
  • 8. MODULAR ONTOLOGY DEVELOPMENT: EXTRACT • Don’t develop monoliths! • Reuse existing ontologies • OBO was constructed in part to facilitate ontology reuse • OWLAPI provides algorithms for extracting ‘modules’ (SLME) • Also: MIREOT • ROBOT provides an easy wrapper for these myont.owl chebi.owl chebi_import..owl robot extract –i chebi.owl –t myont.terms –o chebi_import.owl https://douroucouli.wordpress.com/2019/06/29/ontotip-learn- the-rector-normalization-technique/ extract owl:import terms Modularisation of Domain Ontologies Implemented in Description Logics and related formalisms including OWL - Proceedings of the 2nd international conference on Knowledge capture (Rector 2003)
  • 9. REASONING • Why use reasoning? • Semantic Validation of ontology • e.g. disjoints, domain/range • unintended equivalence • Automatic classification, modular development • ROBOT provides simple wrapper ontology standard OWL reasoners • ODK Docker container includes reasoners that are awkward to install (e.g. Konklude) https://douroucouli.wordpress.com/2018/08/03/debugging- ontologies-using-owl-reasoning-part-1-basics-and-disjoint- classes-axioms/
  • 10. OBO CONVENTIONS: ROBOT REPORT • Reason command provides semantic validation • ROBOT report validates against a checklist of criteria • Implemented via SPARQL (and soon ShEx) • Ensure classes have labels and textual definitions (cardinality 1) • No two classes should share the same text definition • Labels and exact synonyms should not clash • …many more • Many criteria are ‘OBO-esque’ • Can be configured • Criteria can potentially be expanded Level Rule Name Subject Property Value ERROR duplicate_definition head-mantle fusion [CEPH:0000129] definition [IAO:0000115] . ERROR duplicate_definition tentacle thickness [CEPH:0000261] definition [IAO:0000115] . ERROR missing_label anatomical entity [UBERON:0001062] label [rdfs:label] ERROR missing_ontology_description ceph.owl dc11:description ERROR duplicate_label leucophore [CEPH:0000284] label [rdfs:label] leucophore ERROR duplicate_label leucophore [CEPH:0001077] label [rdfs:label] leucophore ERROR missing_ontology_license ceph.owl dc:license ERROR missing_ontology_title ceph.owl dc11:title
  • 11. TEMPLATE-DRIVEN ONTOLOGY DEVELOPMENT • Dead Simple OWL Design Patterns (DOSDPs) • ROBOT Templates • Allow encoding of common ontology patterns in structured form • Ontology Documentation and Validation • Generation (“Compilation”) of ontology portions from TSVs TSV/Excel Design Pattern Template OWL dosdp tools
  • 12. CONTINUOUS INTEGRATION • Runs ODK Docker Container • Reasoner checks • Structural Checks using robot report + custom SPARQL .travis.yml
  • 13. RELEASE MANAGEMENT • robot diff is used to create markdown summarizing changes from last release • leverage GitHub release mechanism • ODK creates standard release products • complete inferred releases (obo, owl, json) • base files, simple files
  • 14. UPTAKE OF ODK BY COMMUNITY • biobanking • single-cell ontology • eupathdb • worm anatomy • phipo • obcs • credit ontology • upheno • … • GO • HP • MP • Uberon • ENVO • CL • Worm Anatomy • Fly Phenotype • … • upheno • pho • eexp • eating • zebrafish phenotype • allen-neuron- types • sickle cell • monochrom • … 90+ NEW repositories created Adapted by multiple existing ontologies • Migrating ontologies detected multiple errors • malformed xrefs • duplicate definitions, labels • … • Multiple improvements to ontology quality
  • 15. ONTOBOT • Agent (bot) for operating on ontologies • Will make Pull Requests on your ontologies • E.g. • On change of upstream ontology (e.g. chebi) • Rebuild imports (robot extract) • Create a semantic diff • Make a PR • Relies on ODK-compliant GitHub structure • Currently only running for GO • Future plans: • Command OntoBot via GitHub tickets
  • 16. ODK AND OBO • ODK is in principle generic • But we encourage OBO conventions and principles by default • Identifiers • Versioning • License • Definitions • … • Historically OBO principles have been “thrown over the wall”, we haven’t done a good job of helping implement • OntoTips: http://bit.ly/ontotips • Definitions: https://douroucouli.wordpress.com/2019/07/08/ontotip-write-simple-concise-clear-operational- textual-definitions/
  • 17. SUMMARY/CONCLUSIONS • ODK is recommended for • Starting a new ontology project • Retrofitting into an existing project • Frees ontology developer from multiple technical tasks • Makes it easier to follow OBO principles • Flexible and we are open to modifications • Many benefits • Conventions come with benefits • No need to roll your own https://github.com/INCATools/ontology-development-kit https://hub.docker.com/r/obolibrary/odkfull/ Coming Soon • Protégé support • OntoBot improvements
  • 18. ACKNOWLEDGMENTS Developers and Contributors • Nico Matentzoglu • David Osumi-Sutherland • Eric Douglass • Seth Carbon • Jim Balhoff • Bjoern Peters • Matt Horridge • Rebecca Jackson (Tauber) • James Overton Testers • Simon Jupp • Erik Segerdell • Sebastian Koehler • James Seager • Leigh Carmody • Sofia Robb • Chris Grove • Raymond Lee • Alliance of Genome Resource curators • Citlalli Mejía Almonte NIH U01HG009453 INCA NIH R24HG010032 OBO
  • 19. CHALLENGES / FUTURE DEVELOPMENT • Unified OBO development guide

Editor's Notes

  1. Doubling of ontologies in OBO Growing crisis of hard to maintain ontologies Annane, A.: Enhancing Ontology Matching with Background Knowledge Resources - Application to the Biomedical Domain, (2018).
  2. Ontology Development should be like software engineering! https://en.wikiversity.org/wiki/Software_testing/History_of_testing
  3. Take home: OBO provided principles but not a lot of help in how to implement them
  4. Bring ancilliary tooling support to ontology development. Doesn’t replace Protégé! Which is like an IDE
  5. Makes it easier for humans AND automated agents
  6. https://github.com/search?q=%22This+ontology+repository+was+created+using+the%22+%22ontology+starter+kit%22&type=Code