Re: Containers and membership subject/object asymmetry

Steve,

I think it can be done this way:

[[[
PUT /steves/friends HTTP/1.1
Host: example.org
Content-Type: text/turtle

@prefix foaf: <http://xmlns.com/foaf/0.1/>.
<http://example.org/steves#me> foaf:knows <http://example.org/richard#me>.
]]]

I believe that the members of LDPCs can be arbitrary RDF terms, including literals and non-LDPR URIs (e.g., hash URIs).

It's probably true that you can't do this with POST. Is that a problem? (I think it's not a problem with the example you've chosen, because the documents for Steve and Richard will not be created through a “friend” container but through some “all personal profiles” container.)

In my mind, the kind of container that creates new resources through POST is only for containers that have “collection of documents” semantics. A collection of friends is different.

Best,
Richard


On 20 Mar 2013, at 15:31, Steve Battle <steve.battle@sysemia.co.uk> wrote:

> I'm experiencing mild anxiety about containers and membership subject/object asymmetry. Consider the Steve's friends example.
>  
> Consider an LDPR representing Steve foaf profile <http://example.org/steves>:
>  
> <> a ldp:Resource, foaf:PersonalProfileDocument ;
>                 foaf:primaryTopic <#me> .
>  
> <#me> a foaf:Person ;
>                 foaf:name "Steve" ;
>                 foaf:nick "SteveS" .
>                
> And another LDPR representing Richard's foaf profile <http://example.org/cygri>:
>  
> <> a ldp:Resource, foaf:PersonalProfileDocument ;
>                 foaf:primaryTopic <#me> .
>  
> <#me> a foaf:Person ;
>                 foaf:name "Richard" ;
>                 foaf:nick "cygri" .
>                
> To represent Steve's friends, I'll create a container <http://example.org/steves/friends>. Note that the membership subject is not the container, nor the LDPR for SteveS, but the hash URI representing Steve himself, because the subject of the 'knows' predicate is a Person rather than a document. Now I want to assert that Steve knows Richard as defined below. Note that the object of 'knows' is also a Person.
>  
> <> a ldp:Container ;
>                 ldp:membershipSubject foaf:knows ;
>                 ldp:membershipSubject <http://example.org/steves#me> .
>                
> <http://example.org/steves#me> foaf:knows <http://example.org/richard#me> .
>  
> Here comes the asymmetry; while I can use a hash URI as the membership subject, I can't see how I can construct the above reference to the member hash URI <http://example.org/richard#me> using POST. Could we allow a URL to be POSTed (with an empty body) to a container via Content-Location? Is this perhaps something along the lines that Roger Menday was asking for (atomic operations)?
>  
> Thoughts?
>  
> Steve.

Received on Wednesday, 20 March 2013 16:25:17 UTC