Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sdsc-ordes/shacl-validation-action
A Github action performing SHACL validation on turtle files in Github repositories
https://github.com/sdsc-ordes/shacl-validation-action
ci data-validation github-actions rdf shacl shacl-shapes validation
Last synced: 7 days ago
JSON representation
A Github action performing SHACL validation on turtle files in Github repositories
- Host: GitHub
- URL: https://github.com/sdsc-ordes/shacl-validation-action
- Owner: sdsc-ordes
- License: mit
- Created: 2023-08-21T14:52:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-27T09:51:21.000Z (8 months ago)
- Last Synced: 2024-10-14T23:21:15.141Z (24 days ago)
- Topics: ci, data-validation, github-actions, rdf, shacl, shacl-shapes, validation
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![Action Test](https://github.com/sdsc-ordes/shacl-validation-action/actions/workflows/test.yaml/badge.svg)
# SHACL validation actionThis action performs SHACL validation based on the [TopQuadrant SHACL API](https://github.com/TopQuadrant/shacl), accepting only `.ttl` format as input.
# Examples
## Classical: file with both data and shapesYou have a `.ttl` file in your repository containing both data and shapes.
```yaml
uses: sdsc-ordes/[email protected]
with:
validation-data: 'data.ttl'
```## Separate shapes file
You have two `.ttl` files in your repository: one with data and one with shapes.
```yaml
uses: sdsc-ordes/[email protected]
with:
validation-data: 'data.ttl'
validation-shapes: 'shapes.ttl'
```# Advanced examples
## Ensuring that a file is invalid
You have a `.ttl` file that must not pass validation and you would like the action to check this without failing.
```yaml
name: invalid-data
uses: sdsc-ordes/[email protected]
continue-on-error: true
with:
validation-data: 'invalid_data.ttl'
```In next steps you should add the following:
```yaml
- run: echo "Invalid data was indeed invalid"
if: job.steps.invalid-data.status == failure()
- run: exit 1
if: job.steps.invalid-data.status == success()
```The action will fail if the invalid data passes checks and will succeed if invalid data doesn't pass checks.