Search

Selection and exploitation of Ontology Lookup Services

identifier: UC1 R1.3

version: v0.1


Difficulty level: :triangular_flag_on_post: :white_circle: :white_circle: :white_circle: :white_circle:

Reading time: 20 minutes

Intended Audience:

:heavy_check_mark: Data Managers

:heavy_check_mark: Procurement Officer

:heavy_check_mark: Software Engineer

:heavy_check_mark: Data Scientists

Recipe Type: Survey / Review

Executable code: No


Table of Contents

1) Objective of the recipe: introduction to ontology lookup services

2) Selecting an ontology lookup service

3) Overview of widespread ontology lookup services

Main Objective: introduction to ontology lookup services

This recipe provides guidance on the selection and exploitation of ontology lookup services. An ‘ontology lookup service’ refers to any type of application, standalone or Web-based, that enables the use of existing ontologies to support knowledge formalization and sharing, by fostering ontology-based descriptions of knowledge. Tools useful to build, edit or maintain ontologies are not considered ontology lookup services and thus are out of the scope of this recipe.

In essence, an ontology lookup service is a platform that provides users with the possibility to search in a set of ontologies, the most suitable concepts to describe the semantics of a piece of knowledge of interest, usually available in the form of one or more keywords or a text excerpt. Most ontology lookup services are available as Web applications: most of them also support programmatic access to their capabilities by means of (REST) APIs. Ontology lookup services can vary in the features that are provided, but often include:

  • Complex searching for concepts of interest: most services implement advanced search features (i.e. scoping the search to specific ontologies or to specific parts of an ontology) or allow users to specify fine-grained patterns to aggregate or restrict the scope of search results.
  • Advanced browsing capabilities, to explore the contents of a specific ontology by means of custom data navigation widgets such as tree-based views.
  • Managing distinct versions of an ontology and alert its users when specific concepts become obsolete.
  • Importing user-provided ontologies, giving consumers the ability to leverage a service for other terminologies beyond those included.
  • Programmatic means to access and deploy instances of the ontology lookup service in the premises of its users represents another differentiating feature, using relevant documentation.
  • Recommending ontologies based on the input of a given term, with ontologies ranked according to custom-weighted criteria.
  • Access to an active user community that supports and exploits a specific ontology lookup service, serving as an indication of widespread adoption and selection. This recipe presents guidelines and relevant considerations when choosing an ontology lookup service, followed by overview of existing public ontology lookup services and a comparison of their core features.

2. Selecting An Ontology Lookup Service

This section provides guidelines and suggestions on how to select and leverage an ontology lookup service, on the basis of the knowledge needs and ontology use patterns that characterize a specific knowledge-intensive project. Several aspects to consider when choosing an ontology lookup service are derived based on a series of commonly asked questions;

  • Is the set of ontologies incorporated in the ontology lookup service suitable to formally describe the knowledge domain my project is interested in?

    Ontology lookup services usually provide access and enable users to search and reference classes and properties of a specific set of ontologies related to a specific knowledge domain (i.e. biomedical knowledge). When choosing an ontology lookup service it is important to verify whether the ontologies covered by a specific service are suitable to describe the content of our knowledge-intensive project. Besides a list of the ontologies covered, and interactive widgets to explore such ontologies (e.g. tree-based views), some ontology lookup services also provide ontology recommendation capabilities: given some “sample” (i.e. text excerpt or list of keywords) of the knowledge we need to describe by means of available ontologies, the ontology lookup service ‘recommender’ suggests which are the best ontologies to use to this propose.

  • Do I need to consider / rely on private ontologies in my project? Do I need to use ontologies that are not already imported and thus available in the ontology lookup service of my choice?

    Some ontology lookup services enable users to import external (i.e. user-provided) ontologies in order to incorporate the content of these ontologies in their search and recommendation capabilities. This feature could represent a key factor to consider when choosing an ontology lookup service since several knowledge-intensive projects rely on private ontologies or need to consider a set of additional ontologies not natively covered by a specific ontology lookup service.

  • Because of data privacy or data protection issues, do I need to use an instance of the ontology lookup service that is deployed locally on my private computing infrastructure?

    Several ontology lookup services provide the possibility to deploy the service on the private computing infrastructure of its users. This feature would be particularly relevant when private ontologies are adopted in a knowledge-intensive project.

  • Which are the usage patterns I will rely on in order to exploit the ontology lookup service? Will the 1) massive and systematic exploitation of the ontology search, 2) the recommendation features of the ontology lookup service or 3) the integration of its capabilities in more complex systems, require the possibility to programmatically access the service by means of an application programming interface (API)?

    Ontology lookup services usually provide a (Web-based) user interface as the preferred way to interact with them to browse and search for ontologies, or recommend relevant concepts to describe contents of interest. In several scenarios, the possibility to programmatically interact with ontology lookup services would be extremely valuable; to this purpose, several ontology lookup services implement an API (mostly based on REST interactions) that enable the user to programmatically invoke the majority of ontology search features of the same service. In order to simplify the integration of the ontology lookup service support into external applications, several ontology lookup services provide users with language-specific clients to interact with them through their API.

  • Is the distribution license of the ontology lookup service compatible with the way I plan to exploit the features provided the same service in my project or with the way I plan to integrate the same service in my project?

    The licencing terms of the ontology lookup service of choice intended for use in a given context and knowledge-intensive project, is a key consideration when selecting an ontology lookup service: available ontology lookup services range from open-source applications to commercial tools and it is best to choose one with funding in mind.

  • Does the ontology lookup service manage ontology versioning and updates so that I can easily reflect any ontology update into my knowledge-intensive project?

    Ontologies and terminologies usually evolve over time: when a new, updated version of an ontology used in a knowledge-intensive project becomes available, best practice suggests that we should also update the part of our projects that rely on such ontology. Some ontology lookup services implement specific procedures and tools to manage and propagate ontology updates; the availability of such tools would simplify the implementation of changes deriving from ontology updates in the projects under consideration.

  • Is the ontology lookup service supported by an active community of developers or by an active company? Which are the available channels I can rely on to receive support on the usage and integration of the ontology lookup service?

    The support of an active community of developers and users is a key aspect to take into account when choosing an ontology lookup service. This could be quantified by evaluating several factors of an ontology lookup service including: (i) availability of mailing or support lists; (ii) for open-source projects, using metrics such as the star-rating, the number of forks and followers and the frequency of commits of the project on the code-sharing platform used (e.g. GitHub); (iii) size of the community of users of the ontology lookup service (e.g. how many followers on social media accounts, how many clients advertised on the Website).

3. Key Selection Criteria

The above questions have highlighted 20 factors which should be taken into account when choosing a service. These factors can be categorised into 3 groups; ontology information, functionality and interfaces, and include;

Ontology Information

  1. URL: the main URL where the ontology lookup service can be accessed
  2. Latest version of service / data / code (where applicable): the most recent version of both the content (i.e. ontologies) and the code of the ontology lookup service
  3. Host Organisation: the organization responsible for the maintenance of the ontology lookup service
  4. Public / private: is the ontology lookup service a public or private infrastructure?
  5. Licence: the licence that regulates the use and cost of the ontology lookup service
  6. Domain: which is the knowledge domain covered by the ontologies referenced in the ontology lookup service?
  7. Quantification of community of users: objective measures to quantify the community of users supporting and consuming an ontology lookup service, including: number of stars and forks on GitHub, number of social media followers

Functionality

  1. Number and complexity of ontologies covered: how many ontologies does the ontology lookup service cover and how complex are they?
  2. Ontology formats supported: which ontology formats are supported by the ontology lookup service?
  3. Ontology importing capabilities: if and how ontologies can be imported and thus indexed by the ontology lookup service?
  4. Ontology browsing capabilities: which interaction patterns are available to browse the set of ontologies contemplated by the ontology lookup service?
  5. Ontology search capabilities: which search patterns are provided by the ontology lookup service to identify the best concept useful to represent the semantic of a term? When searching against a term, does the ontology give an indication of whether the term has been derived from a different ontology?
  6. Ontology recommendation capabilities: does the ontology lookup service provide users with a recommendation concerning the most suitable ontologies to semantically characterize the contents of some text / a set of keywords?
  7. Ontology update capabilities: how are terms and/or relationships updated in a given ontology and how is this governed? Is this an automatic or manual update and what happens to terms that are considered obsolete?
  8. Ontology versioning capabilities: are there predefined patterns to identify, manage and compare distinct versions of an ontology?

Interfaces

  1. Description of Web-based access to service: which ontology browsing and search patterns are available to the (Web-based) user interface of the ontology lookup service? Does the ontology lookup service also provide programmatic access to its data and services (e.g. by means of a REST API)?
  2. Description of API: reference to the documentation of the (REST) API provided by the ontology lookup service, if any
  3. Developer resources: description of resources provided to developers in order to ease the programmatic access to the features of the ontology lookup service (i.e. libraries to query the REST API from a specific programming language).
  4. Local deploy of service: possibility to locally deploy the ontology lookup service
  5. Source code reference: if available, link to the source code of the ontology lookup service
  6. Overview of Widespread Ontology Lookup Services

Here, we have used the selection criteria above to provide an overview and comparison of four widespread ontology lookup services, namely:

The results of the analysis can be found below, else in tabular format here.

Note, the ‘last update of this table’ field provides the date on which the ontology lookup service was last assessed.

The EBI Ontology Lookup Service

Name Ontology Lookup Service

Last update of this table

14/04/2020
URL https://www.ebi.ac.uk/ols/index
Latest version of service / data / code (where applicable) Content: last update 12 Apr 2020 11:39

Code: Maven POV version (from GitHub): 3.2.1-SNAPSHOT

https://github.com/EBISPOT/OLS

Last commit on GitHub: April 2020

Host organisation Samples, Phenotypes and Ontologies Team at EMBL-EBI
Public / private Public
Licence Apache 2.0
Domain A repository for biomedical ontologies that aims to provide a single point of access to the latest ontology versions
Set of ontologies covered 245 ontologies / 6,119,228 terms / 27,778 properties / 485,541 individuals

Whole list at: https://www.ebi.ac.uk/ols/ontologies

Onto. formats supported OWL 2 and OBO
Onto. importing capabilities By means of a local installation it is possible to import ontologies in OWL 2 and OBO format
Onto. browsing capabilities Tree-view based browsing of hierarchies of classes and properties of ontologies. The modifications added by different version of each ontology are shown by means of distinct background colors in ontology browsing tree-views
Onto. search capabilities Search by term to gather all the ontologies where the term is found. It is possible to restrict search results to one or more ontologies, to a specific type of result (i.e. class, property or individual) or to exact or partial term match
Onto. recommendation capabilities None
Onto. update capabilities OLS updates nightly to always provide the latest ontology versions
Onto. versioning capabilities Obsoleted ontology terms are spotted by means of a boolean flag (is_obsolete)
Description of Web-based access to service Besides a Web-based user interface useful to browse ontologies and search for ontology concepts, free-access by means of a REST API is provided to the users
Description of API https://www.ebi.ac.uk/ols/docs/api
Developer resources Java and R clients / Javascript widgets
Local deploy of service Possible, documentation at: https://www.ebi.ac.uk/ols/docs/installation-guide
Source code reference https://github.com/EBISPOT/OLS
Quantification of community of users GitHub: 49 stars and 19 forks

Twitter: 116 followers

NCBO BioPortal

Name Bioportal

Last update of this table

14/04/2020
URL https://bioportal.bioontology.org/
Latest version of service / data / code (where applicable) Content: last update 12 Apr 2020 11:39

Code:

Host organisation U.S. National Center for Biomedical Ontology
Public / private Public
Licence Available at: https://github.com/ncbo/ontologies_api/blob/master/LICENSE.txt
Domain A Web-based application for searching, sharing, visualizing, and analyzing a large repository of biomedical ontologies, terminologies, and ontology-based annotations
Set of ontologies covered Ontologies: 842 / Classes: 11,324,508

Whole list at: https://bioportal.bioontology.org/ontologies

Onto. formats supported OWL, OBO, SKOS
Onto. importing capabilities It is possible to upload / submit new ontologies or new versions of existing ontologies that will be indexed in BioPortal. Ontology metadata will be provided in the Ontology Metadata Vocabulary (OMV) format
Onto. browsing capabilities For each ontology / terminology an overview of its content is provided together with separate tree-views tailored to explore its hierarchies of classes and properties. The set of available mappings to other ontologies / terminologies can be explored by a custom view
Onto. search capabilities Search by term to gather all the ontologies where the term is found. It is possible to restrict search results to one or more ontologies, to a specific type of result (i.e. class, property or individual) or to exact or partial term match
Onto. recommendation capabilities An ontology recommender is available: it retrieves recommendations for the most relevant ontologies based on an excerpt from a biomedical text or a list of keywords.

Recommendations are based on: (i) coverage of the input text / set of keywords; (ii) acceptance of the ontologies; (iii) detail of knowledge available in the ontology to describe input data and (iv) specialization of the ontology to the specific domain under consideration

Onto. update capabilities Each ontology can be manually updated by accessing the BioPortal or automatically updated by BioPortal by continuously monitoring a URL where the ontology and its new versions are published
Onto. versioning capabilities Each ontology is characterized by a version number in its metadata, useful to track distinct versions of the same ontology
Description of Web based access to service Besides a Web-based interface that supports ontology search, annotation, recommendation and mapping, also a free-after-registration access by means of a REST API is provided to the users
Description of API http://data.bioontology.org/documentation#nav_home
Developer resources Sample code to access REST API in distinct languages is available at: https://github.com/ncbo/ncbo_rest_sample_code
Local deploy of service In principle, local deploy of services is possible, even if not extensively documented. Source code (Rails) for Web UI, REST API and Linked Data management is available on NCBO GiHub account, https://github.com/ncbo
Source code reference https://github.com/ncbo
Quantification of community of users GitHub:
  • Web UI: 12 stars and 6 forks
  • REST API: 17 stars and 7 forks
  • Linked Data: 10 stars and 5 forks

    Twitter: 192 followers

OHDSI Athena

Name Athena

Last update of this table

14/04/2020
URL https://www.ohdsi.org/analytic-tools/athena-standardized-vocabularies/

http://athena.ohdsi.org/

Latest version of service / data / code (where applicable) Content: last update 12 Apr 2020 11:39

Code: Maven POV version (from GitHub): 1.10.0

https://github.com/OHDSI/Athena

Latest commit on GitHub: September 2019

Host organisation Observational Health Data Sciences and Informatics (OHDSI) initiative
Public / private Public
Licence Not explicitly specified
Domain Useful to browse the set of Standardized Vocabularies which are part of the OMOP Common Data Model (CDM), version 5.x. They are maintained by the Observational Health Data Science and Informatics (OHDSI, pronounced “Odyssey”) initiative
Set of ontologies covered Standardized Vocabularies which are part of the OMOP Common Data Model (CDM), version 5.x. It integrates several source vocabularies including UMLS, SNOMED, RxNorm, NDFRT, VA Product, VA Class, ATC, MeSH, ICD10, GCN_SEQNO, ETC, Indication, ICD9CM, ICD9Proc, ICD10CM, LOiNC, etc.
Onto. formats supported Not a specific format, a collection of ontology concepts / classes assigned to a specific domain and imported from a specific source vocabulary
Onto. importing capabilities Tailored to browse the Standardized Vocabularies which are part of the OMOP Common Data Model (CDM)
Onto. browsing capabilities Table based views are available to browse all the concepts belonging to a specific source vocabulary
Onto. search capabilities Search by term to gather all the source vocabularies where the term is found. It is possible to restrict search results by domain, class and source vocabulary
Onto. recommendation capabilities None
Onto. update capabilities Each time a new version of the Standardized Vocabularies which are part of the OMOP Common Data Model (CDM) is available an updated the core set of concept is available
Onto. versioning capabilities The latest version of the Standardized Vocabulary is V5.0
Description of Web-based access to service Athena is a Web interface available to browse concepts of the Standardized Vocabulary (V5.0). Both search results and the whole dataset can be downloaded after registration
Description of API No API available
Developer resources None
Local deploy of service In principle, local deploy of services is possible, even if not extensively documented. Source code on GitHub account https://github.com/OHDSI/Athena
Source code reference https://github.com/OHDSI/Athena
Quantification of community of users GitHub: 29 stars and 6 forks

Twitter: 1.284 followers of the Observational Health Data Sciences and Informatics (OHDSI) account

Ontobee and the OBO Foundry

Name OBO Foundry

Last update of this table

14/04/2020
URL http://www.ontobee.org/ (http://obofoundry.org/)
Latest version of service / data / code (where applicable) Content (OBO Foundry): last update April 2020

Code (Ontobee): https://github.com/OntoZoo/ontobee

Latest commit on GitHub: August 2018

Host Organisation He Group, University of Michigan Medical School, Ann Arbor, MI, USA
Public / private Public
Licence Apache 2.0
Domain Ontobee has been used as the default ontology Linked Data server for most Open Biological and Biomedical Ontology (OBO) Foundry library ontologies. The OBO Foundry is a collective of ontology developers that are committed to collaboration and adherence to shared principles
Set of ontologies covered 164 active ontologies, 5 orphaned ontologies and 57 inactive ontologies (in OBO Foundry)
Onto. formats supported OWL and OBO
Onto. importing capabilities Ontobee can import both OWL and OBO ontologies. New ontologies can be proposed tired to the set of OBO Foundry ontologies; a committee will review the ontology to check if it adheres to all the OBO Foundry principles
Onto. browsing capabilities The OBO Foundry portal provides a set of metadata describing each ontology together with the possibility to download the same ontology in several formats. To browse ontologies, the OBO Foundry portal points to the ontology browsing pages of other Web platforms including Ontobee, BioPortal and the Ontology Lookup Service.
Onto. search capabilities The OBO Foundry portal exploits Ontobee to provide users with ontology search capabilities.Ontobee enables users to search ontology concepts by term, eventually restricting the search to a specific ontology
Onto. recommendation capabilities None
Onto. update capabilities An established PURL system to publish new versions / updates of an ontology is defined; new versions of an ontologies should be accessible at PURLs with the following format: http://purl.obolibrary.org/obo/idspace/YYYY-MM-DD/idspace.owl or .obo, for instance: https://raw.githubusercontent.com/BiodiversityOntologies/bco/2020-03-27/bco.owl
Onto. versioning capabilities The OBO principles, implemented by the ontologies available in OBO Foundry, enforces a system of versioning systems, with each ontology version receiving an unique identifier (by means of numbers, dates, tags)
Description of Web-based access to service Ontobee provides a web interface that supports, besides searching for ontology concepts, the execution of SPARQL queries and the annotation of text excerpts
Description of API No specific REST API is provided; users can retrieve both HTML and RDF descriptions of concepts that belongs to Ontobee ontologies, in adherence to the principles of Linked Data community
Developer resources None
Local deploy of service In principle, local deploy of services is possible, even if not extensively documented. Source code on GiHub account https://github.com/OntoZoo/ontobee
Source code reference https://github.com/OntoZoo/ontobee
Quantification of community of users GitHub: 12 stars and 4 forks

Twitter OBOFoundry account: 220 followers


Authors:

Name Affiliation orcid CrediT role
Francesco Ronzano UPF Writing - Original Draft
Ashni Sedani GSK Writing - Original Draft
Kurt Dauth Boehringer Ingelheim Writing - Original Draft
Philippe Rocca-Serra University of Oxford, Data Readiness Group 0000-0001-9853-5668 Reviewer

License:

This page is released under the Creative Commons 4.0 BY license.