Aligning Design Patterns across Multiple Ontologies in the Life Sciences

I was delighted to give the keynote at http://ISWC 2020 Workshop on Ontology Design and Patterns today. You can see a video or my slides, I’m including a brief summary here.

Opening slide: Aligning Design Patterns Across Multiple Ontologies in the Life Sciences

As this was a CS audience that may be unfamiliar with some of the issues we are tackling in OBO I framed this in terms of the massive number of named entities in the life sciences, all of which have to be categorized if we are to be able to find, integrated, and analyze data:

there are many named things in the life sciences

We created OBO to help organize and integrate the ontologies used to categorize these things

OBO: social and technological framework to categorize all the things

When we started, many ontologies were quite ‘SKOS-like’ in their nature, with simple axiomatization, and a lack of integration:

GO and other ontologies were originally SKOS-like

OWL gives us a framework for more modular development, leveraging other ontologies, and using reasoning to automate classification:

OWL reasoning can be used to maximize leverage in a modular approach: here re-using CHEBI’s chemical classification in GO

This is all great, but when I look at many ontologies I often see two problems, often in the same ontology, under- and over- axiomatization:

Finding the balance between under and over axiomatization

In some ontologies I see what I sometimes call ‘Rococo OWL’, over-axiomatization in an elaborate dense set of axioms that looks impressive but don’t deliver much functional utility (I plan to write about this in a future post).

Rococo: an exceptionally ornamental and theatrical style of architecture, art and decoration which combines asymmetry, scrolling curves, gilding, white and pastel colors, sculpted molding, and trompe l’oeil frescoes to create surprise and the illusion of motion and drama. The style was highly theatrical, designed to impress and awe at first sight. a movement that extolled frivolity, luxury and dilettantism, patronised by a corrupt and decadent ancien régime. Rococo ended in the revolution of 1789, with the bloody end of a political and economic system

We developed Dead Simple OWL Design Patterns (DOSDPs) to make it easier to write down and reuse common OWL patterns of writing definitions, primarily for compositional classes following the Rector Normalization pattern.

Example DOSDP yaml file

I gave an example of how we used DOSDPs to align logical definitions across multiple phenotype ontologies (the uPheno reconciliation project). I would like to expand on this in a future post.

multiple phenotype databases for humans and model organisms, and their respective vocabularies/ontologies

I finished with some open-ended questions about where we are going and whether we can try and unify different modeling frameworks that tackle things from different perspectives (closed-world shape-based on object-oriented modeling, template/pattern frameworks, lower level logical modeling frameworks).

Unifying multiple frameworks – is it possible or advisable?

Unfortunately due to lack of time I didn’t go into either ROBOT templates or OTTR templates.

And in closing, to emphasize that the community and social aspects are as important or more important than the technology:

Take homes

And some useful links:

http://obofoundry.org/resources

https://github.com/INCATools/

○ ontology-development-kit

dead_simple_owl_design_patterns (dos-dps)

dosdp-tools

Special thanks to everyone in OBO and the uPheno reconciliation effort, especially David-Osumi Sutherland, Jim Balhoff, and Nico Matentzoglu.

And thanks to Pascal Hitzler and Cogan Shimizu for putting together such a great workshop.

About Chris Mungall
Computer Research Scientist at Berkeley Lab. Interests: AI / Ontologies / Bioinformatics. Projects: GO, Monarch, Alliance, OBOFoundry, NMDC

5 Responses to Aligning Design Patterns across Multiple Ontologies in the Life Sciences

  1. Simon Cox says:

    Thanks for sharing Chris. Just a couple of comments relating to the ‘SKOS-like siloes’ slide:

    1. many SKOS vocabularies are _not_ siloes. The SKOS vocabularies in the NERC vocabulary service are highly interlinked. I will agree that the links mostly do not carry much semantics (`skos:related` is pretty weak …) but we have lots of cases of SKOS non-siloes;

    2. I know there is a strong bias in OBO towards class-orientation, leveraging OWL axiomatization. However, it is possible to include quite strong semantics in instance-oriented vocabularies. For example, the Geological Timescale vocabulary maintained at https://github.com/CGI-IUGS/timescale-data is composed of instances of the GTS and THORS ontologies, which in turn extend OWL-Time, so there is a lot of logic that can be exploited in queries. You might argue that this axiomatization is not OWL within the datasets, but much of the axiomatization in OBO is based on OBO not OWL.

    GTS – http://resource.geosciml.org/ontology/timescale/gts
    THORS – http://resource.geosciml.org/ontology/timescale/thors
    OWL-Time – http://www.w3.org/2006/time#

    Note that the geological timescale ontology is also linked to SKOS, so the data are both domain-specific individuals (eras, boundaries, stratotypes …) and skos:Concepts, which supports both simple and complex understanding.

    • Thanks!

      1. I admit silo may be unfair, but beyond interlinking, is there any attempt to reuse across skos vocabularies? can a skos concept be used to construct another one? I’m not so concerned about carrying semantics (that word is used in such diverse, fuzzy ways), more about practical engineering concerns.

      2. I am a big fan of ABoxes, when it makes sense – timescales make sense since as far as we know there is only one Jurassic. In fact we should make more use of ABoxes within OBO. Many developmental stage ontologies may be better axiomatized using exemplar instances which would follow similar design patterns to geo timescale ontologies, would be interested in following up on this.

      Not totally sure what you mean by “much of the axiomatization in OBO is based on OBO not OWL.”. I admit we created a terminological nightmare when we named the format after the organization. But OBO format is just a syntax for a subset of OWL (the useful subset IMHO – but others may differ).

      • Simon Cox says:

        1.
        > beyond interlinking, is there any attempt to reuse across skos vocabularies?

        Indeed there is. The NVS Parameter vocabularies such as P01 pre-compose complex observables from elements taken from a number of other vocabs in NVS, and I think others do too. I’m not across all the details, but look at the vocabs with ‘semantic model’ in their name here: https://bit.ly/NVS-summary (this is a SPARQL query I wrote several years ago – could probably be improved on). I’ll see if I can get one of the BODC people to clarify.

        2. Good. I look at many ‘classes’ in ontologies and think “how many members does that class have?” … 😉

        3.
        > much of the axiomatization in OBO is based on OBO not OWL

        I was mostly thinking about all the specialized relations in OBO. I shouldn’t have said ‘not OWL’ I should have written ‘extending OWL’ or something. I tend to think in terms of queries rather than automatic inferencing though, in which case it is all much of a muchness.

  2. Gwen Moncoiffe says:

    Thank you for sharing Chris and thank you for mentioning the NVS Simon. We are indeed combining simple SKOS vocabularies to build complex concepts such as the ones found in the BODC P01 Parameter Usage Vocabulary. More info about the P01 can be found here: https://github.com/nvs-vocabs/P01

    • Thank you! I’m just digesting all your excellent github docs here, will come back with more questions. I’m very interested in how you build compositional concepts in SKOS

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: