From 90bdac8ba3721dcf722ebef8ce617df553268592 Mon Sep 17 00:00:00 2001 From: Pieter Colpaert Date: Mon, 2 Sep 2024 08:58:11 +0200 Subject: [PATCH] Remove SearchTree from the main spec --- 01-tree-specification.bs | 30 ++++++++++++++++++++++++------ vocabulary.md | 20 -------------------- 2 files changed, 24 insertions(+), 26 deletions(-) diff --git a/01-tree-specification.bs b/01-tree-specification.bs index 4d158d7..891ab14 100644 --- a/01-tree-specification.bs +++ b/01-tree-specification.bs @@ -27,13 +27,12 @@ The TREE specification introduces these core concepts: * a tree:Node: is a page in the search tree - `tree:relation` points at relations to other node - a tree:search describes a search form that allows an agent to jump to a specific tree:Node in the (sub)tree from here. - - tree:viewDescription links a description of (such as a tree:SearchTree, a `dcat:Distribution`, a `dcat:DataService`) + - tree:viewDescription links to a description (MAY be partial and MAY be shared with other trees) of this view that is important to take into account for the current traversal algorithm (such as a `dcat:Distribution` or a `dcat:DataService`) * a tree:Relation is a relation from one node to another. An extension of this class indicates a specific type of relation (e.g., a tree:GreaterThanRelation). A relation typically has these properties: - a tree:node the URL of the other node - a tree:path indicating to which of the members' properties this relation applies - a tree:value indicating a value constraint on the members' values - a tree:remainingItems defining how many members can be reached when following this relation - * a tree:SearchTree is this collection of nodes. The SearchTree can be double typed with the root `tree:Node`, but can also be linked through the property `tree:viewDescription`. A simple collection can be created as illustrated in the following example: @@ -55,7 +54,7 @@ A simple collection can be created as illustrated in the following example: From the moment this collection of members grows too large for one page, -a pagination needs to be created in which an initial set of members can be found through the rootnode, +a pagination needs to be created in which an initial set of members can be found through the first `tree:Node`, and more members can be found by interpreting the TREE hypermedia controls. This is illustrated in the next example: @@ -75,7 +74,7 @@ This is illustrated in the next example: tree:value 3; tree:path ex:value . - ex:R1 a tree:LessThanRelation ; # This is very useful for a client that is looking for a value 10 or greater + ex:R1 a tree:LessThanRelation ; # This is useful for a client that is looking for a value 10 or greater tree:node ex:Node3 ; tree:value 10; tree:remainingItems 7 ; @@ -97,6 +96,25 @@ This is illustrated in the next example: ``` +# Definitions # {#formalizations} + +A tree:Collection is a set of tree:Members. +The set of members MAY be empty. + +A tree:Member is a set of (at least one) quad(s) defined by the member extraction algorithm (see further). + +A tree:Node is a dereferenceable resource containing 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. + +A tree:Relation is a function denoting a conditional link to another tree:Node. + +A tree:Node is part of a search tree, and apart from the root node, it has exactly one other tree:Node of the search tree linking into it through one or more relations. + +A tree:search form is an IRI template, that when filled out with the right parameters becomes a tree:Node IRI, or when dereferenced will redirect to a tree:Node from which all members in the collection that adhere to the described comparator can be found. + +A search tree is a set of interlinked tree:Nodes. +It will adhere to a certain growth or tree balancing strategy. +In one tree, completeness MUST be guaranteed, unless indicated otherwise using a retention policy (as is possible in LDES). + # Initialization # {#init} A client SHOULD be initiated using a URL. @@ -108,7 +126,7 @@ Note: Dereferencing in this specification also means parsing the RDF triples or If there is no such triple, then the client MUST check whether the URL before redirects (`E`) has been used in a pattern ` tree:view ?N.` where there’s exactly one `?N`, then the algorithm MUST return `?N` as the rootnode and `E` as the collection. The client then MUST dereference the identified rootnode (if it did not do that already) and merge those quads with the already found quads. -It now MUST look for a potential search forms that MAY be linked, either i) on top of the rootnode, either ii) on top of the entity linked through `tree:viewDescription`, or iii) on the `tree:SearchTree` using `tree:search`. +It now MUST look for a potential search forms that MAY be linked, either i) on top of the rootnode, or ii) on top of the entity linked through `tree:viewDescription`, using `tree:search`. The resulting collection IRI `C`, the rootnode IRI `R`, list of already visited pages `H` (and optionally their time to live), current quads `Q` and search forms `S`. @@ -228,7 +246,7 @@ All properties expect positive integers. ```turtle a tree:Collection ; dcterms:title "A prototype tree:Collection for Linked OpenStreetMap’s roads"@en . - a tree:SearchTree ; + a tree:Node ; tree:search [ a hydra:IriTemplate ; diff --git a/vocabulary.md b/vocabulary.md index b129556..5fcb739 100644 --- a/vocabulary.md +++ b/vocabulary.md @@ -1,19 +1,3 @@ -# Definitions # {#formalizations} - -A tree:Collection is a set of tree:Members. The set of members MAY be empty. - -A tree:Member is a set of (at least one) quad(s) defined by the member extraction algorithm (next subsection). - -A tree:Node is a dereferenceable resource containing 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. - -A tree:Relation is a function denoting a conditional link to another tree:Node. - -A tree:Node, apart from the root node, has exactly one other tree:Node linking into it through one or more relations. - -A SearchTree is a specific set of interlinked tree:Nodes, that together contain all members in a collection. A specific view will adhere to a certain growth or tree balancing strategy. In one SearchTree, completeness MUST be guaranteed, unless the SearchTree has a retention policy cfr. LDES. - -A tree:search form is an IRI template, that when filled out with the right parameters becomes a tree:Node IRI, or when dereferenced will redirect to a tree:Node from which all members in the collection that adhere to the described comparator can be found. - # Vocabulary # {#vocabulary} **Namespace**: https://w3id.org/tree# @@ -38,10 +22,6 @@ A collection has members that may adhere to a certain shape. A tree:Node is a node that may contain links to other dereferenceable resources that lead to a full overview of a tree:Collection. -### tree:RootNode ### {#RootNode} - -### tree:SearchTree ### {#SearchTree} - ### tree:Relation ### {#Relation} An entity that describes a relation between two tree:Nodes.