@twin.org/standards-w3c-odrl 0.0.2-next.9 → 0.0.3-next.10

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 (113) hide show
  1. package/dist/es/dataTypes/odrlDataTypes.js +113 -0
  2. package/dist/es/dataTypes/odrlDataTypes.js.map +1 -0
  3. package/dist/es/index.js +31 -0
  4. package/dist/es/index.js.map +1 -0
  5. package/dist/es/models/IOdrlAction.js +2 -0
  6. package/dist/es/models/IOdrlAction.js.map +1 -0
  7. package/dist/es/models/IOdrlAgreement.js +2 -0
  8. package/dist/es/models/IOdrlAgreement.js.map +1 -0
  9. package/dist/es/models/IOdrlAsset.js +2 -0
  10. package/dist/es/models/IOdrlAsset.js.map +1 -0
  11. package/dist/es/models/IOdrlAssetCollection.js +2 -0
  12. package/dist/es/models/IOdrlAssetCollection.js.map +1 -0
  13. package/dist/es/models/IOdrlConstraint.js +2 -0
  14. package/dist/es/models/IOdrlConstraint.js.map +1 -0
  15. package/dist/es/models/IOdrlDuty.js +2 -0
  16. package/dist/es/models/IOdrlDuty.js.map +1 -0
  17. package/dist/es/models/IOdrlLogicalConstraint.js +2 -0
  18. package/dist/es/models/IOdrlLogicalConstraint.js.map +1 -0
  19. package/dist/es/models/IOdrlOffer.js +2 -0
  20. package/dist/es/models/IOdrlOffer.js.map +1 -0
  21. package/dist/es/models/IOdrlParty.js +2 -0
  22. package/dist/es/models/IOdrlParty.js.map +1 -0
  23. package/dist/es/models/IOdrlPartyCollection.js +2 -0
  24. package/dist/es/models/IOdrlPartyCollection.js.map +1 -0
  25. package/dist/es/models/IOdrlPermission.js +2 -0
  26. package/dist/es/models/IOdrlPermission.js.map +1 -0
  27. package/dist/es/models/IOdrlPolicy.js +2 -0
  28. package/dist/es/models/IOdrlPolicy.js.map +1 -0
  29. package/dist/es/models/IOdrlProhibition.js +2 -0
  30. package/dist/es/models/IOdrlProhibition.js.map +1 -0
  31. package/dist/es/models/IOdrlRule.js +2 -0
  32. package/dist/es/models/IOdrlRule.js.map +1 -0
  33. package/dist/es/models/IOdrlSet.js +2 -0
  34. package/dist/es/models/IOdrlSet.js.map +1 -0
  35. package/dist/es/models/odrlContextType.js +2 -0
  36. package/dist/es/models/odrlContextType.js.map +1 -0
  37. package/dist/es/models/odrlContexts.js +21 -0
  38. package/dist/es/models/odrlContexts.js.map +1 -0
  39. package/dist/es/models/types/actionType.js +237 -0
  40. package/dist/es/models/types/actionType.js.map +1 -0
  41. package/dist/es/models/types/conflictStrategyType.js +21 -0
  42. package/dist/es/models/types/conflictStrategyType.js.map +1 -0
  43. package/dist/es/models/types/leftOperandType.js +137 -0
  44. package/dist/es/models/types/leftOperandType.js.map +1 -0
  45. package/dist/es/models/types/logicalConstraintType.js +25 -0
  46. package/dist/es/models/types/logicalConstraintType.js.map +1 -0
  47. package/dist/es/models/types/odrlTypes.js +69 -0
  48. package/dist/es/models/types/odrlTypes.js.map +1 -0
  49. package/dist/es/models/types/operatorType.js +65 -0
  50. package/dist/es/models/types/operatorType.js.map +1 -0
  51. package/dist/es/models/types/policyType.js +25 -0
  52. package/dist/es/models/types/policyType.js.map +1 -0
  53. package/dist/es/models/types/rightOperandType.js +14 -0
  54. package/dist/es/models/types/rightOperandType.js.map +1 -0
  55. package/dist/es/models/types/ruleType.js +21 -0
  56. package/dist/es/models/types/ruleType.js.map +1 -0
  57. package/dist/es/models/types/statusType.js +25 -0
  58. package/dist/es/models/types/statusType.js.map +1 -0
  59. package/dist/es/schemas/OdrlAction.json +153 -0
  60. package/dist/es/schemas/OdrlAgreement.json +279 -0
  61. package/dist/es/schemas/OdrlAsset.json +110 -0
  62. package/dist/es/schemas/OdrlAssetCollection.json +124 -0
  63. package/dist/es/schemas/OdrlConstraint.json +174 -0
  64. package/dist/es/schemas/OdrlDuty.json +217 -0
  65. package/dist/es/schemas/OdrlLogicalConstraint.json +204 -0
  66. package/dist/es/schemas/OdrlOffer.json +278 -0
  67. package/dist/es/schemas/OdrlParty.json +124 -0
  68. package/dist/es/schemas/OdrlPartyCollection.json +138 -0
  69. package/dist/es/schemas/OdrlPermission.json +198 -0
  70. package/dist/es/schemas/OdrlPolicy.json +276 -0
  71. package/dist/es/schemas/OdrlProhibition.json +198 -0
  72. package/dist/es/schemas/OdrlRule.json +191 -0
  73. package/dist/es/schemas/OdrlSet.json +277 -0
  74. package/dist/types/index.d.ts +28 -28
  75. package/dist/types/models/IOdrlAction.d.ts +3 -3
  76. package/dist/types/models/IOdrlAgreement.d.ts +3 -3
  77. package/dist/types/models/IOdrlAsset.d.ts +1 -1
  78. package/dist/types/models/IOdrlAssetCollection.d.ts +2 -2
  79. package/dist/types/models/IOdrlConstraint.d.ts +3 -3
  80. package/dist/types/models/IOdrlDuty.d.ts +1 -1
  81. package/dist/types/models/IOdrlOffer.d.ts +3 -3
  82. package/dist/types/models/IOdrlParty.d.ts +1 -1
  83. package/dist/types/models/IOdrlPartyCollection.d.ts +2 -2
  84. package/dist/types/models/IOdrlPermission.d.ts +2 -2
  85. package/dist/types/models/IOdrlPolicy.d.ts +10 -10
  86. package/dist/types/models/IOdrlProhibition.d.ts +2 -2
  87. package/dist/types/models/IOdrlRule.d.ts +5 -5
  88. package/dist/types/models/IOdrlSet.d.ts +2 -2
  89. package/dist/types/models/odrlContextType.d.ts +2 -2
  90. package/dist/types/models/odrlContexts.d.ts +6 -2
  91. package/dist/types/models/types/odrlTypes.d.ts +0 -4
  92. package/docs/changelog.md +271 -0
  93. package/docs/reference/interfaces/IOdrlAction.md +1 -1
  94. package/docs/reference/interfaces/IOdrlAgreement.md +1 -1
  95. package/docs/reference/interfaces/IOdrlAsset.md +1 -1
  96. package/docs/reference/interfaces/IOdrlAssetCollection.md +1 -1
  97. package/docs/reference/interfaces/IOdrlConstraint.md +1 -1
  98. package/docs/reference/interfaces/IOdrlDuty.md +1 -1
  99. package/docs/reference/interfaces/IOdrlLogicalConstraint.md +1 -1
  100. package/docs/reference/interfaces/IOdrlOffer.md +1 -1
  101. package/docs/reference/interfaces/IOdrlParty.md +1 -1
  102. package/docs/reference/interfaces/IOdrlPartyCollection.md +1 -1
  103. package/docs/reference/interfaces/IOdrlPermission.md +1 -1
  104. package/docs/reference/interfaces/IOdrlPolicy.md +1 -1
  105. package/docs/reference/interfaces/IOdrlProhibition.md +1 -1
  106. package/docs/reference/interfaces/IOdrlRule.md +1 -1
  107. package/docs/reference/interfaces/IOdrlSet.md +1 -1
  108. package/docs/reference/type-aliases/OdrlContextType.md +1 -1
  109. package/docs/reference/variables/OdrlContexts.md +8 -2
  110. package/docs/reference/variables/OdrlTypes.md +0 -6
  111. package/package.json +22 -10
  112. package/dist/cjs/index.cjs +0 -4008
  113. package/dist/esm/index.mjs +0 -3995
@@ -0,0 +1,276 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-odrl/OdrlPolicy",
4
+ "description": "Interface representing an ODRL Policy. https://www.w3.org/TR/odrl-model/#policy",
5
+ "type": "object",
6
+ "properties": {
7
+ "@context": {
8
+ "description": "The ODRL JSON-LD context type.",
9
+ "anyOf": [
10
+ {
11
+ "type": "string",
12
+ "const": "http://www.w3.org/ns/odrl.jsonld"
13
+ },
14
+ {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
19
+ },
20
+ "minItems": 1,
21
+ "maxItems": 1
22
+ },
23
+ {
24
+ "type": "array",
25
+ "minItems": 2,
26
+ "prefixItems": [
27
+ {
28
+ "type": "string",
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
30
+ },
31
+ {
32
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
33
+ }
34
+ ],
35
+ "items": {
36
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
37
+ }
38
+ },
39
+ {
40
+ "type": "array",
41
+ "minItems": 2,
42
+ "prefixItems": [
43
+ {
44
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
45
+ },
46
+ {
47
+ "type": "string",
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
49
+ }
50
+ ],
51
+ "items": {
52
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
53
+ }
54
+ }
55
+ ]
56
+ },
57
+ "@id": {
58
+ "anyOf": [
59
+ {
60
+ "type": "string"
61
+ },
62
+ {
63
+ "type": "array",
64
+ "items": {
65
+ "type": "string"
66
+ }
67
+ }
68
+ ]
69
+ },
70
+ "@included": {
71
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
72
+ },
73
+ "@graph": {
74
+ "anyOf": [
75
+ {
76
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
77
+ },
78
+ {
79
+ "type": "array",
80
+ "items": {
81
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
82
+ }
83
+ }
84
+ ]
85
+ },
86
+ "@nest": {
87
+ "anyOf": [
88
+ {
89
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
90
+ },
91
+ {
92
+ "type": "array",
93
+ "items": {
94
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
95
+ }
96
+ }
97
+ ]
98
+ },
99
+ "@type": {
100
+ "$ref": "https://schema.twindev.org/w3c-odrl/PolicyType",
101
+ "description": "The type of policy. Must be one of: \"Set\", \"Offer\", \"Agreement\""
102
+ },
103
+ "@reverse": {
104
+ "type": "object",
105
+ "additionalProperties": {
106
+ "type": "string"
107
+ }
108
+ },
109
+ "@index": {
110
+ "type": "string"
111
+ },
112
+ "uid": {
113
+ "type": "string",
114
+ "description": "The unique identifier for the policy. Must be an IRI."
115
+ },
116
+ "profile": {
117
+ "anyOf": [
118
+ {
119
+ "type": "string"
120
+ },
121
+ {
122
+ "type": "array",
123
+ "items": {
124
+ "type": "string"
125
+ }
126
+ }
127
+ ],
128
+ "description": "The profile(s) this policy conforms to. IRIs identifying the ODRL Profile(s)."
129
+ },
130
+ "assigner": {
131
+ "anyOf": [
132
+ {
133
+ "type": "string"
134
+ },
135
+ {
136
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
137
+ }
138
+ ],
139
+ "description": "The assigner of the policy. Applies to all rules unless overridden at rule level."
140
+ },
141
+ "assignee": {
142
+ "anyOf": [
143
+ {
144
+ "type": "string"
145
+ },
146
+ {
147
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
148
+ }
149
+ ],
150
+ "description": "The assignee of the policy. Applies to all rules unless overridden at rule level."
151
+ },
152
+ "target": {
153
+ "anyOf": [
154
+ {
155
+ "type": "string"
156
+ },
157
+ {
158
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
159
+ },
160
+ {
161
+ "type": "array",
162
+ "items": {
163
+ "anyOf": [
164
+ {
165
+ "type": "string"
166
+ },
167
+ {
168
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
169
+ }
170
+ ]
171
+ }
172
+ }
173
+ ],
174
+ "description": "The target asset for the rule."
175
+ },
176
+ "action": {
177
+ "anyOf": [
178
+ {
179
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
180
+ },
181
+ {
182
+ "type": "string"
183
+ },
184
+ {
185
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
186
+ },
187
+ {
188
+ "type": "array",
189
+ "items": {
190
+ "anyOf": [
191
+ {
192
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
193
+ },
194
+ {
195
+ "type": "string"
196
+ },
197
+ {
198
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
199
+ }
200
+ ]
201
+ }
202
+ }
203
+ ],
204
+ "description": "The action associated with the rule."
205
+ },
206
+ "inheritFrom": {
207
+ "anyOf": [
208
+ {
209
+ "type": "string"
210
+ },
211
+ {
212
+ "type": "array",
213
+ "items": {
214
+ "type": "string"
215
+ }
216
+ }
217
+ ],
218
+ "description": "The parent policy(ies) this policy inherits from. IRIs identifying the parent Policy(ies)."
219
+ },
220
+ "conflict": {
221
+ "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyType",
222
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
223
+ },
224
+ "permission": {
225
+ "type": "array",
226
+ "items": {
227
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
228
+ },
229
+ "description": "The permissions in the policy. At least one of permission, prohibition, or obligation must be present."
230
+ },
231
+ "prohibition": {
232
+ "type": "array",
233
+ "items": {
234
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
235
+ },
236
+ "description": "The prohibitions in the policy. At least one of permission, prohibition, or obligation must be present."
237
+ },
238
+ "obligation": {
239
+ "type": "array",
240
+ "items": {
241
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
242
+ },
243
+ "description": "The obligations in the policy. At least one of permission, prohibition, or obligation must be present."
244
+ }
245
+ },
246
+ "required": [
247
+ "@context",
248
+ "@type",
249
+ "uid"
250
+ ],
251
+ "additionalProperties": {
252
+ "anyOf": [
253
+ {
254
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
255
+ },
256
+ {
257
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
258
+ },
259
+ {
260
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
261
+ },
262
+ {
263
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
264
+ },
265
+ {
266
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
267
+ },
268
+ {
269
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
270
+ },
271
+ {
272
+ "type": "array"
273
+ }
274
+ ]
275
+ }
276
+ }
@@ -0,0 +1,198 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-odrl/OdrlProhibition",
4
+ "description": "Interface for Prohibition Rules. https://www.w3.org/TR/odrl-model/#prohibition",
5
+ "type": "object",
6
+ "properties": {
7
+ "@context": {
8
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
9
+ },
10
+ "@id": {
11
+ "anyOf": [
12
+ {
13
+ "type": "string"
14
+ },
15
+ {
16
+ "type": "array",
17
+ "items": {
18
+ "type": "string"
19
+ }
20
+ }
21
+ ]
22
+ },
23
+ "@included": {
24
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
25
+ },
26
+ "@graph": {
27
+ "anyOf": [
28
+ {
29
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
30
+ },
31
+ {
32
+ "type": "array",
33
+ "items": {
34
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
35
+ }
36
+ }
37
+ ]
38
+ },
39
+ "@nest": {
40
+ "anyOf": [
41
+ {
42
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
43
+ },
44
+ {
45
+ "type": "array",
46
+ "items": {
47
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
48
+ }
49
+ }
50
+ ]
51
+ },
52
+ "@type": {
53
+ "anyOf": [
54
+ {
55
+ "type": "string"
56
+ },
57
+ {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "string"
61
+ }
62
+ }
63
+ ]
64
+ },
65
+ "@reverse": {
66
+ "type": "object",
67
+ "additionalProperties": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "@index": {
72
+ "type": "string"
73
+ },
74
+ "uid": {
75
+ "type": "string",
76
+ "description": "Optional unique identifier for the rule."
77
+ },
78
+ "action": {
79
+ "anyOf": [
80
+ {
81
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
82
+ },
83
+ {
84
+ "type": "string"
85
+ },
86
+ {
87
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
88
+ },
89
+ {
90
+ "type": "array",
91
+ "items": {
92
+ "anyOf": [
93
+ {
94
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
95
+ },
96
+ {
97
+ "type": "string"
98
+ },
99
+ {
100
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ ],
106
+ "description": "The action associated with the rule."
107
+ },
108
+ "target": {
109
+ "anyOf": [
110
+ {
111
+ "type": "string"
112
+ },
113
+ {
114
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
115
+ },
116
+ {
117
+ "type": "array",
118
+ "items": {
119
+ "anyOf": [
120
+ {
121
+ "type": "string"
122
+ },
123
+ {
124
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
125
+ }
126
+ ]
127
+ }
128
+ }
129
+ ],
130
+ "description": "The target asset for the rule."
131
+ },
132
+ "assigner": {
133
+ "anyOf": [
134
+ {
135
+ "type": "string"
136
+ },
137
+ {
138
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
139
+ }
140
+ ],
141
+ "description": "The assigner of the rule."
142
+ },
143
+ "assignee": {
144
+ "anyOf": [
145
+ {
146
+ "type": "string"
147
+ },
148
+ {
149
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
150
+ }
151
+ ],
152
+ "description": "The assignee of the rule."
153
+ },
154
+ "constraint": {
155
+ "type": "array",
156
+ "items": {
157
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
158
+ },
159
+ "description": "Constraints applied to the rule."
160
+ },
161
+ "summary": {
162
+ "type": "string",
163
+ "description": "Additional relation sub-properties as defined in ODRL profiles. For example, 'summary' in profile \"http://example.com/odrl:profile:03\" indicates where the output should be stored."
164
+ },
165
+ "remedy": {
166
+ "type": "array",
167
+ "items": {
168
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
169
+ },
170
+ "description": "The remedies that must be fulfilled if prohibition is violated."
171
+ }
172
+ },
173
+ "additionalProperties": {
174
+ "anyOf": [
175
+ {
176
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
177
+ },
178
+ {
179
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
180
+ },
181
+ {
182
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
183
+ },
184
+ {
185
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
186
+ },
187
+ {
188
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
189
+ },
190
+ {
191
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
192
+ },
193
+ {
194
+ "type": "array"
195
+ }
196
+ ]
197
+ }
198
+ }
@@ -0,0 +1,191 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/w3c-odrl/OdrlRule",
4
+ "description": "Base interface for ODRL Rules. https://www.w3.org/TR/odrl-model/#rule",
5
+ "type": "object",
6
+ "properties": {
7
+ "@context": {
8
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
9
+ },
10
+ "@id": {
11
+ "anyOf": [
12
+ {
13
+ "type": "string"
14
+ },
15
+ {
16
+ "type": "array",
17
+ "items": {
18
+ "type": "string"
19
+ }
20
+ }
21
+ ]
22
+ },
23
+ "@included": {
24
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
25
+ },
26
+ "@graph": {
27
+ "anyOf": [
28
+ {
29
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
30
+ },
31
+ {
32
+ "type": "array",
33
+ "items": {
34
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
35
+ }
36
+ }
37
+ ]
38
+ },
39
+ "@nest": {
40
+ "anyOf": [
41
+ {
42
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
43
+ },
44
+ {
45
+ "type": "array",
46
+ "items": {
47
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
48
+ }
49
+ }
50
+ ]
51
+ },
52
+ "@type": {
53
+ "anyOf": [
54
+ {
55
+ "type": "string"
56
+ },
57
+ {
58
+ "type": "array",
59
+ "items": {
60
+ "type": "string"
61
+ }
62
+ }
63
+ ]
64
+ },
65
+ "@reverse": {
66
+ "type": "object",
67
+ "additionalProperties": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "@index": {
72
+ "type": "string"
73
+ },
74
+ "uid": {
75
+ "type": "string",
76
+ "description": "Optional unique identifier for the rule."
77
+ },
78
+ "action": {
79
+ "anyOf": [
80
+ {
81
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
82
+ },
83
+ {
84
+ "type": "string"
85
+ },
86
+ {
87
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
88
+ },
89
+ {
90
+ "type": "array",
91
+ "items": {
92
+ "anyOf": [
93
+ {
94
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
95
+ },
96
+ {
97
+ "type": "string"
98
+ },
99
+ {
100
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ ],
106
+ "description": "The action associated with the rule."
107
+ },
108
+ "target": {
109
+ "anyOf": [
110
+ {
111
+ "type": "string"
112
+ },
113
+ {
114
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
115
+ },
116
+ {
117
+ "type": "array",
118
+ "items": {
119
+ "anyOf": [
120
+ {
121
+ "type": "string"
122
+ },
123
+ {
124
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
125
+ }
126
+ ]
127
+ }
128
+ }
129
+ ],
130
+ "description": "The target asset for the rule."
131
+ },
132
+ "assigner": {
133
+ "anyOf": [
134
+ {
135
+ "type": "string"
136
+ },
137
+ {
138
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
139
+ }
140
+ ],
141
+ "description": "The assigner of the rule."
142
+ },
143
+ "assignee": {
144
+ "anyOf": [
145
+ {
146
+ "type": "string"
147
+ },
148
+ {
149
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
150
+ }
151
+ ],
152
+ "description": "The assignee of the rule."
153
+ },
154
+ "constraint": {
155
+ "type": "array",
156
+ "items": {
157
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConstraint"
158
+ },
159
+ "description": "Constraints applied to the rule."
160
+ },
161
+ "summary": {
162
+ "type": "string",
163
+ "description": "Additional relation sub-properties as defined in ODRL profiles. For example, 'summary' in profile \"http://example.com/odrl:profile:03\" indicates where the output should be stored."
164
+ }
165
+ },
166
+ "additionalProperties": {
167
+ "anyOf": [
168
+ {
169
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
170
+ },
171
+ {
172
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
173
+ },
174
+ {
175
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
176
+ },
177
+ {
178
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
179
+ },
180
+ {
181
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
182
+ },
183
+ {
184
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
185
+ },
186
+ {
187
+ "type": "array"
188
+ }
189
+ ]
190
+ }
191
+ }