Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A weird idea on using OBO Foundry metadata to standardise ontology level metadata #106

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

matentzn
Copy link
Contributor

@matentzn matentzn commented May 1, 2022

The idea is this:

We generate standard ontology metadata for all ontologies from the OBO Foundry metadata. For example, we translate the ddpheno.md metadata file in the OBO Foundry metadata to OWL like this: https://raw.githubusercontent.com/information-artifact-ontology/ontology-metadata/metadatata/src/metadata/obo/ddpheno.owl.

Every ontology that wants to does then follows these steps to include the metadata:

  • Create an import module to its own ontology metadata:

https://raw.githubusercontent.com/information-artifact-ontology/ontology-metadata/metadatata/src/metadata/obo/ddpheno.owl

  • Merge the OBO ontology metadata like this upon release (something like this):
robot merge -i $(SRC) -i imports/ontology-metadata.owl --include-annotations true -o $*.owl

This will add all the standard metadata (license, title, description, creators, issue trackers etc) into the ontology.

Advantages,

  1. we can standardise ontology-level metadata rapidly (which properties we use for which metadata item)
  2. propagate stuff (new/updated metadata) quickly (for example, we add a new metadata item for grant references)
  3. generally ensure that ontology metadata is rich (all the stuff OBO foundry deems important from the metadata records) and
  4. in-sync with OBO foundry at all times (no diverging titles or descriptions).

Try this command to see how it would look like:

robot merge -I http://purl.obolibrary.org/obo/ddpheno.owl -I https://raw.githubusercontent.com/information-artifact-ontology/ontology-metadata/metadatata/src/metadata/obo/ddpheno.owl --include-annotations true -o ddpheno-with-metadata.owl

Sounds a bit crazy but I kinda like it.

WARNING:

The metadata properties I used for https://raw.githubusercontent.com/information-artifact-ontology/ontology-metadata/metadatata/src/metadata/obo/ddpheno.owl are not thought through - this is just an example. We will decide how to map OBO metadata to annotation properties.

@graybeal
Copy link

graybeal commented May 1, 2022

Another advantage:
5. downstream users and apps (BioPortal, AgroPortal, linked data users, semantic researchers) are encouraged to see, compute with, bring forward in their product, and standardize on OBO metadata properties.

@jamesaoverton
Copy link
Contributor

The status quo is that the OBO registry contains data about each ontology project, which gets updated periodically, and the OWL files contain data about each release, each of which is frozen in time. There is also data associated with each term, since terms get imported into other projects. Here's an old document trying to make those distinctions clear.

There is plenty of room for improvement, but I don't think that just collapsing the distinction between project and release data will make things better. The current Dashboard checks are meant to help keep the relevant data in sync.

@matentzn
Copy link
Contributor Author

matentzn commented May 2, 2022

Not sure I understand, I am not suggesting collapsing release metadata (versionIRI, versionInfo, etc) with project metadata (title, description, license), nor does this have anything to do with term-level metadata - I am just suggesting that since we are making an effort to standardise project-level metadata on the OBO foundry level, we may as well just merge that directly into our releases..

@jamesaoverton
Copy link
Contributor

@matentzn Sorry, I misunderstood. I'm fine with better tooling for syncing selected values from the registry to a project.

@matentzn
Copy link
Contributor Author

matentzn commented May 4, 2022

The next step would be to map all that metadata to standard vocabs. I used @jonquet's MOD 2 as a reference, which is also used afaik by Agro and BioPortal (@graybeal):

OBO metadata Mapped Property Example
title dcterms:title Mondo Disease Ontology
description dcterms:description A semi-automatically constructed ontology that merges in multiple disease resources to yield a coherent merged ontology.
homepage foaf:homepage https://monarch-initiative.github.io/mondo
license.url dcterms:license http://creativecommons.org/licenses/by/4.0/
contact dcat:contactPoint "Nicole Vasilevsky ([email protected]), GitHub: @nicolevasilevsky, ORCiD: 0000-0001-5208-3432"
depicted_by foaf:logo https://raw.githubusercontent.com/monarch-initiative/mondo/master/docs/images/mondo_logo_black-stacked-small.png
tracker doap:bug-database https://github.com/monarch-initiative/mondo/issues
mailing_list doap:mailing-list https://groups.google.com/group/mondo-users
publications.id dcterms:bibliographicCitation https://www.medrxiv.org/content/10.1101/2022.04.13.22273750
repository doap:repository https://github.com/monarch-initiative/mondo
preferredPrefix idot:preferredPrefix MONDO

I only mapped the metadata elements that I think could be useful for consumers of the ontology, maybe I included too much, maybe I missed something.

@jamesaoverton
Copy link
Contributor

The OBO registry is converted to RDF (see registry/) and mappings for all (?) of these are defined in registry/context.jsonld.

@matentzn
Copy link
Contributor Author

matentzn commented May 4, 2022

Excellent, I didnt know that :) Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants