From 111e97d054b417c3c27df1ecdacaaade89adf12d Mon Sep 17 00:00:00 2001 From: ajuvercr Date: Wed, 24 Jan 2024 13:48:56 +0100 Subject: [PATCH 1/2] add redirect note --- specs/0-introduction.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/specs/0-introduction.md b/specs/0-introduction.md index d88dd5e..fb19c6a 100644 --- a/specs/0-introduction.md +++ b/specs/0-introduction.md @@ -94,6 +94,8 @@ A tree:Member is a set of (at least one) quad(s) defined by the mem A tree:Node is a dereferenceable resource of tree:Relations and a subset of () members of the collection. In a tree:Node, both the set of tree:Relations as the subset of members MAY be empty. The same member MAY be contained in multiple nodes. +Note: When dereferncing the same tree:Node the second resources MUST contain at least all relations present in the first resource. This means that fragments cannot change their identifier, their location in the tree. When a dynamic identifier is wanted (e.g. pointing to the latest resource), the server SHOULD answer with 302 Found, pointing to the concrete resource. All clients should only interpret relations starting from the resulting URL, after potential redirects. + A tree:Relation is a function denoting a conditional link to another tree:Node. Note: The condition of multiple tree:Relations to the same tree:Node MUST be combined with a logical AND. From fac0c362a8b9a74a3016851e6b9f446f3a58b0ec Mon Sep 17 00:00:00 2001 From: Pieter Colpaert Date: Tue, 2 Apr 2024 11:36:43 +0200 Subject: [PATCH 2/2] Changed the text for redirection into text when traversing --- specs/0-introduction.md | 2 -- specs/2-traversing.md | 4 ++++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/specs/0-introduction.md b/specs/0-introduction.md index fb19c6a..d88dd5e 100644 --- a/specs/0-introduction.md +++ b/specs/0-introduction.md @@ -94,8 +94,6 @@ A tree:Member is a set of (at least one) quad(s) defined by the mem A tree:Node is a dereferenceable resource of tree:Relations and a subset of () members of the collection. In a tree:Node, both the set of tree:Relations as the subset of members MAY be empty. The same member MAY be contained in multiple nodes. -Note: When dereferncing the same tree:Node the second resources MUST contain at least all relations present in the first resource. This means that fragments cannot change their identifier, their location in the tree. When a dynamic identifier is wanted (e.g. pointing to the latest resource), the server SHOULD answer with 302 Found, pointing to the concrete resource. All clients should only interpret relations starting from the resulting URL, after potential redirects. - A tree:Relation is a function denoting a conditional link to another tree:Node. Note: The condition of multiple tree:Relations to the same tree:Node MUST be combined with a logical AND. diff --git a/specs/2-traversing.md b/specs/2-traversing.md index f6fd977..a2b0024 100644 --- a/specs/2-traversing.md +++ b/specs/2-traversing.md @@ -19,6 +19,10 @@ A tree:import MAY be defined in the tree:Relation inst Note: An example of a tree:import is given [in the repository](https://github.com/TREEcg/specification/blob/master/examples/geospatially-ordered-public-transport/first.ttl#L27). +When dereferencing the object of a tree:node triple, the client MUST follow redirects. The URL to be used as the tree:Node URL is the last URL after redirects. + +Note: This enables rebalancing search trees. + ## Fallbacks ## {#fallbacks} When there are no tree:members and/or no tree:Collection defined, then still a tree:Relation can be defined. The tree:path in the tree:Relation then refers to a pattern that can start from every triple in the page.