Skip to content
Merged
Show file tree
Hide file tree
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
84 changes: 44 additions & 40 deletions content/en/documentation/for-adopters/control-plane/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,9 @@ An `Asset` is the primary building block for data sharing. An asset represents a

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@id": "899d1ad0-532a-47e8-2245-1aa3b2a4eac6",
"properties": {
"somePublicProp": "a very interesting value"
Expand Down Expand Up @@ -183,10 +183,12 @@ The `@context` property on an asset indicates that it is a JSON-LD type. JSON-LD

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/",
"market-systems": "http://w3id.org/market-systems/v0.0.1/ns/"
},
"@context": [
"https://w3id.org/edc/connector/management/v2",
{
"market-systems": "http://w3id.org/market-systems/v0.0.1/ns/"
}
],
"@id": "...",
"properties": {
"dataFeed": {
Expand Down Expand Up @@ -243,9 +245,9 @@ Policies are loaded into EDC via the Management API using a policy definition, w

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "PolicyDefinition",
"policy": {
"@context": "http://www.w3.org/ns/odrl.jsonld",
Expand Down Expand Up @@ -279,25 +281,25 @@ Now, let's examine a contract definition:

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/"
},
"@type": "https://w3id.org/edc/v0.0.1/ns/ContractDefinition",
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "ContractDefinition",
"@id": "test-id",
"edc:accessPolicyId": "access-policy-1234",
"edc:contractPolicyId": "contract-policy-5678",
"edc:assetsSelector": [
"accessPolicyId": "access-policy-1234",
"contractPolicyId": "contract-policy-5678",
"assetsSelector": [
{
"@type": "https://w3id.org/edc/v0.0.1/ns/Criterion",
"edc:operandLeft": "id",
"edc:operator": "in",
"edc:operandRight": ["id1", "id2", "id3"]
"@type": "Criterion",
"operandLeft": "id",
"operator": "in",
"operandRight": ["id1", "id2", "id3"]
},
{
"@type": "https://w3id.org/edc/v0.0.1/ns/Criterion",
"edc:operandLeft": "productCategory",
"edc:operator": "=",
"edc:operandRight": "gold"
"@type": "Criterion",
"operandLeft": "productCategory",
"operator": "=",
"operandRight": "gold"
},
]
}
Expand Down Expand Up @@ -329,25 +331,27 @@ If a negotiation is successfully completed (termed *finalized*), a DSP contract

```json
{
"@context": "https://w3id.org/dspace/2024/1/context.json",
"@type": "dspace:ContractAgreementMessage",
"dspace:providerPid": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"dspace:consumerPid": "urn:uuid:32541fe6-c580-409e-85a8-8a9a32fbe833",
"dspace:agreement": {
"@context": [
"https://w3id.org/dspace/2024/1/context.json"
],
"@type": "ContractAgreementMessage",
"providerPid": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"consumerPid": "urn:uuid:32541fe6-c580-409e-85a8-8a9a32fbe833",
"agreement": {
"@id": "urn:uuid:e8dc8655-44c2-46ef-b701-4cffdc2faa44",
"@type": "odrl:Agreement",
"odrl:target": "urn:uuid:3dd1add4-4d2d-569e-d634-8394a8836d23",
"dspace:timestamp": "2023-01-01T01:00:00Z",
"odrl:permission": [{
"odrl:action": "odrl:use" ,
"odrl:constraint": [{
"odrl:leftOperand": "odrl:dateTime",
"odrl:operand": "odrl:lteq",
"odrl:rightOperand": { "@value": "2023-12-31T06:00Z", "@type": "xsd:dateTime" }
"@type": "Agreement",
"target": "urn:uuid:3dd1add4-4d2d-569e-d634-8394a8836d23",
"timestamp": "2023-01-01T01:00:00Z",
"permission": [{
"action": "odrl:use" ,
"constraint": [{
"leftOperand": "dateTime",
"operand": "lteq",
"rightOperand": "2023-12-31T06:00Z"
}]
}]
},
"dspace:callbackAddress": "https://example.com/callback"
"callbackAddress": "https://example.com/callback"
}
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ Let's take one of the previous policy examples:

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "PolicyDefinition",
"policy": {
"@context": "http://www.w3.org/ns/odrl.jsonld",
Expand Down Expand Up @@ -177,14 +177,13 @@ The following values are supported for the time unit:
| d | days |

A duration is defined in a `ContractDefinition` using the following policy and left-hand
operands `https://w3id.org/edc/v0.0.1/ns/inForceDate`:
operands `inForceDate`:

```json
{
"@context": {
"cx": "https://w3id.org/cx/v0.8/",
"@vocab": "http://www.w3.org/ns/odrl.jsonld"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "Offer",
"@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"permission": [
Expand All @@ -193,20 +192,14 @@ operands `https://w3id.org/edc/v0.0.1/ns/inForceDate`:
"constraint": {
"and": [
{
"leftOperand": "https://w3id.org/edc/v0.0.1/ns/inForceDate",
"leftOperand": "inForceDate",
"operator": "gt",
"rightOperand": {
"@value": "contractAgreement",
"@type": "https://w3id.org/edc/v0.0.1/ns/inForceDate:dateExpression"
}
"rightOperand": "contractAgreement"
},
{
"leftOperand": "https://w3id.org/edc/v0.0.1/ns/inForceDate:inForceDate",
"leftOperand": "inForceDate",
"operator": "lt",
"rightOperand": {
"@value": "contractAgreement + 100d",
"@type": "https://w3id.org/edc/v0.0.1/ns/inForceDate:dateExpression"
}
"rightOperand": "contractAgreement + 100d"
}
]
}
Expand All @@ -217,14 +210,13 @@ operands `https://w3id.org/edc/v0.0.1/ns/inForceDate`:

### Fixed Date

Fixed dates may also be specified as follows using `https://w3id.org/edc/v0.0.1/ns/inForceDate` operands:
Fixed dates may also be specified as follows using `inForceDate` operands:

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/inForceDate",
"@vocab": "http://www.w3.org/ns/odrl.jsonld"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "Offer",
"@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"permission": [
Expand All @@ -233,20 +225,13 @@ Fixed dates may also be specified as follows using `https://w3id.org/edc/v0.0.1/
"constraint": {
"and": [
{
"leftOperand": "https://w3id.org/edc/v0.0.1/ns/inForceDate",
"leftOperand": "inForceDate",
"operator": "gt",
"rightOperand": {
"@value": "2023-01-01T00:00:01Z",
"@type": "xsd:datetime"
}
},
"rightOperand": "2023-01-01T00:00:01Z"
{
"leftOperand": "https://w3id.org/edc/v0.0.1/ns/inForceDate",
"leftOperand": "inForceDate",
"operator": "lt",
"rightOperand": {
"@value": "2024-01-01T00:00:01Z",
"@type": "xsd:datetime"
}
"rightOperand": "2024-01-01T00:00:01Z"
}
]
}
Expand All @@ -265,17 +250,16 @@ valid until its other constraints evaluate to false.

### Not Before and Until

`Not Before` and `Until` semantics can be defined by specifying a single `https://w3id.org/edc/v0.0.1/ns/inForceDate`
`Not Before` and `Until` semantics can be defined by specifying a single `inForceDate`
fixed date constraint and an
appropriate operand. For example, the following policy
defines a contact is not in force before `January 1, 2023`:

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/",
"@vocab": "http://www.w3.org/ns/odrl.jsonld"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "Offer",
"@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"permission": [
Expand All @@ -298,6 +282,3 @@ defines a contact is not in force before `January 1, 2023`:

- In-force policy with a fixed validity: [policy.inforce.fixed.json](./policy.inforce.fixed.json)
- In-force policy with a relative validity duration: [policy.inforce.duration.json](./policy.inforce.duration.json)

_Please note that the samples use the abbreviated prefix notation `"edc:inForceDate"` instead of the full namespace
`"https://w3id.org/edc/v0.0.1/ns/inForceDate"`._
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/",
"@vocab": "http://www.w3.org/ns/odrl.jsonld"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "Offer",
"@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"permission": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/",
"@vocab": "http://www.w3.org/ns/odrl.jsonld"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "Offer",
"@id": "a343fcbf-99fc-4ce8-8e9b-148c97605aab",
"permission": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,23 +121,25 @@ Management domains are straightforward to configure as they mainly involve catal

```json
{
"@context": "https://w3id.org/dspace/v0.8/context.json",
"@context": [
"https://w3id.org/dspace/2025/1/context.jsonld"
],
"@id": "urn:uuid:3afeadd8-ed2d-569e-d634-8394a8836d57",
"@type": "dcat:Catalog",
"dct:title": "Foo Industries Provider Root Catalog",
"dct:description": ["A catalog of catalogs"],
"dcat:catalog": {
"@type": "dcat:Catalog",
"dct:description": ["Foo Industries Sub-Catalog"],
"dcat:distribution": {
"@type": "dcat:Distribution",
"dcat:accessService": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77"
"@type": "Catalog",
"title": "Foo Industries Provider Root Catalog",
"description": ["A catalog of catalogs"],
"catalog": {
"@type": "Catalog",
"description": ["Foo Industries Sub-Catalog"],
"distribution": {
"@type": "Distribution",
"accessService": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77"
},
"dcat:service": [
"service": [
{
"@id": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77",
"@type": "dcat:DataService",
"dcat:endpointURL": "https://foo-industries.com/subcatalog"
"@type": "DataService",
"endpointURL": "https://foo-industries.com/subcatalog"
}
]
}
Expand All @@ -152,9 +154,9 @@ Datasets are created from assets. The same is true for linked catalogs. Adding t

```json
{
"@context": {
"@vocab": "https://w3id.org/edc/v0.0.1/ns/"
},
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@id": "subcatalog-id",
"@type": "CatalogAsset",
"properties": {...},
Expand All @@ -171,19 +173,19 @@ The next step in creating a sub-catalog is to decide on access control, that is,

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/"
},
"@type": "https://w3id.org/edc/v0.0.1/ns/ContractDefinition",
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "ContractDefinition",
"@id": "test-id",
"edc:accessPolicyId": "access-policy-1234",
"edc:contractPolicyId": "contract-policy-5678",
"edc:assetsSelector": [
"accessPolicyId": "access-policy-1234",
"contractPolicyId": "contract-policy-5678",
"assetsSelector": [
{
"@type": "https://w3id.org/edc/v0.0.1/ns/Criterion",
"edc:operandLeft": "id",
"edc:operator": "in",
"edc:operandRight": ["subcatalog-id"]
"@type": "Criterion",
"operandLeft": "id",
"operator": "in",
"operandRight": ["subcatalog-id"]
}
]
}
Expand All @@ -193,19 +195,19 @@ Alternatively, the following contract definition example selects a group of sub-

```json
{
"@context": {
"edc": "https://w3id.org/edc/v0.0.1/ns/"
},
"@type": "https://w3id.org/edc/v0.0.1/ns/ContractDefinition",
"@context": [
"https://w3id.org/edc/connector/management/v2"
],
"@type": "ContractDefinition",
"@id": "test-id",
"edc:accessPolicyId": "group-access-policy-1234",
"edc:contractPolicyId": "contract-policy-5678",
"edc:assetsSelector": [
"accessPolicyId": "group-access-policy-1234",
"contractPolicyId": "contract-policy-5678",
"assetsSelector": [
{
"@type": "https://w3id.org/edc/v0.0.1/ns/Criterion",
"edc:operandLeft": "region",
"edc:operator": "=",
"edc:operandRight": "EU"
"@type": "Criterion",
"operandLeft": "region",
"operator": "=",
"operandRight": "EU"
}
]
}
Expand Down
Loading
Loading