- From: Ashok Malhotra <ashok.malhotra@oracle.com>
- Date: Sun, 19 May 2013 16:39:17 -0400
- To: public-ldp-wg@w3.org
How would you access member1? Don't you need a URL? All the best, Ashok On 5/19/2013 4:23 PM, Henry Story wrote: > On 19 May 2013, at 20:03, Ashok Malhotra <ashok.malhotra@oracle.com> wrote: > >> Henry: >> To help understand your proposal please create a simple example as follows: >> Assume a LDPC has two members. >> The first member is inlined, the second member is not inlined. >> What would be returned if you do a GET on the LDPC? > Thanks Ashot. Here in 3 points > > 1. Simple Solution (improved) > ------------------ > > Here is an example in N3 with > <member1> showing just metadata > <member2> showing the content as a quoted string with an invented Turtle data Type > <member3> showing the content as a graph which will be possible in the future with something like Trig, > and is currently possible in N3. ( I am showing it to see that adding quoted content can be elegant ) > > > ~~~~~~~~~~~~~~~~ > @prefix dct: <http://purl.org/dc/terms/> . > > <> a ldp:Container; > rdf:member <member1>, <member2>, <member3> . > > <member1> dct:title "The first member"; > dct:created "2013-05-16T12:30:01Z"^^xsd:dateTime . > > <member2> dct:title "The first member"; > dct:created "2013-05-16T12:30:01Z"^^xsd:dateTime . > atom:content """ > <http://some.host/member2> <http://xmlns.com/foaf/0.1/primaryTopic> <http://some.host/member2#me> . > <http://some.host/member2#me> a <http://xmlns.com/foaf/0.1/Person> > """^^lang:Turtle . > > <member3> dct:title "The first member"; > dct:created "2013-05-16T12:30:01Z"^^xsd:dateTime . > log:semantics { > <member3> foaf:primaryTopic <member3#me> . > <member3#me> a foaf:Person; > foaf:knows <member2#me> . > <member2#me> a foaf:Idiot . > } > ~~~~~~~~~~~~~~~~ > > > Both <member2> and <member3> include the content in a safe way. You can always include > content that way without fear of creating an inconsistency. When you have the content > in that way then the client need not fetch the remote resource . > > 2. Problem with memberInlined proposal > -------------------------------------- > > The other part of my argument is that if you really want to merge the content of the members, > as proposed by the spec then the above would give you > > ~~~~~~~~~~~~~~~~ > @prefix dct: <http://purl.org/dc/terms/> . > > <> a ldp:Container; > rdf:member <member1>, <member2>, <member3>; > ldp:memberInlined <member2>, <member3> . > > <member1> dct:title "The first member"; > dct:created "2013-05-16T12:30:01Z"^^xsd:dateTime . > > <member2> dct:title "The first member"; > dct:created "2013-05-16T12:30:01Z"^^xsd:dateTime . > foaf:primaryTopic <member2#me> . > <member2#me> a foaf:Person . > > <member3> dct:title "The first member"; > dct:created "2013-05-16T12:30:01Z"^^xsd:dateTime . > foaf:primaryTopic <member3#me> . > <member3#me> foaf:knows <member2#me> . > <member2#me> a foaf:Idiot . > > ~~~~~~~~~~~~~~~~ > > > So now it turns out that the LDPC is asserting that > <member2#me> is a foaf:Idiot. > Who said that? You can't tell anymore. > > > 3. How do do inlining correctly > ------------------------------- > > a. create a resource <inlined> > > <> a ldp:Container; > rdf:member <inlined> . > > <inlined> log:semantics { <inlined> a CashFlow . } > > b. PUT or PATCH stuff on that member. > If you get PUT or PATCH access to <inlined> then you know you have the responsibility to keep > it consistent. You can do that without problem because you can do that action atomically and > without rollback or locking. > > > > > >> -- >> All the best, Ashok > Social Web Architect > http://bblfish.net/ > >
Received on Sunday, 19 May 2013 20:39:56 UTC