Skip to content

Commit

Permalink
chore: update protocol naming and version (#58)
Browse files Browse the repository at this point in the history
* fix: change protocol version from 1.0 to 0.8

* chore: set protocol name and version in README

* fix(README): resolve typos

* fix: change data connector to connector
  • Loading branch information
juliapampus authored Mar 8, 2023
1 parent c0231ff commit 91bc46d
Show file tree
Hide file tree
Showing 105 changed files with 185 additions and 185 deletions.
24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# International Dataspaces (IDS) - Version X
# Dataspace Protocol - Version 0.8

### Working Draft 1 February 2023

Expand All @@ -8,27 +8,27 @@
## Abstract

IDS is a set of specifications designed to facilitate interoperable data sharing between entities governed by usage control and based on Web technologies. These specifications
The __Dataspace Protocol__ is a set of specifications designed to facilitate interoperable data sharing between entities governed by usage control and based on Web technologies. These specifications
define the schemas and protocols required for entities to publish data, negotiate usage agreements, and access data as part of a federation of technical systems termed a
__*dataspace*__.

## Introduction

Sharing data between autonomous entities requires the provision of metadata to facilitate the transfer of assets by making use of a data transfer (or application layer) protocol.
IDS defines how this metadata is provisioned:
The __Dataspace Protocol__ defines how this metadata is provisioned:

1. How data assets are deployed as [DCAT Catalogs](https://www.w3.org/TR/vocab-dcat-3/) and usage control is expressed as [ODRL Policies](https://www.w3.org/TR/odrl-model/).
2. How contract agreements that govern data usage are syntactically expressed and electronically negotiated.
3. How data assets are accessed using data transfer protocols.

These specifications build on protocols located in the [ISO OSI model (ISO/IEC 7498-1:1994)](https://www.iso.org/standard/20269.html) layers, like HTTPS.
The purpose of this specification is to define interactions between systems independend of such protocols, but describing how to implement it in an unambigious and extensible way.
The purpose of this specification is to define interactions between systems independent of such protocols, but describing how to implement it in an unambiguous and extensible way.
To do so, the messages that are exchanged during the process are described in this specification and the states and their transitions are specified as state machines, based on the key terms and concepts of a data space.
On this foundation the binding to data transfer protocols, like HTTPS, is described.

The specifications are organized into the following documents:

* A __*Dataspace Information Model*__ document that defines key terms.
* __*Dataspace Model*__ and __*Dataspace Terminology*__ documents that define key terms.
* __*Catalog Protocol*__ and __*Catalog HTTPS Binding*__ documents that define how DCAT Catalogs are published and accessed as HTTPS endpoints respectively.
* __*Contract Negotiation Protocol*__ and __*Contract Negotiation HTTPS Binding*__ documents that define how contract negotiations are conducted and requested via HTTPS endpoints.
* __*Transfer Process Protocol*__ and __*Transfer Process HTTPS Binding*__ documents that define how transfer processes using a given data transfer protocol are governed via HTTPS
Expand All @@ -40,20 +40,20 @@ As an implication, the data transfer can be conducted in a separated process if

### Context of this specification

The __*Name of the protocol goes here*__ is used in the context of data spaces as described and defined in the subequent sections with the purpose to support interoperability.
In this context, the specification provides fundamental technical interoperability for particiants in data spaces and therefore the protocol specified here is required to join any data space as specified [here]().
The __Dataspace Protocol__ is used in the context of data spaces as described and defined in the subsequent sections with the purpose to support interoperability.
In this context, the specification provides fundamental technical interoperability for participants in data spaces and therefore the protocol specified here is required to join any data space as specified [here]().
Beyond the technical interoperability measures described in this specification, semantic interoperability should also be addressed by the participants. On the perspective of the data space, interoperability needs to be addressed also on the level of trust, on organizational level and on legal level.
The aspect of cross data space communication is not subject of this document, as this is addressed by the data spaces' organizational and legal agreements.

The interaction of participants in a data space is conducted by the participant agents, so called Data Connectors, which implement the protocols described above.
While most interactions take place between data connectors, some interactions with other systems are required.
The interaction of participants in a data space is conducted by the participant agents, so-called Connectors, which implement the protocols described above.
While most interactions take place between Connectors, some interactions with other systems are required.
The figure below provides an overview on the context of this specification.

An Identity Provider realizes the required interfaces and provides required information to implement Trust Framework of a data space.
The validation of the identity of a given participant agent and the validation of addtional claims is the fundamental mechanism. The strucutre and content of such claims and identity may vary between different data spaces, as well as the structure of such an Identity Provider, e.g. a centralized system, a decentralized system or a federated system.
The validation of the identity of a given participant agent and the validation of additional claims is the fundamental mechanism. The structure and content of such claims and identity may vary between different data spaces, as well as the structure of such an Identity Provider, e.g. a centralized system, a decentralized system or a federated system.

A connector will implement addtional internal functionalities, like monitoring or Policy Engines, as appropriate. It is not covered by this specification, if a connector implements such or how.
A connector will implement additional internal functionalities, like monitoring or Policy Engines, as appropriate. It is not covered by this specification, if a connector implements such or how.

The same applies for the data, which is transfered between the systems. While this document does not define the transpprt protocol, the structure, syntax and semantics of the data, a specification for those aspects is required and subject to the agreements of the participants or the data space.
The same applies for the data, which is transferred between the systems. While this document does not define the transport protocol, the structure, syntax and semantics of the data, a specification for those aspects is required and subject to the agreements of the participants or the data space.

![Overview on protocol and context](./figures/ProtocolOverview.png)
6 changes: 3 additions & 3 deletions catalog/catalog.binding.https.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ POST https://provider.com/catalog/request
Authorization: ...
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@type": "dspace:CatalogRequest"
"dspace:filter": {}
}
Expand Down Expand Up @@ -93,7 +93,7 @@ and the HTTP `Link` header. The `Link` header will contain URLs for navigating t
```
Link: <https://provider.com/catalog?page=2&per_page=100>; rel="next"
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@type": "dcat:Catalog"
...
}
Expand Down Expand Up @@ -140,7 +140,7 @@ POST https://provider.com/catalog/request
Authorization: ...
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@type": "dspace:CatalogRequest"
"@id: "..."
"dspace:callbackAddress": "https://example.com/endpoint"
Expand Down
2 changes: 1 addition & 1 deletion catalog/message/catalog-error-message.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@type": "dspace:CatalogErrorMessage",
"dspace:code": "123:A",
"dspace:reason": [
Expand Down
2 changes: 1 addition & 1 deletion catalog/message/catalog-request-message.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@type": "dspace:CatalogRequestMessage",
"dspace:filter": {}
}
2 changes: 1 addition & 1 deletion catalog/message/catalog.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@id": "urn:uuid:3afeadd8-ed2d-569e-d634-8394a8836d57",
"@type": "dcat:Catalog",
"dct:title": "Data Provider A Catalog",
Expand Down
2 changes: 1 addition & 1 deletion catalog/message/dataset-request-message.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@type": "dspace:DatasetRequestMessage",
"dspace:dataset": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88"
}
Binary file modified catalog/message/diagram/catalog-error-message.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion catalog/message/diagram/catalog-error-message.puml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ hide empty description


class "dspace:CatalogErrorMessage" {
@context : "https://w3id.org/dspace/1/0/context.json"
@context : "https://w3id.org/dspace/v0.8/context.json"
@type : "dspace:CatalogErrorMessage"
dspace:code : String
dspace:reason : Array
Expand Down
Binary file modified catalog/message/diagram/catalog-request-message.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion catalog/message/diagram/catalog-request-message.puml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ hide empty description


class "dspace:CatalogRequestMessage" {
@context : "https://w3id.org/dspace/1/0/context.json"
@context : "https://w3id.org/dspace/v0.8/context.json"
@type : dspace:CatalogRequestMessage
dspace:filter : Object
}
Expand Down
2 changes: 1 addition & 1 deletion catalog/message/example/dcat.distribution.example.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@id": "http://provider.com/catalog1/dataset1/",
"@type": "dcat:Dataset",
"dct:title" : "IDS Dataset #1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@id": "http://provider.com/catalog1/dataset1/",
"@type": "dcat:Dataset",
"dct:title": "IDS Dataset Collection",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"@context": "https://w3id.org/dspace/1/0/context.json",
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@id": "http://provider.com/catalog1/dataset1/",
"@type": "dcat:Dataset",
"dct:title" : "IDS Dataset Collection",
Expand Down
4 changes: 2 additions & 2 deletions catalog/message/schema/catalog-error-message-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
"$ref": "#/definitions/CatalogErrorMessage"
}
],
"$id": "https://w3id.org/dspace/schemas/1/0/CatalogErrorMessageSchema",
"$id": "https://w3id.org/dspace/schemas/v0.8/CatalogErrorMessageSchema",
"definitions": {
"CatalogErrorMessage": {
"type": "object",
"properties": {
"@context": {
"type": "string",
"const": "https://w3id.org/dspace/1/0/context.json",
"const": "https://w3id.org/dspace/v0.8/context.json",
"required": true
},
"@type": {
Expand Down
6 changes: 3 additions & 3 deletions catalog/message/schema/catalog-message-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
"$ref": "#/definitions/CatalogMessage"
}
],
"$id": "https://w3id.org/dspace/schemas/1/0/CatalogMessageSchema",
"$id": "https://w3id.org/dspace/schemas/v0.8/CatalogMessageSchema",
"definitions": {
"CatalogMessage": {
"type": "object",
"properties": {
"@context": {
"type": "string",
"const": "https://w3id.org/dspace/1/0/context.json",
"const": "https://w3id.org/dspace/v0.8/context.json",
"required": true
},
"@type": {
Expand All @@ -25,7 +25,7 @@
"dspace:catalog": {
"type": "array",
"items": {
"$ref": "https://w3id.org/dspace/schemas/1/0/CatalogSchema#definitions/Catalog"
"$ref": "https://w3id.org/dspace/schemas/v0.8/CatalogSchema#definitions/Catalog"
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions catalog/message/schema/catalog-request-message-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
"$ref": "#/definitions/CatalogRequestMessage"
}
],
"$id": "https://w3id.org/dspace/schemas/1/0/CatalogRequestMessageSchema",
"$id": "https://w3id.org/dspace/schemas/v0.8/CatalogRequestMessageSchema",
"definitions": {
"CatalogRequestMessage": {
"type": "object",
"properties": {
"@context": {
"type": "string",
"const": "https://w3id.org/dspace/1/0/context.json",
"const": "https://w3id.org/dspace/v0.8/context.json",
"required": true
},
"@type": {
Expand Down
4 changes: 2 additions & 2 deletions catalog/message/schema/catalog-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
"$ref": "#/definitions/Catalog"
}
],
"$id": "https://w3id.org/dspace/schemas/1/0/CatalogSchema",
"$id": "https://w3id.org/dspace/schemas/v0.8/CatalogSchema",
"definitions": {
"Catalog": {
"type": "object",
"properties": {
"@context": {
"type": "string",
"const": "https://w3id.org/dspace/1/0/context.json",
"const": "https://w3id.org/dspace/v0.8/context.json",
"required": true
},
"@type": {
Expand Down
4 changes: 2 additions & 2 deletions catalog/message/schema/dataset-request-message-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@
"$ref": "#/definitions/DatasetRequestMessage"
}
],
"$id": "https://w3id.org/dspace/schemas/1/0/DatasetRequestMessageSchema",
"$id": "https://w3id.org/dspace/schemas/v0.8/DatasetRequestMessageSchema",
"definitions": {
"DatasetRequestMessage": {
"type": "object",
"properties": {
"@context": {
"type": "string",
"const": "https://w3id.org/dspace/1/0/context.json",
"const": "https://w3id.org/dspace/v0.8/context.json",
"required": true
},
"@type": {
Expand Down
6 changes: 3 additions & 3 deletions catalog/message/shape/catalog-error-message-shape.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix sec: <https://w3id.org/security#> .

@prefix dspace: <https://w3id.org/dspace/1/0/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/1/0/> .
@prefix dspace: <https://w3id.org/dspace/v0.8/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/v0.8/> .

@prefix sh: <http://www.w3.org/ns/shacl#> .

Expand All @@ -21,7 +21,7 @@ shapes:
] ;
sh:declare [
sh:prefix "dspace" ;
sh:namespace "https://w3id.org/dspace/1/0/"^^xsd:anyURI ;
sh:namespace "https://w3id.org/dspace/v0.8/"^^xsd:anyURI ;
] ;
.

Expand Down
6 changes: 3 additions & 3 deletions catalog/message/shape/catalog-message-shape.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix sec: <https://w3id.org/security#> .

@prefix dspace: <https://w3id.org/dspace/1/0/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/1/0/> .
@prefix dspace: <https://w3id.org/dspace/v0.8/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/v0.8/> .

@prefix sh: <http://www.w3.org/ns/shacl#> .

Expand All @@ -21,7 +21,7 @@ shapes:
] ;
sh:declare [
sh:prefix "dspace" ;
sh:namespace "https://w3id.org/dspace/1/0/"^^xsd:anyURI ;
sh:namespace "https://w3id.org/dspace/v0.8/"^^xsd:anyURI ;
] ;
.

Expand Down
6 changes: 3 additions & 3 deletions catalog/message/shape/catalog-request-message-shape.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix sec: <https://w3id.org/security#> .

@prefix dspace: <https://w3id.org/dspace/1/0/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/1/0/> .
@prefix dspace: <https://w3id.org/dspace/v0.8/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/v0.8/> .

@prefix sh: <http://www.w3.org/ns/shacl#> .

Expand All @@ -21,7 +21,7 @@ shapes:
] ;
sh:declare [
sh:prefix "dspace" ;
sh:namespace "https://w3id.org/dspace/1/0/"^^xsd:anyURI ;
sh:namespace "https://w3id.org/dspace/v0.8/"^^xsd:anyURI ;
] ;
.

Expand Down
6 changes: 3 additions & 3 deletions catalog/message/shape/catalog-shape.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix sec: <https://w3id.org/security#> .

@prefix dspace: <https://w3id.org/dspace/1/0/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/1/0/> .
@prefix dspace: <https://w3id.org/dspace/v0.8/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/v0.8/> .

@prefix sh: <http://www.w3.org/ns/shacl#> .

Expand All @@ -21,7 +21,7 @@ shapes:
] ;
sh:declare [
sh:prefix "dspace" ;
sh:namespace "https://w3id.org/dspace/1/0/"^^xsd:anyURI ;
sh:namespace "https://w3id.org/dspace/v0.8/"^^xsd:anyURI ;
] ;
.

Expand Down
6 changes: 3 additions & 3 deletions catalog/message/shape/dataset-request-message-shape.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix sec: <https://w3id.org/security#> .

@prefix dspace: <https://w3id.org/dspace/1/0/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/1/0/> .
@prefix dspace: <https://w3id.org/dspace/v0.8/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/v0.8/> .

@prefix sh: <http://www.w3.org/ns/shacl#> .

Expand All @@ -21,7 +21,7 @@ shapes:
] ;
sh:declare [
sh:prefix "dspace" ;
sh:namespace "https://w3id.org/dspace/1/0/"^^xsd:anyURI ;
sh:namespace "https://w3id.org/dspace/v0.8/"^^xsd:anyURI ;
] ;
.

Expand Down
2 changes: 1 addition & 1 deletion common/schema/context.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"@context": {
"dspace": "https://w3id.org/dspace/1/0/",
"dspace": "https://w3id.org/dspace/v0.8/",
"odrl": "http://www.w3.org/ns/odrl/2/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"cred": "https://www.w3.org/2018/credentials#",
Expand Down
6 changes: 3 additions & 3 deletions common/shape/message-shape.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
@prefix cred: <https://www.w3.org/2018/credentials#> .
@prefix sec: <https://w3id.org/security#> .

@prefix dspace: <https://w3id.org/dspace/1/0/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/1/0/> .
@prefix dspace: <https://w3id.org/dspace/v0.8/> .
@prefix dspace_shapes: <https://w3id.org/dspace/shapes/v0.8/> .

@prefix sh: <http://www.w3.org/ns/shacl#> .

Expand All @@ -21,7 +21,7 @@ shapes:
] ;
sh:declare [
sh:prefix "dspace" ;
sh:namespace "https://w3id.org/dspace/1/0/"^^xsd:anyURI ;
sh:namespace "https://w3id.org/dspace/v0.8/"^^xsd:anyURI ;
] ;
.

Expand Down
Loading

0 comments on commit 91bc46d

Please sign in to comment.