Solid Protocol
-Editor’s Draft, 2021-12-14
+Editor’s Draft, 2021-12-15
- This version @@ -192,7 +192,7 @@
- Modified - +
- data pod @@ -371,6 +371,9 @@
- root container
- A root container is a container resource that is at the highest level of the collection hierarchy. +
- 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]. @@ -430,6 +433,16 @@
rdf:type
+ - A class whose URI is the expansion of the URI Template [RFC6570]
http://www.w3.org/ns/iana/media-types/{+iana-media-type}#Resource
, whereiana-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
+ - The date and time when the resource was last modified. +
stat:mtime
+ - The Unix time when the resource was last modified. +
- [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] @@ -1080,6 +1144,7 @@
- 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]
Editor’s Draft, 2021-12-14
-
@@ -350,7 +350,7 @@
Terminology
The Solid Protocol specification defines the following terms. These terms are referenced throughout this specification.
- +Terminology
Namespaces
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]
+ +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 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
+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 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:
+ +-
+
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
+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.
+Contained resource metadata is protected by the server.
+ + +Writing Resources
Servers MUST NOT allow HTTP PUT
or PATCH
on a container to update its 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 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
References
Normative References
-
+