SPARQL Box

From W3C Wiki

An unofficial initiative/little experiment.

Introduction

A SPARQL Box is a graph store which provides data read/write facilities over HTTP. It follows certain conventions to make it easy to obtain, install and use. A set of applications will be available to use with SPARQL Boxes.

There are three primary aims:

  • to allow newcomers to RDF technology get easily started
  • to allow developers to build more flexible applications
  • to promote existing RDF tools

The idea is to encourage the packaging of application components - especially stores - in a form that are easy to use and can be trivially reused in different environments. Application front ends can be developed independently and plugged into any other stores.

Conventions

A SPARQL Box has these characteristics:

  • includes a persistent triplestore
  • includes a HTTP server supporting delivery of static HTML/CSS/Javascript pages
  • supports SPARQL 1.0 queries (over HTTP)
  • supports enough of SPARQL 1.1 Update etc. (over HTTP) for it to be practical to use in data read/write applications
  • can be installed and run without specialized skills
  • has clear instructions for simple install
  • has clear explanation of reuse/licensing information

How?

// de-personalize this later - DannyAyers

Packaging, packaging, packaging. If you are the developer of a tool that is close to what's described above, see note about Fuseki below before dismissing this with "x already supports all this". The idea is that my mother should be able to install and run these things. (I mean that quite literally, and it's quite a high bar: she's got basic IT literacy but tends to quickly get lost with anything novel and is a little forgetful. More than once I've had to show her how to copy files. Also she gets ratty if things don't work as she expects).

Somewhere (here for now) there will be a hub page with info like the above, linking to relevant tools, applications, projects and tutorials. Add a link below when your tool is ready for me mum.

I'm going to set up a Github repository, which will be organised something like this:

  • box1 - ???-based SPARQL Box
  • box2 - Fuseki-based SPARQL Box (see below)

...

  • www/ - HTML/Javascript based tools that can address a SPARQL Box
  • ruby/ - Ruby language tools that can address a SPARQL Box
  • python/ - Python language tools that can address a SPARQL Box

...

I'm going to have a crack at an implementation, essentially Fuseki wrapped in a shiny installer, with executable and simple configuration GUI. I'm aiming to have people up and running in 3 clicks: 1. download, 2. install, 3. run. Everything as intuitive as possible. I've not checked how Fuseki's HTTP server is setup, I expect to be able to reuse the built-in one. Fuseki comes with a couple of Web pages for dataset selection and querying, plus some Ruby utility scripts. They will go in subdirectories of www/ and ruby/ respectively.

I've been prompted to do this after a blog post Everyone has a Graph Store (that has more about where I hope this leads). It's essentially the same notion I was on about a while ago, Semantic Web in a Box, but refactored to take into account what SPARQL 1.1 offers.

Precursors

Add links to existing tools that come close to being SPARQL Boxes

Fuseki

http://sourceforge.net/apps/mediawiki/bigdata/index.php?title=NanoSparqlServer

Implementations

My mother, remember

Boxware

Tools and applications that can run against a SPARQL Box