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

Story Henry henry.story at bblfish.net
Fri Apr 16 16:10:16 CEST 2010


On 16 Apr 2010, at 14:44, Nathan wrote:

> Toby Inkster wrote:
>> On Fri, 2010-04-16 at 13:12 +0100, Nathan wrote:
>>> HTTP PATCH has the Accept-Patch header.
>> 
>> I wonder if PATCH is a better verb to use than POST.

It is an interesting idea, but I think a lot more work is going to be needed
in that space. Also I am not quite sure that what we are really trying to do
is PATCHING a resource, though the idea is intriguing.

Assimilating a ping to a patch would be a lot more work on the client I think. You would be asking the client to decide which of my beliefs need updating, where and how. Whereas really in a lot of the ping examples, you just want to notify the server of something: for example that someone has posted a picture in which you appear. You don't necessarily want to decide how he is to change his beliefs. He could do it in many different ways, such as posting a link (or not), copying the information, suing the person who posted the picture, etc....

>> 
>> Of course, it has little explicit support in HTTP libraries, and zero in
>> browsers, so a fallback to POST would be necessary.
>> 
> 
> As you may (or may not) know I've done quite a bit of playing with rdf
> diff / patch and have a working implementation [1] going + ontology [2]
> etc;

Have you looked at http://www.w3.org/DesignIssues/Diff ?

Looking at your proposal just makes my point that there is a lot of work to
do in this area. From a quick perusal of your solution, it won't work. It may seem
to, but that is an illusion, because you only have your own implementation to work in. Semantically though it is wrong. A patch needs to be done as a diff of graphs. It is not something you can do without named graphs. 

When you are patching a graph  you are really defining a transform from one graph to another via as set of patch graphs. You cannot patch a graph at the object layer....

Anyway I don't want to get sidetracked here in an issue of the semantics of patching. We want something that is easy, and that everyone can understand, that works with widely established technology so that we can get the social networks to grow virally.



> as mentioned earlier in the month this approach could be used for
> ping back, track back and whatever else may be needed + it's as light or
> as heavy as you want, and further allows for multiple ping/track backs
> in a single packet; further still the same rdf packets can be used in
> updates streams and indeed in all situations where synchronisation is
> needed between resources. Additionally it keeps data typed and as we're
> dealing with triples the whole time you can pick up the relationship
> from the predicate(s) and so forth.

> 
> [1] http://webr3.org/diff/
> [2] http://webr3.org/specs/guo/



More information about the foaf-dev mailing list