W3C home > Mailing lists > Public > semantic-web@w3.org > October 2015

RDF.rb release 1.99

From: Gregg Kellogg <gregg@greggkellogg.net>
Date: Fri, 30 Oct 2015 18:53:43 -0700
Message-Id: <35CB2EE2-A708-44DA-BBB7-214B97EA73DC@greggkellogg.net>
Cc: SW-forum Web <semantic-web@w3.org>, Arto Bendiken <arto@bendiken.net>, Tom Johnson <johnson.tom@gmail.com>
To: W3C Ruby RDF mailing list <public-rdf-ruby@w3.org>
The 1.99 release is in preparation for our forthcoming 2.0 release. This version preserves compatibility with all 1.1.x releases as called for by semantic versioning, but generates deprecation warnings for all deprecated interfaces. If you’re not prepared for these messages, consider locking the versions to 1.1 using the "~> 1.1” convention in a Gemfile.

Changes targeted for the 2.0 release, many of which are represented in this release are found in our GitHub Issue tracker [1]:

* open_file always transforms non-unicode input to Unicode.
* Graph projection from Repository.
* Enumerable#each_node
* Enumerable/Queryable methods now return Arrays rather than Enumerators where it matters.
* Non-core vocabulary use moved to the rdf-vocab gem, deprecation messages issued.
* Better support for real transactions, and change behavior of RDF::Transaction to RDF::Changeset
* RDF::Dataset behavior

Specific updated gems:

linkeddata 1.99.0
 * depends on 1.99 versions of rdf, rdf-aggregate-repo, rdf-isomorphic, rdf-n3, rdf-rdfa, rdf-trig, rdf-trix, rdf-turtle, json-ld, sparql, and sparql-client.

rdf 1.99.0: https://github.com/ruby-rdf/rdf/releases/tag/1.99.0
* Warn when a deprecated vocabulary constant is found that it is deprecated, and that the access pattern will change. Fixes #191.
* RDF.rb 2.0 will deprecate the use of `context` in favor of `graph_name`. This affects many methods, but also :context used as an option. For issue #189.
* Change `#has_blank_nodes?` to `#node?`, but keep as method alias
 * Add `Term#compatible?` from SPARQL.
* Add a `#valid?` implementation to Reader base.
* Fix issues converting DateTime and Time objects to strings when not canonicalizing. Fixes #218.
* Fix named graph support in `RDF::Transaction`
* Use of `RDF::Graph` to store inserts and deletes in `RDF::Transaction` is heavy handed, and results in the destruction of graph names on statements passed in. This fix simply uses `[]` to handle the statement lists (`RDF::Enumerable` is already included by force).
* This should be cheaper and insulate us from potentially unwanted behavior outside of `Enumerable`. Clients can still use `RDF::Graph` by passing it on initialization at their own risk.
* Correct behaviors for open_file:
  * charset should be a downcased string. Fixes #199.
  * content_encoding reflects Content-Encoding, as an array of downcased strings.
* Non-UTF input is transformed to UTF-8, so that `external_encoding` is now "utf-8" with `charset` the original character set.
* With Ruby 2.2+, attempt to turn Unicode input into NFC.
* Make `Transaction#execute` more atomic
* Executing a transaction individually called `#delete` or `#insert` for each statement in the changeset. This prevents using the features of `Repositories` with a more efficient implementation of `#insert/delete_statements`.
* Use `#clear_statements` when available
* `Mutable#clear` checks whether the instance responds to `#clear_statements` and falls back on `#delete_statements`. The former clears the entire mutable, using e.g., `graph_name`, while the later has enumerative semantics (deleting the members of the set of statements). Because `#clear_statements` is protected or private, it will never be used by immutable without the `true` flag on `#respond_to?`.
* Add `Statement.#complete?/#incomplete?` to check for nil elements. Update `Repository#insert_statement` to not add incomplete statements (silently); raises an ArgumentError. For #226.

Most other changes to other gems are to eliminate deprecations.

Please file bugs through GitHub issue tracker on appropriate gem, or to public-ruby-rdf@w3.org.

Find us on IRC at #ruby-rdf on Freenode, or on Gitter: https://gitter.im/ruby-rdf.

The RDF Core team:

  Arto Bendiken
  Gregg Kellogg
  Tom Johnson

[1] https://github.com/ruby-rdf/rdf/issues?utf8=✓&q=is%3Aissue+milestone%3A2.0+
Received on Saturday, 31 October 2015 01:54:15 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:49:46 UTC