incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Simons <>
Subject [VOTE] TripleSoup - a SPARQL endpoint for httpd
Date Fri, 02 Feb 2007 08:17:43 GMT
Hi all,

This is a vote on a previously posted proposal to start a rdf  
database server project at apache. The entire proposal text is  
included below. There is only one change from the one posted to the  
[proposal] thread -- we will start without a triplesoup-users@  
mailing list.

Please place your votes!

+1 from me.

This vote will run until we have a huge amount of enthousiastic +1s,  
with a sizeable amount of them from the Incubator PMC, and at a  
minimum for 72 hours. If you're not a part of the incubator PMC,  
you're still welcome to express support (or lack of it) for the  
proposal by voting; I will sort out votes when counting. (formal  
voting rules on incubator website)


- Leo

= summary =

TripleSoup is the simplest thing that you can do to turn your apache
web server into a SPARQL endpoint.

TripleSoup will be an RDF [2] store [3], tooling to work with that
database, and a REST [4] web interface to talk to that database using
SPARQL [5], implemented as an apache webserver module.

Target:    TLP
Sponsor:   Incubator PMC
Champion:  Leo Simons <>
Mentors:   Dirk-Willem van Gulik <>,
            Ben Hyde <>,
            Stefano Mazzocchi <>,
            Leo Simons <>
Resources: SVN: 
            Mailing lists:
Initial committers:
            Dave Beckett <>, redland author
            Dirk-Willem van Gulik <>,
            Ben Hyde <>,
            Stefano Mazzocchi <>,
            Andrea Marchesini <>, b store  
            Alberto Reggiori <>, rdfstore author
            David Reid <>,
            Leo Simons <>
Initial source:     mod_sparql, commercial triple store,
                     existing open source triple store
Known risks:        None
Technologies:       c

= Proposal details =

== Technology (basics) ==

What is RDF? It is just about any kind of data, represented as  
triples of
(subject, predicate, object), usually with a rich vocabulary  
describing the
semantics of the data (with the vocabulary typically also encoded as

This data has a representation as RDF/XML as well as using other  
formats such
as N3, and a query language SPARQL for searching through it. See [6]  
for an

So if it is just some data in some format, why does it need a special
server? Because RDF data is fundamentally not constrained to a  
"file", and
there often is no "resource identifier" that readily identifies  
something as a
"document" which can be served up over HTTP.

So why the REST interface? RDF is one of the building blocks proposed  
for the
"semantic web", and that's why a system that works well with/over  
needed from the start.

== Technology (concrete) ==

This is just an example. Imagine that there is an application  
"someapp" on
the host which provides access to information about  
and you want to get a list of those books (their URIs) and the names  
of the

$ telnet 80
SELECT /someapp HTTP/1.0
Accept: application/sparql-results+xml, rdf/xml, rdf/n3

PREFIX books:   <>
PREFIX dc:      <>
SELECT ?book ?title
   { ?book dc:title ?title }

HTTP/1.0 200 Ok
Content-Type: application/sparql-results+xml
Content-Length: 1234

<?xml version="1.0"?>
     <variable name="book"/>
     <variable name="title"/>
   <results ordered="false" distinct="false">
       <binding name="book">
       <binding name="title">
         <literal>Harry Potter and the Half-Blood Prince</literal>

Connection closed by

It turns out there's only one book in the database in this example.
(Sample data taken from David Reid has some  
code that
does something not unlike this already [7], implemented as a httpd  
using the Redland library [11,12] as its backend store.

== What would you use TripleSoup for? ==

* It could be a backend for piggy bank [8].

* It could be a backend for the next version of wikipedia.

* It could be a backend for an "open" version of iTunes or IMDB.

* It could be the backend for the information management system of the
Dutch ministry of water management [9].

* It could be the backend for projects.a.o [10] and similar  

* Most importantly, it could be a backend for dozens of useful new  
projects that no-one has envisioned yet.

== The initial source ==

RDFstore is a standalone RDF storage system implemented as a C  
library, licensed
under the ASL 1.1. It has perl bindings. Find its distribution at [15].

mod_sparql [7] is an in-development apache module that implements a  
endpoint. It is licensed under the Apache License 2.0. It uses  
redland as a
backend. The SVN repository can be found at [7].

B is an in-development storage backend for Redland implemented as a  
C library. It is currently a closed source codebase. A code snapshot  
can be
found at [16].

== The initial committers ==

Dirk-Willem, Ben, Stefano, David and Leo are ASF members who  
hopefully need no

Dave Beckett is the primary author of the Redland RDF application  

Alberto Reggiori is the primary author of rdfstore, an rdf store  
developed by
asemantics [13], which will be contributed to TripleSoup. He is a  
partner at

Andrea Marchesini is the primary author of B, a storage backend for RDF
developed at Joost [14], which will be contributed to TripleSoup.

All initial committers have experience working on open source  
projects. They
work for at least 5 different companies.

== TripleSoup as an apache project ==

We think TripleSoup will have to reference dozens of specifications  
from the
W3C (XML, RDF, OWL, SPARQL, their standards for URIs, and more) and  
from the
IETF (HTTP, URL, URI, URN, and more), will make use of or integrate  
with quite
a few existing open source projects (like the redland RDF libraries  
as well as
apache apr&httpd). As such, it seems like TripleSoup should fit in  
really well
at apache.

The responses we got from various members of the RDF and semantic web
communities so far when discussing this proposal with them have all been
quite positive, and we expect and hope there'll be quite a few people
new to apache joining the project soon after it starts.

Most importantly, we think this project will be useful, innovative, and

= References =

[3] these are often called "triple stores"

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message