LOF-P-006: Versioning¶
Draft for ratification
Part of the founding draft of the LOF principles.
Summary¶
Each release carries a version IRI and version number, and every earlier release remains resolvable.
Purpose¶
Legal analysis is often retrospective. Users must be able to retrieve exactly the version of an ontology that was in force when data was annotated.
Recommendations and requirements¶
- Each release declares
owl:versionIRIof the formhttps://w3id.org/lof/{id}/releases/{version}/{id}.owlandowl:versionInfo. - Version numbers follow semantic versioning (MAJOR.MINOR.PATCH). A MAJOR increment signals a change that can alter inferences over existing data.
- Each release is tagged
v{version}in the repository, and the change is recorded inCHANGELOG.md.
Implementation¶
make release VERSION=x.y.z sets both annotations. Then tag and push.
Examples¶
https://w3id.org/lof/odp-001/releases/0.1.0/odp-001.owl
Criteria for review¶
The version IRI resolves to the tagged file, and the changelog describes the release.
Automated check: Version IRI resolution is tested during review.
Feedback and discussion¶
Propose changes to this principle by pull request against
docs/principles/lof-p-006-versioning.md, or open a thread in
Discussions.