From 03123f0bf4c1c1fbefcd03f8655c153725e4e218 Mon Sep 17 00:00:00 2001 From: Julia Pampus <72392527+juliapampus@users.noreply.github.com> Date: Thu, 25 May 2023 10:52:37 +0200 Subject: [PATCH] feat: add consumerId and providerId to ODRL agreement (#102) * feat: add consumerId and providerId to ODRL agreement * chore: update contract-agreement-message.png --- .../contract.negotiation.binding.https.md | 4 +++- negotiation/contract.negotiation.protocol.md | 5 +++++ .../message/contract-agreement-message.json | 2 ++ .../diagram/contract-agreement-message.png | Bin 17672 -> 19305 bytes .../diagram/contract-agreement-message.puml | 2 ++ ...tract.agreement.message.http.transfer.json | 2 ++ .../contract-agreement-message-schema.json | 10 +++++++++- 7 files changed, 23 insertions(+), 2 deletions(-) diff --git a/negotiation/contract.negotiation.binding.https.md b/negotiation/contract.negotiation.binding.https.md index 84349bf5..98bf6a4f 100644 --- a/negotiation/contract.negotiation.binding.https.md +++ b/negotiation/contract.negotiation.binding.https.md @@ -231,7 +231,9 @@ Authorization: ... "dspace:processId": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab", "dspace:agreement": { "@type": "odrl:Agreement", - "@id": "e8dc8655-44c2-46ef-b701-4cffdc2faa44" + "@id": "e8dc8655-44c2-46ef-b701-4cffdc2faa44", + "dspace:consumerId": "...", + "dspace:providerId": "...", } } } diff --git a/negotiation/contract.negotiation.protocol.md b/negotiation/contract.negotiation.protocol.md index 8f56f857..853dbc3a 100644 --- a/negotiation/contract.negotiation.protocol.md +++ b/negotiation/contract.negotiation.protocol.md @@ -125,6 +125,11 @@ A `ContractAgreementMessage` must contain an ODRL `Agreement`. An `Agreement` must contain a `dspace:timestamp` property defined as an XSD DateTime type. +An `Agreement` must contain a `dspace:consumerId` and `dspace:providerId`. The contents of these +properties are a dataspace-specific unique identifier of the contract agreement parties. Note that these +identifiers are not necessarily the same as the identifiers of the participant agents negotiating the +contract (i.e. the "connectors"). + ### 4. ContractAgreementVerificationMessage diff --git a/negotiation/message/contract-agreement-message.json b/negotiation/message/contract-agreement-message.json index 74884688..e4c37681 100644 --- a/negotiation/message/contract-agreement-message.json +++ b/negotiation/message/contract-agreement-message.json @@ -9,6 +9,8 @@ "@value": "2023-01-01T01:00:00Z", "@type": "xsd:dateTime" }, + "dspace:consumerId": "...", + "dspace:providerId": "...", "odrl:permission": { ... } diff --git a/negotiation/message/diagram/contract-agreement-message.png b/negotiation/message/diagram/contract-agreement-message.png index e1f75defdd768e0fd19979c0d514e40996f45d76..584371fe2be83bbc89d7865ef91e1ab22953c6ba 100644 GIT binary patch literal 19305 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