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
.