[foaf-dev] [foaf-protocols] fp:ping

Mischa Tuffield mischa.tuffield at garlik.com
Fri Apr 16 21:10:33 CEST 2010


Hello, 

On 16 Apr 2010, at 17:26, Danny Ayers wrote:

> pings are great, and recording pings is a great idea (you don't think
> google don't do this already?). Bit over engineered - all you need is
> maybe A -> B (hopefully URIs) and a timestamp.

I would like to think it was that simple too. But I am guessing that would require each foaf page to have it's own rdf store. If every foaf personalprofiledocument came with its own sparql store, a friend request could be as simple as telling the foaf person's rdf store to grab your foaf data, I guess something like (but better than)[1]. We implemented a UI for showing friend requests in a  foafbuilder UI [2], which checks the contents of the KB which the ping service adds rdf to, to present the user with a list of mutual friends, friend requests, and friend requests you have made (was meant to be facebookie). I can see how catering for people to arbitrarily upload rdf to your kb doesn't always sound like a good idea, as your KB could get rather bloated. I could envisage a UI feature which showed you a list of foaf:Document URIs that contain no information about anyone you have added as a friend, which you then then choose to remove from your rdf store. My foaf file[3] works well in the foafbuilder.qdos.com (and yes I know I am a bad example, and that the service is far from polished - must find more time ....), but meh. 

So, if I wanted to "friend" another foaf:Person, and I didn't know their foaf:Document URI, I could ask a search engine (or until then i could ask) foaf.qdos.com [5] for foaf:Person URIs for a Person which I know an ifp [4] for (as foaf.qdos.com does cater for name based searching - which it should do!).

Then I would have to some how magically find a way to ping them my updated foaf:Document. I guess a triple stating "<#me> <http://example.org/hasPingEndpoint> <http://foo.com/ping/> ." would be a starting point - and is what most of this thread is about trying to define (I think). And yes, I standard way of performing this would be a good thing. IMO it is best to keep whatever mechanism simple, all you need for friend requests to work is a store to hold the various foaf files of interest, and a way to query them to find out who is trying to friend you, as illustrated by the foafbuilder which I linked to above. It would be nice if one could find the object of the <http://example.org/hasPingEndpoint> property and then PUT a foaf:Document URI to the endpoint. Something like : 

curl -T mynewlyupdatefoaffile.rdf 'http://foo.com/ping/http://example.com/mynewlyupdatefoaffile.rdf'

Then you don't need anything other than RDF, SPARQL, and yay friend requests.

Saying that I should add some timestamping triples to the foaf.qdos.com KB indicating the time when the foaf:Document was pinged (thanks Danny - should have really be doing this from the outset). Will help with keeping the kb uptodate later on ... 

Thanks all really, 

Mischa


[1] http://foaf.qdos.com/ping
[2] http://foafbuilder.qdos.com/
[3] http://mmt.me.uk/foaf.rdf
[4] http://foaf.qdos.com/sameas/?path=http://danbri.org/&ifp=
[5] http://foaf.qdos.com/sameas

> 
> 
> On 14 April 2010 11:00, Story Henry <henry.story at bblfish.net> wrote:
>> Hi,
>> 
>> I would like to propose a ping relation. It is extremely common for people
>> to ask how does one make friends in foaf. For a long time, I thought looking
>> at the referrer in the logs would be enough. But that is perhaps just a bit
>> too minimalistic. Here we can do better.
>> 
>> 
>> This is a sketch of what the relation should look like. It should be really
>> simple, something that would allow a simple html form to do the job for
>> human readers too.
>> 
>> The access to the resource can be protected using foaf+ssl, so that one can reduce spam
>> opportunities, or at least filter them.
>> 
>> It would be defined like this
>> 
>> @prefix fp: <http://foaf-protocols.com/ont/> . # made up name-space
>> @prefix owl: <http://www.w3.org/2002/07/owl#> .
>> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
>> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
>> 
>> 
>> fp:ping a rdf:Property;
>>    rdfs:domain foaf:Agent;
>>    rdfs:range xxx:POSTResource;
>>    rdfs:comment """
>>       This relation gives a way for other services to ping
>>     this webid when a new document is found that mentions this WebID.
>> 
>>       The relation relates a WebId to a collection. A new resource of
>>    type PingEvent can be created in that collection by POST ing a
>>    URL that mentions the given WebId.
>> 
>>       The POSTing would be the post created by the following html form where
>>    ?coll is the name of the object of the relation, and ?rederer is the URL of
>>    the referring resource
>> 
>>     <form action="POST" action="?coll">
>>         referer: <input type="text" name="referer"/><br/>
>>         comment: <input type="text" name="comment"/>
>>     </form>
>> 
>>    The resource returned by a GET on the POSTResource can even return the above html
>>    form.
>> 
>>    The resource created should be a named ping request, which itself
>>   can be described using this ontology.
>> 
>>    This end point could long term accept more flexible contents to be
>>   posted. One could post an atom Entry for example.
>>    """ .
>> 
>> 
>> Henry
>> 
>> Social Web Architect
>> http://bblfish.net/
>> 
>> _______________________________________________
>> foaf-protocols mailing list
>> foaf-protocols at lists.foaf-project.org
>> http://lists.foaf-project.org/mailman/listinfo/foaf-protocols
>> 
> 
> 
> 
> -- 
> http://danny.ayers.name
> _______________________________________________
> foaf-protocols mailing list
> foaf-protocols at lists.foaf-project.org
> http://lists.foaf-project.org/mailman/listinfo/foaf-protocols

___________________________________
Mischa Tuffield PhD
Email: mischa.tuffield at garlik.com
Homepage - http://mmt.me.uk/
Garlik Limited, 1-3 Halford Road, Richmond, TW10 6AW, UK
+44(0)7989 199 786  http://www.garlik.com/
Registered in England and Wales 535 7233 VAT # 849 0517 11
Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.foaf-project.org/pipermail/foaf-dev/attachments/20100416/8757bc6a/attachment-0001.htm 


More information about the foaf-dev mailing list