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

Repository structure/content prevents semantic versioning #994

Open
fkleedorfer opened this issue Nov 12, 2024 · 3 comments
Open

Repository structure/content prevents semantic versioning #994

fkleedorfer opened this issue Nov 12, 2024 · 3 comments

Comments

@fkleedorfer
Copy link
Collaborator

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):

  • [] many file names have 2.1 in them. We should not do that. just remove the version there.
  • [] many ontology URIs have 2.1 in them.
    • option 1: remove version from them
    • option 2: replace version with the upcoming version placeholder $$QUDT_VERSION$$ (or something that does not break an IRI), but in that case, we should think about serve all future versions via linked data (otherwise, what's the point of versioned IRIs)?
  • [] something in the code generating the website
  • [] possibly some of the documentation on the website
@fkleedorfer fkleedorfer changed the title Repository structure prevents semantic versioning Repository structure/content prevents semantic versioning Nov 12, 2024
@steveraysteveray
Copy link
Collaborator

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
Copy link
Collaborator Author

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
Copy link
Collaborator

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.

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

2 participants