W3C home > Mailing lists > Public > www-rdf-interest@w3.org > February 2001

Decentralized RDF Distribution

From: Aaron Swartz <aswartz@upclink.com>
Date: Mon, 19 Feb 2001 00:31:10 -0500
To: RDF Interest <www-rdf-interest@w3.org>
Message-ID: <B6B619CE.22EBA%aswartz@upclink.com>
URI: http://logicerror.com/decentralizedRDF

**Introduction and Overview

As people get their brains in gear with new RDF[1] ideas, I'd like to
propose one of my own. It's a cross between an RDF testbed, a demo and
an interoperability checker. Here's the idea: A reasonable goal for
RDF should be to implement basic database functions (insert, update,
delete) in a decentralized fashion. I'd appreciate comments and
pointers to related work to me[2] or www-rdf-interest@w3.org[3].

The utility of this kind of system is obvious -- there are many
situations where people have data which they'd like to be widely
distributed in a decentralized fashion. To simplify the problem, we
can assume that all everyone involved is trusted (eliminating trust)
and that we know who everyone else is (eliminating discovery). We'll
also forget about the case where two changes to the system conflict.

Here's what such a system would look like: You have a number of nodes
with RDF storage systems and interfaces to the distribution system. To
make a change to the database, you make it on your local copy and then
distribute it to the other nodes. Within a reasonable lag time all of
the databases will be synchronized.

**Integration with RDF

***Inserts

Inserts (adding triples) has been already solved. To insert data to
the decentralized database, you simply publish it to the Web at a
well-known location.

***Updates and Deletes

Updates (modifying triples) and deletes (removing triples) are more
difficult, and require entering an area that RDF has been afraid to
touch: time. Most RDF systems do not factor time into the equation, or
at least, they do it in a simplistic way.

The simplistic way to manage this would be to assign each triple a URI
and then publish updated information on each of the statements.
However, by doing this, we run into the tricky problem of both
asserting and reifying a statement at the same time. _@@ reification
experts should let me know how to do this_

**Related Links

 - Finding RDF Services (or: imminent death of usenet predicted)[4] -
Daniel Brickley[5] proposes a decentralized system for distributing
RDF via USENET.

[1] http://logicerror.com/rdf
[2] mailto:aaron@logicerror.com
[3] mailto:www-rdf-intereste@w3.org
[4] http://groups.yahoo.com/group/rss-dev/message/663
[5] http://logicerror.com/danbri

-- 
Aaron Swartz <me@aaronsw.com>| ...schoolyard subversion...
  <http://www.aaronsw.com>   |  because school harms kids
AIM: JediOfPi | ICQ: 33158237|  http://aaronsw.com/school/
Received on Monday, 19 February 2001 00:31:28 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:48 GMT