Developing an OBO Reference Ontology¶
These materials are under construction and incomplete.
- Review tutorial on Ontology Development Automation
What is delivered as part of the course¶
Description: Leading a new or existing OBO project; maybe reference ontology develoment?
- detailed knowledge of OBO principles and best practises
- use OBO Dashboard
- use OBO Registry
- use PURL system
Week 8: Ontology Development¶
First Instructor: Nico Matentzoglu, Becky Jackson
By the end of this session, you should be able to:
- Merge ontology modules & imports with
- Create a classified version of an ontology with
- Add metadata to an ontology with
- Create a simple release workflow using ROBOT commands in a Makefile
- Create a new ontology with ODK
Please complete the following and then read the section below:
What is an ontology release?¶
Like software, official OBO Foundry ontologies have versioned releases. This is important because OBO Foundry ontologies are expected to be shared and reused. Since ontologies are bound to change over time as more terms are added and refined, other developers need stable versions to point to so that there are no surprises. OBO Foundry ontologies use GitHub releases to maintain these stable copies of older versions.
Generally, OBO Foundry ontologies maintain an "edit" version of their file that changes without notice and should not be used by external ontology developers because of this. The edit file is used to create releases on a (hopefully) regular basis. The released version of an OBO Foundry ontology generally a merged and reasoned version of the edit file. This means that all modules and imports are combined into one file, and that file has the inferred class hierarchy actually asserted. It also often has some extra metadata, including a version IRI. OBO Foundry defines the requirements for version IRIs here.
The release workflow process should be stable and can be written as a series of steps, e.g.:
- Update modules from templates
- Merge ontology modules & the main edit file into one
- Assert the inferred class hierarchy
- Add a version IRI & other important metadata
This series of steps can be turned into ROBOT commands:
Since we can turn these steps into a series of commands, we can create a
Makefile that stores these as "recipes" for our ontology release!
- Review the ROBOT commands we've learned so far (Becky; review; 30 minutes)
- Week 5:
- Week 6:
- Chaining ROBOT commands
- Specifying custom prefixes
- Introduction to Makefiles & workflows (Becky; review; 30 minutes)
- Review Software Carpentry course content
- How can the ROBOT commands be combined to create an ontology release?
- Practice writing recipes using ROBOT commands
- Using the ODK to bootstrap a new ontology (Nico; 45 minutes)
- Introduction to the OBO Foundry Registry (if time)