Releases: RDFLib/pySHACL
Releases · RDFLib/pySHACL
[0.11.4] - 2020-01-32
Fixed
- Fixed Issue #040
- Fixed badly-formatted dates in the changelog
Added
- Added ability for pySHACL to track and monitor its evaluation path during validation
- This allows for the validator to detect two different scenarios:
- A recursive shape has triggered an infinitely-recursive validation, back out
- Evaluation Path too deep (error generated, prevents python recursion depth errors)
- This allows for the validator to detect two different scenarios:
- Added a test for Issue #40
v0.11.3 postrelease bugfix
Incremental fixes
Fixed
- Fixed Issue #032
- Stringification of Focus Node, and Value Node in the results text string now works correctly
- This is an old bug, that has been around since the first versions of pySHACL
- Manifests when the DataGraph is a different graph than the ShapesGraph
- Recent change from using Graphs by default to using Datasets by default helped to expose this bug
- Thanks to @jameshowison for reporting the bug
Changed
- Stringification of a blank node now operates on a rdflib.Graph only, rather than a Dataset.
- Added mechanism to extract the correct named graph from a dataset when stringifying a blank node.
- Added a workaround for a json-ld loader bug where the namespace_manager for named graphs within a conjunctive graph
is set to the parent conjunctive graph.- This necessary workaround was exposed only after changing the blank node stringification above.
(Fixing one bug exposed another bug!)
- This necessary workaround was exposed only after changing the blank node stringification above.
Announcement
- This is the final version with Python v3.5 support
- Versions 0.12.0 and above will have newer package management and dependency management, and will
require Python v3.6+.
- Versions 0.12.0 and above will have newer package management and dependency management, and will
OWL-RL update
Changed
- Bumped min OWL-RL version to 5.2.1 to bring in some new bugfixes
- Corrected some tiny typos in readme
We're nearly there
- This is a big release, building up to the major 1.0 release.
- Expect some issues, there will be 0.9.9.postX releases with just bug fixes between now and 1.0
Added
- Major new feature. Added the ability to pass in an extra ontology document which gets parsed and mixed with the data graph before pre-inferencing. This helps in the cases where the target data graph contains a data snippet which can only be fully expanded with the help of an external ontology document containing RDFS and OWL axioms.
- Use
ont_graph=path_to_graph
in the python module or - Use
-e
or--ont-graph
on the command line utility to take advantage of this feature.
- Use
- SHACL graph or ONT graph can now be a Web URL, rather than a file path.
- This works from the module validator entrypoint or the commandline tool.
- Added built in tests for issue#14 and for the commandline tool.
- Added new details to the README about the above new features.
- Added coverage statistics to the README.
- Started adding some hopefully-informative debugging output messages when debug mode is turned on. More to come.
Changed
- Pre-inferencing can now only ever be run once per Validator instance, this is an attempt to prevent running
pre-inferencing multiple times unnecessarily. - Internal shapes lookup cache is now stored in the
ShapesGraph
instance, rather than in a global static class
variable on theShape
class - Fixed some bugs in the examples code, thanks @johannesloetzsch!
- Lots of code coverage specific changes, and comments where we can improve coverage.