qudt / qudt-public-repo

QUDT -Quantities, Units, Dimensions and dataTypes - public repository
Other
118 stars 75 forks source link

Repository structure/content prevents semantic versioning #994

Open fkleedorfer opened 3 days ago

fkleedorfer commented 3 days ago

We recently discussed supporting semantic versioning and decided it would be a good idea, but some aspects of the repo and supporting code make it hard to implement.

As it stands, qudt can only change the 'bugfix' version easily and does so every month, but minor and major versions are locked in.

Let's list here all the things we would have to touch in order to change the version number freely. I'll start, please add some in the comments (or edit this message):

steveraysteveray commented 3 days ago

At present, https://qudt.org/2.1/vocab/unit and https://qudt.org/vocab/unit/ both resolve to distinct ttl files with matching base URIs. We want to keep this behavior for users who want to stick with 2.1.x for stability. So future solutions should at least preserve resolvable minor versions of graphs, as well as a versionless graph URI for the "latest". We would have https://qudt.org/vocab/unit/ (the latest), https://qudt.org/2.1/vocab/unit/ (the latest 2.1 version, which would stop evolving) and https://qudt.org/2.2/vocab/unit/ (the latest 2.2 version).

fkleedorfer commented 3 days ago

That would mean adapting the publication workflow such that the version history remains accessible via the linked data / sparql endpoints and also for the documentation pages, right?

steveraysteveray commented 3 days ago

Perhaps just the major and minor versions (i.e. 2.1, 2.2, ..., but we could discuss the implications on disk space, etc. I'm less concerned about the documentation pages, although we currently link back to the previous version for each new version.