Preparation for RDF.rb 2.0 release

In preparation for the RDF.rb 2.0 release, we’ll be releasing 1.99.x versions of RDF.rb and related gems with deprecation messages for breaking changes in RDF.rb 2.0. These are tracked in [1], and include the following incompatible changes:

* issue 191: Non-core vocabularies moved to the rdf-vocab gem. If you depend on something such as RDF::DC.title, you’ll want to change to RDF::Vocab::DC.title. Until the 2.0 release, the former will continue to work, but will generate a deprecation message.

* issue 192: Methods such as Enumerable#subjects now return an array, not an Enumerator. Queryable#query now may return either an Enumerator or an RDF::Enumerable. The key is that it always returns something Enumerable. Most native use will return Enumerable Arrays now, rather than Enumerators. This makes querying using query patterns vs. hashes more consistent and improves performance for the typical case.

* issue 190: RDF::Transaction is changed to RDF::ChangeSet, and a new RDF::Transaction will provide an interface for true transactional behavior.

* issue 189: RDF 1.1 formally introduced the notion of “Named Graphs”, RDF.rb had support for this previously using the name “context”, which is being deprecated in favor of “graph_name”, in most cases.

There are other changes we’re planning on, but right now we don’t expect major interface changes.

The plan is to start introducing 1.99.x versions of the various RDF.rb gems, which may result in a number of deprecation messages; if you’re not ready for this, you might consider using “~> 1.1.0” to prevent 1.99.0 from being loaded.

We’re hoping to wrap-up work on the 2.0 release by the end of the year, or early in 2016. Changes to 1.1.x will be limited in this period.

Gregg Kellogg
gregg@greggkellogg.net

[1] https://github.com/ruby-rdf/rdf/issues?q=is%3Aissue+milestone%3A2.0

Received on Wednesday, 14 October 2015 17:39:37 UTC