Here's a collection of links about the Open Biological and Biomedical Ontologies (OBO), and related topics.
If you're completely new to OBO, I suggest starting with Ontologies 101:
- Unit 1: Controlled Vocabularies, Ontologies, and Data Linking (PowerPoint Slides)
- Unit 2: An Introduction to OWL (Powerpoint Slides)
- Unit 3: Ontology Community (Powerpoint Slides)
- BDK14 Ontologies 101 repository
If you're new to scientific computing more generally, then I strongly recommend Software Carpentry, which provides a set of very pragmatic introductions to the Unix command line, git, Python, Make, and other tools widely used by OBO developers.
Open Biological and Biomedical Ontologies¶
OBO is a community of people collaborating on open source ontologies for science. We have a set of shared principles and best practises to help people and data work together effectively.
- OBO Foundry Homepage
- The OBO Foundry: coordinated evolution of ontologies to support biomedical data integration (journal article)
- OBO Discuss mailing list
Here is a very incomplete list of some excellent services to help you find an use OBO terms and ontologies.
- OLS: Ontology Lookup Service is an excellent ontology browser and search service
- OxO shows mappings between ontologies and terms
- Zooma for mapping free text to ontology terms
- Ontobee is an ontology browser
- Ontofox is an ontology extraction tool
- Bioportal provides ontology browsing, search, mapping, etc.
- Bioregistry provides metadata for ontologies and other semantic resources
This is the suite of open source software that most OBO developers use.
- OBO Tools mailing list
- GitHub is where most OBO projects are hosted and what we use to manage code, issues, etc.
- GitHub tutorial
- Protégé is a graphical user interface for editing OWL ontologies. (Java)
- ROBOT is a command-line tool for automating ontology tasks. (Java)
- ROBOT tutorial
- ROBOT: A Tool for Automating Ontology Workflows (journal article)
- ENVO ROBOT Template and Merge Workflow
- DOS-DP is a command-line tool for working with ontology design patterns. (Python)
- ODK: Ontology Development Kit is a collection of tools for building and maintaining an OBO project. (Docker)
- OBO Tools and Workflows (Google Slides) A good overview of technical and advanced topics of OBO practises, including the Ontology Development Kit.
- OWLAPI is a Java library for working with ontologies, and is the foundation for Protégé and ROBOT.
curiesis a Python library for working with prefix maps and extended prefix maps and converting between CURIEs and URIs.
- OBO PURL System is used to redirect OBO terms from their IRIs to the right resource
- String of PURLs – frugal migration and maintenance of persistent identifiers (journal article)
This section is for technical reference, not beginners.
OBO projects use Semantic Web and Linked Data technologies:
These standards form layers:
- IRI: Internationalized Resource Identifiers are a superset of the familiar URLs used to locate resources on the web. Every ontology term has a globally unique IRI.
- RDF: Resource Description Format is a standard for combining IRIs into subject-predicate-object "triples" that make a statement about some thing. Sets of triples form a graph (i.e. network), and graphs can easily be merged to form larger graphs. SPARQL is the language for querying RDF graphs.
- RDF 1.1 Primer
- SPARQL 1.1 Overview
- RDFS: RDF Schema 1.1 extends RDF with classes, hierarchies, and other features.
- XSD: W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes is the common standard for datatypes in RDF
- OWL: Web Ontology Language extends RDF and RDFS to provide more powerful logic
- OWL 2 Web Ontology Language Primer (Second Edition)
Other useful resources on technical topics:
- Monkeying around with OWL Chris Mungall's blog, mostly on technical topics for ontologies.