An open API service indexing awesome lists of open source software.

https://github.com/berquist/rdf-validation-comparison


https://github.com/berquist/rdf-validation-comparison

Last synced: 5 months ago
JSON representation

Awesome Lists containing this project

README

          

# RDF validation comparison

Examples for comparing SHACL and ShEx

See https://book.validatingrdf.com/bookHtml013.html for more information.

## Development

To set up [hatch] and [pre-commit] for the first time:

1. install [hatch] globally, e.g. with [pipx], i.e. `pipx install hatch`,
2. make sure `pre-commit` is installed globally, e.g. with `pipx install pre-commit`.

A special feature that makes hatch very different from other familiar tools is that you almost never
activate, or enter, an environment. Instead, you use `hatch run env_name:command` and the `default` environment
is assumed for a command if there is no colon found. Thus you must always define your environment in a declarative
way and hatch makes sure that the environment reflects your declaration by updating it whenever you issue
a `hatch run ...`. This helps with reproducability and avoids forgetting to specify dependencies since the
hatch workflow is to specify everything directly in [pyproject.toml](pyproject.toml). Only in rare cases, you
will use `hatch shell` to enter the `default` environment, which is similar to what you may know from other tools.

To get you started, use `hatch run test:cov` or `hatch run test:no-cov` to run the unitest with or without coverage reports, respectively.
Use `hatch run format-and-lint:all` to run all kinds of typing and linting checks.
Use `hatch run docs:serve` to build and serve your documentation.
You can also easily define your own environments and commands.
Check out the environment setup of hatch in [pyproject.toml](pyproject.toml) for more commands as well as the package, build and tool configuration.

The environments defined by hatch are configured to generate lock files using [hatch-pip-compile] under `locks`.
To upgrade all packages in an environment like `format-and-lint`,
just run `hatch run format-and-lint:upgrade-all`.
To upgrade specific packages, type `hatch run format-and-lint:upgrade-pkg pkg1,pkg2`.

## Credits

This package was created with [The Hatchlor] project template.

[The Hatchlor]: https://github.com/florianwilhelm/the-hatchlor
[pipx]: https://pypa.github.io/pipx/
[hatch]: https://hatch.pypa.io/
[pre-commit]: https://pre-commit.com/
[hatch-pip-compile]: https://github.com/juftin/hatch-pip-compile