Updates based on recent changes in the formal spec as well as discussions at the latest face-to-face. Corrected code examples to reflect new container types. Added section on use of dot-segments in URIs. Clarified section on use of the rdf:type predicate. Removed screenshots of external web sites so that doc might not become dated when views in external sites change.
authorcburleso
Sun, 27 Apr 2014 11:36:35 -0500
changeset 569 2070eeb1b9c5
parent 568 540842f6055c
child 571 549d2075b801
Updates based on recent changes in the formal spec as well as discussions at the latest face-to-face. Corrected code examples to reflect new container types. Added section on use of dot-segments in URIs. Clarified section on use of the rdf:type predicate. Removed screenshots of external web sites so that doc might not become dated when views in external sites change.
ldp-bp/include-rdf-type.ttl
ldp-bp/ldp-bp.html
ldp-bp/lodCommonVocabs-thumb.jpg
ldp-bp/lov-thumb.jpg
ldp-bp/rdf-absolute-uris.ttl
ldp-bp/rdf-relative-uris.ttl
ldp-bp/trailing-slash-1.ttl
ldp-bp/trailing-slash-2.ttl
ldp-bp/trailing-slash-3.ttl
ldp-bp/trailing-slash-4.ttl
--- a/ldp-bp/include-rdf-type.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/include-rdf-type.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -2,7 +2,7 @@
 @prefix contact: <http://www.w3.org/2000/10/swap/pim/contact#>.
 
 <http://www.w3.org/People/EM/contact#me> 
-  rdf:type contact:Person;
+  a contact:Person;
   contact:fullName "Eric Miller";
   contact:mailbox <mailto:em@w3.org>;
   contact:personalTitle "Dr.".
\ No newline at end of file
--- a/ldp-bp/ldp-bp.html	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/ldp-bp.html	Sun Apr 27 11:36:35 2014 -0500
@@ -11,6 +11,7 @@
 <!--  script src='http://dev.w3.org/2009/dap/ReSpec.js/js/respec.js' class='remove'></script -->
 <script src='https://www.w3.org/Tools/respec/respec-w3c-common'
 	class='remove' async></script>
+
 <script class='remove'>
 	var respecConfig = {
 		// specification status (e.g. WD, LCWD, NOTE, etc.). If in doubt use ED.
@@ -45,7 +46,7 @@
 
 		// if you want to have extra CSS, append them to this list
 		// it is recommended that the respec.css stylesheet be kept
-		extraCSS : [ "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css" ],
+		// extraCSS : [ "http://dev.w3.org/2009/dap/ReSpec.js/css/respec.css" ],
 
 		// editors, add as many as you like
 		// only "name" is required
@@ -81,6 +82,8 @@
 		// name of the WG
 		wg : "Linked Data Platform Working Group",
 
+		wgPatentURI : 'http://www.w3.org/2004/01/pp-impl/55082/status',
+
 		// URI of the public WG page
 		wgURI : "http://www.w3.org/2012/ldp/wiki/Main_Page",
 
@@ -115,8 +118,7 @@
 			"LD-GLOSSARY" : {
 				title : "Linked Data Glossary",
 				href : "http://www.w3.org/TR/ld-glossary/",
-				authors : [ "B Hyland", "G Atemezing", "M Pendleton",
-						"B Srivastava" ],
+				authors : [ "B Hyland", "G Atemezing", "M Pendleton","B Srivastava" ],
 				//status:   "WD",
 				//deliveredBy: [
 				//     "http://www.w3.org/2012/ldp/"
@@ -125,7 +127,7 @@
 			},
 			"LDP-PRIMER" : {
 				title : "Linked Data Platforn Primer",
-				href : "https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-primer/ldp-primer.html",
+				href : "https://dvcs.w3.org/hg/ldpwg/raw-file/tip/ldp-primer/ldp-primer.html",
 				authors : [ "Nandana Mihindukulasooriya", "Roger Menday" ],
 				status : "WD",
 				deliveredBy : [ "http://www.w3.org/2012/ldp/" ],
@@ -156,6 +158,13 @@
 				title : "Linked Open Vocabularies (LOV)",
 				href : "http://lov.okfn.org/dataset/lov/",
 				publisher : "Open Knowledge Foundation (OKFN)"
+			},
+			"RDF-PRIMER11" : {
+				title : "RDF 1.1 Primer",
+				href : "http://www.w3.org/TR/2014/NOTE-rdf11-primer-20140225/",
+				editors : ["Guus Schreiber" , "Yves Raimond"],
+				status : "WG-NOTE",
+				publisher : "W3C"
 			}
 		}
 
@@ -189,9 +198,13 @@
 
 
 	<section id='abstract'>This document provides best practices
-		and general guidelines for implementing Linked Data Platform servers
+		and guidelines for implementing Linked Data Platform servers
 		and clients.</section>
 
+	<section id='sotd'>
+		
+	</section>
+
 
 	<section id="intro">
 
@@ -222,8 +235,8 @@
 
 			<p>For the purposes of this document, it is useful to
 				make a minor, yet important distinction between the term 'best
-				practice' and the term 'guideline'. For the purposes of this
-				document, we define and differentiate the terms as follows:</p>
+				practice' and the term 'guideline'. We define and differentiate 
+				the terms as follows:</p>
 
 			<dl>
 				<dt>best practice</dt>
@@ -231,7 +244,7 @@
 					consistently shown results superior to those achieved with other
 					means and that is used as a benchmark. Best practices within this
 					document apply specifically to the ways that LDP servers and
-					clients are implemented as well as how certain resources should are
+					clients are implemented as well as how certain resources are
 					prepared and used with them. In this document, the best practices
 					might be used as a kind of check-list against which an implementer
 					can directly evaluate a system's design and code. Lack of adherence
@@ -266,13 +279,13 @@
 			</p>
 
 			<ul>
-				<li><strong>RDF Vocabulary Description Language 1.0:
-						RDF Schema</strong> [[RDF-SCHEMA]] - The Resource Description Framework
+				<li><strong>RDF Vocabulary Description Language 1.0: RDF Schema</strong> 
+					[[RDF-SCHEMA]] - The Resource Description Framework
 					(RDF) is a general-purpose language for representing information in
 					the Web and it is the defacto language for expressing Linked Data.
 					This specification describes how to use RDF to describe RDF
 					vocabularies.</li>
-				<li><strong>RDF Primer</strong> - This Primer is designed to
+				<li><strong>RDF Primer 1.1</strong> [[RDF-PRIMER11]] - This Primer is designed to
 					provide the reader with the basic knowledge required to effectively
 					use RDF. It introduces the basic concepts of RDF and describes its
 					XML syntax. It describes how to define RDF vocabularies using the
@@ -313,7 +326,6 @@
 					describe their state using RDF.</li>
 			</ul>
 
-
 		</section>
 
 	</section>
@@ -338,7 +350,7 @@
 				(&quot;dereferenced&quot;). This important principle was originally
 				outlined by Tim Berners-Lee as rule #2 of &quot;the four rules&quot;
 				for linking data [[LD-DI]]]. It is therefore ideal that predicate
-				URIs identify LDPRs with representations that are retrievable. LDP
+				URIs identify resources with representations that are retrievable. LDP
 				servers should at least provide [[RDF-SCHEMA]] representations of
 				these predicates where possible.</p>
 
@@ -379,6 +391,9 @@
 				class='example' data-include='include-rdf-type.ttl'
 				data-oninclude='fixCode'></pre>
 
+			<p>The token 'a' in the predicate position of a Turtle triple represents the IRI http://www.w3.org/1999/02/22-rdf-syntax-ns#type. 
+			In the example above, therefore, <code>a contact:Person</code> is the same as <code>rdf:type contact:Person</code> or the fully-qualified form, <code>&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; contact:Person</code>.</p>
+
 		</section>
 
 		<section>
@@ -458,6 +473,21 @@
 		</section>
 
 		<section>
+			<h3>Avoid dot-segments in URIs of POSTed content or use with caution</h3>
+
+			<p>The semantics of dot-segments (eg. <code>../</code>) within relative URIs may be implied by other 
+			specifications and by common historical use, but in the case of LDP, additional consideration is required.</p>
+
+			<p>The LDP specification states that... <blockquote>LDP servers MUST assign the default base-URI for [[RFC3987]] relative-URI resolution 
+			to be the HTTP Request-URI when the resource already exists, and to the URI of the created resource when the request results in the creation 
+			of a new resource.</blockquote> It follows from this definition that use of <code>../</code> and other non-null relative URI constructs during 
+			POST can cause the posted content to be referring to resources in a manner the client might not be able to predict. 
+			Dot-segments should therefore be avoided unless the client knows specifically what can be expected of the given implementation 
+			and/or deployment.</p>
+		</section>
+
+
+		<section>
 
 			<h3>Represent container membership with hierarchical URIs</h3>
 
@@ -639,7 +669,7 @@
 			<p>LDPR representations should use only the following standard
 				datatypes. RDF does not by itself define datatypes to be used for
 				literal property values, therefore a set of standard datatypes based
-				on [[XMLSCHEMA11-2]] and [[RDF-PRIMER]] should be used:</p>
+				on [[XMLSCHEMA11-2]] and [[RDF-PRIMER11]] should be used:</p>
 
 			<table class="simple">
 				<thead>
@@ -937,26 +967,12 @@
 
 		<section>
 
-			<h3>Containers are not limited to same-subject, same-predicate
-				triples</h3>
-
-			<p>
-				The LDP specification defines a Container as &quot;a Linked Data
-				Platform Resource (LDPR) representing a collection of same-subject,
-				same-predicate triples.&quot; This can easily be misconstrued to
-				mean that a Container should <em>only</em> contain same-subject,
-				same-predicate triples. While Containers <em>may</em> contain only
-				same-subject, same-predicate triples (i.e. the membership subjects
-				and membership predicates of its membership triples), it is free to
-				contain others. The definition is meant to clarify only those
-				attributes that are directly relavant to the interaction model of a
-				Container, but not to limit them to those attributes alone.
-			</p>
+			<h3>Containers are not limited to membership and containment triples</h3>
 
 			<p>It is important to remember that a Linked Data Platform
 				Container (LDPC) is also a Linked Data Platform Resource (LDPR) and
-				though it might exist as a membership controller, it may also
-				represent additional data that is valuable to the agents that access
+				though it might exist as a membership controller, it may also represent 
+				additional data that is valuable to the agents that access
 				it.</p>
 
 		</section>
@@ -967,11 +983,10 @@
 			<p>Following are some useful resources for finding and leveraging
 				pre-existing, common, and well-established vocabularies.</p>
 
-			<p style="clear: both">
-				<img src="lov-thumb.jpg" width="150"
-					style="float: left; margin: 0 20px 20px 0"> <a
-					href="http://lov.okfn.org" target="_blank">Linked Open
-					Vocabularies (LOV)</a><br /> LOV is an entry point to the growing
+
+			<ul>
+				<li><strong>Linked Open Vocabularies (LOV)</strong> 
+					[[LOV]] - an entry point to the growing
 				ecosystem of linked open vocabularies (RDFS or OWL ontologies) used
 				in the Linked Data Cloud. Users can find vocabularies listed and
 				individually described by metadata, classified by vocabulary spaces,
@@ -980,17 +995,9 @@
 				element level, exploring the vocabulary content using full-text
 				faceted search, and finding metrics about the use of vocabularies in
 				the Semantic Web. Users can also suggest a new vocabulary to add to
-				LOV. [[LOV]]
-			</p>
-
-			<p style="clear: both">
-				<img src="lodCommonVocabs-thumb.jpg" width="150"
-					style="float: left; margin: 0 20px 20px 0"> <a
-					href="http://www.w3.org/wiki/TaskForces/CommunityProjects/LinkingOpenData/CommonVocabularies"
-					target="_blank">Common Vocabularies / Ontologies / Micromodels</a><br />
-				A wiki list maintained by the Linked Data LOD community project.
-				[[LOD-COMMON-VOCABS]]
-			</p>
+				LOV. [[LOV]]</li>
+				<li><strong>Common Vocabularies / Ontologies / Micromodels</strong> [[LOD-COMMON-VOCABS]] - a wiki list maintained by the Linked Data LOD community project.</li>
+			</ul>
 
 			<div style="clear: both"></div>
 
Binary file ldp-bp/lodCommonVocabs-thumb.jpg has changed
Binary file ldp-bp/lov-thumb.jpg has changed
--- a/ldp-bp/rdf-absolute-uris.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/rdf-absolute-uris.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -3,9 +3,9 @@
 @prefix ldp: <http://www.w3.org/ns/ldp#>.
 
 <http://example.org/container1/>
-   a ldp:Container;
+   a ldp:BasicContainer;
    dcterms:title "A very simple container";
-   rdfs:member
+   ldp:contains
       <http://example.org/container1/member1>,
       <http://example.org/container1/member2>,
       <http://example.org/container1/member3>.
\ No newline at end of file
--- a/ldp-bp/rdf-relative-uris.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/rdf-relative-uris.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -2,6 +2,6 @@
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
 @prefix ldp: <http://www.w3.org/ns/ldp#>.
 
-<> a ldp:Container;
+<> a ldp:BasicContainer;
    dcterms:title "A very simple container";
-   rdfs:member <member1>, <member2>, <member3> .
+   ldp:contains <member1>, <member2>, <member3> .
--- a/ldp-bp/trailing-slash-1.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/trailing-slash-1.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -3,9 +3,9 @@
 @prefix ldp: <http://www.w3.org/ns/ldp#>.
 
 <http://example.org/container1>
-   a ldp:Container;
+   a ldp:BasicContainer;
    dcterms:title "A very simple container";
-   rdfs:member
+   ldp:contains
       <http://example.org/container1/member1>,
       <http://example.org/container1/member2>,
       <http://example.org/container1/member3>.
\ No newline at end of file
--- a/ldp-bp/trailing-slash-2.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/trailing-slash-2.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -2,6 +2,6 @@
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
 @prefix ldp: <http://www.w3.org/ns/ldp#>.
 
-<> a ldp:Container;
+<> a ldp:BasicContainer;
  dcterms:title "A very simple container";
- rdfs:member <member1>, <member2>, <member3> .
\ No newline at end of file
+ ldp:contains <member1>, <member2>, <member3> .
\ No newline at end of file
--- a/ldp-bp/trailing-slash-3.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/trailing-slash-3.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -3,9 +3,9 @@
 @prefix ldp: <http://www.w3.org/ns/ldp#>.
 
 <http://example.org/container1>
-   a ldp:Container;
+   a ldp:BasicContainer;
    dcterms:title "A very simple container";
-   rdfs:member
+   ldp:contains
       <http://example.org/member1>,
       <http://example.org/member2>,
       <http://example.org/member3>.
\ No newline at end of file
--- a/ldp-bp/trailing-slash-4.ttl	Thu Apr 24 18:17:42 2014 +0200
+++ b/ldp-bp/trailing-slash-4.ttl	Sun Apr 27 11:36:35 2014 -0500
@@ -2,6 +2,6 @@
 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
 @prefix ldp: <http://www.w3.org/ns/ldp#>.
 
-<> a ldp:Container;
+<> a ldp:BasicContainer;
  dcterms:title "A very simple container";
- rdfs:member <container1/member1>, <container1/member2>, <container1/member3> .
\ No newline at end of file
+ ldp:contains <container1/member1>, <container1/member2>, <container1/member3> .
\ No newline at end of file