-
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
_evaluation_path
length is not configurable
#224
Comments
Thanks @crisely09 for raising this. The length of 30 was chosen because it was the shortest evaluation_path length that allowed the most complex test in the PySHACL test suite to still pass. We found that SHACL evaluations more complex than that were extremely unlikely to be deliberately run by a user. By setting it to 30, we found that was a good way to expose unintended evaluation loops and other Shape targeting issues in the SHACL Shapes file, while still allowing shapes without issues to run unhindered. Having said that, I can see that making it a configurable option makes sense, it would allow those with a legitimate use case to set it to whichever level they require. I will add it to the list of changes for the next release. |
Hi @crisely09 If you're using pyshacl on the commandline, you can pass Note, the depth is now calculated differently than before. The "validation depth" is now defined as the total number of Shapes in the evaluation path, where it was previously calculated as total (Shapes + Constraints) on the evaluation path. So keep that in mind when setting a higher max depth limit. |
Hi @ashleysommer , |
We have been dealing with problems validating complex schemas because 30 is still a small path for us to traverse.
It would be incredibly helpful if the
_evaluation_path
limit was another parameter in thevalidate
method.The text was updated successfully, but these errors were encountered: