Releases: ruby-rdf/sparql
Releases · ruby-rdf/sparql
Release 3.1.7
- Update grammar for
ExprEmbTP
andExprVarOrTerm
. - 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
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
- 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
- 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
- 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
- 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
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 fromRDF::Query
.
Release 3.1.0
- 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 forsolutions
.
Release 2.2.1
- Fix bug where TripleBlock after Path is lost.
- In Rack Content Negotiation, pass headers on to error handler.
Release 2.1.0
- 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 deprecatedSolution#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).