W3C home > Mailing lists > Public > www-rdf-interest@w3.org > March 2004

Re: Storing RDF in a relational database

From: Steve Harris <S.W.Harris@ecs.soton.ac.uk>
Date: Wed, 31 Mar 2004 17:43:23 +0100
To: rdf-interest <www-rdf-interest@w3.org>
Message-ID: <20040331164323.GA20039@login.ecs.soton.ac.uk>

On Wed, Mar 31, 2004 at 06:20:46 +0200, Eric Jain wrote:
> > I'm not sure whether namespaces as you describe them
> > makes things faster or more complex in queries and storage.
> 
> Not sure I follow you. Storing namespaces inline would increase storage
> space and slow down things considerably (unless your database supports
> bitmap indexes), and I don't think anyone does that?

In practice I found that seperating namespaces from "the other bit" was
less efficient - it makes the queries more complex and has not read
advantages, other than export as RDF/XML, I think thats dicussed in
the 3store paper lited in the SWAD-E meeting notes.
 
> > It sounds like you have some big iron running that database?
> 
> Absolutely not. As pointed out, storage and retrieval is really
> efficient. However, if we wanted to make the querying facilities
> publicly available, there would indeed be the need for some very big
> iron, or at least lots of small irons :-)

We allow public queries on our 25M triple KB, and its only running a dual
P4 linux box. The is some query complexity estiation stuff that prevents
silly queries (eg. "SELECT ?a WHERE (?a, ?p, ?o)") but most queries take
little resources if you select the DB schema and indexes carefully to
match the capabilities of your DB's optimiser.

The major bottleneck is disk i/o - that ammount of data will not fit in
ram on any plausible machine, so you have to minimse and localise the
disk i/o you do.

- Steve
Received on Wednesday, 31 March 2004 12:07:43 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 18 February 2014 13:20:07 UTC