Skip to content

Releases: ruby-rdf/sparql

Release 3.1.7

29 May 18:36
Compare
Choose a tag to compare
  • Update grammar for ExprEmbTP and ExprVarOrTerm.
  • Account for embedded triples in isomorphism result tests.
  • Pass options from evaluate to apply, and use for setting an ordered_by option when evaluating order terms, as comparison are different for order and filter.
  • Improve Compare operator (and uses) to better support RDF-star semantics.

Release 3.1.6

21 Mar 20:04
Compare
Choose a tag to compare

SPARQL-star Annotation changes.

  • Update RDF*/SPARQL* => RDF-star/SPARQL-star.
  • Align grammar with SPARQL-star spec.
  • Add support for embedded triples in VALUES.
  • Remove special support for BIND and embeddded triples.
  • Add support for isTriple, Triple, Subject, Predicate, and Object builtin operators.
  • Construct with embedded triples.
  • Add EmbTP to PrimaryExpression.
  • Compare statements for sorting.
  • Bind variables which are patterns in extend.
  • Add EARL report for RDF-star, and include RDF-star in DOAP implements.

Release 3.1.5

19 Jan 01:22
Compare
Choose a tag to compare
  • Fix problem with dropped :pattern on :Object production.
  • Ruby 3.0 compatibility:
    • Update dependency on sparql-client and run CI on Ruby 3.0.
    • FIx argument counting in some aggregate operators.
    • Argument counting in leftjoin operator.
    • Normalize options calling sequences.

Release 3.1.4

26 Dec 02:59
Compare
Choose a tag to compare
  • Update cast to datatype based on XPath 3.1 https://www.w3.org/TR/xpath-functions/#casting-to-string
  • Make Query::Pattern#executable? return true.
  • Import some extensions from rdf-n3.
  • Query#optimize! must preserve graph_name.
  • For SPARQL*:
    • Update result formats for JSON and XML to use "subject", "predicate", and "object" for embedded triples, instead of "s", "p", and "o", as is becoming normal behavior.
    • Add proposed CSV and TSV formats for embedded triples.
    • Support {| ... |} annotations in CONSTRUCT and WHERE.
  • Escape nl, tab, and cr in TSV results.
  • Use logger instead of built-in debug output.
  • Fix setting port to run on in sparql CLI.

Release 3.1.3

17 Oct 19:31
Compare
Choose a tag to compare
  • When extending RDF::Query#optimize!, call aliased method after reverting patterns to not use lexical shortcuts, and preserve pattern options (e.g., :optional).
  • Fix some documentation examples where native float should be interpreted as an xsd:double, not xsd:decimal.
  • Reduce overhead in loading SXP.
  • In Sinatra::SPARQL, only include ::LinkedData if it is present.

Release 3.1.2

16 Jun 16:27
Compare
Choose a tag to compare
  • Bump dependency on EBNF gem to 2.0.
  • Don't redefine Array#dup, but rather define #deep_dup for cases that require it, mostly for expression optimization. Fixes #35.

Release 3.1.1

30 May 22:00
Compare
Choose a tag to compare

WARNING this issue introduced a problem with Array#dup and has been yanked. Use the 3.1.2 version.

Significate updates:

  • Support for query optimization

  • Provisional support for SPARQL*.

  • When grouping solutions, don't create a solution if there are any expressions, otherwise (not grouping), return a single solution binding aggregated variables.

    The principle is that "aggregate, no group-by => one row always", "aggregate, with group-by => same number of rows as the group-by" for empty and no-empty matching.

    See w3c/rdf-tests#61

  • SPARQL*

    • Parses SPARQL* expressions.
    • In Algebra::Extend, bind the solution to the value if the value is a pattern.
    • Define result formats when solutions have embedded triples (based on RDF4J).
  • Query optimization:

    • Implement query optimization (such as it is) and run optimized queries when running specs.
    • Update method signature of #optimize and #optimize! with **options to be compatible with that from RDF::Query.

Release 3.1.0

16 Dec 22:24
Compare
Choose a tag to compare
  • Updates for 3.1 to cleanup calling sequences.
  • Update SSE reference in README.
  • Depend on native Varaible#to_s
  • Update for native support of non-distinguished variables and changes in SSE serialization.
  • Account for change to inf and NaN representation in spx.
  • Use CGI.encode/decode instead of URI.escape/unescape.
  • Fix some definitions of #execute for Insert and Delete, which should use keyword arguments for solutions.

Release 2.2.1

04 Jul 17:30
Compare
Choose a tag to compare
  • Fix bug where TripleBlock after Path is lost.
  • In Rack Content Negotiation, pass headers on to error handler.

Release 2.1.0

31 Dec 21:52
Compare
Choose a tag to compare
  • Update miniumum ruby version to 2.2.2.
  • Fix terminal matching of various terminals that include whitespace, including "INSERT DATA". Fixes #24.
  • Use Solution#to_h in favor of the deprecated Solution#to_hash (For RDF.rb 2.2).
  • When calling RDF::Query.new with a Solution, append a hash for options, to work around a problem with implicit hash conversion of the solution because of Statement#to_hash. This can be removed when that goes away (For RDF.rb 2.2).