-
Notifications
You must be signed in to change notification settings - Fork 65
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
The long-await standalone SHACL Rule Expander mode #260
Conversation
…py to validator.py
Refactor Validator as a PySHACLRunnerType Add Rules Expander mode as a new PySHACLRunnerType Add a CLI script pyshacl_rules for Rules Expander mode Add tests for SHACL Rules Expander mode Add tests for pyshacl_rules cli executable
…ACL Rules to be applied only to specified focus nodes.
…e gathered only from the specified SHACL Shapes. Allow SHACL Rules to be applied only to the passed in Focus nodes.
78a45f1
to
acc2aa8
Compare
default='auto', | ||
choices=('auto', 'turtle', 'xml', 'trig', 'json-ld', 'nt', 'n3', 'nquads'), | ||
) | ||
parser.add_argument('-V', '--version', action=ShowVersion, help='Show PySHACL version and exit.') |
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.
Any reason this is capital -V
not lowercase -v
?
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.
Thats so it matches the -V
param in the regular (validator) pyshacl cli tool. It has always used the capital -V
. I don't remember the original reason.
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.
Can't spot any real issues but there is a lot of code here and I'm not really across all details. Looks good overall of course!
🎉 This is by far the most common feature request for PySHACL 🎉
This adds an alternative operating mode, as first described in the discussion in #60
Rather than validating the DataGraph against a Shapes and Constraints, this mode will run only the SHACL Functions and SHACL Rules as defined in the SHACL-AF spec.
When combining this mode with the recently added Shapes Selection and Focus-node targeting options, this allows running selected expansion runs on selected nodes, enabling some very powerful procedural SHACL workflows.
This PR is pretty big.