-
Notifications
You must be signed in to change notification settings - Fork 0
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
Refactor/semantic versioning uris #220
Conversation
WalkthroughThe changes introduce versioning to the ontology URIs, ensuring stability and compatibility across updates. A new GitHub Actions workflow for publishing to GitHub Pages is added, and the Makefile, README, and Changes
Related issues
Poem
TipsChat with CodeRabbit Bot (
|
36321fc
to
fb9b7f8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 3
Configuration used: CodeRabbit UI
Files selected for processing (20)
- .github/workflows/publish.yml (1 hunks)
- .releaserc.yml (1 hunks)
- Makefile (3 hunks)
- README.md (2 hunks)
- src/schema/digital-resource/credential-dataset-description.ttl (1 hunks)
- src/schema/digital-resource/credential-digital-resource-declaration.ttl (1 hunks)
- src/schema/digital-resource/credential-digital-resource-rights.ttl (2 hunks)
- src/schema/digital-service/credential-digital-service-declaration.ttl (1 hunks)
- src/schema/digital-service/credential-digital-service-description.ttl (1 hunks)
- src/schema/digital-service/credential-digital-service-execution-order.ttl (1 hunks)
- src/schema/digital-service/credential-digital-service-execution-result.ttl (2 hunks)
- src/schema/governance/credential-governance-text.ttl (1 hunks)
- src/schema/zone/credential-zone-declaration.ttl (1 hunks)
- src/schema/zone/credential-zone-description.ttl (1 hunks)
- src/thesaurus/area-code.ttl (141 hunks)
- src/thesaurus/digital-service-category.ttl (2 hunks)
- src/thesaurus/digital-service-execution-status.ttl (1 hunks)
- src/thesaurus/license.ttl (3 hunks)
- src/thesaurus/topic.ttl (1 hunks)
- version (1 hunks)
Files not summarized due to errors (1)
- src/thesaurus/area-code.ttl: Error: Message exceeds token limit
Files skipped from review due to trivial changes (6)
- .github/workflows/publish.yml
- src/schema/digital-resource/credential-digital-resource-declaration.ttl
- src/schema/digital-service/credential-digital-service-declaration.ttl
- src/schema/governance/credential-governance-text.ttl
- src/thesaurus/license.ttl
- version
Additional comments: 22
.releaserc.yml (1)
- 9-25: The addition of the
@google/semantic-release-replace-plugin
plugin to the.releaserc.yml
file is correctly configured to replace the version number in theversion
file with the next release version. Ensure that theversion
file is correctly formatted to match thefrom
regex pattern^.+$
and that the build process correctly incorporates this version number where needed.Makefile (4)
34-37: The extraction of version components from the
version
file is implemented correctly and aligns with the PR objectives to incorporate semantic versioning.43-43: The destination directory for ontology files now includes the major version number, which is consistent with the PR objectives for version-specific directory structure.
148-148: The use of
sed
to replace the$major
placeholder with the actual major version number during the build process is correctly implemented.328-328: The addition of the
version
phony target to display the current version is a useful feature for developers.README.md (2)
79-94: The addition of the "Ontology versioning" section provides clear documentation on the importance of URI and content stability, and the adoption of Semantic Versioning in the ontology's URI structure. This aligns with the PR objectives and enhances the understanding of the versioning system for users and contributors.
197-200: The addition of the
version
target under the "Misc" section in the development targets is a practical update that supports the new versioning workflow, allowing users to easily check the current version of the ontology. This is a useful addition for maintainability and clarity.src/schema/digital-resource/credential-dataset-description.ttl (1)
- 4-6: The changes to the
:
andthesaurus
prefixes to include the$major
version identifier are consistent with the PR objectives to incorporate semantic versioning into the ontology URIs.src/schema/digital-resource/credential-digital-resource-rights.ttl (3)
1-4: The update to the
@prefix
declaration to include the version identifierv$major
is consistent with the PR objectives to incorporate semantic versioning into the ontology URIs.29-32: The update to the
schema:rangeIncludes
for:hasLicense
to reference the updated ontology version is consistent with the PR objectives to ensure that ontology URIs reflect the correct version.3-3: Ensure that the placeholder
$major
is correctly replaced with the actual major version number during the build process as intended in the PR objectives.src/schema/digital-service/credential-digital-service-description.ttl (1)
- 4-6: The introduction of the
$major
placeholder in the URIs is consistent with the PR objectives to incorporate semantic versioning into the ontology URIs. Ensure that the build process is correctly configured to replace this placeholder with the actual major version number.src/schema/digital-service/credential-digital-service-execution-order.ttl (1)
- 4-4: The update to the prefix declaration to include a version identifier
v$major
is consistent with the PR objectives to incorporate semantic versioning into the ontology URIs. Ensure that the build process correctly replaces the$major
placeholder with the actual major version number.src/schema/digital-service/credential-digital-service-execution-result.ttl (2)
1-5: The modifications to the
@prefix
declarations to include the version identifierv$major
are consistent with the PR objectives to implement semantic versioning in the ontology URIs.33-33: The update to the
schema:rangeIncludes
statement to reference the versioned ontology URI is in line with the PR objectives and ensures that the ontology URIs reflect the correct version.src/schema/zone/credential-zone-declaration.ttl (1)
- 3-3: The namespace prefix has been correctly updated to include the version placeholder
v$major
. Ensure that the build process is properly configured to replace this placeholder with the actual version number.src/schema/zone/credential-zone-description.ttl (1)
- 4-6: The changes to the
@prefix
declarations to include the version identifierv$major
are consistent with the PR objectives to incorporate semantic versioning into the ontology URIs. Ensure that the build process is correctly configured to replace the$major
placeholder with the actual major version number.src/thesaurus/area-code.ttl (1)
- 2631-2634: The
rdfs:seeAlso
property is correctly used to provide additional information about the concept scheme.src/thesaurus/digital-service-category.ttl (1)
- 1-46: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [1-100]
The changes to the URIs in the RDF/Turtle file are consistent with the PR objectives and summaries, systematically incorporating the version placeholder
$major
. Ensure that the build process correctly replaces this placeholder with the actual version number. No syntax errors or typos are present, and the labels and descriptions remain unchanged. Consumers of the ontology will need to be aware of the versioning scheme to correctly resolve the URIs.src/thesaurus/digital-service-execution-status.ttl (2)
3-3: The update to the
@prefix
declaration to include a version identifierv$major
aligns with the PR objectives to incorporate semantic versioning into the ontology URIs. Ensure that the build process correctly replaces the$major
placeholder with the actual version number.7-21: The
skos:inScheme
predicates have been consistently updated across the ontology file to include the version identifierv$major
. This systematic change is crucial for the stability and resolvability of the ontology resources. Ensure that all dependent systems are updated to handle these versioned URIs.src/thesaurus/topic.ttl (1)
- 3-70: The changes to the URIs in the Turtle file are consistent with the PR objectives to incorporate semantic versioning. The placeholder
$major
has been introduced correctly in all instances where versioning is required.
b6bd79c
to
7d7803a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (3)
- .releaserc.yml (1 hunks)
- Makefile (4 hunks)
- README.md (3 hunks)
Files skipped from review due to trivial changes (1)
- .releaserc.yml
Additional comments: 7
Makefile (4)
34-43: The version constants and destination directories have been updated to include the major version component, which aligns with the PR objectives to incorporate semantic versioning into the ontology URIs. This change will ensure that the built ontology files are stored in a version-specific directory structure.
54-61: The binary file names have been updated to include the full version number, which is consistent with the PR objectives and ensures that the built assets are clearly identifiable by their version.
145-148: The
sed
command added here is used to replace the$major
placeholder with the actual major version number during the build process. This is a critical part of the new workflow to incorporate semantic versioning into the ontology URIs. Ensure that the placeholder$major
is consistently used across all ontology files that require versioning.326-328: The addition of the
version
target to display the current version is a good practice for debugging and verification purposes. It allows developers to quickly check the current version of the ontology being used.README.md (3)
81-94: The addition of the ontology versioning section is clear and aligns with the PR objectives to incorporate semantic versioning into the ontology URIs.
115-121: The updated file structure with versioned filenames is consistent with the PR objectives to store processed ontology files in a version-specific directory structure.
197-203: The addition of the
version
target in the Makefile is consistent with the PR objectives to update theversion
file for new releases and rebuilding the ontology.
7d7803a
to
a03e073
Compare
@coderabbitai pause |
This is an invalid command. Please refer to the list of valid keywords below. CodeRabbit Commands
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (1)
- Makefile (10 hunks)
Additional comments: 12
Makefile (12)
34-37: The implementation of version constants is correct and aligns with the PR objectives to incorporate semantic versioning.
43-43: The destination directory
DST_ONT
correctly includes the major version component, ensuring that processed ontology files are stored in a version-specific directory structure.57-61: The binary file names have been correctly updated to include the full version number, which is consistent with the PR objectives.
151-151: The
sed
command correctly replaces the$major
placeholder with the actual major version number during the build process, as per the PR objectives.329-331: The new
version
target has been added to display the current version, which is a useful addition for maintainability and version tracking.78-79: The
SED_FLAG
variable is set up to handle the differences between GNU sed and BSD sed (macOS), which is a good practice for cross-platform compatibility.192-198: The
tar
command in thebuild-ontology-bundle
target correctly packages the ontology files into a versioned tarball, which is part of the new publishing workflow.207-213: The formatting target for Turtle files is correctly implemented and will help maintain code quality.
222-227: The linting target for Turtle files is correctly implemented and will help ensure the ontology adheres to best practices.
238-243: The testing target for Turtle files is correctly implemented and will help ensure the ontology's correctness.
303-307: The caching mechanism for the
owl-cli
jar file is correctly implemented, which will improve build efficiency.319-323: The
check
target is correctly implemented to ensure all required commands are available before proceeding with the build, which is a good practice for build reliability.
dfd17c6
to
1efa6b4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (1)
- Makefile (10 hunks)
Additional comments: 7
Makefile (7)
34-37: The implementation of version constants from a
version
file is correct and follows best practices for maintainability and modularity.43-43: The inclusion of the major version number in the
DST_ONT
directory path aligns with the PR's objective to incorporate semantic versioning into the ontology's URI structure.57-61: The binary file names now include the full version number, which is consistent with the PR's goal of versioning the ontology artifacts.
151-151: The
sed
command used to replace the placeholder with the major version number in ontology files is correct, but ensure that the placeholder$$major
is consistently used across all ontology files.329-331: The addition of the
version
target to display the current version is a good practice for quick reference and debugging.78-79: The
SED_FLAG
variable is set up to handle differences insed
command syntax between macOS and other operating systems. This is a good practice for cross-platform compatibility.303-307: The
wget
command in thecache
target correctly fetches theowl-cli
jar file. However, ensure that theVERSION_OWL_CLI
variable is kept up-to-date with the latest version ofowl-cli
to avoid potential issues with outdated tools.
1efa6b4
to
8fea59d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files selected for processing (1)
- Makefile (10 hunks)
Additional comments: 11
Makefile (11)
34-37: The implementation of version parsing from a file and splitting into major, minor, and patch components is correct and aligns with the PR objectives.
43-43: The modification of the
DST_ONT
directory to include the major version component is consistent with the PR's goal of incorporating semantic versioning into directory structures.57-61: The binary file names now include the version number, which is a good practice for version tracking and aligns with the PR objectives.
75-75: The parameterization of the permission mode for directory creation is a good practice for maintainability and flexibility.
151-151: The use of
sed
to replace a placeholder with the major version in ontology files is consistent with the PR's goal of updating URIs to include version information.193-196: The creation of a tarball that includes the ontology in all available formats and the LICENSE file is a good practice for distribution.
211-212: The formatting step for Turtle files using
RDF_WRITE
is correct and ensures consistent code style.226-226: Linting Turtle files using the
DOCKER_IMAGE_RUBY_RDF
image is correct and ensures ontology files adhere to best practices.242-242: The testing step for ontology files using
RDF_SHACL
is correct and ensures the ontology conforms to its SHACL shapes.307-307: The download step for the
owl-cli
jar file is correct and ensures the required tool is available for ontology processing.331-331: The
version
target correctly displays the current version, which is useful for verification and debugging.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, let's pray the release process will work 🙏
🎉 This PR is included in version 3.0.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This PR addresses issue #216 (and part #215) and brings a new workflow for ontology publication to Github Pages.
Here's the idea:
build process:
2.0.0
).https://w3id.org/okp4/ontology/v$major/....
make build
), the source files of the ontology undergo processing. The placeholder$major
is replaced with themajor
version from theversion
file. The processed files are then stored in the./target/ontology/v$major
directory.release process
version
file to reflect the new semantic version.make build
).publishing to GitHub Pages
next
.make build
)../target/ontology/
directory are copied to thegh-pages
branch so that the ontology sources become resolvable using the URI:https://ontology.okp4.space/v<major>/<path>
.Summary by CodeRabbit
New Features
version
target in the Makefile for displaying the current version.Documentation
Refactor
Chores