- From: Roger Menday <roger.menday@uk.fujitsu.com>
- Date: Fri, 19 Oct 2012 15:04:59 +0100
- To: Steve Battle <steve.battle@sysemia.co.uk>
- CC: 'Andy Seaborne' <andy.seaborne@epimorphics.com>, "public-ldp-wg@w3.org" <public-ldp-wg@w3.org>
- Message-ID: <4D84CDC8-5830-4D8F-BFDF-BBDA2139B247@uk.fujitsu.com>
>> >> 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". > > No additional tracking of which containers created what resources is required. > > 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>. I don't think it is a good idea to rely on the structure of the URLs for working this out. Not least because I think a Container and its Contained items can be on separate machines. Generally, as you point out, I think there are lots of details in this area which need consideration, and we need some open issues for that. Roger
Attachments
- application/pkcs7-signature attachment: smime.p7s
Received on Friday, 19 October 2012 14:05:32 UTC