Releases: RDFLib/pySHACL
Releases Β· RDFLib/pySHACL
2021-10-11 - v0.17.1 - Collection of bugfixes
Fixes
- Handle transitive subclasses when evaluating sh:targetClass - @gtfierro
- Fixes #96
- Improve detection of RDF/XML files when loading unknown content
- Fixes #98
- Imported type stubs and resolved ALL MyPy issues! (this was a big effort)
- Logic fixes in the dataset loader (thanks to inconsistencies exposed by MyPy)
Changed
- Add special cases to sh:dataclass constraint, when the given shape uses rdfs:Literal or rdfs:Dataclass as the dataclass to match on
- Fixes #71
Added
- Add datashapes.org/schema as a built-in graph
- Fixes #98
- Added ability to pass a TextIO or TextIOWrapper object into the dataset loader
2021-09-13 - v0.17.0 - Dependency Up
Notice
This version of PySHACL requires RDFLib 6.0.0.
As a direct result of that, this version of PySHACL also requires Python v3.7.
Changed
- Upped RDFLib min version to 6.0.0 in order to get built-in json-ld
- Upped OWL-RL to min version 5.2.3 in order to remove json-ld dependency
- Made min python version v3.7
- Change black config to use python 3.7 compat code
- Re-black and isort all source files
minor update
bump OWL-RL version to 5.2.3, and make rdflib_jsonld
an optional dependency
2021-09-13 - v0.16.2 - Last RDFLib 5.0.0 release
Notice
This is the last version of PySHACL to support RDFLib 5.0.0, subsequent releases of PySHACL will depend on RDFLib v6.0.0.
As a direct result of that, this is also the last version of PySHACL to support Python v3.6.
Changed
- Pinned JSON-ld dep to <6.0 to avoid the tombstone release (so not to force rdflib 6.0)
- Updated minimum Black version to 21.8b0 to fix a black bug
- Re-black and isort all source files
Fixed
- Fixed detection of import error when loading json-ld module in RDF loader
- Fixed Black bug with new version of black
2021-08-21 - v0.16.1.post1
See v0.16.1 release for or Changelog for release notes
2021-08-20 - v0.16.1 - ExpressionConstraintComponent
Added
- ExpressionConstraintComponent is implemented!
- Use your previously defined SHACL Functions to express complex constraints
- Added DASH-tests for ExpressionConstraintComponent
- Added advanced tests for ExpressionConstraintComponent, SHACLRules, and SHACLFunctions.
- New Advanced features example, showcasing ExpressionConstraint and others features
Changed
- Allow sh:message to be attached to an expression block, without breaking its functionality
- A SHACL Function within a SHACL Expression now must be a list-valued property.
- Refactored node-expression and path-expression methods to be common and reusable code
- Re-black and isort all source files
2021-08-19 - v0.16.0 - Transitive Class Constraint
Changes
sh:class
Constraint now applies transitively.- This means it will follow
rdfs:subClassOf
relationships right to the top of the hierarchy. - Be careful with this, could lead to recursion or infinite loops!
- This requires a big version number bump because it's technically a breaking change.
- Fixes #87, thanks
@gtfierro
- This means it will follow
RDFLib 6.0.0 Support
Fixed
- Compatibility with RDFLib 6.0.0
- Don't use
.term()
(PR #84) - Use Namespaces in a way that works on both RDFLib 5 and 6.
- Don't use
Changed
- Do not patch rdflib with Memory2 store on RDFLib 6.0.0+
2021-07-07 - v0.14.5
Added
- Allow-Warnings is finally available. (Closes #64)
- Setting this option puts PySHACL into a non-standard operation mode, where Shapes marked with severity of sh:Warning or sh:Info will not cause result to be invalid.
- Despite the name, it allows both sh:Info and sh:Warning.
- Try it with
allow_warnings=True
onvalidate()
or-w
in the CLI tool.
Fixed
- Fixed Abort Mode. (Fixes #75)
- This optional mode allows the validator to exit early, on the first time your data fails to validate against a Constraint.
- Name changed from
abort_on_error
toabort_on_first
- Try it out with
abort_on_first=True
onvalidate()
or--abort
in the CLI tool.