Skip to content

Commit

Permalink
Processed comment @julianrojas87
Browse files Browse the repository at this point in the history
  • Loading branch information
pietercolpaert committed Oct 7, 2024
1 parent 076b3b1 commit 5a5cc0f
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions 03-discovery-specification.bs
Original file line number Diff line number Diff line change
Expand Up @@ -31,22 +31,22 @@ A TREE client MUST be provided with a URL to start from, which we call the _entr
# Initializing a client with a url # {#starting-from}

The goal of the client is to understand what `tree:Collection` it is using, and to find a `tree:RootNode` to start the traversal phase from.
This discovery specification extends the initialization step in the TREE specification for the cases in which multiple options are possible.
This discovery specification extends the initialization step in the TREE specification, for the cases in which multiple options are possible.

The client MUST dereference the URL, which will result in a set of quads. The client now MUST first perform the init step from the main specification.
If that did not return any result, then the client MUST check whether the URL before redirects (`E`) has been used in one of the following discovery patterns described in the subsections:
1. `E` is a `tree:Collection`: then the client needs to [select the right search tree](#tree-search-trees)
2. `E` is a `dcat:Dataset`: then the client needs to [select the right distribution or dataservice from a catalog](#dcat-dataset)
3. `E` is a `ldes:EventStream`: then the client MAY take into account [LDES specific properties](#ldes)
4. `E` is a `dcat:Distribution`: then the client needs to [process it accordingly](#dcat-distribution)
5. `E` is a `dcat:DataService`: then the client needs to [process it accordingly](#dcat-dataservice)
5. `E` is a `dcat:DataService`: then the client needs to [process it accordingly](#dcat-dataservice)
6. `E` is a catalog or is not explicitly mentioned: then it needs to select a dataset based on [shape information](#tree-collection-shapes) and [DCAT Catalog information](#dcat-catalog)

## Selecting a collection via shapes ## {#tree-collection-shapes}

When multiple collections are found by a client, it can choose to prune the collections based on the `tree:shape` property.
The `tree:shape` property will refer to a first `sh:NodeShape`.
The collection MAY be pruned in case there is no overlap in properties the client needs.
The collection MAY be pruned in case there is no overlap with the properties the client needs.

Issue: Will we document the precise algorithm to use? Should we extend shapes with cardinality approximations as well?

Expand Down

0 comments on commit 5a5cc0f

Please sign in to comment.