Skip to content

ruby-rdf/rdf-sesame

Repository files navigation

Sesame 2.0 Adapter for RDF.rb

This is an RDF.rb plugin that adds support for Sesame 2.0-compatible RDF repositories accessed using Sesame's HTTP API.

Documentation

  • {RDF::Sesame}
    • {RDF::Sesame::Connection}
    • {RDF::Sesame::Server}
    • {RDF::Sesame::Repository}

This adapter implements the RDF::Repository interface; refer to the relevant RDF.rb API documentation for further usage instructions.

Limitations

  • This adapter does not contain any SPARQL support. To use a Sesame endpoint with SPARQL, see the SPARQL::Client gem.
  • This adapter is not yet optimized for RDF.rb 0.2.x's bulk-operation APIs, meaning that statement insertions and deletions are currently performed one by one; this may affect the performance of loading large datasets into Sesame. This will be addressed in an upcoming version.
  • This adapter is not yet optimized for RDF.rb 0.2.x's enhanced query APIs; this may adversely affect triple pattern query performance. This will be addressed in an upcoming version.

Caveats

  • Sesame rewrites blank node identifiers on inserted statements. For example, if you supply a _:foobar identifier, it becomes something like _:node156oo6equx12769 as soon as you insert it into a Sesame repository. This means that you can't construct and insert a statement containing a blank node term and then expect to successfully be able check for its existence using the Repository#has_statement? method. This is also the reason that 7 specs for RDF::Repository currently fail with this adapter.

Dependencies

Installation

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

% [sudo] gem install rdf-sesame

Download

To get a local working copy of the development repository, do:

% git clone git://github.com/ruby-rdf/rdf-sesame.git

Alternatively, download the latest development version as a tarball as follows:

% wget https://github.com/ruby-rdf/rdf-sesame/tarball/master

Tests

In order to run test, you should use dotenv (which is set as a development dependency) and have a .env file with the following environment variables:

SESAME_URL=http://localhost:8080/openrdf-sesame # has to be an accessible openrdf-sesame server
SESAME_REPOSITORY=integration_test # has to be the name of an existing repository on which we'll be doing the integration tests.

You can then run them with:

% bundle exec dotenv rake spec

Mailing List

Author

Contributors

License

This is free and unencumbered public domain software. For more information, see http://unlicense.org/ or the accompanying {file:UNLICENSE} file.