A SHACL implementation using Notation-3 rules.
It works with the eyeling reasoner and with the eye reasoner.
Call eyeling passing the rules eye-shacl.n3, the shapes and the data to validate.
The following is a validation example from the SHACL test suite (personexample.ttl includes shapes and data)
npx eyeling \
https://raw.githubusercontent.com/giacomociti/eye-shacl/refs/heads/main/rules/eye-shacl.n3 \
https://raw.githubusercontent.com/w3c/data-shapes/gh-pages/data-shapes-test-suite/tests/core/complex/personexample.ttlURLs for input are handy, but usually local files are preferred.
Call eye passing the same arguments as above:
eye --nope --quiet --pass-only-new \
https://raw.githubusercontent.com/giacomociti/eye-shacl/refs/heads/main/rules/eye-shacl.n3 \
https://raw.githubusercontent.com/w3c/data-shapes/gh-pages/data-shapes-test-suite/tests/core/complex/personexample.ttl