W3C home > Mailing lists > Public > www-archive@w3.org > April 2001

[rdfdb] Re: [rdfstore] rdfstore and rdfdb (fwd)

From: Dan Brickley <Daniel.Brickley@bristol.ac.uk>
Date: Thu, 19 Apr 2001 08:45:15 -0400 (EDT)
To: www-archive@w3.org
Cc: barstow@w3.org
Message-ID: <Pine.GSO.4.21.0104191343530.26759-100000@mail.ilrt.bris.ac.uk>

for archival / reference.

---------- Forwarded message ----------
Date: Thu, 19 Apr 2001 11:05:13 +0200
From: Alberto Reggiori <areggiori@webweaving.org>
Reply-To: rdfdb@yahoogroups.com
To: Eric Lease Morgan <eric_morgan@ncsu.edu>
Cc: rdfstore@yahoogroups.com, xml4lib@sunsite.berkeley.edu,
     oss4lib-discuss@lists.sourceforge.net, etb@jrc.it, dirkx@covalent.net,
Subject: [rdfdb] Re: [rdfstore] rdfstore and rdfdb

Hello Eric,

I will try to answer to your question especially concerning the RDFStore
part and how the DBMS remote storage has been implemented. I cc this
message to the rdfdb mailinglist hoping that somebody will complete the
comparinson with rdfdb [1]

> Could somebody here compare and contrast RDFStore and rdfDB for me?

RDFStore [2] is a perl extension that includes an RDF API, parser and a
hashed data database storage. The API started as a pure perl
implementation of the Stanford Java RDF API Draft and it is not taking
is way towards a full blown perl tie extension. I.e. tied scalars will
model properties, tied hashes will model resources having a list of
properties and RDF containers will be modeled either using tied arrays
or hashes.
A perl SiRPAC and strawman parser is bundled with RDFStore. The package
does also include a generic data storage system that allows to serialise
RDF models, resources, properties and property values either to disk or
in-memory data structures. It does support several different persistent
storage models such as sdbm, BerkeleyDB (standard and sleepycat) and
DBMS. The latter is a custom TCP/IP based storage library that allows to
a perl script to transparently read/write hashed data values sitting on
a remote database server; such an extension has been designed in early
1998 by a collogue of mine and me for another project.

DBMS is a fast networked transactional object store that uses multiple
single key hash based BerkeleyDB along with Object Serialization in Perl
and an optimized network routing daemon with a single thread/process per
database. The acutal running code consists of two parts: the TCP/IP
deamon (written in C) and a perl extension to tie hashes to DBMS
storages. The deamon can handle multiple connections concurrently, where
each table accessor is given its own thread of execution by forking.
Having them forked means no locking overhead; the dbmsd supports only
original BerkeleyDB 1.85 style interface. All oprerations are atomic and
serialised using a FIFO like algorithm; the storage support arbitrary
sized data. To reduce latence and avoid 'stagger' situations dbms uses
non blocking IO and extensive buffering, but the dbms server is still
100% IO limited.
The DBMS system has been tested in the past to use threading instead
(like rdfdb) of forking but it did not show any serious performance (in
part because both on FreeBSD 3.2 and on Linux 2.2.3 threads were not yet
that efficient).

rdfdb on the other side supports threading and has a human-readable
telnet interface (a user could telnet to DBMS too but the interface is a
bit cryptic :). Guha server implements the inxeding and storage
completely in C while RDFStore keep the indexing/query logic on the
client perl side. A simple SQL like intefrace is supported but rdfdb
together with a perl DBI extension.
RDFStore will soon support both SQL style interface and DBI connections
as well.

More information about the RDFStore DBMS implementation is available at

> I understand the value of XML, specifically RDF. As a librarian I would like
> to create and save RDF records representing my journals, databases, and
> Internet resources to a database and then provide as many as three different
> Web interfaces to the collection:
>   1) simple/advanced search
>   2) browse in a manner similar to Open Directory Project
>   3) customizable interface as in MyLibrary@NCState
>      (see http://hegel.lib.ncsu.edu/development/mylibrary/)

I have to implement something similar for a project I am working on and
I decideded to use apache+mod_perl+RDFStore to get similar

Hope this helps



[1] http://www.xml.com/pub/a/2000/08/09/rdfdb/
[2] http://rdfstore.jrc.it/
[3] http://rdfstore.jrc.it/dbms.html

------------------------ Yahoo! Groups Sponsor ---------------------~-~>
Secure your servers with 128-bit SSL encryption!
Grab your copy of VeriSign's FREE Guide,
"Securing Your Web site for Business." Get it now!

To unsubscribe from this group, send an email to:


Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 
Received on Thursday, 19 April 2001 11:39:14 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:42:00 UTC