Skip to content

Release 2.2.0

Compare
Choose a tag to compare
@gkellogg gkellogg released this 14 Dec 01:07
· 93 commits to develop since this release

Updates for RDF.rb 2.2.0

  • Handle Enumerable values on Repository#delete
    • A test for RDF::Enumerable inputs was added by ruby-rdf/rdf-spec#39. This adds conformance, and allows SPARQL::Client::Repository to use the new Mutable#delete_insert interface. It does not yet implement an efficient SPARQL #delete_insert.
  • It may be possible to refactor #delete_statements in response to these changes, to remove the code smells called out in the comment in that method.
  • Change calling sequence to Repository to use uri named parameter instead of fixed endpoint parameter.
  • Change pattern of uri named parameter for backwards compatibility with earlier versions of Ruby 2.x
  • Add block forms for #where and #optional, this allows sub-queries to be run within the block, and filters to be added to the OPTIONAL block.
  • Add support for UNION, either with triple patterns, subquery, or block form.
  • Add support for MINUS, pretty much equivalent to UNION support.
  • Add documentation for select :count option. Not quite what was requested in #27, but probably good enough.
  • Add Repository#each_statement using a copy from Enumerable. This is because the Dataset#each_statement uses an internal instance variable which is not set generically. (We may want to think about this, as Repository subclasses Dataset, and we either need to give guidance to developers on what methods need to be implemented, or fallback to the correct behavior if @statements doesn't exist. SPARQL::Client::Repository#initialize calls super (RDF::Repository#initialize), which doesn't call RDF::Dataset#initialize, thus the @statements instance variable is never set.
  • Add supports literal_equality so that spec count passes.
  • Add support for net-http-persistent 3.x
  • Update webmock to ~> 2.3.
  • Use Solution#to_h instead of #to_hash.