diff --git a/README.md b/README.md index 2eaebe3b..3cb6237d 100644 --- a/README.md +++ b/README.md @@ -136,17 +136,14 @@ These requirements are formulated as EDC policies: ```json { "policy": { - "@type": "http://www.w3.org/ns/odrl/2/Set", - "odrl:obligation": [ + "@type": "Set", + "obligation": [ { - "odrl:action": "use", - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:leftOperand": "DataAccess.level", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "processing" + "action": "use", + "constraint": { + "leftOperand": "DataAccess.level", + "operator": "eq", + "rightOperand": "processing" } } ] @@ -378,7 +375,7 @@ similar to this: ```json { "@id": "asset-1", - "@type": "http://www.w3.org/ns/dcat#Dataset", + "@type": "dcat:Dataset", "odrl:hasPolicy": { "@id": "bWVtYmVyLWFuZC1wY2YtZGVm:YXNzZXQtMQ==:MThhNTgwMzEtNjE3Zi00N2U2LWFlNjMtMTlkZmZlMjA5NDE4", "@type": "odrl:Offer", @@ -390,16 +387,16 @@ similar to this: }, "odrl:constraint": { "odrl:leftOperand": { - "@id": "FrameworkCredential.pcf" + "@id": "DataAccess.level" }, "odrl:operator": { "@id": "odrl:eq" }, - "odrl:rightOperand": "active" + "odrl:rightOperand": "processing" } } }, - "http://www.w3.org/ns/dcat#distribution": [ + "dcat:distribution": [ //... ], "description": "This asset requires Membership to view and negotiate.", @@ -412,11 +409,10 @@ service entry should be: ```json { - "http://www.w3.org/ns/dcat#service": { + "dcat:service": { // ... - "http://www.w3.org/ns/dcat#endpointUrl": "http://provider-qna-controlplane:8082/api/dsp", - "http://purl.org/dc/terms/terms": "dspace:connector", - "http://purl.org/dc/terms/endpointUrl": "http://provider-qna-controlplane:8082/api/dsp" + "dcat:endpointUrl": "http://provider-qna-controlplane:8082/api/dsp", + "dcat:endpointDescription": "dspace:connector", // ... } } @@ -435,9 +431,8 @@ into the `policy.@id` field of the `ControlPlane Management/Initiate Negotiation "counterPartyId": "{{PROVIDER_ID}}", "protocol": "dataspace-protocol-http", "policy": { -"@context": "http://www.w3.org/ns/odrl.jsonld", -"@type": "http://www.w3.org/ns/odrl/2/Offer", -"@id": "bWVtYmVyLWFuZC1wY2YtZGVm:YXNzZXQtMQ==:MThhNTgwMzEtNjE3Zi00N2U2LWFlNjMtMTlkZmZlMjA5NDE4", + "@type": "Offer", + "@id": "bWVtYmVyLWFuZC1wY2YtZGVm:YXNzZXQtMQ==:MThhNTgwMzEtNjE3Zi00N2U2LWFlNjMtMTlkZmZlMjA5NDE4", //... ``` @@ -570,17 +565,14 @@ relevant scope string to the access token upon DSP egress. A policy, that requir ```json { - "@type": "http://www.w3.org/ns/odrl/2/Set", - "odrl:obligation": [ + "@type": "Set", + "obligation": [ { - "odrl:action": "use", - "odrl:constraint": { - "@type": "LogicalConstraint", - "odrl:leftOperand": "DataAccess.level", - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "processing" + "action": "use", + "constraint": { + "leftOperand": "DataAccess.level", + "operator": "eq", + "rightOperand": "processing" } } ] diff --git a/deployment/postman/MVD.postman_collection.json b/deployment/postman/MVD.postman_collection.json index f665f08b..d4e6b3d8 100644 --- a/deployment/postman/MVD.postman_collection.json +++ b/deployment/postman/MVD.postman_collection.json @@ -1,9 +1,9 @@ { "info": { - "_postman_id": "106f4673-6d43-4109-8ba4-ede9592fd363", + "_postman_id": "7921ef6e-cb34-4f23-b401-f00bf74a12ec", "name": "MVD+IATP", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "647585" + "_exporter_id": "27652630" }, "item": [ { @@ -25,7 +25,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"asset-1\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This asset requires Membership to view and negotiate.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n }" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"asset-1\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This asset requires Membership to view and negotiate.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/assets", @@ -58,7 +58,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"asset-2\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This asset requires Membership to view and SensitiveData credential to negotiate.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n }" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"asset-2\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This asset requires Membership to view and SensitiveData credential to negotiate.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/assets", @@ -91,7 +91,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\"\n },\n \"@type\": \"PolicyDefinitionRequestDto\",\n \"@id\": \"require-membership\",\n \"policy\": {\n \"@type\": \"http://www.w3.org/ns/odrl/2/Set\",\n \"odrl:permission\": [\n {\n \"odrl:action\": \"use\",\n \"odrl:constraint\": {\n \"@type\": \"LogicalConstraint\",\n \"odrl:leftOperand\": \"MembershipCredential\",\n \"odrl:operator\": {\n \"@id\": \"odrl:eq\"\n },\n \"odrl:rightOperand\": \"active\"\n }\n }\n ]\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-membership\",\n \"policy\": {\n \"@type\": \"Set\",\n \"permission\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"MembershipCredential\",\n \"operator\": \"eq\",\n \"rightOperand\": \"active\"\n }\n }\n ]\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/policydefinitions", @@ -124,7 +124,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\"\n },\n \"@type\": \"PolicyDefinitionRequestDto\",\n \"@id\": \"require-dataprocessor\",\n \"policy\": {\n \"@type\": \"http://www.w3.org/ns/odrl/2/Set\",\n \"odrl:obligation\": [\n {\n \"odrl:action\": \"use\",\n \"odrl:constraint\": {\n \"@type\": \"LogicalConstraint\",\n \"odrl:leftOperand\": \"DataAccess.level\",\n \"odrl:operator\": {\n \"@id\": \"odrl:eq\"\n },\n \"odrl:rightOperand\": \"processing\"\n }\n }\n ]\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-dataprocessor\",\n \"policy\": {\n \"@type\": \"Set\",\n \"obligation\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"DataAccess.level\",\n \"operator\": \"eq\",\n \"rightOperand\": \"processing\"\n }\n }\n ]\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/policydefinitions", @@ -157,7 +157,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\"\n },\n \"@type\": \"PolicyDefinitionRequestDto\",\n \"@id\": \"require-sensitive\",\n \"policy\": {\n \"@type\": \"http://www.w3.org/ns/odrl/2/Set\",\n \"odrl:obligation\": [\n {\n \"odrl:action\": \"use\",\n \"odrl:constraint\": {\n \"@type\": \"LogicalConstraint\",\n \"odrl:leftOperand\": \"DataAccess.level\",\n \"odrl:operator\": {\n \"@id\": \"odrl:eq\"\n },\n \"odrl:rightOperand\": \"sensitive\"\n }\n }\n ]\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-sensitive\",\n \"policy\": {\n \"@type\": \"Set\",\n \"obligation\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"DataAccess.level\",\n \"operator\": \"eq\",\n \"rightOperand\": \"sensitive\"\n }\n }\n ]\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/policydefinitions", @@ -190,7 +190,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"member-and-dataprocessor-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-dataprocessor\",\n \"assetsSelector\" : {\n \"@type\" : \"CriterionDto\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"=\",\n \"operandRight\": \"asset-1\"\n }\n }" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"member-and-dataprocessor-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-dataprocessor\",\n \"assetsSelector\": {\n \"@type\": \"Criterion\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"=\",\n \"operandRight\": \"asset-1\"\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/contractdefinitions", @@ -223,7 +223,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"sensitive-only-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-sensitive\",\n \"assetsSelector\": {\n \"@type\": \"CriterionDto\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"=\",\n \"operandRight\": \"asset-2\"\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"sensitive-only-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-sensitive\",\n \"assetsSelector\": {\n \"@type\": \"Criterion\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"=\",\n \"operandRight\": \"asset-2\"\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/contractdefinitions", @@ -283,7 +283,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"linked-asset-provider-qna\",\n \"@type\": \"CatalogAsset\",\n \"properties\": {\n \"description\": \"This is a linked asset that points to the catalog of the provider's Q&A department.\",\n \"isCatalog\": \"true\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"{{PROVIDER_QNA_DSP_URL}}/api/dsp\"\n }\n}", + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"linked-asset-provider-qna\",\n \"@type\": \"CatalogAsset\",\n \"properties\": {\n \"description\": \"This is a linked asset that points to the catalog of the provider's Q&A department.\",\n \"isCatalog\": \"true\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"{{PROVIDER_QNA_DSP_URL}}/api/dsp\"\n }\n}", "options": { "raw": { "language": "json" @@ -312,7 +312,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"linked-asset-provider-manufacturing\",\n \"@type\": \"CatalogAsset\",\n \"properties\": {\n \"description\": \"This is a linked asset that points to the catalog of the provider's Manufacturing department.\",\n \"isCatalog\": \"true\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"{{PROVIDER_MF_DSP_URL}}/api/dsp\"\n }\n}", + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"linked-asset-provider-manufacturing\",\n \"@type\": \"CatalogAsset\",\n \"properties\": {\n \"description\": \"This is a linked asset that points to the catalog of the provider's Manufacturing department.\",\n \"isCatalog\": \"true\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"{{PROVIDER_MF_DSP_URL}}/api/dsp\"\n }\n}", "options": { "raw": { "language": "json" @@ -350,7 +350,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"normal-asset-1\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This is a conventional asset, not a CatalogAsset.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"normal-asset-1\",\n \"@type\": \"Asset\",\n \"properties\": {\n \"description\": \"This is a conventional asset, not a CatalogAsset.\"\n },\n \"dataAddress\": {\n \"@type\": \"DataAddress\",\n \"type\": \"HttpData\",\n \"baseUrl\": \"https://jsonplaceholder.typicode.com/todos\",\n \"proxyPath\": \"true\",\n \"proxyQueryParams\": \"true\"\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/assets", @@ -383,7 +383,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\"\n },\n \"@type\": \"PolicyDefinitionRequestDto\",\n \"@id\": \"require-membership\",\n \"policy\": {\n \"@type\": \"http://www.w3.org/ns/odrl/2/Set\",\n \"odrl:permission\": [\n {\n \"odrl:action\": \"use\",\n \"odrl:constraint\": {\n \"@type\": \"LogicalConstraint\",\n \"odrl:leftOperand\": \"MembershipCredential\",\n \"odrl:operator\": {\n \"@id\": \"odrl:eq\"\n },\n \"odrl:rightOperand\": \"active\"\n }\n }\n ]\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"PolicyDefinition\",\n \"@id\": \"require-membership\",\n \"policy\": {\n \"@type\": \"Set\",\n \"permission\": [\n {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"MembershipCredential\",\n \"operator\": \"eq\",\n \"rightOperand\": \"active\"\n }\n }\n ]\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/policydefinitions", @@ -416,7 +416,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {},\n \"@id\": \"membership-required-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-membership\",\n \"assetsSelector\" : {\n \"@type\" : \"CriterionDto\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"in\",\n \"operandRight\": [\"linked-asset-provider-qna\", \"linked-asset-provider-manufacturing\", \"normal-asset-1\"]\n }\n }" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@id\": \"membership-required-def\",\n \"@type\": \"ContractDefinition\",\n \"accessPolicyId\": \"require-membership\",\n \"contractPolicyId\": \"require-membership\",\n \"assetsSelector\": {\n \"@type\": \"Criterion\",\n \"operandLeft\": \"https://w3id.org/edc/v0.0.1/ns/id\",\n \"operator\": \"in\",\n \"operandRight\": [\n \"linked-asset-provider-qna\",\n \"linked-asset-provider-manufacturing\",\n \"normal-asset-1\"\n ]\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/contractdefinitions", @@ -510,7 +510,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"edc\": \"https://w3id.org/edc/v0.0.1/ns/\"\n },\n \"@type\": \"CatalogRequest\",\n \"counterPartyAddress\": \"{{CATALOG_SERVER_DSP_URL}}/api/dsp\",\n \"counterPartyId\": \"{{PROVIDER_ID}}\",\n \"protocol\": \"dataspace-protocol-http\",\n \"querySpec\": {\n \"offset\": 0,\n \"limit\": 50\n }\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"CatalogRequest\",\n \"counterPartyAddress\": \"{{CATALOG_SERVER_DSP_URL}}/api/dsp\",\n \"counterPartyId\": \"{{PROVIDER_ID}}\",\n \"protocol\": \"dataspace-protocol-http\",\n \"querySpec\": {\n \"offset\": 0,\n \"limit\": 50\n }\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/catalog/request", @@ -535,7 +535,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"edc\": \"https://w3id.org/edc/v0.0.1/ns/\"\n },\n \"@type\": \"QuerySpec\"\n}", + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}", "options": { "raw": { "language": "json" @@ -570,7 +570,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\"\n },\n \"@type\": \"https://w3id.org/edc/v0.0.1/ns/ContractRequest\",\n \"counterPartyAddress\": \"{{PROVIDER_DSP_URL}}/api/dsp\",\n \"counterPartyId\": \"{{PROVIDER_ID}}\",\n \"protocol\": \"dataspace-protocol-http\",\n \"policy\": {\n \"@context\": \"http://www.w3.org/ns/odrl.jsonld\",\n \"@type\": \"http://www.w3.org/ns/odrl/2/Offer\",\n \"@id\": \"bWVtYmVyLWFuZC1kYXRhcHJvY2Vzc29yLWRlZg==:YXNzZXQtMQ==:MmQ0ZWZjZTYtYzJjNy00NTM5LTk5ODAtZDAwOTlkZDNkOWQy\",\n \"assigner\": \"{{PROVIDER_ID}}\",\n \"permission\": [],\n \"prohibition\": [],\n \"odrl:obligation\": {\n \"odrl:action\": {\n \"@id\": \"use\"\n },\n \"odrl:constraint\": {\n \"odrl:leftOperand\": {\n \"@id\": \"DataAccess.level\"\n },\n \"odrl:operator\": {\n \"@id\": \"odrl:eq\"\n },\n \"odrl:rightOperand\": \"processing\"\n }\n },\n \"target\": \"asset-1\"\n },\n \"callbackAddresses\": []\n}", + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"ContractRequest\",\n \"counterPartyAddress\": \"{{PROVIDER_DSP_URL}}/api/dsp\",\n \"counterPartyId\": \"{{PROVIDER_ID}}\",\n \"protocol\": \"dataspace-protocol-http\",\n \"policy\": {\n \"@type\": \"Offer\",\n \"@id\": \"bWVtYmVyLWFuZC1kYXRhcHJvY2Vzc29yLWRlZg==:YXNzZXQtMQ==:MmQ0ZWZjZTYtYzJjNy00NTM5LTk5ODAtZDAwOTlkZDNkOWQy\",\n \"assigner\": \"{{PROVIDER_ID}}\",\n \"permission\": [],\n \"prohibition\": [],\n \"obligation\": {\n \"action\": \"use\",\n \"constraint\": {\n \"leftOperand\": \"DataAccess.level\",\n \"operator\": \"eq\",\n \"rightOperand\": \"processing\"\n }\n },\n \"target\": \"asset-1\"\n },\n \"callbackAddresses\": []\n}", "options": { "raw": { "language": "json" @@ -608,7 +608,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": { \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\" },\n \"@type\": \"QuerySpec\"\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/contractnegotiations/request", @@ -633,7 +633,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\"\n },\n \"assetId\": \"asset-1\",\n \"counterPartyAddress\": \"{{PROVIDER_DSP_URL}}/api/dsp\",\n \"connectorId\": \"{{PROVIDER_ID}}\",\n \"contractId\": \"47e43627-d9b0-4e35-b534-cef450d7de88\",\n \"dataDestination\": {\n \"type\": \"HttpProxy\"\n },\n \"protocol\": \"dataspace-protocol-http\",\n \"transferType\": \"HttpData-PULL\"\n}", + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"assetId\": \"asset-1\",\n \"counterPartyAddress\": \"{{PROVIDER_DSP_URL}}/api/dsp\",\n \"connectorId\": \"{{PROVIDER_ID}}\",\n \"contractId\": \"47e43627-d9b0-4e35-b534-cef450d7de88\",\n \"dataDestination\": {\n \"type\": \"HttpProxy\"\n },\n \"protocol\": \"dataspace-protocol-http\",\n \"transferType\": \"HttpData-PULL\"\n}", "options": { "raw": { "language": "json" @@ -662,7 +662,7 @@ "header": [], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"odrl\": \"http://www.w3.org/ns/odrl/2/\"\n },\n \"@type\": \"QuerySpec\"\n}", + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}", "options": { "raw": { "language": "json" @@ -701,7 +701,7 @@ ], "body": { "mode": "raw", - "raw": "{\n \"@context\": {\n \"@vocab\": \"https://w3id.org/edc/v0.0.1/ns/\"\n },\n \"@type\": \"QuerySpec\"\n}" + "raw": "{\n \"@context\": [\n \"https://w3id.org/edc/connector/management/v0.0.1\"\n ],\n \"@type\": \"QuerySpec\"\n}" }, "url": { "raw": "{{HOST}}/api/management/v3/edrs/request", diff --git a/gradle.properties b/gradle.properties index 359cbeda..d8dd6eef 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ group=org.eclipse.edc -version=0.8.2-SNAPSHOT +version=0.10.0-SNAPSHOT -edcGradlePluginsVersion=0.8.2-SNAPSHOT -annotationProcessorVersion=0.8.2-SNAPSHOT +edcGradlePluginsVersion=0.10.0-SNAPSHOT +annotationProcessorVersion=0.10.0-SNAPSHOT diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3bfe93a5..4d1c7a2e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,7 +4,7 @@ format.version = "1.1" [versions] assertj = "3.24.2" awaitility = "4.2.2" -edc = "0.8.2-SNAPSHOT" +edc = "0.10.0-SNAPSHOT" failsafe = "3.3.2" jackson = "2.17.2" jakarta-json = "2.1.3" @@ -39,6 +39,7 @@ edc-config-filesystem = { module = "org.eclipse.edc:configuration-filesystem", v edc-auth-tokenbased = { module = "org.eclipse.edc:auth-tokenbased", version.ref = "edc" } edc-auth-configuration = { module = "org.eclipse.edc:auth-configuration", version.ref = "edc" } edc-api-management-config = { module = "org.eclipse.edc:management-api-configuration", version.ref = "edc" } +edc-api-management-jsonld-context = { module = "org.eclipse.edc:management-api-json-ld-context", version.ref = "edc" } edc-api-version = { module = "org.eclipse.edc:version-api", version.ref = "edc" } edc-api-management = { module = "org.eclipse.edc:management-api", version.ref = "edc" } edc-api-management-asset = { module = "org.eclipse.edc:asset-api", version.ref = "edc" } @@ -165,7 +166,8 @@ dpf = ["edc-dpf-selector-core", "edc-spi-dataplane-selector", "edc-dpf-selector- connector = ["edc-boot", "edc-core-connector", "edc-ext-http", "edc-ext-observability", "edc-ext-jsonld"] -controlplane = ["edc-controlplane-core", "edc-config-filesystem", "edc-auth-tokenbased", "edc-auth-configuration", "edc-api-management", "edc-api-management-config","edc-api-management-edr","edc-api-management-dataplaneselector", +controlplane = ["edc-controlplane-core", "edc-config-filesystem", "edc-auth-tokenbased", "edc-auth-configuration", "edc-api-management", "edc-api-management-config", + "edc-api-management-jsonld-context","edc-api-management-edr","edc-api-management-dataplaneselector", "edc-api-observability", "edc-dsp", "edc-spi-jwt", "edc-ext-http", "edc-controlplane-callback-dispatcher-event", "edc-controlplane-callback-dispatcher-http", "edc-identity-core-did", "edc-dcp-core", "edc-identity-trust-transform", "edc-api-control-configuration", "edc-lib-transform", "edc-identity-vc-ldp", "edc-did-web", "edc-lib-jws2020", "edc-core-edrstore", "edc-edr-storereceiver"] diff --git a/launchers/catalog-server/build.gradle.kts b/launchers/catalog-server/build.gradle.kts index fefbc97d..2051a15a 100644 --- a/launchers/catalog-server/build.gradle.kts +++ b/launchers/catalog-server/build.gradle.kts @@ -25,6 +25,7 @@ dependencies { runtimeOnly(libs.bundles.connector) // base runtime runtimeOnly(libs.edc.api.management) runtimeOnly(libs.edc.api.management.config) + runtimeOnly(libs.edc.api.management.jsonld.context) runtimeOnly(libs.edc.controlplane.core) //default store impls, etc. runtimeOnly(libs.edc.controlplane.services) // aggregate services runtimeOnly(libs.edc.dsp) // protocol webhook diff --git a/launchers/dataplane/build.gradle.kts b/launchers/dataplane/build.gradle.kts index 158650a4..e045c101 100644 --- a/launchers/dataplane/build.gradle.kts +++ b/launchers/dataplane/build.gradle.kts @@ -27,7 +27,6 @@ dependencies { runtimeOnly(libs.edc.dataplane.selfregistration) runtimeOnly(libs.edc.dataplane.http) runtimeOnly(libs.edc.dataplane.http.oauth2) - runtimeOnly(libs.edc.dataplane.api.control) runtimeOnly(libs.edc.dataplane.api.public) runtimeOnly(libs.edc.dataplane.api.signaling) runtimeOnly(libs.edc.dataplane.iam) diff --git a/tests/end2end/src/test/resources/negotiation-request.json b/tests/end2end/src/test/resources/negotiation-request.json index 79c1ae4e..44c45d01 100644 --- a/tests/end2end/src/test/resources/negotiation-request.json +++ b/tests/end2end/src/test/resources/negotiation-request.json @@ -1,30 +1,23 @@ { - "@context": { - "@vocab": "https://w3id.org/edc/v0.0.1/ns/" - }, - "@type": "https://w3id.org/edc/v0.0.1/ns/ContractRequest", + "@context": [ + "https://w3id.org/edc/connector/management/v0.0.1" + ], + "@type": "ContractRequest", "counterPartyAddress": "{{PROVIDER_DSP_URL}}/api/dsp", "counterPartyId": "{{PROVIDER_ID}}", "protocol": "dataspace-protocol-http", "policy": { - "@context": "http://www.w3.org/ns/odrl.jsonld", - "@type": "http://www.w3.org/ns/odrl/2/Offer", + "@type": "Offer", "@id": "{{OFFER_ID}}", "assigner": "{{PROVIDER_ID}}", "permission": [], "prohibition": [], - "odrl:obligation": { - "odrl:action": { - "@id": "use" - }, - "odrl:constraint": { - "odrl:leftOperand": { - "@id": "DataAccess.level" - }, - "odrl:operator": { - "@id": "odrl:eq" - }, - "odrl:rightOperand": "processing" + "obligation": { + "action": "use", + "constraint": { + "leftOperand": "DataAccess.level", + "operator": "eq", + "rightOperand": "processing" } }, "target": "asset-1"