Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 0-introduction.md #98

Merged
merged 1 commit into from
Nov 29, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions specs/0-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<img src="https://docs.google.com/drawings/d/e/2PACX-1vTTCjBkBum1J4xgbg0oZJaD_H05dpZxhL6jrp1yzqoIsYw5EOa-7D24No_rfEyTipq1rLb-_tPTEYV0/pub?w=1093&amp;h=546" alt="An overview of the TREE specification with the TREE collection, a reference to the first focus node of its members, and the relations to other nodes from the current node."/>

The TREE specification introduces these core concepts:
* a <code>tree:Collection</code> is a subclass of <code>dcat:Dataset</code>. The specialization is that it is a collection of members that MAY adhere to a certain shape. It typically has these properties when described in a node:
* a <code>tree:Collection</code> is a subclass of <code>dcat:Dataset</code> ([[!DCAT]]). The specialization being that it is a DCAT dataset a collection of members. It typically has these properties when described in a node:
- <code>tree:member</code> points at the first focus node from which to retrieve and extract all quads of a member.
- <code>tree:view</code> points to a <code>tree:Node</code> from which all members can be reached.
- <code>tree:shape</code> indicates the [[!SHACL]] shape to which each member in the collection adheres.
Expand Down Expand Up @@ -162,4 +162,4 @@ In that case, the SHACL shape MUST be processed towards a Shape Template as foll
- <code>sh:and</code>: all properties on that shape template MUST be merged with the current shape template
- <code>sh:xone</code> and <code>sh:or</code>: in both cases, at least one item must match at least one quad for all required paths. If not, it will do an HTTP request to the current namednode.

Note: The way we process SHACL shapes into Shape Template is important to understand in order to know when an HTTP request will be triggered when designing SHACL shapes. A cardinality constraint not being exactly matched or a <code>sh:pattern</code> not being respected will not trigger an HTTP request, and instead just add the invalid quads to the Member. This is a design choice: we only define triggers for HTTP request from the SHACL shape to come to a complete set of quads describing the member the data publisher pointed at using <code>tree:member</code>.
Note: The way we process SHACL shapes into Shape Template is important to understand in order to know when an HTTP request will be triggered when designing SHACL shapes. A cardinality constraint not being exactly matched or a <code>sh:pattern</code> not being respected will not trigger an HTTP request, and instead just add the invalid quads to the Member. This is a design choice: we only define triggers for HTTP request from the SHACL shape to come to a complete set of quads describing the member the data publisher pointed at using <code>tree:member</code>.
Loading