rdfweb update, web-o-trust tests etc

Dan Brickley daniel.brickley at b...
Mon Aug 21 01:07:26 UTC 2000


hi 

quick update on my bits of the RDF webring experiment. Basically I've
been focussing on RSS and fixing up our Perl tools and not actively
working on the live rdfweb demo lately.

but i spent a little more time on the GNU Privacy Guard / Web 'o' Trust 
stuff tonight.

I can now dump out a little rdf report w.r.t. some key in a GPG
database. e.g. see http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf
(vocab needs fixing up, integrating with friend-of-a-friend stuff). So,
we could dump a who-signed-who graph from all the public keys referenced
from the rdfweb (he says naively...).

I can parse this with the W3C RDF Perl parser successfully, and for 
now simply munge bits of it into the javascript query engine (or for Mac
users and others whose js implementation barfs, we could use guha's db
serverside).

Then I can query the output of the GPG database in RDF. Here we ask
about the folks who've endorsed my key. Since the testbed vocab isn't
converged with FOAF, I can't yet bind this with other data from rdfweb.
Note: I made the vocab up and haven't written schema definitions
yet; it's mostly broken but enough for proof of concept.

example query:

select ?pubkey, ?id, ?name, ?sigevent, ?date where
({http://xmlns.com/wot/0.1/identity} ?pubkey ?id)
({http://xmlns.com/wot/0.1/user_id_string} ?id ?name)
({http://xmlns.com/wot/0.1/signed} ?id ?sigevent)
({http://xmlns.com/wot/0.1/sigdate} ?sigevent ?date)
({http://xmlns.com/wot/0.1/user_id} ?sigevent ?signer)
({http://xmlns.com/wot/0.1/fingerprint} ?pubkey ?fingerprint)
({http://xmlns.com/wot/0.1/signerLongHexID} ?sigevent ?signerLongID)

and get results back (see below[*]).

Results say stuff like 'there is a pubkey with an associated identity
whose name/mailbox are [foo], and which was signed in a signing event on
2000-08-11 by a pubkey whose fingerprint is [bar].

I got some more cleanup to do with the model, ie. I wobble about how
exactly to represent the pubkey and the signing. But this should soon be
adequate to start doing some interesting demos...

also added a few links to http://rdfwebring.org/rdfweb/ from the PGP /
web of trust literature

some test data (not very exciting; a GPG query on me)
http://rdfwebring.org/cgi-bin/rdfweb/pipsqueak?uri=http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf
query and results below.

What else? I read everything in the recent Freenet thread on
RDF. Discussion work/manifestations/item/copy distinctions with Libby,
Jan, Dave and others. Sat down with Libby and tried to come up with a
more formal model for composing 'compact' properties from common
components, so recurring facets get invented once (contrast with DMoz
and too many thesauri...). Figured out a bug in my shmushing algorithm
for the Perl RDF robot (it needs to do a full pass through the data
before making any assertions. doh!). Did some tests with representing
HTML blobs of CDATA in the webwho.xrdf files (thanks to suggestions from
Aaron on RSS-DEV), eg. for weblog support and so on. EricP fixed a bug
in W3C RDF Perllib so this works now. I've also almost got my new
wrapper for Perllib running, which means RDFViz and Scutter can be
rewritten properly at last...

Dan


test query (really should be against a more abstract summary of this
data, ie. do the hard computation outside of RDF?):

(RDFViz of data, see 
http://snowball.ilrt.bris.ac.uk/cgi-bin/rdf-dot/uri2gif?URI=http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf
)

select ?pubkey, ?id, ?name, ?sigevent, ?date where
({http://xmlns.com/wot/0.1/identity} ?pubkey ?id)
({http://xmlns.com/wot/0.1/user_id_string} ?id ?name)
({http://xmlns.com/wot/0.1/signed} ?id ?sigevent)
({http://xmlns.com/wot/0.1/sigdate} ?sigevent ?date)
({http://xmlns.com/wot/0.1/user_id} ?sigevent ?signer)
({http://xmlns.com/wot/0.1/fingerprint} ?pubkey ?fingerprint)
({http://xmlns.com/wot/0.1/signerLongHexID} ?sigevent ?signerLongID)

Argpubkey =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid1]}
Argid = {[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid6]}
Argname = "Dan Brickley <daniel.brickley at b...;"
Argsigevent =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid16]}
Argdate = "2000-08-11"
Argsigner = "Edd Dumbill <edd at u...;"
Argfingerprint = "FA0C0D5A2B3F808DAA282B633E15EF2F73228FE4"
ArgsignerLongID = "AF16EDB1BB9B8711"


Argpubkey =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid1]}
Argid = {[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid6]}
Argname = "Dan Brickley <daniel.brickley at b...;"
Argsigevent =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid22]}
Argdate = "2000-08-12"
Argsigner = "Rael Dornfest <rael at o...;"
Argfingerprint = "FA0C0D5A2B3F808DAA282B633E15EF2F73228FE4"
ArgsignerLongID = "48ED0B89A43F0ACC"

Argpubkey =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid1]}
Argid = {[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid6]}
Argname = "Dan Brickley <daniel.brickley at b...;"
Argsigevent =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid28]}
Argdate = "2000-08-12"
Argsigner = "Martin L Poulter <m.l.poulter at b...;"
Argfingerprint = "FA0C0D5A2B3F808DAA282B633E15EF2F73228FE4"
ArgsignerLongID = "89A42BA6151070B3"

Argpubkey =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid1]}
Argid = {[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid34]}
Argname = "Dan Brickley <danbri at w...;"
Argsigevent =
{[http://rdfwebring.org/~pldab/rdfweb/danbri.wot.rdf#genid38]}
Argdate = "2000-08-13"
Argsigner = "Dan Brickley <daniel.brickley at b...;"
Argfingerprint = "FA0C0D5A2B3F808DAA282B633E15EF2F73228FE4"
ArgsignerLongID = "3E15EF2F73228FE4"





More information about the foaf-dev mailing list