- From: Arnaud Le Hors <lehors@us.ibm.com>
- Date: Fri, 19 Oct 2012 07:12:18 -0700
- To: "Steve Battle" <steve.battle@sysemia.co.uk>
- Cc: "'Andy Seaborne'" <andy.seaborne@epimorphics.com>, public-ldp-wg@w3.org
- Message-ID: <OF5A9A922D.CD48E792-ON88257A9C.004C8BE6-88257A9C.004E0934@us.ibm.com>
"Steve Battle" <steve.battle@sysemia.co.uk> wrote on 10/19/2012 06:31:34 AM: > From: "Steve Battle" <steve.battle@sysemia.co.uk> > To: "'Andy Seaborne'" <andy.seaborne@epimorphics.com>, <public-ldp- > wg@w3.org>, > Date: 10/19/2012 06:32 AM > Subject: RE: Operations on containers > > > -----Original Message----- > > From: Andy Seaborne [mailto:andy.seaborne@epimorphics.com] > > Sent: 24 September 2012 11:18 > > To: public-ldp-wg@w3.org > > Subject: Operations on containers > > > > The doc talks about the "the BPC that was used to create it [BPR]" > > (5.6.2) and "should remove it from any other containers..." > > > > This means the creating container is distinguished and needs to manage > > the BPRs is creates separately from those it did not. > > > > Andy > > I don't think we currently have an issues open related to this point. > > To support resources being members of more than one container, and > also strong lifecycle dependencies between a container and a > subordinate resource, the LDP should define precisely how it > supports both (weak) aggregation and (strong) composition. > > I believe that the semantics of RDF containers and their membership > properties to be weak in the sense that (weak) membership is not the > same as (strong) ownership (I can't find a reference to prove that - > but would an inverse memberOf really be functional?). For this > reason, I think that the following statement from ' Linked Data > Platform 1.0' is ill-advised. Yes, it may delete the contents - just > as it may delete everything - but that wouldn't be very intuitive. > > "5.6.1 If a LDPC server supports deletion of the LDPC, the server > may also delete the resources that are referenced as its contents." > > Do we have to record additional information about which "BPC that > was used to create it [BPR]". The state of the container must be > expressible in RDF, should we record strong ownership relationships > in addition to weak aggregation relationships? > > Actually, I don't think so. There's a much simpler and more > intuitive mechanism already apparent in the example below, based on > the hierarchical organization of the URI. > The URI for a subordinate resource <http://example.org/netWorth/nw1/ > assetContainer/a1> can be simply relativized (ie. not using '..') > against the membership subject <http://example.org/netWorth/nw1>. In > other words, the URI for the subordinate resource begins with the > URI of the container - simple as that. Resources that are members > but not composed as defined here would not fall under strong > lifecycle management of the container. > > e.g. The wording of ' Linked Data Platform 1.0' could be amended to read: > 5.6.1 If a LDPC server supports deletion of the LDPC, the server may > also delete contained resources whose hierarchical URIs begin with > the URI of the container C". Isn't one supposed to treat URIs as opaque and not parse them? This may indeed be a very simple and pragmatic way of dealing with this problem though. A logical consequence would then be to allow creating a resource within a container using PUT in the same way. > > No additional tracking of which containers created what resources isrequired. > > And the example from of ' Linked Data Platform 1.0': > # The following is the representation of > # http://example.org/netWorth/nw1/assetContainer > @prefix dcterms: <http://purl.org/dc/terms/>. > @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. > @prefix ldp: <http://www.w3.org/ns/ldp#>. > @prefix o: <http://example.org/ontology/>. > > <http://example.org/netWorth/nw1/assetContainer> > a ldp:Container; > dcterms:title "The assets of JohnZSmith"; > ldp:membershipSubject <http://example.org/netWorth/nw1>; > ldp:membershipPredicate o:asset. > > <http://example.org/netWorth/nw1> > a o:NetWorth; > o:asset > <http://example.org/netWorth/nw1/assetContainer/a1>, > <http://example.org/netWorth/nw1/assetContainer/a3>, > <http://example.org/netWorth/nw1/assetContainer/a2>. > > -- Arnaud Le Hors - Software Standards Architect - IBM Software Group
Received on Friday, 19 October 2012 14:14:26 UTC