ncbo / bioportal-project

Serves to consolidate (in Zenhub) all public issues in BioPortal
BSD 2-Clause "Simplified" License
7 stars 5 forks source link

query ontologies by versionIRI #167

Open graybeal opened 4 years ago

graybeal commented 4 years ago

In https://groups.google.com/forum/#!topic/obo-discuss/yUWDtExGlX8 Chris Mungall suggests:

If there was a way to query BP e.g. bioportal.org/ontologies/archive?versionIRI=http://purl.obolibrary.org/obo/go/releases/2020-05-02/go.owl this might be quite useful as a backup. Of course, this is not necessary for GO but smaller ontologies may not have a long term archival solution in place.

Boiled down this is to query for a specific ontology by its versionIRI, in addition to the currently available submissionID.

There is a slight dilemma if the versionIRI is not unique, as sometimes happens with ontologies, so that would need to be resolved. Possibly one could get metadata back with all the possible versions, so that the correct one could be asked for by submission-based IRI.

cmungall commented 4 years ago

Perhaps you could reject an ontology if versionIRIs clash? (of course this would only be if they are provided; versionIRI is optional in OWL).

You may consider this too strict for wild west ontologies (though you should at least warn submitters and users IMHO), though for the OBO subset we would have happy with this strictness.

There also seems to be some issues with some versionIRIs. I'll make a separate ticket

jonquet commented 4 years ago

The issue title is not clear to me. Are we discussing querying the content of historical versions ontologies or only the metadata. The first one is not possible in BioPortal for long time. Although it was possible at the beginning of the project. The second one is already possible, but not using the versionIRI as ID (but using the submisison ID).

graybeal commented 4 years ago

I understood we were discussing (a) finding a previous ontology, and (b) downloading that ontology.

Clement is correct that it is not possible to perform the API or UI requests against previous ontologies. But that was not in the original post request, or subsequent discussions.

graybeal commented 4 years ago

I agree this would be a nice feature. I'm not sure that it is critical though.

It is possible to query the metadata for any submission and learn its version, so it is not hard for a user to write an external library to do what this requests.

And since the version identifiers in ontologies are often not unique, this would not provide any rigorous solution to the problem of getting the right ontology by its version identifier.