Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby PHP Other

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
app
config
data
db
doc
lib
log
public
script
spec
test
vendor
.gitignore
.rspec
Capfile
Gemfile
Gemfile.lock
README.md
Rakefile
config.ru

README.md

Booky

A Web application for managing and accessing book recommendations in Deichmanske Bibliotek's RDF-store found at http://data.deichman.no/sparql.

Why?

Library employees at Norway's Deichmanske Bibliotek will be able to use this application to create and browse reviews about books in the library's catalog. Eventually, this data can consumed by either subscribing to general RSS feeds or via custom lists created by filtering on search criteria such as Genre, Audience, Format, etc.

By importing existing reviews and creating new ones as linked data in an RDF store alongside Deichman's book catalog, all reviews will be easily available to the public.

How

Currently this application is at the prototype stage and the creating and updating of reviews is available to a group of testers only unless you setup your own RDF store and users, of course. See the Getting started section below. Also, it is still very much written for Deichman's library catalog and as such would have to be modified for other RDF schemas.

However, as much common functionality as possible has been extracted to this library: https://github.com/pkordel/rdf-virtuoso in an effort to pave the way for future re-use. In a way, this application is an example of a client that uses rdf-virtuoso.

Getting started

Obviously, you should be familiar with Rails and RDF. Authentication and authorization is intentionally kept basic and user credentials are not stored in the RDF store, but in an RDBMS such as SQLite3, mysql or whatever, so you'll need to have one of those.

RDF data is stored in a Virtuoso quad store. For simply browsing around, you can use Deichman's RDF store. For local development and to try out the full CRUD cycle, you'll need to install a Virtuoso server somewhere. There's an Open Source edition available in addition to their paid Enterprise edition. If you're using Homebrew, there's already a package available.

Database

Just copy the database.yml.example file to database.yml in config/, modify to taste and run rake booky:setup.

Virtuoso

Install the Open-Source edition either using Homebrew or from source. Downloads and documentation can be found here: http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/

Deichman's library dataset is quite large, so it isn't easily bundled at this point. Maybe in a future release a smaller dataset can be made available.

Copy config/repository.yml.example to config/repository.yml and modify to taste. To prepare your local Virtuoso server for SPARQL update, you'll need to set up a user with the correct permissions.

This app currently uses basic auth, so that's what the /sparql-auth endpoint needs to implement.

A good place to start is the documentation at http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSStart

Something went wrong with that request. Please try again.