@twin.org/standards-dataspace-protocol 0.0.3-next.53 → 0.0.3-next.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/es/dataTypes/catalogDataTypes.js +18 -39
  2. package/dist/es/dataTypes/catalogDataTypes.js.map +1 -1
  3. package/dist/es/dataTypes/dataspaceProtocolDataTypes.js +6 -0
  4. package/dist/es/dataTypes/dataspaceProtocolDataTypes.js.map +1 -1
  5. package/dist/es/index.js +10 -13
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js +1 -33
  8. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js.map +1 -1
  9. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js.map +1 -1
  10. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.js.map +1 -1
  11. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.js.map +1 -1
  12. package/dist/es/models/dataspaceProtocolContextType.js.map +1 -1
  13. package/dist/es/models/dcat3/IDataspaceProtocolCatalog.js.map +1 -1
  14. package/dist/es/models/dcat3/IDataspaceProtocolCatalogBase.js +2 -0
  15. package/dist/es/models/dcat3/IDataspaceProtocolCatalogBase.js.map +1 -0
  16. package/dist/es/models/dcat3/IDataspaceProtocolDataService.js.map +1 -1
  17. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceBase.js +2 -0
  18. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceBase.js.map +1 -0
  19. package/dist/es/models/dcat3/IDataspaceProtocolDataset.js.map +1 -1
  20. package/dist/es/models/dcat3/IDataspaceProtocolDatasetBase.js +2 -0
  21. package/dist/es/models/dcat3/IDataspaceProtocolDatasetBase.js.map +1 -0
  22. package/dist/es/models/dcat3/IDataspaceProtocolDistribution.js.map +1 -1
  23. package/dist/es/models/dcat3/IDataspaceProtocolDistributionBase.js +2 -0
  24. package/dist/es/models/dcat3/IDataspaceProtocolDistributionBase.js.map +1 -0
  25. package/dist/es/models/odrl/IDataspaceProtocolOffer.js.map +1 -1
  26. package/dist/es/models/odrl/IDataspaceProtocolOfferBase.js +2 -0
  27. package/dist/es/models/odrl/IDataspaceProtocolOfferBase.js.map +1 -0
  28. package/dist/es/schemas/DataspaceProtocolAgreement.json +181 -158
  29. package/dist/es/schemas/DataspaceProtocolCatalog.json +13 -3
  30. package/dist/es/schemas/DataspaceProtocolCatalogBase.json +428 -0
  31. package/dist/es/schemas/DataspaceProtocolCatalogError.json +4 -50
  32. package/dist/es/schemas/DataspaceProtocolCatalogRequestMessage.json +4 -50
  33. package/dist/es/schemas/DataspaceProtocolContextType.json +30 -0
  34. package/dist/es/schemas/DataspaceProtocolContractAgreementMessage.json +191 -52
  35. package/dist/es/schemas/DataspaceProtocolContractAgreementVerificationMessage.json +4 -50
  36. package/dist/es/schemas/DataspaceProtocolContractNegotiation.json +4 -50
  37. package/dist/es/schemas/DataspaceProtocolContractNegotiationError.json +4 -50
  38. package/dist/es/schemas/DataspaceProtocolContractNegotiationEventMessage.json +4 -50
  39. package/dist/es/schemas/DataspaceProtocolContractNegotiationEventType.json +11 -5
  40. package/dist/es/schemas/DataspaceProtocolContractNegotiationStateType.json +31 -10
  41. package/dist/es/schemas/DataspaceProtocolContractNegotiationTerminationMessage.json +4 -50
  42. package/dist/es/schemas/DataspaceProtocolContractOfferMessage.json +5 -51
  43. package/dist/es/schemas/DataspaceProtocolContractRequestMessage.json +5 -51
  44. package/dist/es/schemas/DataspaceProtocolDataAddress.json +2 -2
  45. package/dist/es/schemas/DataspaceProtocolDataService.json +21 -0
  46. package/dist/es/schemas/DataspaceProtocolDataServiceBase.json +285 -0
  47. package/dist/es/schemas/DataspaceProtocolDataset.json +13 -3
  48. package/dist/es/schemas/DataspaceProtocolDatasetBase.json +342 -0
  49. package/dist/es/schemas/DataspaceProtocolDatasetRequestMessage.json +4 -50
  50. package/dist/es/schemas/DataspaceProtocolDistribution.json +26 -0
  51. package/dist/es/schemas/DataspaceProtocolDistributionBase.json +170 -0
  52. package/dist/es/schemas/DataspaceProtocolEndpointProperty.json +2 -2
  53. package/dist/es/schemas/DataspaceProtocolOffer.json +10 -186
  54. package/dist/es/schemas/DataspaceProtocolOfferBase.json +219 -0
  55. package/dist/es/schemas/DataspaceProtocolPolicy.json +214 -202
  56. package/dist/es/schemas/DataspaceProtocolSet.json +225 -202
  57. package/dist/es/schemas/DataspaceProtocolTransferCompletionMessage.json +4 -50
  58. package/dist/es/schemas/DataspaceProtocolTransferError.json +4 -50
  59. package/dist/es/schemas/DataspaceProtocolTransferProcess.json +4 -50
  60. package/dist/es/schemas/DataspaceProtocolTransferRequestMessage.json +6 -52
  61. package/dist/es/schemas/DataspaceProtocolTransferStartMessage.json +5 -51
  62. package/dist/es/schemas/DataspaceProtocolTransferSuspensionMessage.json +4 -50
  63. package/dist/es/schemas/DataspaceProtocolTransferTerminationMessage.json +4 -50
  64. package/dist/es/utils/dataspaceProtocolHelper.js +27 -29
  65. package/dist/es/utils/dataspaceProtocolHelper.js.map +1 -1
  66. package/dist/types/index.d.ts +10 -13
  67. package/dist/types/models/catalog/dataspaceProtocolCatalogTypes.d.ts +0 -32
  68. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.d.ts +3 -2
  69. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.d.ts +2 -2
  70. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.d.ts +2 -2
  71. package/dist/types/models/dataspaceProtocolContextType.d.ts +2 -9
  72. package/dist/types/models/dcat3/IDataspaceProtocolCatalog.d.ts +2 -37
  73. package/dist/types/models/dcat3/IDataspaceProtocolCatalogBase.d.ts +58 -0
  74. package/dist/types/models/dcat3/IDataspaceProtocolDataService.d.ts +2 -22
  75. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceBase.d.ts +44 -0
  76. package/dist/types/models/dcat3/IDataspaceProtocolDataset.d.ts +2 -29
  77. package/dist/types/models/dcat3/IDataspaceProtocolDatasetBase.d.ts +61 -0
  78. package/dist/types/models/dcat3/IDataspaceProtocolDistribution.d.ts +4 -31
  79. package/dist/types/models/dcat3/IDataspaceProtocolDistributionBase.d.ts +66 -0
  80. package/dist/types/models/odrl/IDataspaceProtocolOffer.d.ts +7 -2
  81. package/dist/types/models/odrl/IDataspaceProtocolOfferBase.d.ts +18 -0
  82. package/dist/types/utils/dataspaceProtocolHelper.d.ts +2 -3
  83. package/docs/changelog.md +35 -0
  84. package/docs/examples.md +2 -4
  85. package/docs/reference/classes/CatalogDataTypes.md +1 -1
  86. package/docs/reference/classes/ContractNegotiationDataTypes.md +1 -1
  87. package/docs/reference/classes/DataspaceProtocolDataTypes.md +2 -2
  88. package/docs/reference/classes/DataspaceProtocolHelper.md +5 -11
  89. package/docs/reference/classes/TransferProcessDataTypes.md +1 -1
  90. package/docs/reference/index.md +5 -8
  91. package/docs/reference/interfaces/IDataspaceProtocolAgreement.md +20 -20
  92. package/docs/reference/interfaces/IDataspaceProtocolCatalog.md +110 -86
  93. package/docs/reference/interfaces/IDataspaceProtocolCatalogBase.md +570 -0
  94. package/docs/reference/interfaces/IDataspaceProtocolCatalogError.md +4 -4
  95. package/docs/reference/interfaces/IDataspaceProtocolCatalogRequestMessage.md +3 -3
  96. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementMessage.md +7 -7
  97. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementVerificationMessage.md +4 -4
  98. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiation.md +5 -5
  99. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationError.md +6 -6
  100. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationEventMessage.md +5 -5
  101. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationTerminationMessage.md +6 -6
  102. package/docs/reference/interfaces/IDataspaceProtocolContractOfferMessage.md +7 -7
  103. package/docs/reference/interfaces/IDataspaceProtocolContractRequestMessage.md +7 -7
  104. package/docs/reference/interfaces/IDataspaceProtocolDataAddress.md +4 -4
  105. package/docs/reference/interfaces/IDataspaceProtocolDataService.md +70 -58
  106. package/docs/reference/interfaces/IDataspaceProtocolDataServiceBase.md +387 -0
  107. package/docs/reference/interfaces/IDataspaceProtocolDataset.md +80 -68
  108. package/docs/reference/interfaces/IDataspaceProtocolDatasetBase.md +484 -0
  109. package/docs/reference/interfaces/IDataspaceProtocolDatasetRequestMessage.md +3 -3
  110. package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +72 -56
  111. package/docs/reference/interfaces/IDataspaceProtocolDistributionBase.md +381 -0
  112. package/docs/reference/interfaces/IDataspaceProtocolEndpointProperty.md +3 -3
  113. package/docs/reference/interfaces/IDataspaceProtocolOffer.md +43 -44
  114. package/docs/reference/interfaces/IDataspaceProtocolOfferBase.md +171 -0
  115. package/docs/reference/interfaces/IDataspaceProtocolPolicy.md +22 -22
  116. package/docs/reference/interfaces/IDataspaceProtocolSet.md +22 -22
  117. package/docs/reference/interfaces/IDataspaceProtocolTransferCompletionMessage.md +4 -4
  118. package/docs/reference/interfaces/IDataspaceProtocolTransferError.md +6 -6
  119. package/docs/reference/interfaces/IDataspaceProtocolTransferProcess.md +5 -5
  120. package/docs/reference/interfaces/IDataspaceProtocolTransferRequestMessage.md +7 -7
  121. package/docs/reference/interfaces/IDataspaceProtocolTransferStartMessage.md +5 -5
  122. package/docs/reference/interfaces/IDataspaceProtocolTransferSuspensionMessage.md +6 -6
  123. package/docs/reference/interfaces/IDataspaceProtocolTransferTerminationMessage.md +6 -6
  124. package/docs/reference/type-aliases/DataspaceProtocolContextType.md +1 -1
  125. package/docs/reference/variables/DataspaceProtocolCatalogTypes.md +11 -59
  126. package/docs/reference/variables/DataspaceProtocolContexts.md +4 -4
  127. package/docs/reference/variables/DataspaceProtocolContractNegotiationEventType.md +2 -2
  128. package/docs/reference/variables/DataspaceProtocolContractNegotiationStateType.md +7 -7
  129. package/docs/reference/variables/DataspaceProtocolContractNegotiationTypes.md +10 -10
  130. package/docs/reference/variables/DataspaceProtocolEndpointType.md +4 -4
  131. package/docs/reference/variables/DataspaceProtocolTransferProcessStateType.md +5 -5
  132. package/docs/reference/variables/DataspaceProtocolTransferProcessTypes.md +9 -9
  133. package/locales/en.json +3 -0
  134. package/package.json +3 -3
  135. package/dist/es/models/dcat3/IDataspaceProtocolCatalogNoContext.js +0 -2
  136. package/dist/es/models/dcat3/IDataspaceProtocolCatalogNoContext.js.map +0 -1
  137. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceNoContext.js +0 -2
  138. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceNoContext.js.map +0 -1
  139. package/dist/es/models/dcat3/IDataspaceProtocolDatasetNoContext.js +0 -2
  140. package/dist/es/models/dcat3/IDataspaceProtocolDatasetNoContext.js.map +0 -1
  141. package/dist/es/models/dcat3/IDataspaceProtocolDistributionNoContext.js +0 -2
  142. package/dist/es/models/dcat3/IDataspaceProtocolDistributionNoContext.js.map +0 -1
  143. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js +0 -2
  144. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js.map +0 -1
  145. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js +0 -2
  146. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js.map +0 -1
  147. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js +0 -2
  148. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js.map +0 -1
  149. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js +0 -2
  150. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js.map +0 -1
  151. package/dist/es/schemas/DataspaceProtocolAgreementNoContext.json +0 -6
  152. package/dist/es/schemas/DataspaceProtocolCatalogNoContext.json +0 -6
  153. package/dist/es/schemas/DataspaceProtocolDataServiceNoContext.json +0 -6
  154. package/dist/es/schemas/DataspaceProtocolDatasetNoContext.json +0 -6
  155. package/dist/es/schemas/DataspaceProtocolDistributionNoContext.json +0 -6
  156. package/dist/es/schemas/DataspaceProtocolOfferNoContext.json +0 -6
  157. package/dist/es/schemas/DataspaceProtocolPolicyNoContext.json +0 -6
  158. package/dist/es/schemas/DataspaceProtocolSetNoContext.json +0 -6
  159. package/dist/es/schemas-src/DataspaceProtocolDataService.json +0 -11
  160. package/dist/es/schemas-src/DataspaceProtocolDistribution.json +0 -11
  161. package/dist/types/models/dcat3/IDataspaceProtocolCatalogNoContext.d.ts +0 -5
  162. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceNoContext.d.ts +0 -5
  163. package/dist/types/models/dcat3/IDataspaceProtocolDatasetNoContext.d.ts +0 -5
  164. package/dist/types/models/dcat3/IDataspaceProtocolDistributionNoContext.d.ts +0 -5
  165. package/dist/types/models/odrl/IDataspaceProtocolAgreementNoContext.d.ts +0 -5
  166. package/dist/types/models/odrl/IDataspaceProtocolOfferNoContext.d.ts +0 -5
  167. package/dist/types/models/odrl/IDataspaceProtocolPolicyNoContext.d.ts +0 -5
  168. package/dist/types/models/odrl/IDataspaceProtocolSetNoContext.d.ts +0 -5
  169. package/docs/reference/type-aliases/IDataspaceProtocolAgreementNoContext.md +0 -5
  170. package/docs/reference/type-aliases/IDataspaceProtocolCatalogNoContext.md +0 -5
  171. package/docs/reference/type-aliases/IDataspaceProtocolDataServiceNoContext.md +0 -5
  172. package/docs/reference/type-aliases/IDataspaceProtocolDatasetNoContext.md +0 -5
  173. package/docs/reference/type-aliases/IDataspaceProtocolDistributionNoContext.md +0 -5
  174. package/docs/reference/type-aliases/IDataspaceProtocolOfferNoContext.md +0 -5
  175. package/docs/reference/type-aliases/IDataspaceProtocolPolicyNoContext.md +0 -5
  176. package/docs/reference/type-aliases/IDataspaceProtocolSetNoContext.md +0 -5
@@ -1,219 +1,231 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolPolicy",
4
+ "title": "DataspaceProtocolPolicy",
4
5
  "description": "Policy interface compliant with Eclipse Data Space Protocol.\n\nExtends IOdrlPolicy with DS Protocol-specific constraints:\n- `@id` is REQUIRED (used as the primary policy identifier in DS Protocol)\n- `@context` is omitted (inherited from the parent Dataset/Distribution)",
5
6
  "type": "object",
6
7
  "properties": {
7
- "@context": {
8
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
9
- "description": "The context for the policy. Must include \"https://www.w3.org/ns/odrl.jsonld\""
10
- },
11
- "@type": {
12
- "$ref": "https://schema.twindev.org/w3c-odrl/PolicyType",
13
- "description": "The type of policy. Must be one of: \"Set\", \"Offer\", \"Agreement\""
14
- },
15
- "profile": {
16
- "anyOf": [
17
- {
18
- "type": "string"
19
- },
20
- {
21
- "type": "array",
22
- "items": {
23
- "type": "string"
24
- }
25
- }
26
- ],
27
- "description": "The profile(s) this policy conforms to. IRIs identifying the ODRL Profile(s)."
28
- },
29
- "assigner": {
30
- "anyOf": [
31
- {
32
- "type": "string"
33
- },
34
- {
35
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
36
- },
37
- {
38
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
39
- },
40
- {
41
- "type": "array",
42
- "items": {
43
- "anyOf": [
44
- {
8
+ "@id": {
9
+ "type": "string",
10
+ "description": "Unique identifier for the policy."
11
+ }
12
+ },
13
+ "required": [
14
+ "@id"
15
+ ],
16
+ "allOf": [
17
+ {
18
+ "description": "Interface representing an ODRL Policy.\nhttps://www.w3.org/TR/odrl-model/#policy",
19
+ "type": "object",
20
+ "properties": {
21
+ "@context": {
22
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
23
+ "description": "The context for the policy.\nMust include \"https://www.w3.org/ns/odrl.jsonld\""
24
+ },
25
+ "@type": {
26
+ "$ref": "https://schema.twindev.org/w3c-odrl/PolicyTypePolicyType",
27
+ "description": "The type of policy.\nMust be one of: \"Set\", \"Offer\", \"Agreement\""
28
+ },
29
+ "profile": {
30
+ "anyOf": [
31
+ {
32
+ "type": "string"
33
+ },
34
+ {
35
+ "type": "array",
36
+ "items": {
45
37
  "type": "string"
46
- },
47
- {
48
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
49
- },
50
- {
51
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
52
38
  }
53
- ]
54
- }
55
- }
56
- ],
57
- "description": "The assigner of the policy. Applies to all rules unless overridden at rule level."
58
- },
59
- "assignee": {
60
- "anyOf": [
61
- {
62
- "type": "string"
63
- },
64
- {
65
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
66
- },
67
- {
68
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
69
- },
70
- {
71
- "type": "array",
72
- "items": {
73
- "anyOf": [
74
- {
75
- "type": "string"
76
- },
77
- {
78
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
79
- },
80
- {
81
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
39
+ }
40
+ ],
41
+ "description": "The profile(s) this policy conforms to.\nIRIs identifying the ODRL Profile(s)."
42
+ },
43
+ "assigner": {
44
+ "anyOf": [
45
+ {
46
+ "type": "string"
47
+ },
48
+ {
49
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
50
+ },
51
+ {
52
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
53
+ },
54
+ {
55
+ "type": "array",
56
+ "items": {
57
+ "anyOf": [
58
+ {
59
+ "type": "string"
60
+ },
61
+ {
62
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
63
+ },
64
+ {
65
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
66
+ }
67
+ ]
82
68
  }
83
- ]
84
- }
85
- }
86
- ],
87
- "description": "The assignee of the policy. Applies to all rules unless overridden at rule level."
88
- },
89
- "target": {
90
- "anyOf": [
91
- {
92
- "type": "string"
93
- },
94
- {
95
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
96
- },
97
- {
98
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
99
- },
100
- {
101
- "type": "array",
102
- "items": {
103
- "anyOf": [
104
- {
105
- "type": "string"
106
- },
107
- {
108
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
109
- },
110
- {
111
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
69
+ }
70
+ ],
71
+ "description": "The assigner of the policy.\nApplies to all rules unless overridden at rule level."
72
+ },
73
+ "assignee": {
74
+ "anyOf": [
75
+ {
76
+ "type": "string"
77
+ },
78
+ {
79
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
80
+ },
81
+ {
82
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
83
+ },
84
+ {
85
+ "type": "array",
86
+ "items": {
87
+ "anyOf": [
88
+ {
89
+ "type": "string"
90
+ },
91
+ {
92
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
93
+ },
94
+ {
95
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
96
+ }
97
+ ]
112
98
  }
113
- ]
114
- }
115
- }
116
- ],
117
- "description": "The target asset for the rule."
118
- },
119
- "action": {
120
- "anyOf": [
121
- {
122
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
123
- },
124
- {
125
- "type": "string"
126
- },
127
- {
128
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
129
- },
130
- {
131
- "type": "array",
132
- "items": {
133
- "anyOf": [
134
- {
135
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
136
- },
137
- {
99
+ }
100
+ ],
101
+ "description": "The assignee of the policy.\nApplies to all rules unless overridden at rule level."
102
+ },
103
+ "target": {
104
+ "anyOf": [
105
+ {
106
+ "type": "string"
107
+ },
108
+ {
109
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
110
+ },
111
+ {
112
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
113
+ },
114
+ {
115
+ "type": "array",
116
+ "items": {
117
+ "anyOf": [
118
+ {
119
+ "type": "string"
120
+ },
121
+ {
122
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
123
+ },
124
+ {
125
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
126
+ }
127
+ ]
128
+ }
129
+ }
130
+ ],
131
+ "description": "The target asset for the rule."
132
+ },
133
+ "action": {
134
+ "anyOf": [
135
+ {
136
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
137
+ },
138
+ {
139
+ "type": "string"
140
+ },
141
+ {
142
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
143
+ },
144
+ {
145
+ "type": "array",
146
+ "items": {
147
+ "anyOf": [
148
+ {
149
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
150
+ },
151
+ {
152
+ "type": "string"
153
+ },
154
+ {
155
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
156
+ }
157
+ ]
158
+ }
159
+ }
160
+ ],
161
+ "description": "The action associated with the rule."
162
+ },
163
+ "inheritFrom": {
164
+ "anyOf": [
165
+ {
166
+ "type": "string"
167
+ },
168
+ {
169
+ "type": "array",
170
+ "items": {
138
171
  "type": "string"
139
- },
140
- {
141
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
142
172
  }
143
- ]
144
- }
145
- }
146
- ],
147
- "description": "The action associated with the rule."
148
- },
149
- "inheritFrom": {
150
- "anyOf": [
151
- {
152
- "type": "string"
153
- },
154
- {
155
- "type": "array",
156
- "items": {
157
- "type": "string"
158
- }
159
- }
160
- ],
161
- "description": "The parent policy(ies) this policy inherits from. IRIs identifying the parent Policy(ies)."
162
- },
163
- "conflict": {
164
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyType",
165
- "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
166
- },
167
- "permission": {
168
- "anyOf": [
169
- {
170
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
171
- },
172
- {
173
- "type": "array",
174
- "items": {
175
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
176
- }
177
- }
178
- ],
179
- "description": "The permissions in the policy. At least one of permission, prohibition, or obligation must be present."
180
- },
181
- "prohibition": {
182
- "anyOf": [
183
- {
184
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
185
- },
186
- {
187
- "type": "array",
188
- "items": {
189
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
190
- }
191
- }
192
- ],
193
- "description": "The prohibitions in the policy. At least one of permission, prohibition, or obligation must be present."
194
- },
195
- "obligation": {
196
- "anyOf": [
197
- {
198
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
199
- },
200
- {
201
- "type": "array",
202
- "items": {
203
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
204
- }
173
+ }
174
+ ],
175
+ "description": "The parent policy(ies) this policy inherits from.\nIRIs identifying the parent Policy(ies)."
176
+ },
177
+ "conflict": {
178
+ "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
179
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
180
+ },
181
+ "permission": {
182
+ "anyOf": [
183
+ {
184
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
185
+ },
186
+ {
187
+ "type": "array",
188
+ "items": {
189
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
190
+ }
191
+ }
192
+ ],
193
+ "description": "The permissions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
194
+ },
195
+ "prohibition": {
196
+ "anyOf": [
197
+ {
198
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
199
+ },
200
+ {
201
+ "type": "array",
202
+ "items": {
203
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
204
+ }
205
+ }
206
+ ],
207
+ "description": "The prohibitions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
208
+ },
209
+ "obligation": {
210
+ "anyOf": [
211
+ {
212
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
213
+ },
214
+ {
215
+ "type": "array",
216
+ "items": {
217
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
218
+ }
219
+ }
220
+ ],
221
+ "description": "The obligations in the policy.\nAt least one of permission, prohibition, or obligation must be present."
205
222
  }
223
+ },
224
+ "required": [
225
+ "@context",
226
+ "@type"
206
227
  ],
207
- "description": "The obligations in the policy. At least one of permission, prohibition, or obligation must be present."
208
- },
209
- "@id": {
210
- "type": "string",
211
- "description": "Unique identifier for the policy."
228
+ "$comment": "Inlined utility base type OdrlPolicy so utility transformations can operate on concrete properties instead of a $ref."
212
229
  }
213
- },
214
- "required": [
215
- "@context",
216
- "@id",
217
- "@type"
218
230
  ]
219
231
  }