1 of 37

Nicole Vasilevsky

ECTO Workshop

September 09, 2019

Introduction to Ontologies

2 of 37

Resources

Ontology resources:

https://tislab.org/ontologyResources.html

Slides:

http://bit.ly/ontology101

3 of 37

Part 1:

Introduction to Ontologies

4 of 37

Ontologies are systematic representations of knowledge that can be used to integrate and analyze large amounts of heterogeneous data

DOI: 10.1056/NEJMra1615014

Image credit: https://kyndi.com/blog/creating-knowledge-and-maximizing-the-value-of-data-with-ontologies/

5 of 37

What can you do with an ontology?

Organizing data

Filtering data

Connecting data

Suggesting data

6 of 37

Ontology Basics

7 of 37

What is an ontology?

Porter

Stout

Pilsner

Lager

Beer

Dark beer

Light beer

is_a

is_a

is_a

is_a

is_a

is_a

A knowledge classification of a domain, where the relationships between concepts are formally defined and logically related, which allows for computational reasoning

Key Features:

  • Terms are defined
  • Semantics - relationships between terms are defined, allowing logical inference and sophisticated data queries
  • Terms are arranged in a hierarchy
  • Expressed in a knowledge representation language such as RDFS, OBO, or OWL

8 of 37

Complexity of Vocabulary Types

9 of 37

Example biomedical ontologies

Name some specific examples

10 of 37

Ontologies in Everyday Life

11 of 37

Ontology Structure

12 of 37

Elements of an Ontology

Classes

Relationships

Instances

Individuals

Concepts in the ontology, also called terms

Properties, how the classes relate to each other

Beer

is_a

is_a

is_a

is_a

is_a

is_a

Porter

Stout

Pilsner

Lager

Dark beer

Light beer

13 of 37

Ontologies are expressed in formal language �like Web Ontology Language (OWL)

OWL is a semantic web computational logic-based language, designed to represent rich and complex knowledge about things and the relations between them. It also provides detailed, consistent and meaningful distinctions between classes, properties and relationships.

“Why not be inconsistent in at least one aspect of a language which is all about consistency?”

- Guus Schreiber, Why OWL and not WOL?

14 of 37

The is_a relationship

  • Terms (classes) in an ontology are often classified via an ‘is_a relationship

  • What is a subsumption hierarchy?
  • Which class is a superclass of B?
  • Which class is a subclass of C?
  • Is ‘dietary flavouring agent exposure’ a type of ‘dietary chemical entity exposure’?
  • What is the relationship of ‘dietary arsenic exposure’ to ‘dietary chemical entity exposure’?

A

B

C

Superclass

Subclass

/ Parent

/ Child

15 of 37

The is_a relationship

Dietary chemical entity exposure

A exposure event arising as a result of ingestion in food of chemical entity.

Dietary arsenic exposure

A exposure event arising as a result of ingestion in food of arsenic.

  • The is_a relation is like inheritance
  • Children terms inherit the properties and relationships of the parent term

16 of 37

Ontology terms can be defined by their attributes

Beer attributes:

Define types of beer:

Label: India Pale Ale

Synonym: IPA

Text definition: Is a hoppy beer style within the broader category of pale ale.

Source: https://en.wikipedia.org/wiki/India_pale_ale

How could we logically define an IPA by its attributes?

17 of 37

What other attributes are needed to define your favorite beer?

Rogue Beard Beer is brewed with a yeast discovered in Brewmaster John Maier's beard

http://buy.rogue.com/beard-beer/

18 of 37

Ontologies model the relationships between classes

What are the classes?

What are the properties?

19 of 37

Ontologies textually and logically define the relationships between classes

Logical (machine readable) definition

'exposure event'

and ('has exposure stimulus' some

('chemical entity'

and ('has role' some 'flavouring agent')))

and ('causally upstream of or within' some ‘Food Consumption')

Text (human readable) definition

A exposure event arising as a result of ingestion of food containing chemicals with the role of flavouring agent.

20 of 37

Part 2:

How to look up ontology terms/hierarchies

21 of 37

Ontology Lookup Service

22 of 37

NCBO BioPortal

A library of ontologies and ontology related services

23 of 37

Query ontologies, and provides RDF supporting remote query of each ontology term and the Semantic Web

24 of 37

Part 3:

Participate in Ontology Communities

25 of 37

Expert contributions to ontologies

https://bbsrc.ukri.org/news/people-skills-training/2015/151019-n-new-pool-of-experts-and-committee-members/

26 of 37

Ontology issue trackers

A tracker is a place to put a formal ontology request

Examples:

  • GitHub
  • JIRA

Trackers have long been used in the software community for keeping track of bugs, feature requests, etc

Advantages

  • Open
  • Documentation
  • Community can comment

Tracker IDs can be referenced in ontology metadata, such as in an editor note or definition annotation

Example:

https://github.com/data2health/contributor-role-ontology/issues/13

27 of 37

Github: A common ontology tracker

https://github.com/EnvironmentOntology/environmental-exposure-ontology/issues

28 of 37

Ontology trackers

Open

Time

Discussions

29 of 37

How do you write a tracker request?

  1. Provide as much information as possible, in order to facilitate the change you are requesting and future reference

  • For new terms, or term rearrangements, provide the intended hierarchy – both SubClass as well as any other relations required (such as partonomy)

  • Provide text definitions, that make sense in the Genus Differentia context, for all new or edited terms

  • Provide attribution for the definitions

  • Provide (nano)attribution for yourself

30 of 37

Want to learn more about ontologies?

Online Ontology Tutorials

Protégé Course

What: Basics of ontology development using software tool Protégé

Website: https://github.com/OHSUBD2K/BDK14-Ontologies-101

What: ROBOT tutorial

Website: https://github.com/rctauber/robot-tutorial

Name: Protégé Short Course

When: October 21-23, 2019

Where: Stanford University, Stanford, CA

Website: https://protege.stanford.edu/short-courses.php

31 of 37

Educational material development contributors:

  • Melissa Haendel
  • Chris Mungall
  • David Osumi-Sutherland
  • Matt Yoder
  • Carlo Torniai
  • Simon Jupp
  • Marijane White

Graphic Design:

  • Julie McMurry

Some content was adapted from:

BDK14: Introduction to OWL2 and data reasoning. https://github.com/OHSUBD2K/BDK14-Ontologies-101

Acknowledgements

32 of 37

Thank you!

Contact:

vasilevs@ohsu.edu

@N_Vasilevsky

https://tislab.org/ontologyResources.html

33 of 37

Additional slides

34 of 37

Developing Competency Questions

What kinds of questions would ask to query the ontology?

What kinds of results would you want to get back?

Example queries from the NCI Cancer Semantic Workshop

  1. Are there any datasets that provide data on cancer incidence in populations exposed to high voltage electrical lines?
  2. Identify any occupational, exposure, or environmental factors that may distinguish between patients with differing diagnoses and/or outcomes.
  3. What environmental exposures are typically associated with the development of salivary gland cancer?

35 of 37

Dead Simple Ontology Design Patterns (DOSDP)

GitHub:https://github.com/dosumis/dead_simple_owl_design_patterns

Paper: https://jbiomedsem.biomedcentral.com/articles/10.1186/s13326-017-0126-0

  • Editing OWL ontologies requires specifying OWL design patterns

  • Patterns are specified in the subset of YAML that can be converted to JSON
    • Can be used to:
      • Generate documentation
      • Generate new terms
      • Retrofit old terms
    • Allows for reuse of patterns

36 of 37

Spreadsheet based ontology development

37 of 37

DOSDPs in the background

pattern_name: exo/patterns/exposure_to_material

classes:

exposure event: ExO:0000002

environmental material: ENVO:00010483

relations:

part of: BFO_0000050

has exposure stimulus: RO:0002309

vars:

stressor: "'environmental material'"

name:

text: "exposure to %s"

vars:

- stressor

annotations:

- property: oio:hasExactSynonym

text: "%s exposure"

vars:

- stressor

- property: oio:hasExactSynonym

text: "%s exposure event"

vars:

- stressor

def:

text: "A exposure event involving the interaction of an exposure receptor to %s. Exposure may be through a variety of means, including through the air or through ingestion."

vars:

- stressor

equivalentTo:

text: "'exposure event' and 'has exposure stimulus' some %s"

vars:

- stressor

exposure to dust

dust exposure

dust exposure event

A exposure event involving the interaction of an exposure receptor to dust. Exposure may be through a variety of means, including through the air or through ingestion.

'exposure event' and 'has exposure stimulus' some dust"