All Versions
73
Latest Version
1.0
Avg Release Cycle
35 days
Latest Release
-

Changelog History
Page 2

  • v0.17.0.post1

    September 15, 2021
  • v0.16.2

    September 13, 2021
  • v0.16.1 Changes

    August 20, 2021

    โž• 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
  • v0.16.0 Changes

    August 19, 2021

    ๐Ÿ”„ Changed

    • 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
  • v0.15.0 Changes

    July 20, 2021

    ๐Ÿ›  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+
  • v0.14.5 Changes

    July 07, 2021

    โž• 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.
  • v0.14.4 Changes

    May 26, 2021

    โž• 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)
  • v0.14.3 Changes

    February 20, 2021

    ๐Ÿ”„ Changed

    • ๐Ÿ‘€ Relaxed the Max Evaluation Depth from 28 to 30, we were seeing some real-world cases where meta-shacl was failing on large Shapes Graphs at 28 levels deep.
    • sh:namespace values can now be xsd:anyURI or xsd:string or "literal string", but now cannot be .
    • ๐Ÿ‘ sh:order can now support xsd:decimal values and xsd:integer values, and can be interchanged at will.
  • v0.14.2 Changes

    January 02, 2021

    โž• Added

    • Potential speedups when executing validation by lazy-loading large modules which may never be required in a normal validation run.

    ๐Ÿ›  Fixed

    • ๐Ÿš€ Black and Flake8 issues outstanding from 0.14.1 release.
    • โ†ช Workaround a RDFLib bug trying to import requests when requests is not required to be installed.
      • This bug will still be observed if you use SPARQLConstraints, SPARQLFunction or JSFunction features, but it can be worked around by simply installing requests in your python environment.
  • v0.14.1 Changes

    December 23, 2020

    โž• Added

    • Inplace Mode, for when cloning your datagraph is undesirable
      • Normally pyshacl will create an in-memory copy of your datagraph before modifying it (when using ontology mixin, or inferencing features)
      • This might be unwanted if your datagraph is very large or remote and cloning it into memory is not a good option
      • Enabling inplace mode will bypass this clone step, and apply modification operations directly on your data_graph (use with caution!)
      • Enable with inplace=True kwarg on validate().
      • Inplace mode is not yet available via the CLI application, and perhaps doesn't even make sense to have it available there.

    ๐Ÿ›  Fixed

    • Inferencing will no longer incorrectly place expanded triples into your original data_graph, unless you enable 'inplace'
    • SHACL-JS loader will no longer fail if the regex module is not installed (it will fall back to using builtin re)
    • โœ… SHACL-Rule DASH-tests will now pass when the SHACL-rule is applied on multigraph (Dataset or ConjunctiveGraph)