Skip to content

Commit 9da6ca6

Browse files
arnoweissjimmarinojuliapampus
authored
chore: explain endpointType (#185)
* chore: explain endpointType * chore: refactor profile definition * fix: wording Co-authored-by: Jim Marino <[email protected]> * Update specifications/common/terminology.md --------- Co-authored-by: Jim Marino <[email protected]> Co-authored-by: Julia Pampus <[email protected]>
1 parent e43bf43 commit 9da6ca6

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

specifications/common/introduction.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This specification builds on protocols located in the [ISO OSI model (ISO/IEC 74
66

77
_Note: This specification does not cover the data transfer as such. While this is controlled by the [=Transfer Process Protocol=], e.g., the initiation of the transfer channels or their decomissioning, the data transfer itself and especially the handling of technical exceptions is an obligation to the transport protocol._
88

9-
The classes and definitions used in this specification are reused from different standards and specifications as much as possible, in particular, DCAT [[?vocab-dcat-3]] and ODRL [[?odrl-model]]. As, however, the external definitions allow different interpretations or provide more attributes than required, this specification is leveraging _profiles_ of the original definitions rather than the complete original expressiveness. A _profile_ in this sense is a restriction or subset of an external definition, enforcing that every occurrence of an externally defined class is always conformant with the original definition. However, not every standard-compliant class might be compliant to the [=Dataspace=] profile. The profiles are not separate artifacts but implicitly contained in the JSON schemas for the [=Message Types=] of this specification.
9+
The classes and definitions used in this specification are reused from different standards and specifications as much as possible, in particular, DCAT [[?vocab-dcat-3]] and ODRL [[?odrl-model]]. As, however, the external definitions allow different interpretations or provide more attributes than required, this specification is leveraging [=Profiles=] of the original definitions rather than the complete original expressiveness. However, not every standard-compliant class might be compliant to the [=Dataspace=] [=Profile=]. They are not separate artifacts but implicitly contained in the JSON schemas for the [=Message Types=] of this specification.
1010

1111
This specification is organized into the following documents:
1212

specifications/common/terminology.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ A technology system that performs operations and interactions in a [=Dataspace=]
7474

7575
A set of rules, duties, and obligations that define the terms of use for a [=Dataset=].
7676

77+
<dfn>Profile</dfn>
78+
79+
A restriction or subset of a specification that enforces every occurrence of an externally defined class to be conformant with the original definition.
80+
7781
<dfn>Provider</dfn>
7882

7983
A [=Participant=] that offers a [=Dataset=].

specifications/transfer/transfer.process.protocol.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,12 @@ The Transfer Request Message is sent by a [=Consumer=] to initiate a TP.
101101
- The `dct:format` property is a format specified by a `Distribution` for the [=Dataset=] associated with
102102
the [=Agreement=]. This is generally obtained from the [=Provider=]'s [=Catalog=].
103103
- The `dataAddress` property must only be provided if the `dct:format` requires a push transfer.
104-
- The `dataAddress` contains a transport-specific endpoint address for pushing the data. It may include a temporary
105-
authorization via the `endpointProperties` property.
104+
- The `dataAddress` contains a transport-specific set of properties for pushing the data. It may include an `endpoint`,
105+
a temporary authorization via the `endpointProperties` property - depending on the `endpointType`.
106106
- `callbackAddress` is a URI indicating where messages to the [=Consumer=] should be sent. If the address is not
107107
understood, the [=Provider=] MUST return an UNRECOVERABLE error.
108108

109-
- The `endpointProperties` may contain the following optional values:
109+
- The `endpointProperties` may (among others) contain the following optional values:
110110
- `authorization` - An opaque authorization token that clients must present when accessing the transport-specific
111111
endpoint address.
112112
- `authType` - The auth token type. For example, the value may be `bearer`. If present, this value may be used in
@@ -137,13 +137,13 @@ again, the [=Provider=] should respond with an appropriate [Transfer Start Messa
137137
The Transfer Start Message is sent by the [=Provider=] to indicate the data transfer has been initiated.
138138

139139
- The `dataAddress` is only provided if the current transfer is a pull transfer and contains a transport-specific
140-
endpoint address for obtaining the data. It may include a temporary authorization via the `endpointProperties`
141-
property.
142-
- The `endpointProperties` may contain the following optional values:
143-
- `authorization` - An opaque authorization token that clients must present when accessing the transport-specific
144-
endpoint address.
145-
- `authType` - The auth token type. For example, the value may be `bearer`. If present, this value may be used in
146-
conjunction with transport rules to define how the client must present an authorization token.
140+
endpoint address for obtaining the data. The kind of transport is signaled by the `endpointType` property which
141+
determines a set of required `endpointProperties` in a [=Profile=] separate from this specification.
142+
- The `endpointProperties` may (among others) contain the following optional values:
143+
- `authorization` - An opaque authorization token that clients must present when accessing the transport-specific
144+
endpoint address.
145+
- `authType` - The auth token type. For example, the value may be `bearer`. If present, this value may be used in
146+
conjunction with transport rules to define how the client must present an authorization token.
147147

148148
### Transfer Suspension Message
149149

0 commit comments

Comments
 (0)