Skip to content

Releases: RDFLib/pySHACL

2021-10-11 - v0.17.1 - Collection of bugfixes

11 Oct 06:00
Compare
Choose a tag to compare

Fixes

  • Handle transitive subclasses when evaluating sh:targetClass - @gtfierro
  • Improve detection of RDF/XML files when loading unknown content
  • 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

Added

  • Add datashapes.org/schema as a built-in graph
  • Added ability to pass a TextIO or TextIOWrapper object into the dataset loader

2021-09-13 - v0.17.0 - Dependency Up

13 Sep 13:10
Compare
Choose a tag to compare

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

13 Sep 13:00
Compare
Choose a tag to compare

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

12 Sep 22:20
Compare
Choose a tag to compare

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

27 Aug 01:45
dfa3adf
Compare
Choose a tag to compare

See v0.16.1 release for or Changelog for release notes

2021-08-20 - v0.16.1 - ExpressionConstraintComponent

19 Aug 14:34
Compare
Choose a tag to compare

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

19 Aug 10:19
Compare
Choose a tag to compare

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

RDFLib 6.0.0 Support

20 Jul 08:23
Compare
Choose a tag to compare

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.

Changed

  • Do not patch rdflib with Memory2 store on RDFLib 6.0.0+

2021-07-07 - v0.14.5

07 Jul 12:21
Compare
Choose a tag to compare

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 on validate() 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 to abort_on_first
    • Try it out with abort_on_first=True on validate() or --abort in the CLI tool.

2021-05-26 - v0.14.4

26 May 05:07
Compare
Choose a tag to compare

Added

  • Added an iterate_rules option, that causes SHACL Rules to run repeatedly until reaching a steady state. (Closes #76)
    • Works with SPARQLRules, TripleRules, and JSRules.
  • Variables {$this}, {$path}, and {$value} will be populated in the sh:message of a SPARQL Constraint. (Closes #30)