SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Neural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionNeural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionRrubaa Panchendrarajan
 
Introduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaIntroduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaAlexey Grigorev
 
Clean Pragmatic Architecture - Avoiding a Monolith
Clean Pragmatic Architecture - Avoiding a MonolithClean Pragmatic Architecture - Avoiding a Monolith
Clean Pragmatic Architecture - Avoiding a MonolithVictor Rentea
 
1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)WarNik Chow
 
Deep Learning Theory Seminar (Chap 1-2, part 1)
Deep Learning Theory Seminar (Chap 1-2, part 1)Deep Learning Theory Seminar (Chap 1-2, part 1)
Deep Learning Theory Seminar (Chap 1-2, part 1)Sangwoo Mo
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)Kris Mok
 
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例Takashi Suzuki
 
[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networksDeep Learning JP
 
Python ppt.pdf
Python ppt.pdfPython ppt.pdf
Python ppt.pdfkalai75
 
BERT Finetuning Webinar Presentation
BERT Finetuning Webinar PresentationBERT Finetuning Webinar Presentation
BERT Finetuning Webinar Presentationbhavesh_physics
 
파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310Yong Joon Moon
 
研究の基本ツール
研究の基本ツール研究の基本ツール
研究の基本ツール由来 藤原
 
Introduction to Named Entity Recognition
Introduction to Named Entity RecognitionIntroduction to Named Entity Recognition
Introduction to Named Entity RecognitionTomer Lieber
 
[PR12] Generative Models as Distributions of Functions
[PR12] Generative Models as Distributions of Functions[PR12] Generative Models as Distributions of Functions
[PR12] Generative Models as Distributions of FunctionsJaeJun Yoo
 
Python Dictionaries and Sets
Python Dictionaries and SetsPython Dictionaries and Sets
Python Dictionaries and SetsNicole Ryan
 
[DL輪読会]YOLO9000: Better, Faster, Stronger
[DL輪読会]YOLO9000: Better, Faster, Stronger[DL輪読会]YOLO9000: Better, Faster, Stronger
[DL輪読会]YOLO9000: Better, Faster, StrongerDeep Learning JP
 

Tendances (20)

Neural Architectures for Named Entity Recognition
Neural Architectures for Named Entity RecognitionNeural Architectures for Named Entity Recognition
Neural Architectures for Named Entity Recognition
 
Introduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga PetrovaIntroduction to Transformers for NLP - Olga Petrova
Introduction to Transformers for NLP - Olga Petrova
 
Clean Pragmatic Architecture - Avoiding a Monolith
Clean Pragmatic Architecture - Avoiding a MonolithClean Pragmatic Architecture - Avoiding a Monolith
Clean Pragmatic Architecture - Avoiding a Monolith
 
1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)1909 BERT: why-and-how (CODE SEMINAR)
1909 BERT: why-and-how (CODE SEMINAR)
 
Deep Learning Theory Seminar (Chap 1-2, part 1)
Deep Learning Theory Seminar (Chap 1-2, part 1)Deep Learning Theory Seminar (Chap 1-2, part 1)
Deep Learning Theory Seminar (Chap 1-2, part 1)
 
为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)为啥别读HotSpot VM的源码(2012-03-03)
为啥别读HotSpot VM的源码(2012-03-03)
 
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例[Gree] グリーのソーシャルゲームにおける機械学習活用事例
[Gree] グリーのソーシャルゲームにおける機械学習活用事例
 
BERT introduction
BERT introductionBERT introduction
BERT introduction
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks[DL輪読会]Energy-based generative adversarial networks
[DL輪読会]Energy-based generative adversarial networks
 
Python ppt.pdf
Python ppt.pdfPython ppt.pdf
Python ppt.pdf
 
BERT Finetuning Webinar Presentation
BERT Finetuning Webinar PresentationBERT Finetuning Webinar Presentation
BERT Finetuning Webinar Presentation
 
파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310파이썬+클래스+구조+이해하기 20160310
파이썬+클래스+구조+이해하기 20160310
 
研究の基本ツール
研究の基本ツール研究の基本ツール
研究の基本ツール
 
BERT+XLNet+RoBERTa
BERT+XLNet+RoBERTaBERT+XLNet+RoBERTa
BERT+XLNet+RoBERTa
 
Introduction to Named Entity Recognition
Introduction to Named Entity RecognitionIntroduction to Named Entity Recognition
Introduction to Named Entity Recognition
 
[PR12] Generative Models as Distributions of Functions
[PR12] Generative Models as Distributions of Functions[PR12] Generative Models as Distributions of Functions
[PR12] Generative Models as Distributions of Functions
 
Python Dictionaries and Sets
Python Dictionaries and SetsPython Dictionaries and Sets
Python Dictionaries and Sets
 
[DL輪読会]YOLO9000: Better, Faster, Stronger
[DL輪読会]YOLO9000: Better, Faster, Stronger[DL輪読会]YOLO9000: Better, Faster, Stronger
[DL輪読会]YOLO9000: Better, Faster, Stronger
 
Bert
BertBert
Bert
 

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 

Dernier (20)

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.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

Notes de l'éditeur

  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