Skip to content

Releases: ruby-rdf/shex

Release 0.5.0

30 Mar 19:53
Compare
Choose a tag to compare

Updates for the announced Candidate release of ShEx 2.0:

  • Update EBNF rules to avoid a labeled shapeRef. per shexSpec/shex#38.
  • Updates to split nodeConstraint in to litNodeConstraint and nonLitNodeConstraint.
  • Datatyped-literal validation.
  • Change API to require map, and process all map entries. If focus is provided, there must be a start; focus is now an option. Note that this is a breaking change.
  • Support // style regular expressions.
  • Return hash of nodes referencing shape labels and results, rather than a marked-up schema.
  • Use -1 for unbounded cardinality.
  • Use w3.org namespace.
  • Support for Literal and Language Tag stems and stem ranges.

Release 0.4.0

28 Jan 23:53
Compare
Choose a tag to compare

Latest updates for ShEx 2.0:

  • JSON grammar is now JSON-LD, creating a path to full support of RDF for specifying shapes.
  • Inclusion and ShapeRef have been removed, as regular RDF-style references to resources are now the norm.
  • An Inclusion &ref now references a TripleExpression directly rather than a ShapeExpression.

Release 0.3.0

21 Jan 01:28
Compare
Choose a tag to compare
  • Supports JSON-LD version of ShExJ.
    • ShEx.parse with format: :shexj
    • ShEx::Algebra.from_shexj
    • ShEx::Operator.to_h for complete serialization to ShExJ from the internal algebra.
  • Some improvements on shape results on either success or exception.
  • Create ShEx::Extension as an abstract class for implementing extensions used for Semantic Actions (ShEx::Algebra::SemAct). This implements an event mechanism allowing a single extension instanace to be entered, exited and visited during the course of shape validation.

Release 0.2.0

16 Dec 23:14
Compare
Choose a tag to compare
  • Separate Schema#satisfies? from Schema#execute.
    • Rework exception handling, keeping track of partial matched/unmatched and satisfied/unsatisfied. The operands are marked up with these recursively, and included in the expression accessor of the appropriate exception. ShEx::Algebra::Schema#execute returns this marked-up expression if it succeeds, and raises ShEx::NotSatisfied including the marked-up expression if it fails.
    • #satisfies? now just returns a boolean value.
  • Now passing all regexp and numeric tests.
  • Add only pertinent information to operation expression when not matched or satisfied.
  • Change the way referenced is handled in statements, and include it when showing SXP.

Release

12 Dec 00:12
Compare
Choose a tag to compare

First public release.

  • Parses ShExC into an executable algebra, serializable as S-Expressions.
  • No support for ShExJ at this time.
  • Error messages when graph does not satisfy a shape are not particularly useful yet.
  • Passes most syntax, structure, and validation tests.