[foaf-protocols] P2P FOAF search

Melvin Carvalho melvincarvalho at gmail.com
Fri Jun 5 12:28:12 CEST 2009

On Fri, Jun 5, 2009 at 12:27 PM, Luke Maurits<luke at maurits.id.au> wrote:
>> Im interested.  It would be interesting to see if we can get a pilot
>> working, using a kind of 'lite' protocol, then, in parallel flesh out
>> a fuller spec.
> This should certainly be possible.  In a way, the most difficult part of the whole project is the engineering aspect of getting a P2P network up and working.  The trickiest part here may relate to autodiscovery of existing nodes when a new node comes online.  Of course, if we end up using XMPP as a base we may even be able to delay solving this by using fixed rosters as a stand-in.  Most of the other parts of the protocol, like query propagation, etc. are the kinds of thing that we should be able to get close to "right" the first time since it's such a standard problem.  As long as each query message contains a version indicator of some kind we can constantly change the way queries actually work, ratcheting our way up from, say, a few fixed search fields (like name/nick/email hash, as you suggested) to full-blow SPARQL.

A possible approach:

1. You have a set of triples on your machine (in a triplestore or
maybe sqlite file)
2. You run Pidgin client over XMPP
3. Add a "buddy pounce" to your friend, which executes a command when
someone writes to you
4. Parse the text someone has sent you, and check for a search request

5. Check the access control of your friend (JID or FOAF) over your triples
6. Query the store for authorised triples
7, Reply back with the search results (SPARQL insert?)
8. Your friend parses the reply and add them to his triple store

> --
> Luke Maurits <luke at maurits.id.au>
> http://www.luke.maurits.id.au
> http://www.luke.maurits.id.au/foaf.rdf
> CompCogSci | Crypto | Maths | Python | Unix

More information about the foaf-protocols mailing list