Skip to content

Releases: RDFLib/pySHACL

[0.11.4] - 2020-01-32

06 Mar 03:06
Compare
Choose a tag to compare

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)
  • Added a test for Issue #40

v0.11.3 postrelease bugfix

01 Nov 23:09
Compare
Choose a tag to compare

Fixed

Added

  • Added test for #036

Changed

  • Nodes defined as TargetNode by a SHACL Shape no longer is required to be present in the DataGraph.

Incremental fixes

21 Oct 02:35
Compare
Choose a tag to compare

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!)

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+.

OWL-RL update

21 Oct 02:43
Compare
Choose a tag to compare

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

09 Jan 05:47
Compare
Choose a tag to compare
  • 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.
  • 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 the Shape class
  • Fixed some bugs in the examples code, thanks @johannesloetzsch!
  • Lots of code coverage specific changes, and comments where we can improve coverage.