Skip to content

Commit

Permalink
fix: cleanup (#84)
Browse files Browse the repository at this point in the history
* fix: update readme - closes #57

* fix: remove reference to well-known trust endpoint - closes #47

* fix: replace hardcoded examples with import from artifacts - closes #79

* fix: remove references to idsa rulebook
  • Loading branch information
arnoweiss authored Dec 6, 2024
1 parent 181ae8f commit b95f3c5
Show file tree
Hide file tree
Showing 5 changed files with 188 additions and 438 deletions.
40 changes: 25 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,45 @@
# Dataspace Protocol Release 2024-1

> __NOTE:__ For GitHub users, the link to the rendered content is [https://docs.internationaldataspaces.org/dataspace-protocol/](https://docs.internationaldataspaces.org/dataspace-protocol/).
>
> __NOTE:__ The human-friendly version of this specification in the [IDSA Knowledge base](https://docs.internationaldataspaces.org/dataspace-protocol/) will always show the latest version of the document. The version history and changes are provided via the [GitHub Repository](https://github.com/International-Data-Spaces-Association/ids-specification/).
# Dataspace Protocol

## About versions of the Dataspace Protocol

This version ([2024-1](https://github.com/International-Data-Spaces-Association/ids-specification/tree/main/releases/2024-1)) of the Dataspace Protocol specification is the release candidate and considered to be stable. Further changes shall not affect conformity.
Since [version 0.8](https://github.com/International-Data-Spaces-Association/ids-specification/tree/main/releases/v0.8) the specification is stable with changes in details. All changes made to the specification can be reviewed in the [GitHub repository](https://github.com/International-Data-Spaces-Association/ids-specification/).
Since [version 0.8](https://github.com/eclipse-dataspace-protocol-base/DataspaceProtocol/tree/main/releases/v0.8)
the specification has been stable with changes in details. Its The last release candidate ([2024-1](https://docs.internationaldataspaces.org/ids-knowledgebase/dataspace-protocol))
of the Dataspace Protocol specification is considered to be stable. It was specified under governance of the [International Dataspaces Association](https://internationaldataspaces.org/).
Further changes shall not affect conformity.

> __NOTE:__ A versioning scheme beside the commits to the repository is not available but will be provided in the future.
Now, the spec is maintained and developed by the [`eclipse-dataspace-protocol-base`](https://projects.eclipse.org/projects/technology.dataspace-protocol-base)
Eclipse Project under the umbrella of the [Eclipse Dataspace Working Group](https://dataspace.eclipse.org/) (EDWG).
The source of truth is this repository.

## Abstract
The web rendering of the spec represents the current state on this repo's main branch.
https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/

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 [Agreements](specifications/model/terminology.md#agreement), and access data as part of a federation of technical systems termed a [Dataspace](specifications/model/terminology.md#dataspace).
> __NOTE:__ A versioning scheme beside the commits to the repository is not available but will be provided in the
> future.
## Abstract

* [Introduction to the Dataspace Protocol](specifications/common/introduction.md)
* [Scope of the Dataspace Protocol](specifications/common/scope.md)
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 [Agreements](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#dfn-agreement), and access data as
part of a federation of technical systems termed a [Dataspace](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#dfn-dataspace).

* [Introduction to the Dataspace Protocol](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#introduction-5)
* [Scope of the Dataspace Protocol](https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/#scope)

## Introduction

## Best Practices

The Dataspace Protocol is under development and the working group is active on this draft, reviewed and improved the content multiple times. During the process several aspects were discussed, which are not considered part of the normative specification, but important to be documented as support for the users of this specification as best practices. The [Best Practices](./best.practices/README.md) are non-normative.
The Dataspace Protocol is under development and the working group is active on this draft, reviewed and improved the
content multiple times. During the process several aspects were discussed, which are not considered part of the
normative specification, but important to be documented as support for the users of this specification as best
practices. The [Best Practices](https://github.com/eclipse-dataspace-protocol-base/dsp_best_practices) are non-normative.

Users of this specification are invited to provide feedback such as, but not limited to:

* What information is missing?
* What information, including examples, would you like to see?
* What did you like in this document?

Please provide your feedback as Issue in our [GitHub repository](https://github.com/International-Data-Spaces-Association/ids-specification/issues).

Please provide your feedback as a Discussion in this repository.
57 changes: 15 additions & 42 deletions specifications/catalog/catalog.binding.https.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,12 @@ a [Catalog Error](#error-catalog-error) in the response body.

The [Catalog Request Message](#catalog-request-message) corresponds to `POST https://<base>/catalog/request`:

```http request
POST https://provider.com/catalog/request
Authorization: ...
{
"@context": "https://w3id.org/dspace/2024/1/context.json",
"@type": "dspace:CatalogRequestMessage",
"dspace:filter": {}
}
```
<aside class="example" title="Catalog Request Message Request">
<pre class="http">POST https://provider.com/catalog/request
Authorization: ...</pre>
<pre class="json" data-include="message/example/catalog-request-message.json">
</pre>
</aside>

- The `Authorization` header is optional if the [=Catalog Service=] does not require authorization. If present, the
contents of the `Authorization` header are detailed in
Expand All @@ -68,17 +63,12 @@ the [=Catalog Protocol=]).
The [Dataset Request Message](#dataset-request-message) corresponds
to `GET https://<base>/catalog/datasets/:id}`:

```http request
GET https://provider.com/catalog/datasets/{id}
Authorization: ...
{
"@context": "https://w3id.org/dspace/2024/1/context.json",
"@type": "dspace:DatasetRequestMessage",
"dspace:dataset": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88"
}
```
<aside class="example" title="Dataset Request Message Request">
<pre class="http">GET https://provider.com/catalog/datasets/{id}
Authorization: ...</pre>
<pre class="json" data-include="message/example/dataset-request-message.json">
</pre>
</aside>

- The `Authorization` header is optional if the [=Catalog Service=] does not require authorization. If present, the
contents of the `Authorization` header are detailed in
Expand Down Expand Up @@ -108,7 +98,7 @@ Link: <https://provider.com/catalog?continuationToken=f59892315ac44de8ab4bdc9014
{
"@context": "https://w3id.org/dspace/2024/1/context.json",
"@type": "dcat:Catalog",
"@type": "Catalog",
...
}
```
Expand All @@ -120,7 +110,7 @@ Link: <https://provider.com/catalog?continuationToken=a59779015bn44de8ab4bfc9014
Link: <https://provider.com/catalog?continuationToken=f59892315ac44de8ab4bdc9014502d52>; rel="next"
{
"@type": "dcat:Catalog",
"@type": "Catalog",
...
}
```
Expand All @@ -131,7 +121,7 @@ Last page response:
Link: <https://provider.com/catalog?continuationToken=bn9556075bn44de8ab4bfc9014582t76>; rel="previous"
{
"@type": "dcat:Catalog",
"@type": "Catalog",
...
}
```
Expand All @@ -142,20 +132,3 @@ Link: <https://provider.com/catalog?continuationToken=bn9556075bn44de8ab4bfc9014
a [Catalog Request](#catalog-request-message) by setting the `Content-Encoding` header to `gzip` as described in
the [HTTP 1.1 Specification](https://www.rfc-editor.org/rfc/rfc9110.html#name-gzip-coding).

## The Well-Known Proof Metadata Endpoint

When an implementation supports protected [=Datasets=], it may offer a proof metadata
endpoint clients can use to determine proof requirements. If the implementation offers a proof data endpoint, it must
use the `dspace-trust` Well-Known Uniform Resource Identifier [[rfc8615]] at the top
of the path hierarchy:

```
/.well-known/dspace-trust
```

The contents of the response is a JSON object defined by individual trust specifications and not defined here.

Note that if multiple [=Connectors=] are hosted under the same base URL,
an arbitrary path segment appended to the base well-known URL can be used, for
example, `https://example.com/.well-known/dspace-trust/connector1.` In this case, the document retrievable at
the `dspace-trust` path segment must contain all the child paths.
7 changes: 2 additions & 5 deletions specifications/model/model.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

The following sections outline the Dataspace Information Model, which form the foundation of this specification.
Some aspects of this section describe additional concepts of Dataspaces and provide context for the Dataspace Protocol,
those are considered as non-normative. Further information on the functional requirements of a Dataspace can be found for example in
the [IDSA Rulebook](https://docs.internationaldataspaces.org/idsa-rulebook).
those are considered as non-normative.

## Dataspace Entity Relationships

Expand All @@ -23,9 +22,7 @@ Note that all relationships are multiplicities unless specified. `Dataspace Auth
- A [=Participant=] is a member of one or more [=Dataspaces=]. A [=Participant=] registers [=Participant Agents=] that perform tasks on its behalf.
- A [=Participant Agent=] performs tasks such as publishing a [=Catalog=] or engaging in a [=Transfer Process=]. In order to accomplish these tasks, a [=Participant Agent=] may use a _**verifiable presentation**_ generated from a _**credential**_ obtained from a third-party [=Credential Issuer=]. A [=Participant Agent=] may also use an _**ID token**_ issued by a third-party [=Identity Provider=]. Note that a [=Participant Agent=] is a logical construct and does not necessarily correspond to a single runtime process.
- An [=Identity Provider=] is a trust anchor that generates `ID tokens` used to verify the identity of a [=Participant Agent=]. Multiple identity providers may operate in a [=Dataspace=]. The types and semantics of ID tokens are not part of this specification. An [=Identity Provider=] may be a third-party or a [=Participant=] itself (for example, in the case of decentralized identifiers).
- A [=Credential Issuer=] issues _verifiable credentials_ used by [=Participant Agents=] to allow access to [Datasets=] and verify usage control.

Further non-normative information on the context of the Dataspace Protocol can be found for example in the [IDSA Rulebook](https://docs.internationaldataspaces.org/idsa-rulebook).
- A [=Credential Issuer=] issues _verifiable credentials_ used by [=Participant Agents=] to allow access to [=Datasets=] and verify usage control.

### Dataspace Protocol specific

Expand Down
Loading

0 comments on commit b95f3c5

Please sign in to comment.