Addressing the comments from Sandro, ACTION-158
authorNandana Mihindukulasooriya <nandana.cse@gmail.com>
Mon, 30 Mar 2015 01:07:49 +0200
changeset 960 55aa86e5e014
parent 959 b2d2d631693e
child 961 288fbfc1d83f
Addressing the comments from Sandro, ACTION-158
ldp-primer/ldp-primer.html
--- a/ldp-primer/ldp-primer.html	Sun Mar 29 21:22:05 2015 +0200
+++ b/ldp-primer/ldp-primer.html	Mon Mar 30 01:07:49 2015 +0200
@@ -241,7 +241,7 @@
 <body onLoad="primerOnLoad()">
 
   <section id='abstract'>
-    This primer provides an introduction to the Linked Data Platform (LDP), with examples illustrating the principal concepts such as the notion of an LDP resource and the LDP container and how they can be used by Web clients. 
+    This primer provides an introduction to the Linked Data Platform (LDP), with examples illustrating the principal concepts such as the notion of an LDP resource, and the LDP container and how they can be used by Web clients. 
     Two sample scenarios show how an LDP client can interact with a LDP server in the context of a read-write Linked Data application i.e. how to use HTTP for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data.
   </section>
 
@@ -340,7 +340,7 @@
       <figcaption>Membership triples with a non-Container subject.</figcaption>
     </figure>
     <p>
-      Another common pattern is where different facets of a Resource be managed using multiple Containers. For example, a Bug Report is has an associated list of Comments as well as supportive media resources.
+      Another common pattern is where different facets of a Resource be managed using multiple Containers. For example, a Bug Report has an associated list of Comments as well as supportive media resources.
     </p>
     <figure id="fig-dc_bugs">
       <img src="images/dc_bugs.png" alt=".." />
@@ -452,7 +452,7 @@
       
       <p> As shown in the example, in addition to the RDF representation of the Basic Container using the requested media type the server provides an etag of the resource representation and Link headers advertising that the requested resource is indeed an LDP Basic Container and it will support the LDP interaction model. </p>
       
-		<p> In addition, the response also contains "Allow", "Accept-Post" , "Accept-Patch" headers. The "Allow" header advertises which HTTP operations are supported by this LDP Basic Container resource. In this example, it supports OPTIONS,HEAD,GET,POST,PUT,PATCH HTTP verbs. The "Accept-Post" and "Accept-Patch" headers advertise which are the media types supported by the POST and the PATCH method respectively.</p>      
+		<p> In addition, the response also contains "Allow", "Accept-Post" , "Accept-Patch" headers. The "Allow" header advertises which HTTP operations are supported by this LDP Basic Container resource. In this example, it supports OPTIONS,HEAD,GET,POST,PUT, and PATCH HTTP verbs. The "Accept-Post" and "Accept-Patch" headers advertise which are the media types supported by the POST and the PATCH method respectively.</p>      
       
       <p class="note">The Linked Data Platform 1.0 specification [[LDP]] says that all LDP servers MUST support the Turtle media type for LDP-RS resources and SHOULD support JSON-LD media type.</p>
 
@@ -496,7 +496,7 @@
 
       <pre title="State of Alice's document store before creating the photo (child) container" class='example' data-include='examples/create_cr_s1.txt' data-oninclude='fixCode'></pre>  
 
-      <p>To create a new container for managing photos, Alice POSTs a representation of a container (LDP-BC) to the root container. Alice express her intention that the newly created resource should be an LDP Basic Container by including a Link header in the request with the relationship "type". </p>
+      <p>To create a new container for managing photos, Alice POSTs a representation of a container (LDP-BC) to the root container. Alice expresses her intention that the newly created resource should be an LDP Basic Container by including a Link header in the request with the relationship "type". </p>
       <pre title="Request - creating a new container" class='example' data-include='examples/create_cr_req.txt' data-oninclude='fixCode'></pre>  
       <p>If the POST is successful, the server responds with the location of the newly created container for the photos.</p>
       <pre title="Response - creating a new container" class="example">
@@ -520,7 +520,7 @@
         Alice can upload a social profile document to her store, by POSTing her FOAF personal profile document to her LDP-BC at the root of her document store. Note, the Slug header offers a hint to the server about the URL of the resource to be created. Alice also indicates that the newly created resource should be an LDP Resource by including a Link header in the request with the relationship "type".
       </p>
       
-      <p> The FOAF document includes statements about the resource to be created and other resources relative to the resource to be created. According the LDP specification, Alice can use an empty relative URI (&lt;&gt;) in the request entity body to refer to resource to be created.
+      <p> The FOAF document includes statements about the resource to be created and other resources relative to the resource to be created. According the LDP specification, Alice can use an empty relative URI (&lt;&gt;) in the request entity body to refer to the resource to be created.
       
       </p>
 
@@ -636,7 +636,7 @@
 
     <p>The previous section provided practical examples of basic LDP interactions using LDP Basic Containers. One of the limitations of LDP Basic Containers is that a fixed LDP vocabulary is used to assert the relations between a container and its contained resources. However, some scenarios require domain specific vocabulary to be used to list the members of a container. For example, an application which already used Linked Data and its own vocabulary may like to continue using the same vocabulary when migrating to LDP protocol. LDP Direct containers introduce the concept of membership triples allowing the flexibility to define the form of the membership. One of these flexibility points is the ability to select the predicate of the membership triple which can be from a domain-specific vocabulary. This is done using the ldp:hasMemberRelation or ldp:isMemberOfRelation predicate of the Direct Containers.</p>
 
-    <p>In addition, in some scenarios it is necessary to add relationships between the newly created resource and some other resource (which is not necessarily the container or another document / information resource). This allows to define relationship between any other information resource or non-information resource (real world thing) by defining the membership constant subject or the object URI of the membership triples using ldp:membershipResource predicate of the Direct Container. The usage of the ldp:hasMemberRelation predicate as well as the ldp:membershipResource will be explained in the following examples. </p>
+    <p>In addition, in some scenarios it is necessary to add relationships between the newly created resource and some other resource (which is not necessarily the container or another document / information resource). LDP Direct Container allow to define relationships between the container and any other information resource or non-information resource (real world thing) by defining the membership constant subject or the object URI of the membership triples using ldp:membershipResource predicate of the Direct Container. The usage of the ldp:hasMemberRelation predicate as well as the ldp:membershipResource will be explained in the following examples. </p>
 
     <p class="note">For more information on information resources (documents) vs real world entities (things) separation please refer to <a href="http://www.w3.org/TR/webarch/#id-resources">Web Arch (Section 2.2. URI/Resource Relationships) </a>, , <a href="http://www.w3.org/TR/cooluris/#semweb">Cool URIs (Section 3. URIs for Real-World Objects)</a>, <a href="http://www.w3.org/TR/urls-in-data/#landing-pages">URLs in Data (Section 3. Landing Pages and Records)</a>.</p>
 
@@ -772,7 +772,7 @@
       <h3 id="BugCreate">Creation (POST a resource to an LDP-DC)</h3>
       <p>Continuing from the previous example, we can report a Bug against the "LDP Demo" product by creating a Bug report (an LDPR representing the bug) under the "LDP Demo" product description LDPC by posting a RDF representation of the Bug report to the LDPC associated with the product description.  </p>
 
-      <p> The bug report document includes statements about the resource to be created. According the LDP specification, a client can use null relative URI (<>) in the request entity body to refer to resource to be created.
+      <p> The bug report document includes statements about the resource to be created. According the LDP specification, a client can use null relative URI (<>) in the request entity body to refer to the resource to be created.
 
       <pre title="A request for creating a bug" class='example' data-include='examples/bug_create_req.txt' data-oninclude='fixCode'></pre> 
       <p>If the creation is successful, the server responds with location of the newly created resource.</p>
@@ -833,7 +833,7 @@
       <p> As a response to the GET request, the server responds with the representation of the product description container.</p>
       <pre title="HTTP response for product lookup" class='example' data-include='examples/ic_product_lookup_resp.txt' data-oninclude='fixCode'></pre>  
       
-    <p> Now the product container is a LDP Indirect container, which has one main difference: the container has an additional predicate called "ldp:insertedContentRelation". Further, the objects of the containment triples and the membership triples are not the same. While the object of the containment triple is the same (e.g. &lt;/tracker/ldp-demo/bug3&gt;, an information resource) the object of the membership triple is now  (e.g. &lt;/tracker/ldp-demo/bug3#it&gt;, a non-information resource or real world thing). This distinction is because of the ldp:insertedContentRelation definition. How this works will be explained in <a href="#creationext">the next example</a> on creating a new resource.  </p>
+    <p> Now the product container is a LDP Indirect container, which has one main difference: the container has an additional predicate called "ldp:insertedContentRelation". Further, the objects of the containment triples and the membership triples are not the same. While the object of the containment triple is the same (e.g., &lt;/tracker/ldp-demo/bug3&gt;, an information resource) the object of the membership triple is now  (e.g., &lt;/tracker/ldp-demo/bug3#it&gt;, a non-information resource or real world thing). This distinction is because of the ldp:insertedContentRelation definition. How this works will be explained in <a href="#creationext">the next example</a> on creating a new resource.  </p>
 
     </section>
     <!-- end navandretext -->
@@ -890,7 +890,7 @@
   
   	<section class='appendix'>
 		<h2>Acknowledgements</h2>
-		<p>Many thanks to John Arwe (IBM), Ashok Malhotra (Oracle), and Henry Story (Apache Software Foundation) for their thorough review on the LDP Primer document and proposed corrections. We also like to thank all members of the Linked Data Platform WG for the valuable feedback. </p>
+		<p>Many thanks to John Arwe (IBM), Ashok Malhotra (Oracle), and Henry Story (Apache Software Foundation), Andrei Sambra (MIT) for their thorough review on the LDP Primer document and proposed corrections. We would also like to thank all members of the Linked Data Platform WG for the valuable feedback. </p>
 	</section>
 
   <section class='appendix informative' id="history">