Re: TWO PROPOSALs involving Prefer - volunteering for the army -> ldp:index PROPOSAL

On 1 Mar 2014, at 18:03, Kingsley Idehen <kidehen@openlinksw.com> wrote:

> On 3/1/14 4:23 AM, henry.story@bblfish.net wrote:
>> But the rules are not excessive. The rule is that the client understand the meaning of the membership triples that will be added as a consequence of the POST. It can gain this understanding by asking a human agent of course (as browsers currently do on an html form), or the client can be specialised on specific vocabularies, ( a meeting organiser for example ), or it can work with relations that are well understood to have little dangerous implications, such as ldp:contains. And since there exists an ldp:BasicContainer that clients can work with without danger, those that do not wish to take risks should use only that.
> 
> It's impractical, to expect this of Web clients.

I don't see how it is impractical to require of Web Clients that don't want to use Direct or Indirect Containers not to use them. That pretty simple to do: they just can use DirectContainers.
 
It is also not impractical to require of a Web Client that does wish to use Direct or Indirect Containers that it understand the membership predicates of a particular container, and that if it does not, that it not POST there. Crawlers and user agents of all types come accross HTML forms that can POST things to resources, and they don't just arbirarily POST things there. So this habit of not POSTing blindly to any resource that accepts POSTs is already wide spread and central to the current web architecture.

> Yes, RDF is about machine discernible and comprehensible semantics, but none of that means that a client MUST possess any such capabilities. In my eyes, RDF comprehension resides in vocabularies, never in the behavior of a client that's using HTTP to interact with content. i.e., a majority of HTTP clients will not exploit all the semantic implications expressed in a vocabulary or ontology.

When reading RDF this is not a problem, because of the monotonicity requirement of RDF implication: you still have a true graph if you remove statements that you do not understand. Every graph implies its subgraphs.

But when POSTing a graph to an Direct or Indirect Container you 
  1) create a new resource with your POSTed graph
  2) create a new relation on top of the ones contained in the graph POSTed

RDF does _not_ say that a subgraph implies every super graph. 

Take for example a graph A = { c a Car }. It is compatible with each one of 

   B = { c a Car; unicolor blue } 
   R = { c a Car; unicolor red } 
   W = { c a Car; unicolor White}

But given the right definition of unicolor B, R and W are not compatible. There  is no possible world where the car is all three. 
So a client knows that when posting to a direct or indirect container it needs to agree with the graph AND the extra triple that
the protocol very clearly lays out as being created.

> 
> This (I think) is the point Sandro is trying to relay in regards to his concerns about the above. We have to understand that (fundamentally) the Web's strength lies in its tolerance of the good, bad, and the ugly during client and server interactions.
> 
> On the Web (or any network with heterogeneous clients and servers) you could inadvertently sign up for the Army, but that signup will never stand up in the real world :-)

I'd be pretty pissed of with my software if it inadverently signed me up for the army even if I was then able to go to court and win my case. 
There were times when you needed much less to get signed up to the army (see the http://en.wikipedia.org/wiki/King's_shilling )

I purposefully took an extreme case to get people thinking, but you can take many more realistic ones.

If you go to e-bay and you POST a bid and win, you are liable to have to spend money.
If a microtransaction system is set up with LDP and you post to it, then you'd still later need to UNDO your POST. 

In each of these cases you may be able to UNDO harm, but the harm still happened. Undoing the harm is one extra event on top 
of the initial harmful event.  

> I've always seen entity relation semantics comprehension as a feature that clients and servers use to distinguish themselves competitively, but never the basis for MUST requirements in specs.

LDP is new in the space of RDF usage. So expect things here to be a bit different :-)


> 
> -- 
> 
> Regards,
> 
> Kingsley Idehen	
> Founder & CEO
> OpenLink Software
> Company Web: http://www.openlinksw.com
> Personal Weblog: http://www.openlinksw.com/blog/~kidehen
> Twitter Profile: https://twitter.com/kidehen
> Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
> LinkedIn Profile: http://www.linkedin.com/in/kidehen
> 
> 
> 
> 
> 

Social Web Architect
http://bblfish.net/

Received on Saturday, 1 March 2014 20:59:25 UTC