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

Make versionIRIs resolvable #131

Open
cmungall opened this issue Apr 27, 2022 · 3 comments
Open

Make versionIRIs resolvable #131

cmungall opened this issue Apr 27, 2022 · 3 comments

Comments

@cmungall
Copy link

cmungall commented Apr 27, 2022

your obo and owl files have data version metadata which is good. For example:

curl -L -s http://purl.obolibrary.org/obo/ms.owl | grep versionIRI
        <owl:versionIRI rdf:resource="http://purl.obolibrary.org/obo/ms/4.1.84/ms.owl"/>

However, these are not resolvable

Fortunately it should be not too hard to make these resolvable as you are following good versioning practice and making a github releases for every release

The way to do this is to make a PR on this that performs the necessary redirect to the raw github file:

https://github.com/OBOFoundry/purl.obolibrary.org/blob/master/config/ms.yml

I would recommend doing this for both the obo and the owl file

This is a little fiddly as you don't include a /version/ in the IRI so either you will have a separate entry for every release (not recommended) OR have a regex that matches semver. I can help with this if you would like versions resolvable

I would also recommend that PURLs are used in mzML. E.g. I see files like this:

<cvList count="2">
  <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="4.1.12" URI="https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo"/>
  <cv id="UO" fullName="Unit Ontology" version="09:04:2014" URI="https://raw.githubusercontent.com/bio-ontology-research-group/unit-ontology/master/unit.obo"/>
</cvList>

however, the raw github URL resolves to a newer version and if the user really did want to match the PSI-MS version with that which was used for the file it's not obvious

Also these github URLs are subject to change. Perhaps in future UO may not be served from github, or it may move to a different org, or paths may change - this is why we created the OBO purl system

In fact we can see this with the current version of the standard which implicitly recommends sourceforge URLs
http://www.peptideatlas.org/tmp/mzML1.1.0.html#cvList

I recommend

  • URI is the non-versioned PURL for either the obo or owl file
  • version is either the versionIRI or versionInfo (what you have now); if versionInfo provide guidelines on how to construct the versioned PURL
@edeutsch
Copy link
Contributor

TO DO:
Reach out to converter and other mzML writers to use the PURL: http://purl.obolibrary.org/obo/ms/psi-ms.obo
or a specific version: http://purl.obolibrary.org/obo/ms/v4.1.90/psi-ms.obo (not quite right, to be fixed)

@mobiusklein
Copy link
Contributor

@chambm
Copy link
Contributor

chambm commented Jan 12, 2024

Ironically, the versioned IRI for Unit Ontology listed at OLS gives a 404 error: http://purl.obolibrary.org/obo/uo/releases/2023-05-25/uo.owl

It should be http://purl.obolibrary.org/obo/uo/releases/2023-05-23/unit-ontology.owl Only in master branch have they changed to use the uo basename instead of unit-ontology.

But the OP's recommendation was "URI is the non-versioned PURL for either the obo or owl file". So I'm not sure we need to change to versioned URIs at all?

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

No branches or pull requests

4 participants