From f07d1eeb410c630bdc5e791c735f3fec4a967e14 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 17 Nov 2021 14:53:16 +0100 Subject: [PATCH 01/23] Add dc-terms iana-media-types to References --- protocol.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/protocol.html b/protocol.html index 19b61453..a456db00 100644 --- a/protocol.html +++ b/protocol.html @@ -1052,8 +1052,12 @@

References

Normative References

+
[DC-TERMS]
+
Dublin Core Metadata Terms, version 1.1. DCMI Usage Board. DCMI. 11 October 2010. DCMI Recommendation. URL: http://dublincore.org/documents/2010/10/11/dcmi-terms/
[FETCH]
Fetch Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://fetch.spec.whatwg.org/
+
[IANA-MEDIA-TYPES]
+
Media Types. IANA. URL: https://www.iana.org/assignments/media-types/
[JSON-LD11]
JSON-LD 1.1. Gregg Kellogg; Pierre-Antoine Champin; Dave Longley. W3C. 16 July 2020. W3C Recommendation. URL: https://www.w3.org/TR/json-ld11/
[LDN]
From de6eb1cb2d378554d71d31ebe025cf5dd86262d7 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 17 Nov 2021 14:53:56 +0100 Subject: [PATCH 02/23] Add definition for authoritative-information --- protocol.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index a456db00..af14d44c 100644 --- a/protocol.html +++ b/protocol.html @@ -348,7 +348,7 @@

Terminology

The Solid Protocol specification defines the following terms. These terms are referenced throughout this specification.

- +
data pod
@@ -369,6 +369,9 @@

Terminology

root container
A root container is a container resource that is at the highest level of the collection hierarchy.
+
authoritative information
+
Authoritative information encompasses data about resources described by means of RDF statements [RDF11-CONCEPTS] supplied by clients, servers, and intermediaries
+
agent
An agent is a person, social entity, or software identified by a URI; e.g., a WebID denotes an agent [WEBID].
From 0d102994caaac1fb82f54b3be497f9ec855089b2 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 17 Nov 2021 14:54:19 +0100 Subject: [PATCH 03/23] Add dcterms and stat to namespaces --- protocol.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/protocol.html b/protocol.html index af14d44c..be95cae6 100644 --- a/protocol.html +++ b/protocol.html @@ -431,6 +431,16 @@

Namespaces

http://www.w3.org/ns/auth/acl# ACL Ontology + + dcterms + http://purl.org/dc/terms/ + [DC-TERMS] + + + stat + http://www.w3.org/ns/posix/stat + POSIX File Status +
From 2e70f8fdc31040e812560ba6bbdf1a7cb524cc72 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 17 Nov 2021 14:57:41 +0100 Subject: [PATCH 04/23] Add section on Authoritative Resource Data --- protocol.html | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/protocol.html b/protocol.html index be95cae6..7849975f 100644 --- a/protocol.html +++ b/protocol.html @@ -572,6 +572,40 @@

Resource Containment

There is a 1-1 correspondence between containment triples and relative reference within the path name hierarchy. [Source]. It follows that all resources are discoverable from a container and that it is not possible to create orphan resources. [Source]

The representation and behaviour of containers in Solid corresponds to LDP Basic Container and MUST be supported by server. [Source]

+ +
+

Authoritative Resource Data

+
+

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include authoritative information about contained resources as part of the container description.

+ +

Servers MUST include the following information about contained resources as part of the container description, unless that information does not exist or is expensive to determine:

+ +
+
rdf:type
+
A class whose URI formed by concatenating http://www.w3.org/ns/iana/media-types/, the IANA Media Type [IANA-MEDIA-TYPES] of the resource, and #Resource.
+
stat:size
+
A non-negative integer giving the size of the resource in bytes.
+
dcterms:modified
+
The time when the resource was last modified.
+
stat:mtime
+
The Unix time when the resource was last modified.
+
+ +
+
Note: Authoritative Resource Data Logically Part of Container Description
+
+

Authoritative data about contained resources is logically part of the container. Servers are encouraged to consider omitting authoritative data about a contained resource when agent is unauthorized to read the contained resource.

+
+
+ +

When the state of a contained resource changes, the servers MUST NOT expose any authoritative information that has a cascading potential to its immediate container.

+ +

Authoritative data about contained resources is protected by the server.

+ +

[Source] + [Source]

+
+
@@ -721,6 +755,8 @@

Writing Resources

Servers MUST NOT allow HTTP POST, PUT and PATCH to update a container’s containment triples; if the server receives such a request, it MUST respond with a 409 status code. [Source]

+

Servers MUST NOT allow HTTP POST, PUT and PATCH to update the authoritative resource data; if the server receives such a request, it MUST respond with a 409 status code. [Source]

+

Note: Conditional Update

From 294245ea01e8b4e3aa2e09bce48c5028507e1d49 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 23 Nov 2021 09:47:08 +0100 Subject: [PATCH 05/23] Add reference to RFC 6570 --- protocol.html | 1 + 1 file changed, 1 insertion(+) diff --git a/protocol.html b/protocol.html index 7849975f..e2612817 100644 --- a/protocol.html +++ b/protocol.html @@ -1131,6 +1131,7 @@

Normative References

The Web Origin Concept. A. Barth. IETF. December 2011. Proposed Standard. URL: https://datatracker.ietf.org/doc/html/rfc6454
[RFC6455]
The WebSocket Protocol. I. Fette; A. Melnikov. IETF. December 2011. Proposed Standard. URL: https://datatracker.ietf.org/doc/html/rfc6455
+
[RFC6570]
URI Template. J. Gregorio; R. Fielding; M. Hadley; M. Nottingham; D. Orchard. IETF. March 2012. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc6570
[RFC6892]
The 'describes' Link Relation Type. E. Wilde. IETF. March 2013. Informational. URL: https://datatracker.ietf.org/doc/html/rfc6892
[RFC7230]
From 5ea32a4e440eb952b9e11ec0ec97cc27c4ca843e Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 23 Nov 2021 09:49:00 +0100 Subject: [PATCH 06/23] Update authoritative resource type. Refer to RFC 6570 --- protocol.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protocol.html b/protocol.html index e2612817..06fdc1fd 100644 --- a/protocol.html +++ b/protocol.html @@ -580,9 +580,9 @@

Authoritative Resource Data

Servers MUST include the following information about contained resources as part of the container description, unless that information does not exist or is expensive to determine:

-
+
rdf:type
-
A class whose URI formed by concatenating http://www.w3.org/ns/iana/media-types/, the IANA Media Type [IANA-MEDIA-TYPES] of the resource, and #Resource.
+
A class whose URI is based on the URI Template [RFC6570] syntax: http://www.w3.org/ns/iana/media-types/{iana-media-type}#Resource, where iana-media-type expands to a value that is part of IANA Media Types [IANA-MEDIA-TYPES].
stat:size
A non-negative integer giving the size of the resource in bytes.
dcterms:modified
From 630861cba73ad0190c36ffe055d7f8f60fdc8dfa Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 23 Nov 2021 09:49:30 +0100 Subject: [PATCH 07/23] Minor --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 06fdc1fd..e2098d9d 100644 --- a/protocol.html +++ b/protocol.html @@ -370,7 +370,7 @@

Terminology

A root container is a container resource that is at the highest level of the collection hierarchy.
authoritative information
-
Authoritative information encompasses data about resources described by means of RDF statements [RDF11-CONCEPTS] supplied by clients, servers, and intermediaries
+
Authoritative information encompasses data about resources described by means of RDF statements [RDF11-CONCEPTS] that can be supplied by clients, servers, and intermediaries.
agent
An agent is a person, social entity, or software identified by a URI; e.g., a WebID denotes an agent [WEBID].
From c0d8d4cea9b66a2914814714b134e9b1cc6042fa Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 23 Nov 2021 09:50:40 +0100 Subject: [PATCH 08/23] Update inapplicable condition and logically-part-of note --- protocol.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protocol.html b/protocol.html index e2098d9d..027eff11 100644 --- a/protocol.html +++ b/protocol.html @@ -578,7 +578,7 @@

Authoritative Resource Data

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include authoritative information about contained resources as part of the container description.

-

Servers MUST include the following information about contained resources as part of the container description, unless that information does not exist or is expensive to determine:

+

Servers MUST include authoritative information about contained resources as part of the container description, unless that information is inapplicable to the server:

rdf:type
@@ -594,7 +594,7 @@

Authoritative Resource Data

Note: Authoritative Resource Data Logically Part of Container Description
-

Authoritative data about contained resources is logically part of the container. Servers are encouraged to consider omitting authoritative data about a contained resource when agent is unauthorized to read the contained resource.

+

Authoritative data about contained resources is logically part of the container description. The generation of authoritative data about contained resources may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine. Servers are encouraged to consider omitting authoritative data about a contained resource when an agent is unauthorized to read the contained resource.

From 91a77cbd08652f3717d7894ee3ffef0397c27b9a Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Tue, 23 Nov 2021 23:32:50 +0100 Subject: [PATCH 09/23] Minor --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 027eff11..aa5e4769 100644 --- a/protocol.html +++ b/protocol.html @@ -755,7 +755,7 @@

Writing Resources

Servers MUST NOT allow HTTP POST, PUT and PATCH to update a container’s containment triples; if the server receives such a request, it MUST respond with a 409 status code. [Source]

-

Servers MUST NOT allow HTTP POST, PUT and PATCH to update the authoritative resource data; if the server receives such a request, it MUST respond with a 409 status code. [Source]

+

Servers MUST NOT allow HTTP POST, PUT and PATCH to update the authoritative resource data; if the server receives such a request, it MUST respond with a 409 status code. [Source]

Note: Conditional Update

From f599dd5d9df818ecaa1217359c45ba66a88d5e04 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 3 Dec 2021 14:25:04 +0100 Subject: [PATCH 10/23] Update authoritative-resource-data-considerations --- protocol.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protocol.html b/protocol.html index aa5e4769..a645e790 100644 --- a/protocol.html +++ b/protocol.html @@ -591,10 +591,10 @@

Authoritative Resource Data

The Unix time when the resource was last modified.
-
-
Note: Authoritative Resource Data Logically Part of Container Description
+
+
Note: Authoritative Resource Data Considerations
-

Authoritative data about contained resources is logically part of the container description. The generation of authoritative data about contained resources may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine. Servers are encouraged to consider omitting authoritative data about a contained resource when an agent is unauthorized to read the contained resource.

+

The generation of authoritative data about contained resources may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine. Servers are encouraged to consider omitting authoritative data about a contained resource when an agent is unauthorized to read the contained resource.

From 4734bbf53e3dea52ea7d537660dacf1e7d298814 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 3 Dec 2021 17:40:26 +0100 Subject: [PATCH 11/23] Mention date as part of dcterms:modified --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index a645e790..988599f4 100644 --- a/protocol.html +++ b/protocol.html @@ -586,7 +586,7 @@

Authoritative Resource Data

stat:size
A non-negative integer giving the size of the resource in bytes.
dcterms:modified
-
The time when the resource was last modified.
+
The date and time when the resource was last modified.
stat:mtime
The Unix time when the resource was last modified.
From 98d2db4ec1d0438cd455163748df413f967cdb36 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 3 Dec 2021 18:22:35 +0100 Subject: [PATCH 12/23] Remove advisement on omitting data from unauthorized agents --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 988599f4..84a3027f 100644 --- a/protocol.html +++ b/protocol.html @@ -594,7 +594,7 @@

Authoritative Resource Data

Note: Authoritative Resource Data Considerations
-

The generation of authoritative data about contained resources may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine. Servers are encouraged to consider omitting authoritative data about a contained resource when an agent is unauthorized to read the contained resource.

+

The generation of authoritative data about contained resources may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine.

From 4eaf3456c4a8d90a2fb9fd931a8135733914da91 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 3 Dec 2021 18:51:27 +0100 Subject: [PATCH 13/23] Add determining server-container-last-modified --- protocol.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/protocol.html b/protocol.html index 84a3027f..5bb089a0 100644 --- a/protocol.html +++ b/protocol.html @@ -573,6 +573,8 @@

Resource Containment

The representation and behaviour of containers in Solid corresponds to LDP Basic Container and MUST be supported by server. [Source]

+

Servers can determine the value of the HTTP Last-Modified header field in response to HEAD and GET requests targeting a container based on modifications to the selected representation or changes to containment triples.

+

Authoritative Resource Data

From f2c8c8b82e2c40a1371f73c60671dfc612b2cbbd Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 3 Dec 2021 19:02:23 +0100 Subject: [PATCH 14/23] Remove contained-resource-state-cascading in favour of server-container-last-modified --- protocol.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/protocol.html b/protocol.html index 5bb089a0..e7374d74 100644 --- a/protocol.html +++ b/protocol.html @@ -600,8 +600,6 @@
Note: Authoritative Resource Data Consid
-

When the state of a contained resource changes, the servers MUST NOT expose any authoritative information that has a cascading potential to its immediate container.

-

Authoritative data about contained resources is protected by the server.

[Source] From 30eee02aafb2077ee48c7ddbe1c596554184f3b8 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Fri, 3 Dec 2021 20:27:51 +0100 Subject: [PATCH 15/23] Add dcterms-modified-corresponds-last-modified --- protocol.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/protocol.html b/protocol.html index e7374d74..ce6379c5 100644 --- a/protocol.html +++ b/protocol.html @@ -593,6 +593,8 @@

Authoritative Resource Data

The Unix time when the resource was last modified.
+

The dcterms:modified value of a contained resource corresponds with the Last-Modified header value of the contained resource, if one were to perform HEAD or GET requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200 status code including the Last-Modified header would indicate the same date and time.

+
Note: Authoritative Resource Data Considerations
From 1727bb80ac6e8bf026d69d16045ed217b11b6cf8 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 5 Dec 2021 16:12:35 +0100 Subject: [PATCH 16/23] Use resource-metadata instead of authoritative-information --- protocol.html | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/protocol.html b/protocol.html index ce6379c5..0311e5f2 100644 --- a/protocol.html +++ b/protocol.html @@ -348,7 +348,7 @@

Terminology

The Solid Protocol specification defines the following terms. These terms are referenced throughout this specification.

- +
data pod
@@ -369,8 +369,8 @@

Terminology

root container
A root container is a container resource that is at the highest level of the collection hierarchy.
-
authoritative information
-
Authoritative information encompasses data about resources described by means of RDF statements [RDF11-CONCEPTS] that can be supplied by clients, servers, and intermediaries.
+
resource metadata
+
Resource metadata encompasses data about resources described by means of RDF statements [RDF11-CONCEPTS].
agent
An agent is a person, social entity, or software identified by a URI; e.g., a WebID denotes an agent [WEBID].
@@ -575,14 +575,14 @@

Resource Containment

Servers can determine the value of the HTTP Last-Modified header field in response to HEAD and GET requests targeting a container based on modifications to the selected representation or changes to containment triples.

-
-

Authoritative Resource Data

+
+

Contained Resource Metadata

-

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include authoritative information about contained resources as part of the container description.

+

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include resource metadata about contained resources as part of the container description.

-

Servers MUST include authoritative information about contained resources as part of the container description, unless that information is inapplicable to the server:

+

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server:

-
+
rdf:type
A class whose URI is based on the URI Template [RFC6570] syntax: http://www.w3.org/ns/iana/media-types/{iana-media-type}#Resource, where iana-media-type expands to a value that is part of IANA Media Types [IANA-MEDIA-TYPES].
stat:size
@@ -595,17 +595,17 @@

Authoritative Resource Data

The dcterms:modified value of a contained resource corresponds with the Last-Modified header value of the contained resource, if one were to perform HEAD or GET requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200 status code including the Last-Modified header would indicate the same date and time.

-
-
Note: Authoritative Resource Data Considerations
+
+
Note: Contained Resource Metadata Considerations
-

The generation of authoritative data about contained resources may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine.

+

The generation of contained resource metadata may be inapplicable to some servers, for example, when that information does not exist or is expensive to determine.

-

Authoritative data about contained resources is protected by the server.

+

Contained resource metadata is protected by the server.

[Source] - [Source]

+ [Source] [Source]

@@ -757,7 +757,7 @@

Writing Resources

Servers MUST NOT allow HTTP POST, PUT and PATCH to update a container’s containment triples; if the server receives such a request, it MUST respond with a 409 status code. [Source]

-

Servers MUST NOT allow HTTP POST, PUT and PATCH to update the authoritative resource data; if the server receives such a request, it MUST respond with a 409 status code. [Source]

+

Servers MUST NOT allow HTTP POST, PUT and PATCH to update a container’s resource metadata statements; if the server receives such a request, it MUST respond with a 409 status code. [Source]

Note: Conditional Update

From 64d48411877bcc33e7e60c573c3e65deb649cac6 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 5 Dec 2021 17:02:43 +0100 Subject: [PATCH 17/23] Minor --- protocol.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protocol.html b/protocol.html index 0311e5f2..6b01f4c8 100644 --- a/protocol.html +++ b/protocol.html @@ -580,7 +580,7 @@

Contained Resource Metadata

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include resource metadata about contained resources as part of the container description.

-

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server:

+

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server:

rdf:type
@@ -593,7 +593,7 @@

Contained Resource Metadata

The Unix time when the resource was last modified.
-

The dcterms:modified value of a contained resource corresponds with the Last-Modified header value of the contained resource, if one were to perform HEAD or GET requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200 status code including the Last-Modified header would indicate the same date and time.

+

The dcterms:modified value of a contained resource corresponds with the Last-Modified header value of the contained resource. If one were to perform HEAD or GET requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200 status code including the Last-Modified header would indicate the same date and time.

Note: Contained Resource Metadata Considerations
@@ -602,7 +602,7 @@
Note: Contained Resource Metadata Consid
-

Contained resource metadata is protected by the server.

+

Contained resource metadata is protected by the server.

[Source] [Source] [Source]

From 0b6db97278f3b494023f8176790213484f40bb79 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 5 Dec 2021 17:38:41 +0100 Subject: [PATCH 18/23] Add contained-resource-metadata-statements as Collection --- protocol.html | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/protocol.html b/protocol.html index 6b01f4c8..f297ad58 100644 --- a/protocol.html +++ b/protocol.html @@ -580,17 +580,19 @@

Contained Resource Metadata

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include resource metadata about contained resources as part of the container description.

-

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server:

- -
-
rdf:type
-
A class whose URI is based on the URI Template [RFC6570] syntax: http://www.w3.org/ns/iana/media-types/{iana-media-type}#Resource, where iana-media-type expands to a value that is part of IANA Media Types [IANA-MEDIA-TYPES].
-
stat:size
-
A non-negative integer giving the size of the resource in bytes.
-
dcterms:modified
-
The date and time when the resource was last modified.
-
stat:mtime
-
The Unix time when the resource was last modified.
+

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server.

+ +

Contained resource metadata statements include the properties:

+ +
+
rdf:type
+
A class whose URI is based on the URI Template [RFC6570] syntax: http://www.w3.org/ns/iana/media-types/{iana-media-type}#Resource, where iana-media-type expands to a value that is part of IANA Media Types [IANA-MEDIA-TYPES].
+
stat:size
+
A non-negative integer giving the size of the resource in bytes.
+
dcterms:modified
+
The date and time when the resource was last modified.
+
stat:mtime
+
The Unix time when the resource was last modified.

The dcterms:modified value of a contained resource corresponds with the Last-Modified header value of the contained resource. If one were to perform HEAD or GET requests on the URI of the contained resource at the time of the HTTP message’s generation, then a response with the 200 status code including the Last-Modified header would indicate the same date and time.

From 64e37386b038d67d14da0cc663eb442763dd9803 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 5 Dec 2021 21:48:35 +0100 Subject: [PATCH 19/23] Update protocol.html Co-authored-by: Ruben Verborgh --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index f297ad58..c44bb8f6 100644 --- a/protocol.html +++ b/protocol.html @@ -586,7 +586,7 @@

Contained Resource Metadata

rdf:type
-
A class whose URI is based on the URI Template [RFC6570] syntax: http://www.w3.org/ns/iana/media-types/{iana-media-type}#Resource, where iana-media-type expands to a value that is part of IANA Media Types [IANA-MEDIA-TYPES].
+
A class whose URI is the expansion of the URI Template [RFC6570] http://www.w3.org/ns/iana/media-types/{+iana-media-type}#Resource, where iana-media-type corresponds to a value from the IANA Media Types [IANA-MEDIA-TYPES].
stat:size
A non-negative integer giving the size of the resource in bytes.
dcterms:modified
From a1222a201f2ab2aad30a8e14a2d30e328b297478 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Sun, 5 Dec 2021 21:52:01 +0100 Subject: [PATCH 20/23] Update protocol.html Co-authored-by: Ruben Verborgh --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index c44bb8f6..1a9ebc8a 100644 --- a/protocol.html +++ b/protocol.html @@ -578,7 +578,7 @@

Resource Containment

Contained Resource Metadata

-

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include resource metadata about contained resources as part of the container description.

+

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include resource metadata about contained resources as part of the container description, as described below.

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server.

From 746520d614e1631334879e5f55b010665d707a1f Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 15 Dec 2021 16:20:43 +0100 Subject: [PATCH 21/23] Constrain server-container-last-modified. Add container-last-modified-comparison --- protocol.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 1a9ebc8a..32a908e7 100644 --- a/protocol.html +++ b/protocol.html @@ -573,7 +573,14 @@

Resource Containment

The representation and behaviour of containers in Solid corresponds to LDP Basic Container and MUST be supported by server. [Source]

-

Servers can determine the value of the HTTP Last-Modified header field in response to HEAD and GET requests targeting a container based on modifications to the selected representation or changes to containment triples.

+

Servers can determine the value of the HTTP Last-Modified header field in response to HEAD and GET requests targeting a container based on changes to containment triples.

+ +
+

Note: Container Last-Modified Comparison

+
+

The Last-Modified of a container will not change when other parts of the container changes. This is to avoid the instant propagation of changes all the way to the root container. As Last-Modified cannot be reliably used to check whether the container representation has changed in any way. In future versions of this specification, this design may be revisited.

+
+

Contained Resource Metadata

From c33e3868f8e2fe51e1491a3a8b2fdfbab30ca5b2 Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 15 Dec 2021 16:22:06 +0100 Subject: [PATCH 22/23] Minor --- protocol.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protocol.html b/protocol.html index 32a908e7..e25dff69 100644 --- a/protocol.html +++ b/protocol.html @@ -161,7 +161,7 @@

Solid Protocol

-

Editor’s Draft, 2021-11-05

+

Editor’s Draft, 2021-12-15

This version
@@ -192,7 +192,7 @@

Editor’s Draft, 2021-11-05

Modified
-
+
@@ -578,7 +578,7 @@

Resource Containment

Note: Container Last-Modified Comparison

-

The Last-Modified of a container will not change when other parts of the container changes. This is to avoid the instant propagation of changes all the way to the root container. As Last-Modified cannot be reliably used to check whether the container representation has changed in any way. In future versions of this specification, this design may be revisited.

+

The Last-Modified of a container will not change when other parts of the container changes. This is to avoid instant propagation of changes all the way to the root container. As Last-Modified cannot be reliably used to check whether the container representation has changed in any way. In future versions of this specification, this design may be revisited.

From 29b70949f3ff3b722eda1d8d1bd1e534708f184b Mon Sep 17 00:00:00 2001 From: Sarven Capadisli Date: Wed, 15 Dec 2021 16:34:14 +0100 Subject: [PATCH 23/23] Use 'SHOULD, unless' for server-contained-resource-metadata --- protocol.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol.html b/protocol.html index 53fdc57a..ad629b10 100644 --- a/protocol.html +++ b/protocol.html @@ -589,7 +589,7 @@

Contained Resource Metadata

Container descriptions are not limited to containment triples. To further support client navigation and application interaction, servers can include resource metadata about contained resources as part of the container description, as described below.

-

Servers MUST include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server.

+

Servers SHOULD include resource metadata about contained resources as part of the container description, unless that information is inapplicable to the server.

Contained resource metadata statements include the properties: