Re: Indirect Containers

Sandro, all,

The annotation working group is just starting, but here's a use case for
Indirect Containers from it.

An Annotation has a target, which can be any resource identified by a URI,
and is likely not under the control of the LDP server.
It is useful for a client to have additional information about the target
resource, such as media type, label and so forth.
The resource created cannot make these assertions given an implementation
such as Miguel's and ours, where the triples are about the URI that is
being dereferenced.


The LDP server could model information about external targets with an
Indirect Container, as follows.

Given /annos/1 a oa:Annotation ...


</annos/1/t/> a ldp:IndirectContainer ;
  ldp:membershipResource </annos/1> ;
  ldp:hasMemberRelation oa:hasTarget ;
  ldp:insertedContentRelation owl:sameAs .

Then the POSTed resource would be:
<> a dctypes:Image ;
  dc:format "image/jpeg" ;
  rdfs:label "My Logo" ;
  owl:sameAs <http://company.com/logo.jpg> .

Generating the triples:

/a/1 a oa:Annotation ;
  oa:hasTarget <http://company.com/logo.jpg> .

And via inference on owl:sameAs (by the server):

<http://company.com/logo.jpg> a dctypes:Image ;
  dc:format "image/jpeg" ;
  rdfs:label "My Logo" .

We don't think this can be done without Indirect Containers (or additional
magic somewhere in the stack) (modulo the discussion about creating
resources that don't describe themselves)

Rob


On Mon, Oct 13, 2014 at 1:37 PM, Sandro Hawke <sandro@w3.org> wrote:

> [moved to the WG mailing list, since we're all in the WG.]
>
> On 10/13/2014 03:26 PM, David Wood wrote:
>
>> Um, I believe that Callimachus now passes all the Indirect Container
>> tests. We submitted a revised implementation report that hasn’t been posted
>> yet.
>>
>> Please don’t remove Indirect Containers.
>>
>
> David, I'm wondering if you can make the case to me and the other doubters
> in the WG for Indirect Containers.   I haven't heard any stories yet of
> people wanting to make and use LDP containers full of
> Non-Information-Resources (ie using Indirect Containers).   My instinct is
> that doing so is more of an intellectual exercise than something which
> practical software engineers would have reason to do.   My instinct is also
> that it's conceptually rather more complicated to work with than one would
> want in a production deployment.
>
> I know you and your team are, in fact, practical software engineers who
> work in a production environment, so I'm hoping you can share your
> reasoning/experience here.   What classes of resources do you put in
> Indirect Containers?  What ldp:insertedContentRelation predicates have you
> been using?  What are the application semantics to being in the container?
> (IE, how do applications respond when the triples change as they do in
> response to an HTTP DELETE of the resource, etc.)
>
> Thanks!
>
>      -- Sandro
>
>
>  Regards,
>> Dave
>> --
>> http://about.me/david_wood
>>
>>
>>
>> On Oct 13, 2014, at 14:40, henry.story@bblfish.net wrote:
>>
>>  There was a discussion today that the Indirect Containers may be removed
>>> because
>>> the 2 implementations don't pass all the tests.
>>>
>>> Which tests do they not pass?
>>> Do those implementations think they'll get it done in the next week? If
>>> not when?
>>>
>>> Henry Story
>>>
>>> Social Web Architect
>>> http://bblfish.net/
>>>
>>>
>>>
>>
>>
>
>


-- 
Rob Sanderson
Technology Collaboration Facilitator
Digital Library Systems and Services
Stanford, CA 94305

Received on Tuesday, 14 October 2014 17:15:19 UTC