Skip to content

Using Ontologies and Ontology Terms


These materials are under construction and may be incomplete.


  • Sign up for a free GitHub account


  • None

What is delivered as part of the course

Description: Using ontology terms for annotations and structuring data.

Learning objectives

  1. Explain why ontologies are useful
  2. Find good ontologies: ontology repositories, OBO
  3. Find terms using ontology browsers
  4. Assess ontologies for use: license, quality
  5. Map local terminology to ontology terms
  6. Identify missing terms
  7. Make term requests to existing ontologies
  8. Understand the differences between IRIs, CURIEs, and labels


  • None

Additional materials and resources


1. Why ontologies are useful

Ontologies provide a logical classification of information in a particular domain or subject area. Ontologies can be used for data annotations, structuring disparate data types, classifying information, inferencing and reasoning across data, and computational analyses.

Difference between a terminology and an ontology


A terminology is a collection of terms; a term can have a definition and synonyms.


An ontology contains a formal classification of terminology in a domain that provides textual and machine readable definitions, and defines the relationships between terms. An ontology is a terminology, but a terminology is not (necessarily) an ontology.

2. Finding good ontologies

Numerous ontologies exist. Some recommended sources to find community developed, high quality, and frequently used ontologies are listed below.

  • OBO Foundry. Read more below
  • The Ontology Lookup Service (OLS). The OLS contains over 200 ontologies.
  • BioPortal. BioPortal aggregates almost 900 biomedical ontologies, and provides a search interface to look up terms. It is a popular repository for ontologies, but as only a fraction of the ontologies are reviewed by the OBO Foundry, you should carefully review any ontologies found on BioPortal before committing to use them.
  • Ontobee. Ontobee indexes all 200+ OBO Foundry ontologies and is the default browser for OBO: For example, when you click, you will be redirected to the a page in the Ontobee browser that describes the annotation property example of usage.

3. Ontology repositories

OBO Foundry

The OBO Foundry is a community of ontology developers that are committed to developing a library of ontologies that are open, interoperable ontologies, logically well-formed and scientifically accurate. OBO Foundry participants follow and contribute to the development of an evolving set of principles including open use, collaborative development, non-overlapping and strictly-scoped content, and common syntax and relations, based on ontology models that work well, such as the Gene Ontology (GO).

The OBO Foundry is overseen by an Operations Committee with Editorial, Technical and Outreach working groups.

Find terms using ontology browsers

Various ontology browsers are available, we recommend using one of the ontology browsers listed below.

4. Assessing ontologies for use

Some considerations for determining which ontologies to use include the license and quality of the ontology.


Licenses define how an ontology can legally be used or reused. One requirement for OBO Foundry Ontologies is that they are open, meaning that the ontologies are openly and freely available for use with acknowledgement and without alteration. OBO ontologies are required to be released under a Creative Commons CC-BY license version 3.0 or later, OR released into the public domain under CC0. The license should be clearly stated in the ontology file.


Some criteria that can be applied to determine the quality of an ontology include:

  • Is there an ontology tracker to report issues? All open ontologies should have some form of an issue tracker to report bugs, make new term requests or request other changes to the ontology. Many ontologies use GitHub to track their issues.
  • Is it currently active? Are there a large number of open tickets on the ontology tracker that have not been commented on or otherwise addressed? Are the tickets very old, have been sitting for years?
  • Commmunity involvement On the issue tracker, is there evidence of community involvement, such as issues and comments from outside community members?
  • Scientifically sound Does the ontology accurately represent the domain in a scientifically sound way?

How to determine which is the right ontology to use?

  • There are multiple ontologies that exist, start by selecting the appropriate ontology, then search and restrict your search to that ontology.
  • Recommend using ontologies that are open and interoperable. Focusing on OBO foundry ontologies are a good place to start
  • Make informed decision about which ontology to use
  • Maybe the ontology you want to use does not have the term you want, so make a term request to that ontology

5. Mapping local terminology to ontology terms

Data can be mapped to ontology terms manually, using spreadsheets, or via curation tools such as:

6. Identifying missing terms

The figure below by Chris Mungall on his blog post on How to select and request terms from ontologies describes a workflow on searching for identifying missing terms from an ontology.

term search and request workflow

7. Make term requests to existing ontologies

See separate lesson on Making term requests to existing ontologies.

8. Differences between IRIs, CURIEs, and labels


A uniform resource identifier (URI) is a string of characters used to identify a name or a resource.


A URL is a URI that, in addition to identifying a network-homed resource, specifies the means of acting upon or obtaining the representation.

A URL such as this one:

has three main parts:

  1. Protocol, e.g. https
  2. Host, e.g.
  3. Path, e.g. /obophenotype/uberon/blob/master/uberon_edit.obo

The protocol tells you how to get the resource. Common protocols for web pages are http (HyperText Transfer Protocol) and https (HTTP Secure). The host is the name of the server to contact (the where), which can be a numeric IP address, but is more often a domain name. The path is the name of the resource on that server (the what), here the Uberon anatomy ontology file.


A Internationalized Resource Identifiers (IRI) is an internet protocol standard that allows permitted characters from a wide range of scripts. While URIs are limited to a subset of the ASCII character set, IRIs may contain characters from the Universal Character Set (Unicode/ISO 10646), including Chinese or Japanese kanji, Korean, Cyrillic characters, and so forth. It is defined by RFC 3987.

More information is available here.


A Compact URI (CURIE) consists of a prefix and a suffix, where the prefix stands in place of a longer base IRI.

By converting the prefix and appending the suffix we get back to full IRI. For example, if we define the obo prefix to stand in place of the IRI as:, then the CURIE obo:UBERON_0002280 can be expanded to, which is the UBERON Anatomy term for ‘otolith’. Any file that contains CURIEs need to define the prefixes in the file header.


A label is the textual, human readable name that is given to a term, class property or instance in an ontology.