Closed matentzn closed 2 years ago
@matentzn I think you can avoid that loophole in a better way by changing 2
to: "A version IRI MUST resolve to an ontology document declaring itself to have that version IRI".
Not sure this is enough. You can still fake it by providing the purl as the version iri.. at least it is very hard to see computationally that a supposed version iri works still after the next version is release. I still think the iri should contain some kind of versioning information..
I suppose you're right; but I think my condition would also be a valuable check to ensure the version IRI does what it's supposed to do.
I am thinking of dashboard practicality - I would have to write some really smart code to do this check to avoid having to redownload chebi..
See also: #741, #1016, #1347, #1414, #1707
So far as I can tell all of what is proposed is already there in the principle. The original statement that http://obofoundry.org/ would qualify is incorrect, because it ignores the definition of a versionIRI. The one problem I see is the use of SHOULD instead of MUST in the following:
"Version identifiers for the ontology artifacts themselves SHOULD be of the form “YYYY-MM-DD” (that is, a date conforming to ISO-8601), OR use a numbering system (such as semantic versioning, i.e, of the form “NN.n”)"
The wording was intended to indicate that the date format is the preferred one, but I can see why it appears to minimize the necessity of what form to use. I will make corrections to clarify. And you ( @matentzn ) are correct in your assertion that the changes fully conform to the intent of the principle, so no extra steps are needed.
I also think we should remove the link to the w3.org description of IRI and version IRI, as it uses 'may' when we say 'should'. I found it confusing. Let me know if there is anything in the w3.org description (https://www.w3.org/TR/owl2-syntax/#Ontology_IRI_and_Version_IRI) we don't already capture that you think is needed.
I will look at the PR and let you know. Thanks @nataled!
Fixed by #1933
So far, the versioning principles only insists on two things:
However, this can lead to version iris like this:
This is clear not a good version IRI despite the fact that it
I think we should require a version IRI to
or a semantic versioning string (2.0, 2.0.1, 2.0.1-alpha)
(i.e. a version IRI string
MUST
contain one of the above)I think this is in the spirit of the "versioning" principle, so I don't think this needs a new vote, but correct me if I am wrong!
@cthoyt already started implementing a check for that, should this proposal pass: https://github.com/OBOFoundry/OBO-Dashboard/pull/70