psi-ms-CV icon indicating copy to clipboard operation
psi-ms-CV copied to clipboard

Make versionIRIs resolvable

Open cmungall opened this issue 2 years ago • 3 comments

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

cmungall avatar Apr 27 '22 20:04 cmungall