ACTION-124 LDPR-RR as named graphs
authorsspeiche
Wed, 05 Feb 2014 07:03:41 -0500
changeset 456 6130538abdf0
parent 455 043ab2b9229b
child 457 66c20d9352a4
ACTION-124 LDPR-RR as named graphs
ldp.html
--- a/ldp.html	Tue Feb 04 23:17:02 2014 -0500
+++ b/ldp.html	Wed Feb 05 07:03:41 2014 -0500
@@ -290,7 +290,8 @@
 		patterns and conventions in <a href="#ldpr" class="sectionRef"></a>.<p></p></dd>
 		
 	<dt><dfn>Linked Data Platform RDF Resource</dfn> (<abbr title="Linked Data Platform RDF Resource">LDP-RR</abbr>)</dt>
-	<dd>An <a title="Linked Data Platform Resource">LDP-R</a> whose state is represented in an RDF representation.
+	<dd>An <a title="Linked Data Platform Resource">LDP-R</a> whose state is represented in an RDF representation, specifically
+	an RDF <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph">named graph</a> [[rdf11-concepts]].
 	<p></p></dd>	
 
 	<dt><dfn>Linked Data Platform Binary Resource</dfn> (<abbr title="Linked Data Platform Binary Resource">LDP-BR</abbr>)</dt>
@@ -1132,13 +1133,13 @@
 	the associated person.  There are two sets of same-subject, same-predicate pairings; one for assets and
 	one for liabilities.  It would be helpful to be able to associate these multi-valued sets using a URL
 	for them to assist with managing these, this is done by associating containers with them as 
-	illustrated below:
+	illustrated in the 3 examples below:
 	</p>
 
-<pre class="example" id="ldpc-ex-membership-full"># The following is an elaborated representation of
-#   http://example.org/netWorth/nw1/
+<pre class="example" id="ldpc-ex-membership-full"># The following is an elaborated representation of LDPR
+#   http://example.org/netWorth/nw1
 <!-- @base is here only so it's easier to paste into validators for checking -->
-# @base &lt;http://example.org/netWorth/nw1/&gt;
+# @base &lt;http://example.org/netWorth/nw1/&gt;.
 @prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
 @prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
 @prefix o: &lt;http://example.org/ontology/&gt;.
@@ -1152,26 +1153,38 @@
       &lt;liabilityContainer/l1&gt;,
       &lt;liabilityContainer/l2&gt;,
       &lt;liabilityContainer/l3&gt;.
+</pre>
 
-&lt;assetContainer/&gt;
+<pre class="example" id="ldpc-ex-membership-subj"># The following is an elaborated representation of LDPC
+#   http://example.org/netWorth/nw1/assetContainer/
+<!-- @base is here only so it's easier to paste into validators for checking -->
+# @base &lt;http://example.org/netWorth/nw1/assetContainer/&gt;
+@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
+@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
+@prefix o: &lt;http://example.org/ontology/&gt;.
+&lt;&gt;
    a ldp:Container, ldp:DirectContainer;
    dcterms:title "The assets of JohnZSmith";
    ldp:containerResource &lt;&gt;;
    ldp:containsRelation o:asset;
    ldp:insertedContentRelation ldp:MemberSubject;
-   ldp:contains &lt;assetContainer/a1&gt;,
-      &lt;assetContainer/a2&gt;.
+   ldp:contains &lt;a1&gt;, &lt;a2&gt;.
+</pre>
 
-&lt;liabilityContainer/&gt;
+<pre class="example" id="ldpc-ex-membership-full-liabcont"># The following is an elaborated representation of LDPC
+#   http://example.org/netWorth/nw1/liabilityContainer/
+<!-- @base is here only so it's easier to paste into validators for checking -->
+# @base &lt;http://example.org/netWorth/nw1/liabilityContainer/&gt;
+@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
+@prefix dcterms: &lt;http://purl.org/dc/terms/&gt;.
+@prefix o: &lt;http://example.org/ontology/&gt;.
+&lt;&gt;
    a ldp:Container, ldp:DirectContainer;
    dcterms:title "The liabilities of JohnZSmith";
    ldp:containerResource &lt;&gt;;
    ldp:containsRelation o:liability;
    ldp:insertedContentRelation ldp:MemberSubject;
-   ldp:contains
-      &lt;liabilityContainer/l1&gt;,
-      &lt;liabilityContainer/l2&gt;,
-      &lt;liabilityContainer/l3&gt;..
+   ldp:contains l1&gt;, l2&gt;, l3&gt;.
 </pre>
 
 	<p>The essential structure of the container is
@@ -1195,35 +1208,27 @@
 	 membership predicate is <code>ldp:contains</code> and the container resource is the container itself.
 	</p>
 
-<pre class="example" id="ldpc-ex-membership-subj"># The following is the representation of
-#   http://example.org/netWorth/nw1/assetContainer/
-<!-- @base is here only so it's easier to paste into validators for checking -->
-# @base &lt;http://example.org/netWorth/nw1/assetContainer/&gt;
-@prefix ldp: &lt;http://www.w3.org/ns/ldp#&gt;.
-@prefix o: &lt;http://example.org/ontology/&gt;.
-
-&lt;&gt;
-   a ldp:Container, ldp:DirectContainer;
-   ldp:containerResource &lt;http://example.org/netWorth/nw1&gt;;
-   ldp:containsRelation o:asset;
-   ldp:insertedContentRelation ldp:MemberSubject.
-
-&lt;http://example.org/netWorth/nw1&gt;
-   a o:NetWorth;
-   o:asset &lt;a1&gt;, &lt;a2&gt;.</pre>
-
-	<p>In this example, clients cannot correctly guess
+	<p>As seen in the <a href="#ldpc-ex-membership-subj"><code>assetContainer/</code> example</a>, 
+	clients cannot correctly guess
 	at the membership triples, so the example includes this information in
 	triples whose subject is the LDPC resource itself.
 	</p>
 	
+	<p>Alternatively, servers may provide the net worth resource and supporting containers in a single response
+	representations.  When doing this, a preference would be for RDF formats that support multiple named graphs, one
+	named graph for the net worth resource and then two others for asset and liability containers.  This allows for
+	the membership triples to be represented with the named graph for the net worth resource, while the containment triples
+	would be represented within the liability and asset containers [[rdf11-concepts]].  Generally, the membership triples belong
+	to the representation of a LDP-RR and the containment triples belong to the representation of the LDPC.
+	</p>
+	
 	<p>Additionally, we could extend our net worth example to include a container for
 	advisors (people) that have managed the assets and liabilities.  We have decided
 	to identify these advisors with URLs that contain a fragment (hash) to represent
 	these real-world resources, not the documents that decribe them.</p>
 	
 <pre class="example" id="ldpc-ex-membership-full"># The following is an elaborated representation of
-#   http://example.org/netWorth/nw1/
+#   http://example.org/netWorth/nw1
 # Adding o:advisor but eaving off o:asset and o:liability for brevity.
 <!-- @base is here only so it's easier to paste into validators for checking -->
 # @base &lt;http://example.org/netWorth/nw1/&gt;
@@ -1494,7 +1499,7 @@
 	</section><!-- Was 5.2.4 / #ldpc-5_2_4 -->
 	
 	<section id="ldpc-containtriples"><h2 class="normal">An <a title="Linked Data Platform Direct Container">LDP Direct Container</a>
-		and <a title="Linked Data Platform Inirect Container">LDP Indirect Container</a> representation MUST contain exactly one triple 
+		and <a title="Linked Data Platform Indirect Container">LDP Indirect Container</a> representation MUST contain exactly one triple 
 		whose subject is the LDPC URI, 
 		and whose predicate is either <code>ldp:containsRelation</code> or <code>ldp:containedByRelation</code>. 
 		The object of the triple is constrained by other sections, such as
@@ -1690,7 +1695,8 @@
 	</h2></section><!-- Was 5.4.3 / #ldpc-5_4_3 -->
 	
 	<section id="ldpc-post-createrdf"><h2 class="normal"><a title="LDP server">LDP servers</a> that successfully create a resource from a
-		RDF representation in the request entity body MUST honor the client's requested interaction model(s). 
+		RDF representation in the request entity body MUST honor the client's requested interaction model(s). The created resource
+		MUST be an RDF <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph">named graph</a> [[rdf11-concepts]].
 		If any model cannot be honored, the server MUST fail the request.
 	</h2><!-- Was 5.4.4 / #ldpc-5_4_4 -->
 	<ul>
@@ -1813,7 +1819,8 @@
 	</h2></section><!-- Was 5.5.2 / #ldpc-5_5_2 -->
 	    
 	<section id="ldpc-put-create"><h2 class="normal"><a title="LDP server">LDP servers</a> that allow member creation via <code>PUT</code> 
-		SHOULD NOT re-use URIs.
+		SHOULD NOT re-use URIs.  For RDF representations (LDP-RRs),the created resource
+		MUST be an RDF <a href="http://www.w3.org/TR/rdf11-concepts/#dfn-named-graph">named graph</a> [[rdf11-concepts]].
 	</h2></section><!-- Was 5.5.4 / #ldpc-5_5_4 -->
 	
 </section>
@@ -2216,6 +2223,7 @@
 <!-- <blockquote><em><a href="http://www.w3.org/TR/2013/WD-ldp-20130930/">Candidate Recommendation Draft</a></em></blockquote> wah -->
 <!-- <blockquote><em><a href="http://www.w3.org/TR/2013/WD-ldp-20130730/">Last Call Draft</a></em></blockquote> -->
 <ul>
+	<li>2014-02-04 - ACTION-124 LDPR-RR as named graphs  (SS)</li>
 	<li>2014-02-04 - ACTION-120 (complete) Updated LDPC general, GET and POST sections (SS)</li>
 	<li>2014-02-04 - ACTION-120 (Part 3) Added ldp:member (SS)</li>
 	<li>2014-02-04 - ACTION-120 (Part 2) Added concepts of containers (basic, direct and indirect) to LDPC intro (SS)</li>