RSpec Extensions for RDF.rb

This is an RDF.rb extension that provides RDF-specific RSpec matchers and shared examples for Ruby projects that use RDF.rb and RSpec.

Gem Version Build Status Coverage Status


Shared specs are implemented in modules which typically require that an instance be defined in a class variable in a before(:each) block. For example, an class implementing RDF::Countable could test this behavior by defining @countable as an instance variable and including RDF_Countable as follows:

describe RDF::Enumerable do
  before :each do
    # The available reference implementations are `RDF::Repository` and
    # `RDF::Graph`, but a plain Ruby array will do fine as well:
    @enumerable = RDF::Spec.quads.dup.extend(RDF::Enumerable)

  # @see lib/rdf/spec/enumerable.rb in rdf-spec
  include RDF_Enumerable

Note that in most cases, if the instance is empty and mutable, the appropriate statements will be added. When testing a non-mutable instance, the data must be pre-loaded.



The recommended installation method is via RubyGems. To install the latest official release of the RDF::Spec gem, do:

% [sudo] gem install rdf-spec



% git clone git://


% wget




  • Do refer to the RubySpec Style Guide for best practices.
  • Do feel free to add yourself to the CONTRIBUTORS file and the corresponding list in the the README. Alphabetical order applies.

