diff --git a/catalog/message/example/catalog.json b/catalog/message/example/catalog.json index 5d77c89..869ad7e 100644 --- a/catalog/message/example/catalog.json +++ b/catalog/message/example/catalog.json @@ -38,36 +38,39 @@ ], "odrl:hasPolicy": [ { + "@id": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", "@type": "odrl:Offer", - "dspace:providerId": "http://example.com/Provider", + "odrl:assigner": "http://example.com/Provider", "odrl:permission": [ { "odrl:action": "odrl:use", "odrl:constraint": [ { "odrl:leftOperand": "odrl:spatial", - "odrl:operator": "odrl:EQ", - "odrl:rightOperand": "odrl:EU" + "odrl:operator": "odrl:eq", + "odrl:rightOperand": "http://example.org/EU" } ], - "odrl:duty": [] + "odrl:duty": { + "odrl:action": "cc:Attribution" + } } - ], - "odrl:prohibition": [], - "odrl:obligation": [] + ] } ], - "dcat:distribution": { - "@type": "dcat:Distribution", - "dct:format": "dspace:s3+push", - "dcat:accessService": [ - { - "@id": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77", - "@type": "dcat:DataService", - "dcat:endpointURL": "https://provider-a.com/connector" - } - ] - } + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": "dspace:s3+push", + "dcat:accessService": [ + { + "@id": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77", + "@type": "dcat:DataService", + "dcat:endpointURL": "https://provider-a.com/connector" + } + ] + } + ] } ] } diff --git a/catalog/message/example/dataset-request-message.json b/catalog/message/example/dataset-request-message.json index deb03ea..a1fe953 100644 --- a/catalog/message/example/dataset-request-message.json +++ b/catalog/message/example/dataset-request-message.json @@ -1,5 +1,5 @@ { "@context": "https://w3id.org/dspace/2024/1/context.json", "@type": "dspace:DatasetRequestMessage", - "dspace:dataset": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88" + "dspace:dataset": "urn:uuid:3afeadd8-ed2d-569e-d634-8394a8836d57" } diff --git a/catalog/message/example/dataset.json b/catalog/message/example/dataset.json index 5a05b27..2ccf961 100644 --- a/catalog/message/example/dataset.json +++ b/catalog/message/example/dataset.json @@ -12,9 +12,10 @@ "dcat:keyword": [ "traffic" ], - "odrl:hasPolicy": { + "odrl:hasPolicy": [ { "@type": "odrl:Offer", "@id": "urn:uuid:2828282:3dd1add8-4d2d-569e-d634-8394a8836a88", + "odrl:assigner": "urn:tsdshhs636378", "odrl:permission": [ { "odrl:action": "odrl:use", @@ -27,7 +28,7 @@ ] } ] - }, + } ], "dcat:distribution": [ { "@type": "dcat:Distribution", @@ -42,4 +43,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/catalog/message/schema/catalog-schema.json b/catalog/message/schema/catalog-schema.json index 69a8b68..c262573 100644 --- a/catalog/message/schema/catalog-schema.json +++ b/catalog/message/schema/catalog-schema.json @@ -13,7 +13,7 @@ "type": "object", "allOf": [ { - "$ref": "https://w3id.org/dspace/2024/1/catalog/dataset-schema.json#/definitions/Dataset" + "$ref": "https://w3id.org/dspace/2024/1/catalog/dataset-schema.json#/definitions/AbstractDataset" }, { "properties": { @@ -49,9 +49,11 @@ } ], "required": [ "@context", "@type" ], - "not": { - "required": [ "odrl:hasPolicy" ] - } + "anyOf" : [ + { + "not" : { "required" : [ "odrl:hasPolicy" ] } + } + ] } } } diff --git a/catalog/message/schema/dataset-schema.json b/catalog/message/schema/dataset-schema.json index a919c22..e62634c 100644 --- a/catalog/message/schema/dataset-schema.json +++ b/catalog/message/schema/dataset-schema.json @@ -9,7 +9,7 @@ ], "$id": "https://w3id.org/dspace/2024/1/catalog/dataset-schema.json", "definitions": { - "Dataset": { + "AbstractDataset": { "type": "object", "allOf": [ { @@ -33,6 +33,14 @@ } } } + ] + }, + "Dataset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AbstractDataset" + } ], "required": [ "odrl:hasPolicy" @@ -164,4 +172,4 @@ "required": [ "@value", "@language" ] } } -} \ No newline at end of file +} diff --git a/catalog/message/shape/dataset-request-message-shape.ttl b/catalog/message/shape/dataset-request-message-shape.ttl index e981b96..c1542a6 100644 --- a/catalog/message/shape/dataset-request-message-shape.ttl +++ b/catalog/message/shape/dataset-request-message-shape.ttl @@ -32,10 +32,9 @@ dspace_shapes:DatasetRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:dataset ; - sh:class dcat:Dataset ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DatasetRequestMessage): An dspace:dataset property must point to one dcat:Dataset."@en ; + sh:message " (DatasetRequestMessage): There must be exactly one dspace:dataset property."@en ; ] ; . diff --git a/catalog/message/shape/dataset-shape.ttl b/catalog/message/shape/dataset-shape.ttl index 4132ad8..2bb0c50 100644 --- a/catalog/message/shape/dataset-shape.ttl +++ b/catalog/message/shape/dataset-shape.ttl @@ -60,19 +60,19 @@ dspace_shapes:DatasetShape sh:property [ a sh:PropertyShape ; sh:path dct:title ; - sh:datatype xsd:string ; + sh:datatype rdf:langString ; sh:minCount 0; sh:severity sh:Violation ; - sh:message " (DatasetShape): A dct:title property must point to a xsd:string field."@en ; + sh:message " (DatasetShape): A dct:title property must point to a language tagged field."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path odrl:hasPolicy ; - sh:class odrl:Policy ; + sh:class odrl:Offer ; sh:severity sh:Violation ; sh:minCount 0; sh:message " (DatasetShape): An odrl:hasPolicy property must point to an odrl:Policy."@en ; ] ; -. \ No newline at end of file +. diff --git a/catalog/message/shape/dcat-shapes.ttl b/catalog/message/shape/dcat-shapes.ttl index 000e892..217aa89 100644 --- a/catalog/message/shape/dcat-shapes.ttl +++ b/catalog/message/shape/dcat-shapes.ttl @@ -242,7 +242,7 @@ dspace_shapes:DataServiceShape sh:property [ a sh:PropertyShape ; sh:path dcat:endpointDescription ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (DataServiceShape): A dcat:endpointDescription property must point to a xsd:string field."@en ; ] ; @@ -250,9 +250,9 @@ dspace_shapes:DataServiceShape sh:property [ a sh:PropertyShape ; sh:path dcat:endpointURL ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; - sh:message " (DataServiceShape): A dcat:endpointURL property must point to a xsd:string field."@en ; + sh:message " (DataServiceShape): A dcat:endpointURL property must point to a xsd:anyURI field."@en ; ] ; sh:property [ @@ -264,4 +264,4 @@ dspace_shapes:DataServiceShape sh:message " (DataServiceShape): A dcat:servesDataset property must point to a dcat:Dataset."@en ; ] ; -. \ No newline at end of file +. diff --git a/common/schema/context.json b/common/schema/context.json index f475b23..f26eaff 100644 --- a/common/schema/context.json +++ b/common/schema/context.json @@ -55,7 +55,7 @@ "odrl:leftOperand": { "@type": "@id" }, "odrl:operator": { "@type": "@id" }, "odrl:rightOperandReference": { "@type": "@id" }, - "odrl:profile": { "@container": "@set" } + "odrl:profile": { "@container": "@set" }, "odrl:assigner": { "@type": "@id" }, "odrl:assignee": { "@type": "@id" } } diff --git a/negotiation/message/example/contract-agreement-message.json b/negotiation/message/example/contract-agreement-message.json index c1e3d78..a0016bc 100644 --- a/negotiation/message/example/contract-agreement-message.json +++ b/negotiation/message/example/contract-agreement-message.json @@ -19,5 +19,5 @@ }] }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/negotiation/message/example/contract-offer-message.json b/negotiation/message/example/contract-offer-message.json index a9a2920..06fc69b 100644 --- a/negotiation/message/example/contract-offer-message.json +++ b/negotiation/message/example/contract-offer-message.json @@ -18,5 +18,5 @@ }] }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/negotiation/message/example/contract-offer-message_initial.json b/negotiation/message/example/contract-offer-message_initial.json index a7e2eba..6e6b5a4 100644 --- a/negotiation/message/example/contract-offer-message_initial.json +++ b/negotiation/message/example/contract-offer-message_initial.json @@ -5,7 +5,11 @@ "dspace:offer": { "@type": "odrl:Offer", "@id": "urn:uuid:d526561f-528e-4d5a-ae12-9a9dd9b7a518", - "target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88" + "odrl:assigner": "urn:tsdshhs636378", + "target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", + "odrl:permission": [{ + "odrl:action": "odrl:use" + }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/negotiation/message/example/contract-request-message.json b/negotiation/message/example/contract-request-message.json index 840e02a..32f7211 100644 --- a/negotiation/message/example/contract-request-message.json +++ b/negotiation/message/example/contract-request-message.json @@ -4,6 +4,8 @@ "dspace:providerPid": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab", "dspace:consumerPid": "urn:uuid:32541fe6-c580-409e-85a8-8a9a32fbe833", "dspace:offer": { + "@type": "odrl:Offer", + "@id": "urn:uuid:d526561f-528e-4d5a-ae12-9a9dd9b7a815", "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", "odrl:assigner": "urn:tsdshhs636378", "odrl:assignee": "urn:jashd766", @@ -16,5 +18,5 @@ }] }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/negotiation/message/example/contract-request-message_initial.json b/negotiation/message/example/contract-request-message_initial.json index 38c9f93..aafe340 100644 --- a/negotiation/message/example/contract-request-message_initial.json +++ b/negotiation/message/example/contract-request-message_initial.json @@ -5,7 +5,11 @@ "dspace:offer": { "@type": "odrl:Offer", "@id": "urn:uuid:2828282:3dd1add8-4d2d-569e-d634-8394a8836a89", - "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88" + "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", + "odrl:assigner": "urn:tsdshhs636378", + "odrl:permission": [{ + "odrl:action": "odrl:use" + }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/negotiation/message/example/contract.agreement.message.http.transfer.json b/negotiation/message/example/contract.agreement.message.http.transfer.json index 4f477e0..90006b4 100644 --- a/negotiation/message/example/contract.agreement.message.http.transfer.json +++ b/negotiation/message/example/contract.agreement.message.http.transfer.json @@ -4,7 +4,7 @@ "dspace:providerPid": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab", "dspace:consumerPid": "urn:uuid:32541fe6-c580-409e-85a8-8a9a32fbe833", "dspace:agreement": { - "@id": "some-other-id", + "@id": "urn:uuid:e8dc8655-44c2-46ef-b701-4cffdc2faa44", "@type": "odrl:Agreement", "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", "odrl:assignee": "...", @@ -39,5 +39,6 @@ ] } ] - } + }, + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/negotiation/message/schema/contract-offer-message-schema.json b/negotiation/message/schema/contract-offer-message-schema.json index 0d48e56..3ea7d45 100644 --- a/negotiation/message/schema/contract-offer-message-schema.json +++ b/negotiation/message/schema/contract-offer-message-schema.json @@ -36,4 +36,4 @@ "required": [ "@context", "@type", "dspace:providerPid", "dspace:offer", "dspace:callbackAddress" ] } } -} \ No newline at end of file +} diff --git a/negotiation/message/schema/contract-request-message-schema.json b/negotiation/message/schema/contract-request-message-schema.json index 202f9af..3b1b8bb 100644 --- a/negotiation/message/schema/contract-request-message-schema.json +++ b/negotiation/message/schema/contract-request-message-schema.json @@ -36,4 +36,4 @@ "required": [ "@context", "@type", "dspace:consumerPid", "dspace:offer", "dspace:callbackAddress" ] } } -} \ No newline at end of file +} diff --git a/negotiation/message/schema/contract-schema.json b/negotiation/message/schema/contract-schema.json index 3490c8c..7689334 100644 --- a/negotiation/message/schema/contract-schema.json +++ b/negotiation/message/schema/contract-schema.json @@ -68,8 +68,7 @@ "odrl:assignee": { "type": "string" } - }, - "not": { "required": [ "odrl:target" ] } + } }, "MessageOffer": { "type": "object", @@ -153,7 +152,7 @@ "required": [ "@type", "@id", - "@target", + "odrl:target", "odrl:assignee", "odrl:assigner" ] diff --git a/negotiation/message/shape/contract-agreement-message-shape.ttl b/negotiation/message/shape/contract-agreement-message-shape.ttl index d0a7400..d5624b8 100644 --- a/negotiation/message/shape/contract-agreement-message-shape.ttl +++ b/negotiation/message/shape/contract-agreement-message-shape.ttl @@ -60,10 +60,10 @@ dspace_shapes:ContractAgreementMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:callbackAddress ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (ContractAgreementMessageShape): An dspace:callbackAddress property must point to exactly one xsd:string value."@en ; + sh:message " (ContractAgreementMessageShape): An dspace:callbackAddress property must point to exactly one xsd:anyURI value."@en ; ] . diff --git a/negotiation/message/shape/contract-offer-message-shape.ttl b/negotiation/message/shape/contract-offer-message-shape.ttl index b619d8c..36de8ba 100644 --- a/negotiation/message/shape/contract-offer-message-shape.ttl +++ b/negotiation/message/shape/contract-offer-message-shape.ttl @@ -60,10 +60,10 @@ dspace_shapes:ContractOfferMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:callbackAddress ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (ContractOfferMessageShape): A dspace:callbackAddress property must point to exactly one xsd:string value."@en ; + sh:message " (ContractOfferMessageShape): A dspace:callbackAddress property must point to exactly one xsd:anyURI value."@en ; ] ; . \ No newline at end of file diff --git a/negotiation/message/shape/contract-request-message-shape.ttl b/negotiation/message/shape/contract-request-message-shape.ttl index e28482a..c8f0e43 100644 --- a/negotiation/message/shape/contract-request-message-shape.ttl +++ b/negotiation/message/shape/contract-request-message-shape.ttl @@ -60,10 +60,10 @@ dspace_shapes:ContractRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:callbackAddress ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (ContractRequestMessageShape): An dspace:callbackAddress property must point to exactly one xsd:string value."@en ; + sh:message " (ContractRequestMessageShape): An dspace:callbackAddress property must point to exactly one xsd:anyURI value."@en ; ] ; . \ No newline at end of file diff --git a/releases/2024-1/catalog/message/example/catalog.json b/releases/2024-1/catalog/message/example/catalog.json index 5d77c89..869ad7e 100644 --- a/releases/2024-1/catalog/message/example/catalog.json +++ b/releases/2024-1/catalog/message/example/catalog.json @@ -38,36 +38,39 @@ ], "odrl:hasPolicy": [ { + "@id": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", "@type": "odrl:Offer", - "dspace:providerId": "http://example.com/Provider", + "odrl:assigner": "http://example.com/Provider", "odrl:permission": [ { "odrl:action": "odrl:use", "odrl:constraint": [ { "odrl:leftOperand": "odrl:spatial", - "odrl:operator": "odrl:EQ", - "odrl:rightOperand": "odrl:EU" + "odrl:operator": "odrl:eq", + "odrl:rightOperand": "http://example.org/EU" } ], - "odrl:duty": [] + "odrl:duty": { + "odrl:action": "cc:Attribution" + } } - ], - "odrl:prohibition": [], - "odrl:obligation": [] + ] } ], - "dcat:distribution": { - "@type": "dcat:Distribution", - "dct:format": "dspace:s3+push", - "dcat:accessService": [ - { - "@id": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77", - "@type": "dcat:DataService", - "dcat:endpointURL": "https://provider-a.com/connector" - } - ] - } + "dcat:distribution": [ + { + "@type": "dcat:Distribution", + "dct:format": "dspace:s3+push", + "dcat:accessService": [ + { + "@id": "urn:uuid:4aa2dcc8-4d2d-569e-d634-8394a8834d77", + "@type": "dcat:DataService", + "dcat:endpointURL": "https://provider-a.com/connector" + } + ] + } + ] } ] } diff --git a/releases/2024-1/catalog/message/example/dataset-request-message.json b/releases/2024-1/catalog/message/example/dataset-request-message.json index deb03ea..a1fe953 100644 --- a/releases/2024-1/catalog/message/example/dataset-request-message.json +++ b/releases/2024-1/catalog/message/example/dataset-request-message.json @@ -1,5 +1,5 @@ { "@context": "https://w3id.org/dspace/2024/1/context.json", "@type": "dspace:DatasetRequestMessage", - "dspace:dataset": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88" + "dspace:dataset": "urn:uuid:3afeadd8-ed2d-569e-d634-8394a8836d57" } diff --git a/releases/2024-1/catalog/message/example/dataset.json b/releases/2024-1/catalog/message/example/dataset.json index 5a05b27..2ccf961 100644 --- a/releases/2024-1/catalog/message/example/dataset.json +++ b/releases/2024-1/catalog/message/example/dataset.json @@ -12,9 +12,10 @@ "dcat:keyword": [ "traffic" ], - "odrl:hasPolicy": { + "odrl:hasPolicy": [ { "@type": "odrl:Offer", "@id": "urn:uuid:2828282:3dd1add8-4d2d-569e-d634-8394a8836a88", + "odrl:assigner": "urn:tsdshhs636378", "odrl:permission": [ { "odrl:action": "odrl:use", @@ -27,7 +28,7 @@ ] } ] - }, + } ], "dcat:distribution": [ { "@type": "dcat:Distribution", @@ -42,4 +43,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/releases/2024-1/catalog/message/schema/catalog-schema.json b/releases/2024-1/catalog/message/schema/catalog-schema.json index 69a8b68..c262573 100644 --- a/releases/2024-1/catalog/message/schema/catalog-schema.json +++ b/releases/2024-1/catalog/message/schema/catalog-schema.json @@ -13,7 +13,7 @@ "type": "object", "allOf": [ { - "$ref": "https://w3id.org/dspace/2024/1/catalog/dataset-schema.json#/definitions/Dataset" + "$ref": "https://w3id.org/dspace/2024/1/catalog/dataset-schema.json#/definitions/AbstractDataset" }, { "properties": { @@ -49,9 +49,11 @@ } ], "required": [ "@context", "@type" ], - "not": { - "required": [ "odrl:hasPolicy" ] - } + "anyOf" : [ + { + "not" : { "required" : [ "odrl:hasPolicy" ] } + } + ] } } } diff --git a/releases/2024-1/catalog/message/schema/dataset-schema.json b/releases/2024-1/catalog/message/schema/dataset-schema.json index a919c22..e62634c 100644 --- a/releases/2024-1/catalog/message/schema/dataset-schema.json +++ b/releases/2024-1/catalog/message/schema/dataset-schema.json @@ -9,7 +9,7 @@ ], "$id": "https://w3id.org/dspace/2024/1/catalog/dataset-schema.json", "definitions": { - "Dataset": { + "AbstractDataset": { "type": "object", "allOf": [ { @@ -33,6 +33,14 @@ } } } + ] + }, + "Dataset": { + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AbstractDataset" + } ], "required": [ "odrl:hasPolicy" @@ -164,4 +172,4 @@ "required": [ "@value", "@language" ] } } -} \ No newline at end of file +} diff --git a/releases/2024-1/catalog/message/shape/dataset-request-message-shape.ttl b/releases/2024-1/catalog/message/shape/dataset-request-message-shape.ttl index e981b96..c1542a6 100644 --- a/releases/2024-1/catalog/message/shape/dataset-request-message-shape.ttl +++ b/releases/2024-1/catalog/message/shape/dataset-request-message-shape.ttl @@ -32,10 +32,9 @@ dspace_shapes:DatasetRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:dataset ; - sh:class dcat:Dataset ; sh:minCount 1 ; sh:maxCount 1 ; sh:severity sh:Violation ; - sh:message " (DatasetRequestMessage): An dspace:dataset property must point to one dcat:Dataset."@en ; + sh:message " (DatasetRequestMessage): There must be exactly one dspace:dataset property."@en ; ] ; . diff --git a/releases/2024-1/catalog/message/shape/dataset-shape.ttl b/releases/2024-1/catalog/message/shape/dataset-shape.ttl index 4132ad8..2bb0c50 100644 --- a/releases/2024-1/catalog/message/shape/dataset-shape.ttl +++ b/releases/2024-1/catalog/message/shape/dataset-shape.ttl @@ -60,19 +60,19 @@ dspace_shapes:DatasetShape sh:property [ a sh:PropertyShape ; sh:path dct:title ; - sh:datatype xsd:string ; + sh:datatype rdf:langString ; sh:minCount 0; sh:severity sh:Violation ; - sh:message " (DatasetShape): A dct:title property must point to a xsd:string field."@en ; + sh:message " (DatasetShape): A dct:title property must point to a language tagged field."@en ; ] ; sh:property [ a sh:PropertyShape ; sh:path odrl:hasPolicy ; - sh:class odrl:Policy ; + sh:class odrl:Offer ; sh:severity sh:Violation ; sh:minCount 0; sh:message " (DatasetShape): An odrl:hasPolicy property must point to an odrl:Policy."@en ; ] ; -. \ No newline at end of file +. diff --git a/releases/2024-1/catalog/message/shape/dcat-shapes.ttl b/releases/2024-1/catalog/message/shape/dcat-shapes.ttl index 000e892..217aa89 100644 --- a/releases/2024-1/catalog/message/shape/dcat-shapes.ttl +++ b/releases/2024-1/catalog/message/shape/dcat-shapes.ttl @@ -242,7 +242,7 @@ dspace_shapes:DataServiceShape sh:property [ a sh:PropertyShape ; sh:path dcat:endpointDescription ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; sh:message " (DataServiceShape): A dcat:endpointDescription property must point to a xsd:string field."@en ; ] ; @@ -250,9 +250,9 @@ dspace_shapes:DataServiceShape sh:property [ a sh:PropertyShape ; sh:path dcat:endpointURL ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:severity sh:Violation ; - sh:message " (DataServiceShape): A dcat:endpointURL property must point to a xsd:string field."@en ; + sh:message " (DataServiceShape): A dcat:endpointURL property must point to a xsd:anyURI field."@en ; ] ; sh:property [ @@ -264,4 +264,4 @@ dspace_shapes:DataServiceShape sh:message " (DataServiceShape): A dcat:servesDataset property must point to a dcat:Dataset."@en ; ] ; -. \ No newline at end of file +. diff --git a/releases/2024-1/common/schema/context.json b/releases/2024-1/common/schema/context.json index f475b23..f26eaff 100644 --- a/releases/2024-1/common/schema/context.json +++ b/releases/2024-1/common/schema/context.json @@ -55,7 +55,7 @@ "odrl:leftOperand": { "@type": "@id" }, "odrl:operator": { "@type": "@id" }, "odrl:rightOperandReference": { "@type": "@id" }, - "odrl:profile": { "@container": "@set" } + "odrl:profile": { "@container": "@set" }, "odrl:assigner": { "@type": "@id" }, "odrl:assignee": { "@type": "@id" } } diff --git a/releases/2024-1/negotiation/message/example/contract-agreement-message.json b/releases/2024-1/negotiation/message/example/contract-agreement-message.json index c1e3d78..a0016bc 100644 --- a/releases/2024-1/negotiation/message/example/contract-agreement-message.json +++ b/releases/2024-1/negotiation/message/example/contract-agreement-message.json @@ -19,5 +19,5 @@ }] }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/negotiation/message/example/contract-offer-message.json b/releases/2024-1/negotiation/message/example/contract-offer-message.json index a9a2920..06fc69b 100644 --- a/releases/2024-1/negotiation/message/example/contract-offer-message.json +++ b/releases/2024-1/negotiation/message/example/contract-offer-message.json @@ -18,5 +18,5 @@ }] }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/negotiation/message/example/contract-offer-message_initial.json b/releases/2024-1/negotiation/message/example/contract-offer-message_initial.json index a7e2eba..6e6b5a4 100644 --- a/releases/2024-1/negotiation/message/example/contract-offer-message_initial.json +++ b/releases/2024-1/negotiation/message/example/contract-offer-message_initial.json @@ -5,7 +5,11 @@ "dspace:offer": { "@type": "odrl:Offer", "@id": "urn:uuid:d526561f-528e-4d5a-ae12-9a9dd9b7a518", - "target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88" + "odrl:assigner": "urn:tsdshhs636378", + "target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", + "odrl:permission": [{ + "odrl:action": "odrl:use" + }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/negotiation/message/example/contract-request-message.json b/releases/2024-1/negotiation/message/example/contract-request-message.json index 840e02a..32f7211 100644 --- a/releases/2024-1/negotiation/message/example/contract-request-message.json +++ b/releases/2024-1/negotiation/message/example/contract-request-message.json @@ -4,6 +4,8 @@ "dspace:providerPid": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab", "dspace:consumerPid": "urn:uuid:32541fe6-c580-409e-85a8-8a9a32fbe833", "dspace:offer": { + "@type": "odrl:Offer", + "@id": "urn:uuid:d526561f-528e-4d5a-ae12-9a9dd9b7a815", "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", "odrl:assigner": "urn:tsdshhs636378", "odrl:assignee": "urn:jashd766", @@ -16,5 +18,5 @@ }] }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/negotiation/message/example/contract-request-message_initial.json b/releases/2024-1/negotiation/message/example/contract-request-message_initial.json index 38c9f93..aafe340 100644 --- a/releases/2024-1/negotiation/message/example/contract-request-message_initial.json +++ b/releases/2024-1/negotiation/message/example/contract-request-message_initial.json @@ -5,7 +5,11 @@ "dspace:offer": { "@type": "odrl:Offer", "@id": "urn:uuid:2828282:3dd1add8-4d2d-569e-d634-8394a8836a89", - "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88" + "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", + "odrl:assigner": "urn:tsdshhs636378", + "odrl:permission": [{ + "odrl:action": "odrl:use" + }] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/negotiation/message/example/contract.agreement.message.http.transfer.json b/releases/2024-1/negotiation/message/example/contract.agreement.message.http.transfer.json index 4f477e0..90006b4 100644 --- a/releases/2024-1/negotiation/message/example/contract.agreement.message.http.transfer.json +++ b/releases/2024-1/negotiation/message/example/contract.agreement.message.http.transfer.json @@ -4,7 +4,7 @@ "dspace:providerPid": "urn:uuid:a343fcbf-99fc-4ce8-8e9b-148c97605aab", "dspace:consumerPid": "urn:uuid:32541fe6-c580-409e-85a8-8a9a32fbe833", "dspace:agreement": { - "@id": "some-other-id", + "@id": "urn:uuid:e8dc8655-44c2-46ef-b701-4cffdc2faa44", "@type": "odrl:Agreement", "odrl:target": "urn:uuid:3dd1add8-4d2d-569e-d634-8394a8836a88", "odrl:assignee": "...", @@ -39,5 +39,6 @@ ] } ] - } + }, + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/negotiation/message/schema/contract-offer-message-schema.json b/releases/2024-1/negotiation/message/schema/contract-offer-message-schema.json index 0d48e56..3ea7d45 100644 --- a/releases/2024-1/negotiation/message/schema/contract-offer-message-schema.json +++ b/releases/2024-1/negotiation/message/schema/contract-offer-message-schema.json @@ -36,4 +36,4 @@ "required": [ "@context", "@type", "dspace:providerPid", "dspace:offer", "dspace:callbackAddress" ] } } -} \ No newline at end of file +} diff --git a/releases/2024-1/negotiation/message/schema/contract-request-message-schema.json b/releases/2024-1/negotiation/message/schema/contract-request-message-schema.json index 202f9af..3b1b8bb 100644 --- a/releases/2024-1/negotiation/message/schema/contract-request-message-schema.json +++ b/releases/2024-1/negotiation/message/schema/contract-request-message-schema.json @@ -36,4 +36,4 @@ "required": [ "@context", "@type", "dspace:consumerPid", "dspace:offer", "dspace:callbackAddress" ] } } -} \ No newline at end of file +} diff --git a/releases/2024-1/negotiation/message/schema/contract-schema.json b/releases/2024-1/negotiation/message/schema/contract-schema.json index 3490c8c..7689334 100644 --- a/releases/2024-1/negotiation/message/schema/contract-schema.json +++ b/releases/2024-1/negotiation/message/schema/contract-schema.json @@ -68,8 +68,7 @@ "odrl:assignee": { "type": "string" } - }, - "not": { "required": [ "odrl:target" ] } + } }, "MessageOffer": { "type": "object", @@ -153,7 +152,7 @@ "required": [ "@type", "@id", - "@target", + "odrl:target", "odrl:assignee", "odrl:assigner" ] diff --git a/releases/2024-1/negotiation/message/shape/contract-agreement-message-shape.ttl b/releases/2024-1/negotiation/message/shape/contract-agreement-message-shape.ttl index d0a7400..d5624b8 100644 --- a/releases/2024-1/negotiation/message/shape/contract-agreement-message-shape.ttl +++ b/releases/2024-1/negotiation/message/shape/contract-agreement-message-shape.ttl @@ -60,10 +60,10 @@ dspace_shapes:ContractAgreementMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:callbackAddress ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (ContractAgreementMessageShape): An dspace:callbackAddress property must point to exactly one xsd:string value."@en ; + sh:message " (ContractAgreementMessageShape): An dspace:callbackAddress property must point to exactly one xsd:anyURI value."@en ; ] . diff --git a/releases/2024-1/negotiation/message/shape/contract-offer-message-shape.ttl b/releases/2024-1/negotiation/message/shape/contract-offer-message-shape.ttl index b619d8c..36de8ba 100644 --- a/releases/2024-1/negotiation/message/shape/contract-offer-message-shape.ttl +++ b/releases/2024-1/negotiation/message/shape/contract-offer-message-shape.ttl @@ -60,10 +60,10 @@ dspace_shapes:ContractOfferMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:callbackAddress ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (ContractOfferMessageShape): A dspace:callbackAddress property must point to exactly one xsd:string value."@en ; + sh:message " (ContractOfferMessageShape): A dspace:callbackAddress property must point to exactly one xsd:anyURI value."@en ; ] ; . \ No newline at end of file diff --git a/releases/2024-1/negotiation/message/shape/contract-request-message-shape.ttl b/releases/2024-1/negotiation/message/shape/contract-request-message-shape.ttl index e28482a..c8f0e43 100644 --- a/releases/2024-1/negotiation/message/shape/contract-request-message-shape.ttl +++ b/releases/2024-1/negotiation/message/shape/contract-request-message-shape.ttl @@ -60,10 +60,10 @@ dspace_shapes:ContractRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:callbackAddress ; - sh:datatype xsd:string ; + sh:datatype xsd:anyURI ; sh:maxCount 1 ; sh:minCount 1 ; sh:severity sh:Violation ; - sh:message " (ContractRequestMessageShape): An dspace:callbackAddress property must point to exactly one xsd:string value."@en ; + sh:message " (ContractRequestMessageShape): An dspace:callbackAddress property must point to exactly one xsd:anyURI value."@en ; ] ; . \ No newline at end of file diff --git a/releases/2024-1/transfer/message/example/transfer-request-message.json b/releases/2024-1/transfer/message/example/transfer-request-message.json index d891ef5..2da79e3 100644 --- a/releases/2024-1/transfer/message/example/transfer-request-message.json +++ b/releases/2024-1/transfer/message/example/transfer-request-message.json @@ -21,5 +21,5 @@ } ] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/releases/2024-1/transfer/message/shape/transfer-request-message-shape.ttl b/releases/2024-1/transfer/message/shape/transfer-request-message-shape.ttl index 86ac73d..e712ca7 100644 --- a/releases/2024-1/transfer/message/shape/transfer-request-message-shape.ttl +++ b/releases/2024-1/transfer/message/shape/transfer-request-message-shape.ttl @@ -33,11 +33,11 @@ dspace_shapes:TransferRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:agreementId ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:severity sh:Violation ; sh:maxCount 1 ; sh:minCount 1 ; - sh:message " (TransferRequestMessageShape): An dspace:agreementId property must point exactly one xsd:anyURI field."@en ; + sh:message " (TransferRequestMessageShape): An dspace:agreementId property must point exactly one resource."@en ; ] ; sh:property [ diff --git a/transfer/message/example/transfer-request-message.json b/transfer/message/example/transfer-request-message.json index d891ef5..2da79e3 100644 --- a/transfer/message/example/transfer-request-message.json +++ b/transfer/message/example/transfer-request-message.json @@ -21,5 +21,5 @@ } ] }, - "dspace:callbackAddress": "https://......" + "dspace:callbackAddress": "https://example.com/callback" } diff --git a/transfer/message/shape/transfer-request-message-shape.ttl b/transfer/message/shape/transfer-request-message-shape.ttl index 86ac73d..e712ca7 100644 --- a/transfer/message/shape/transfer-request-message-shape.ttl +++ b/transfer/message/shape/transfer-request-message-shape.ttl @@ -33,11 +33,11 @@ dspace_shapes:TransferRequestMessageShape sh:property [ a sh:PropertyShape ; sh:path dspace:agreementId ; - sh:datatype xsd:anyURI ; + sh:nodeKind sh:IRI ; sh:severity sh:Violation ; sh:maxCount 1 ; sh:minCount 1 ; - sh:message " (TransferRequestMessageShape): An dspace:agreementId property must point exactly one xsd:anyURI field."@en ; + sh:message " (TransferRequestMessageShape): An dspace:agreementId property must point exactly one resource."@en ; ] ; sh:property [