@twin.org/standards-dataspace-protocol 0.0.3-next.64 → 0.0.3-next.65

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.
@@ -164,7 +164,110 @@
164
164
  "dcterms:publisher": {
165
165
  "anyOf": [
166
166
  {
167
- "$ref": "https://schema.twindev.org/json-ld/JsonLdObjectWithAliases"
167
+ "description": "A FOAF Agent.",
168
+ "type": "object",
169
+ "properties": {
170
+ "@context": {
171
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafContextType",
172
+ "description": "The LD Context.",
173
+ "$comment": "Inherited from FoafAgent"
174
+ },
175
+ "@id": {
176
+ "type": "string",
177
+ "description": "The unique identifier for the FOAF object.",
178
+ "$comment": "Inherited from FoafBaseObject"
179
+ },
180
+ "foaf:name": {
181
+ "type": "string",
182
+ "description": "A name for some thing.",
183
+ "$comment": "Inherited from FoafBaseObject"
184
+ },
185
+ "foaf:title": {
186
+ "type": "string",
187
+ "description": "Title (Mr, Mrs, Ms, Dr. etc)",
188
+ "$comment": "Inherited from FoafBaseObject"
189
+ },
190
+ "foaf:mbox": {
191
+ "type": "string",
192
+ "description": "A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox",
193
+ "$comment": "Inherited from FoafBaseObject"
194
+ },
195
+ "foaf:homepage": {
196
+ "type": "string",
197
+ "description": "A homepage for some thing.",
198
+ "$comment": "Inherited from FoafBaseObject"
199
+ },
200
+ "foaf:depiction": {
201
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafImage",
202
+ "description": "A depiction of some thing.",
203
+ "$comment": "Inherited from FoafBaseObject"
204
+ },
205
+ "@type": {
206
+ "anyOf": [
207
+ {
208
+ "const": "Agent"
209
+ },
210
+ {
211
+ "const": "Person"
212
+ },
213
+ {
214
+ "const": "Organization"
215
+ },
216
+ {
217
+ "const": "Group"
218
+ },
219
+ {
220
+ "type": "string"
221
+ }
222
+ ],
223
+ "description": "Type.",
224
+ "$comment": "Inherited from FoafAgent"
225
+ },
226
+ "foaf:age": {
227
+ "type": "number",
228
+ "description": "The age in years of some agent.",
229
+ "$comment": "Inherited from FoafAgent"
230
+ },
231
+ "foaf:made": {
232
+ "anyOf": [
233
+ {
234
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
235
+ },
236
+ {
237
+ "type": "array",
238
+ "items": {
239
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
240
+ }
241
+ }
242
+ ],
243
+ "description": "Something that was made by this agent.",
244
+ "$comment": "Inherited from FoafAgent"
245
+ },
246
+ "foaf:weblog": {
247
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
248
+ "description": "A weblog of some thing (whether person, group, company etc.).",
249
+ "$comment": "Inherited from FoafAgent"
250
+ },
251
+ "foaf:openid": {
252
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
253
+ "description": "An OpenID for an agent.",
254
+ "$comment": "Inherited from FoafAgent"
255
+ },
256
+ "foaf:interest": {
257
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
258
+ "description": "A page about a topic of interest to this person.",
259
+ "$comment": "Inherited from FoafAgent"
260
+ },
261
+ "foaf:topic_interest": {
262
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
263
+ "description": "A thing of interest to this person.",
264
+ "$comment": "Inherited from FoafAgent"
265
+ }
266
+ },
267
+ "required": [
268
+ "@type"
269
+ ],
270
+ "$comment": "Inlined utility base type FoafAgent so utility transformations can operate on concrete properties instead of a $ref."
168
271
  },
169
272
  {
170
273
  "type": "string"
@@ -176,7 +279,110 @@
176
279
  "dcterms:creator": {
177
280
  "anyOf": [
178
281
  {
179
- "$ref": "https://schema.twindev.org/json-ld/JsonLdObjectWithAliases"
282
+ "description": "A FOAF Agent.",
283
+ "type": "object",
284
+ "properties": {
285
+ "@context": {
286
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafContextType",
287
+ "description": "The LD Context.",
288
+ "$comment": "Inherited from FoafAgent"
289
+ },
290
+ "@id": {
291
+ "type": "string",
292
+ "description": "The unique identifier for the FOAF object.",
293
+ "$comment": "Inherited from FoafBaseObject"
294
+ },
295
+ "foaf:name": {
296
+ "type": "string",
297
+ "description": "A name for some thing.",
298
+ "$comment": "Inherited from FoafBaseObject"
299
+ },
300
+ "foaf:title": {
301
+ "type": "string",
302
+ "description": "Title (Mr, Mrs, Ms, Dr. etc)",
303
+ "$comment": "Inherited from FoafBaseObject"
304
+ },
305
+ "foaf:mbox": {
306
+ "type": "string",
307
+ "description": "A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox",
308
+ "$comment": "Inherited from FoafBaseObject"
309
+ },
310
+ "foaf:homepage": {
311
+ "type": "string",
312
+ "description": "A homepage for some thing.",
313
+ "$comment": "Inherited from FoafBaseObject"
314
+ },
315
+ "foaf:depiction": {
316
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafImage",
317
+ "description": "A depiction of some thing.",
318
+ "$comment": "Inherited from FoafBaseObject"
319
+ },
320
+ "@type": {
321
+ "anyOf": [
322
+ {
323
+ "const": "Agent"
324
+ },
325
+ {
326
+ "const": "Person"
327
+ },
328
+ {
329
+ "const": "Organization"
330
+ },
331
+ {
332
+ "const": "Group"
333
+ },
334
+ {
335
+ "type": "string"
336
+ }
337
+ ],
338
+ "description": "Type.",
339
+ "$comment": "Inherited from FoafAgent"
340
+ },
341
+ "foaf:age": {
342
+ "type": "number",
343
+ "description": "The age in years of some agent.",
344
+ "$comment": "Inherited from FoafAgent"
345
+ },
346
+ "foaf:made": {
347
+ "anyOf": [
348
+ {
349
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
350
+ },
351
+ {
352
+ "type": "array",
353
+ "items": {
354
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
355
+ }
356
+ }
357
+ ],
358
+ "description": "Something that was made by this agent.",
359
+ "$comment": "Inherited from FoafAgent"
360
+ },
361
+ "foaf:weblog": {
362
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
363
+ "description": "A weblog of some thing (whether person, group, company etc.).",
364
+ "$comment": "Inherited from FoafAgent"
365
+ },
366
+ "foaf:openid": {
367
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
368
+ "description": "An OpenID for an agent.",
369
+ "$comment": "Inherited from FoafAgent"
370
+ },
371
+ "foaf:interest": {
372
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
373
+ "description": "A page about a topic of interest to this person.",
374
+ "$comment": "Inherited from FoafAgent"
375
+ },
376
+ "foaf:topic_interest": {
377
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
378
+ "description": "A thing of interest to this person.",
379
+ "$comment": "Inherited from FoafAgent"
380
+ }
381
+ },
382
+ "required": [
383
+ "@type"
384
+ ],
385
+ "$comment": "Inlined utility base type FoafAgent so utility transformations can operate on concrete properties instead of a $ref."
180
386
  },
181
387
  {
182
388
  "type": "string"
@@ -311,9 +517,222 @@
311
517
  "$comment": "Inherited from DcatResourceBase"
312
518
  },
313
519
  "odrl:hasPolicy": {
314
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicy",
315
520
  "description": "An ODRL conformant policy expressing the rights associated with the resource.",
316
- "$comment": "Inherited from DcatResourceBase"
521
+ "type": "object",
522
+ "properties": {
523
+ "@type": {
524
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicyType",
525
+ "description": "The type of policy.\nMust be one of: \"Set\", \"Offer\", \"Agreement\""
526
+ },
527
+ "uid": {
528
+ "type": "string",
529
+ "description": "The unique identifier for the policy.\nMust be an IRI.",
530
+ "format": "uri"
531
+ },
532
+ "profile": {
533
+ "anyOf": [
534
+ {
535
+ "type": "string"
536
+ },
537
+ {
538
+ "type": "array",
539
+ "items": {
540
+ "type": "string"
541
+ }
542
+ }
543
+ ],
544
+ "description": "The profile(s) this policy conforms to.\nIRIs identifying the ODRL Profile(s)."
545
+ },
546
+ "assigner": {
547
+ "anyOf": [
548
+ {
549
+ "type": "string"
550
+ },
551
+ {
552
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
553
+ },
554
+ {
555
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
556
+ },
557
+ {
558
+ "type": "array",
559
+ "items": {
560
+ "anyOf": [
561
+ {
562
+ "type": "string"
563
+ },
564
+ {
565
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
566
+ },
567
+ {
568
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
569
+ }
570
+ ]
571
+ }
572
+ }
573
+ ],
574
+ "description": "The assigner of the policy.\nApplies to all rules unless overridden at rule level."
575
+ },
576
+ "assignee": {
577
+ "anyOf": [
578
+ {
579
+ "type": "string"
580
+ },
581
+ {
582
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
583
+ },
584
+ {
585
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
586
+ },
587
+ {
588
+ "type": "array",
589
+ "items": {
590
+ "anyOf": [
591
+ {
592
+ "type": "string"
593
+ },
594
+ {
595
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
596
+ },
597
+ {
598
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
599
+ }
600
+ ]
601
+ }
602
+ }
603
+ ],
604
+ "description": "The assignee of the policy.\nApplies to all rules unless overridden at rule level."
605
+ },
606
+ "target": {
607
+ "anyOf": [
608
+ {
609
+ "type": "string"
610
+ },
611
+ {
612
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
613
+ },
614
+ {
615
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
616
+ },
617
+ {
618
+ "type": "array",
619
+ "items": {
620
+ "anyOf": [
621
+ {
622
+ "type": "string"
623
+ },
624
+ {
625
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
626
+ },
627
+ {
628
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
629
+ }
630
+ ]
631
+ }
632
+ }
633
+ ],
634
+ "description": "The target asset for the rule."
635
+ },
636
+ "action": {
637
+ "anyOf": [
638
+ {
639
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
640
+ },
641
+ {
642
+ "type": "string"
643
+ },
644
+ {
645
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
646
+ },
647
+ {
648
+ "type": "array",
649
+ "items": {
650
+ "anyOf": [
651
+ {
652
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
653
+ },
654
+ {
655
+ "type": "string"
656
+ },
657
+ {
658
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
659
+ }
660
+ ]
661
+ }
662
+ }
663
+ ],
664
+ "description": "The action associated with the rule."
665
+ },
666
+ "inheritFrom": {
667
+ "anyOf": [
668
+ {
669
+ "type": "string"
670
+ },
671
+ {
672
+ "type": "array",
673
+ "items": {
674
+ "type": "string"
675
+ }
676
+ }
677
+ ],
678
+ "description": "The parent policy(ies) this policy inherits from.\nIRIs identifying the parent Policy(ies)."
679
+ },
680
+ "conflict": {
681
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
682
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
683
+ },
684
+ "permission": {
685
+ "anyOf": [
686
+ {
687
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
688
+ },
689
+ {
690
+ "type": "array",
691
+ "items": {
692
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
693
+ }
694
+ }
695
+ ],
696
+ "description": "The permissions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
697
+ },
698
+ "prohibition": {
699
+ "anyOf": [
700
+ {
701
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
702
+ },
703
+ {
704
+ "type": "array",
705
+ "items": {
706
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
707
+ }
708
+ }
709
+ ],
710
+ "description": "The prohibitions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
711
+ },
712
+ "obligation": {
713
+ "anyOf": [
714
+ {
715
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
716
+ },
717
+ {
718
+ "type": "array",
719
+ "items": {
720
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
721
+ }
722
+ }
723
+ ],
724
+ "description": "The obligations in the policy.\nAt least one of permission, prohibition, or obligation must be present."
725
+ },
726
+ "@context": {
727
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
728
+ "description": "The context for the policy.\nMust include \"https://www.w3.org/ns/odrl.jsonld\""
729
+ }
730
+ },
731
+ "required": [
732
+ "@type",
733
+ "uid"
734
+ ],
735
+ "$comment": "Inlined utility base type OdrlPolicy so utility transformations can operate on concrete properties instead of a $ref."
317
736
  },
318
737
  "dcterms:accrualPeriodicity": {
319
738
  "type": "string",
@@ -116,7 +116,110 @@
116
116
  "dcterms:publisher": {
117
117
  "anyOf": [
118
118
  {
119
- "$ref": "https://schema.twindev.org/json-ld/JsonLdObjectWithAliases"
119
+ "description": "A FOAF Agent.",
120
+ "type": "object",
121
+ "properties": {
122
+ "@context": {
123
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafContextType",
124
+ "description": "The LD Context.",
125
+ "$comment": "Inherited from FoafAgent"
126
+ },
127
+ "@id": {
128
+ "type": "string",
129
+ "description": "The unique identifier for the FOAF object.",
130
+ "$comment": "Inherited from FoafBaseObject"
131
+ },
132
+ "foaf:name": {
133
+ "type": "string",
134
+ "description": "A name for some thing.",
135
+ "$comment": "Inherited from FoafBaseObject"
136
+ },
137
+ "foaf:title": {
138
+ "type": "string",
139
+ "description": "Title (Mr, Mrs, Ms, Dr. etc)",
140
+ "$comment": "Inherited from FoafBaseObject"
141
+ },
142
+ "foaf:mbox": {
143
+ "type": "string",
144
+ "description": "A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox",
145
+ "$comment": "Inherited from FoafBaseObject"
146
+ },
147
+ "foaf:homepage": {
148
+ "type": "string",
149
+ "description": "A homepage for some thing.",
150
+ "$comment": "Inherited from FoafBaseObject"
151
+ },
152
+ "foaf:depiction": {
153
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafImage",
154
+ "description": "A depiction of some thing.",
155
+ "$comment": "Inherited from FoafBaseObject"
156
+ },
157
+ "@type": {
158
+ "anyOf": [
159
+ {
160
+ "const": "Agent"
161
+ },
162
+ {
163
+ "const": "Person"
164
+ },
165
+ {
166
+ "const": "Organization"
167
+ },
168
+ {
169
+ "const": "Group"
170
+ },
171
+ {
172
+ "type": "string"
173
+ }
174
+ ],
175
+ "description": "Type.",
176
+ "$comment": "Inherited from FoafAgent"
177
+ },
178
+ "foaf:age": {
179
+ "type": "number",
180
+ "description": "The age in years of some agent.",
181
+ "$comment": "Inherited from FoafAgent"
182
+ },
183
+ "foaf:made": {
184
+ "anyOf": [
185
+ {
186
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
187
+ },
188
+ {
189
+ "type": "array",
190
+ "items": {
191
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
192
+ }
193
+ }
194
+ ],
195
+ "description": "Something that was made by this agent.",
196
+ "$comment": "Inherited from FoafAgent"
197
+ },
198
+ "foaf:weblog": {
199
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
200
+ "description": "A weblog of some thing (whether person, group, company etc.).",
201
+ "$comment": "Inherited from FoafAgent"
202
+ },
203
+ "foaf:openid": {
204
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
205
+ "description": "An OpenID for an agent.",
206
+ "$comment": "Inherited from FoafAgent"
207
+ },
208
+ "foaf:interest": {
209
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
210
+ "description": "A page about a topic of interest to this person.",
211
+ "$comment": "Inherited from FoafAgent"
212
+ },
213
+ "foaf:topic_interest": {
214
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
215
+ "description": "A thing of interest to this person.",
216
+ "$comment": "Inherited from FoafAgent"
217
+ }
218
+ },
219
+ "required": [
220
+ "@type"
221
+ ],
222
+ "$comment": "Inlined utility base type FoafAgent so utility transformations can operate on concrete properties instead of a $ref."
120
223
  },
121
224
  {
122
225
  "type": "string"
@@ -128,7 +231,110 @@
128
231
  "dcterms:creator": {
129
232
  "anyOf": [
130
233
  {
131
- "$ref": "https://schema.twindev.org/json-ld/JsonLdObjectWithAliases"
234
+ "description": "A FOAF Agent.",
235
+ "type": "object",
236
+ "properties": {
237
+ "@context": {
238
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafContextType",
239
+ "description": "The LD Context.",
240
+ "$comment": "Inherited from FoafAgent"
241
+ },
242
+ "@id": {
243
+ "type": "string",
244
+ "description": "The unique identifier for the FOAF object.",
245
+ "$comment": "Inherited from FoafBaseObject"
246
+ },
247
+ "foaf:name": {
248
+ "type": "string",
249
+ "description": "A name for some thing.",
250
+ "$comment": "Inherited from FoafBaseObject"
251
+ },
252
+ "foaf:title": {
253
+ "type": "string",
254
+ "description": "Title (Mr, Mrs, Ms, Dr. etc)",
255
+ "$comment": "Inherited from FoafBaseObject"
256
+ },
257
+ "foaf:mbox": {
258
+ "type": "string",
259
+ "description": "A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox",
260
+ "$comment": "Inherited from FoafBaseObject"
261
+ },
262
+ "foaf:homepage": {
263
+ "type": "string",
264
+ "description": "A homepage for some thing.",
265
+ "$comment": "Inherited from FoafBaseObject"
266
+ },
267
+ "foaf:depiction": {
268
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafImage",
269
+ "description": "A depiction of some thing.",
270
+ "$comment": "Inherited from FoafBaseObject"
271
+ },
272
+ "@type": {
273
+ "anyOf": [
274
+ {
275
+ "const": "Agent"
276
+ },
277
+ {
278
+ "const": "Person"
279
+ },
280
+ {
281
+ "const": "Organization"
282
+ },
283
+ {
284
+ "const": "Group"
285
+ },
286
+ {
287
+ "type": "string"
288
+ }
289
+ ],
290
+ "description": "Type.",
291
+ "$comment": "Inherited from FoafAgent"
292
+ },
293
+ "foaf:age": {
294
+ "type": "number",
295
+ "description": "The age in years of some agent.",
296
+ "$comment": "Inherited from FoafAgent"
297
+ },
298
+ "foaf:made": {
299
+ "anyOf": [
300
+ {
301
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
302
+ },
303
+ {
304
+ "type": "array",
305
+ "items": {
306
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
307
+ }
308
+ }
309
+ ],
310
+ "description": "Something that was made by this agent.",
311
+ "$comment": "Inherited from FoafAgent"
312
+ },
313
+ "foaf:weblog": {
314
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
315
+ "description": "A weblog of some thing (whether person, group, company etc.).",
316
+ "$comment": "Inherited from FoafAgent"
317
+ },
318
+ "foaf:openid": {
319
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
320
+ "description": "An OpenID for an agent.",
321
+ "$comment": "Inherited from FoafAgent"
322
+ },
323
+ "foaf:interest": {
324
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
325
+ "description": "A page about a topic of interest to this person.",
326
+ "$comment": "Inherited from FoafAgent"
327
+ },
328
+ "foaf:topic_interest": {
329
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
330
+ "description": "A thing of interest to this person.",
331
+ "$comment": "Inherited from FoafAgent"
332
+ }
333
+ },
334
+ "required": [
335
+ "@type"
336
+ ],
337
+ "$comment": "Inlined utility base type FoafAgent so utility transformations can operate on concrete properties instead of a $ref."
132
338
  },
133
339
  {
134
340
  "type": "string"
@@ -263,9 +469,222 @@
263
469
  "$comment": "Inherited from DcatResourceBase"
264
470
  },
265
471
  "odrl:hasPolicy": {
266
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicy",
267
472
  "description": "An ODRL conformant policy expressing the rights associated with the resource.",
268
- "$comment": "Inherited from DcatResourceBase"
473
+ "type": "object",
474
+ "properties": {
475
+ "@type": {
476
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicyType",
477
+ "description": "The type of policy.\nMust be one of: \"Set\", \"Offer\", \"Agreement\""
478
+ },
479
+ "uid": {
480
+ "type": "string",
481
+ "description": "The unique identifier for the policy.\nMust be an IRI.",
482
+ "format": "uri"
483
+ },
484
+ "profile": {
485
+ "anyOf": [
486
+ {
487
+ "type": "string"
488
+ },
489
+ {
490
+ "type": "array",
491
+ "items": {
492
+ "type": "string"
493
+ }
494
+ }
495
+ ],
496
+ "description": "The profile(s) this policy conforms to.\nIRIs identifying the ODRL Profile(s)."
497
+ },
498
+ "assigner": {
499
+ "anyOf": [
500
+ {
501
+ "type": "string"
502
+ },
503
+ {
504
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
505
+ },
506
+ {
507
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
508
+ },
509
+ {
510
+ "type": "array",
511
+ "items": {
512
+ "anyOf": [
513
+ {
514
+ "type": "string"
515
+ },
516
+ {
517
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
518
+ },
519
+ {
520
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
521
+ }
522
+ ]
523
+ }
524
+ }
525
+ ],
526
+ "description": "The assigner of the policy.\nApplies to all rules unless overridden at rule level."
527
+ },
528
+ "assignee": {
529
+ "anyOf": [
530
+ {
531
+ "type": "string"
532
+ },
533
+ {
534
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
535
+ },
536
+ {
537
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
538
+ },
539
+ {
540
+ "type": "array",
541
+ "items": {
542
+ "anyOf": [
543
+ {
544
+ "type": "string"
545
+ },
546
+ {
547
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
548
+ },
549
+ {
550
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
551
+ }
552
+ ]
553
+ }
554
+ }
555
+ ],
556
+ "description": "The assignee of the policy.\nApplies to all rules unless overridden at rule level."
557
+ },
558
+ "target": {
559
+ "anyOf": [
560
+ {
561
+ "type": "string"
562
+ },
563
+ {
564
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
565
+ },
566
+ {
567
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
568
+ },
569
+ {
570
+ "type": "array",
571
+ "items": {
572
+ "anyOf": [
573
+ {
574
+ "type": "string"
575
+ },
576
+ {
577
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
578
+ },
579
+ {
580
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
581
+ }
582
+ ]
583
+ }
584
+ }
585
+ ],
586
+ "description": "The target asset for the rule."
587
+ },
588
+ "action": {
589
+ "anyOf": [
590
+ {
591
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
592
+ },
593
+ {
594
+ "type": "string"
595
+ },
596
+ {
597
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
598
+ },
599
+ {
600
+ "type": "array",
601
+ "items": {
602
+ "anyOf": [
603
+ {
604
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
605
+ },
606
+ {
607
+ "type": "string"
608
+ },
609
+ {
610
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
611
+ }
612
+ ]
613
+ }
614
+ }
615
+ ],
616
+ "description": "The action associated with the rule."
617
+ },
618
+ "inheritFrom": {
619
+ "anyOf": [
620
+ {
621
+ "type": "string"
622
+ },
623
+ {
624
+ "type": "array",
625
+ "items": {
626
+ "type": "string"
627
+ }
628
+ }
629
+ ],
630
+ "description": "The parent policy(ies) this policy inherits from.\nIRIs identifying the parent Policy(ies)."
631
+ },
632
+ "conflict": {
633
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
634
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
635
+ },
636
+ "permission": {
637
+ "anyOf": [
638
+ {
639
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
640
+ },
641
+ {
642
+ "type": "array",
643
+ "items": {
644
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
645
+ }
646
+ }
647
+ ],
648
+ "description": "The permissions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
649
+ },
650
+ "prohibition": {
651
+ "anyOf": [
652
+ {
653
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
654
+ },
655
+ {
656
+ "type": "array",
657
+ "items": {
658
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
659
+ }
660
+ }
661
+ ],
662
+ "description": "The prohibitions in the policy.\nAt least one of permission, prohibition, or obligation must be present."
663
+ },
664
+ "obligation": {
665
+ "anyOf": [
666
+ {
667
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
668
+ },
669
+ {
670
+ "type": "array",
671
+ "items": {
672
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
673
+ }
674
+ }
675
+ ],
676
+ "description": "The obligations in the policy.\nAt least one of permission, prohibition, or obligation must be present."
677
+ },
678
+ "@context": {
679
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
680
+ "description": "The context for the policy.\nMust include \"https://www.w3.org/ns/odrl.jsonld\""
681
+ }
682
+ },
683
+ "required": [
684
+ "@type",
685
+ "uid"
686
+ ],
687
+ "$comment": "Inlined utility base type OdrlPolicy so utility transformations can operate on concrete properties instead of a $ref."
269
688
  },
270
689
  "dcat:endpointDescription": {
271
690
  "type": "string",
@@ -121,7 +121,110 @@
121
121
  "dcterms:publisher": {
122
122
  "anyOf": [
123
123
  {
124
- "$ref": "https://schema.twindev.org/json-ld/JsonLdObjectWithAliases"
124
+ "description": "A FOAF Agent.",
125
+ "type": "object",
126
+ "properties": {
127
+ "@context": {
128
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafContextType",
129
+ "description": "The LD Context.",
130
+ "$comment": "Inherited from FoafAgent"
131
+ },
132
+ "@id": {
133
+ "type": "string",
134
+ "description": "The unique identifier for the FOAF object.",
135
+ "$comment": "Inherited from FoafBaseObject"
136
+ },
137
+ "foaf:name": {
138
+ "type": "string",
139
+ "description": "A name for some thing.",
140
+ "$comment": "Inherited from FoafBaseObject"
141
+ },
142
+ "foaf:title": {
143
+ "type": "string",
144
+ "description": "Title (Mr, Mrs, Ms, Dr. etc)",
145
+ "$comment": "Inherited from FoafBaseObject"
146
+ },
147
+ "foaf:mbox": {
148
+ "type": "string",
149
+ "description": "A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox",
150
+ "$comment": "Inherited from FoafBaseObject"
151
+ },
152
+ "foaf:homepage": {
153
+ "type": "string",
154
+ "description": "A homepage for some thing.",
155
+ "$comment": "Inherited from FoafBaseObject"
156
+ },
157
+ "foaf:depiction": {
158
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafImage",
159
+ "description": "A depiction of some thing.",
160
+ "$comment": "Inherited from FoafBaseObject"
161
+ },
162
+ "@type": {
163
+ "anyOf": [
164
+ {
165
+ "const": "Agent"
166
+ },
167
+ {
168
+ "const": "Person"
169
+ },
170
+ {
171
+ "const": "Organization"
172
+ },
173
+ {
174
+ "const": "Group"
175
+ },
176
+ {
177
+ "type": "string"
178
+ }
179
+ ],
180
+ "description": "Type.",
181
+ "$comment": "Inherited from FoafAgent"
182
+ },
183
+ "foaf:age": {
184
+ "type": "number",
185
+ "description": "The age in years of some agent.",
186
+ "$comment": "Inherited from FoafAgent"
187
+ },
188
+ "foaf:made": {
189
+ "anyOf": [
190
+ {
191
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
192
+ },
193
+ {
194
+ "type": "array",
195
+ "items": {
196
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
197
+ }
198
+ }
199
+ ],
200
+ "description": "Something that was made by this agent.",
201
+ "$comment": "Inherited from FoafAgent"
202
+ },
203
+ "foaf:weblog": {
204
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
205
+ "description": "A weblog of some thing (whether person, group, company etc.).",
206
+ "$comment": "Inherited from FoafAgent"
207
+ },
208
+ "foaf:openid": {
209
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
210
+ "description": "An OpenID for an agent.",
211
+ "$comment": "Inherited from FoafAgent"
212
+ },
213
+ "foaf:interest": {
214
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
215
+ "description": "A page about a topic of interest to this person.",
216
+ "$comment": "Inherited from FoafAgent"
217
+ },
218
+ "foaf:topic_interest": {
219
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
220
+ "description": "A thing of interest to this person.",
221
+ "$comment": "Inherited from FoafAgent"
222
+ }
223
+ },
224
+ "required": [
225
+ "@type"
226
+ ],
227
+ "$comment": "Inlined utility base type FoafAgent so utility transformations can operate on concrete properties instead of a $ref."
125
228
  },
126
229
  {
127
230
  "type": "string"
@@ -133,7 +236,110 @@
133
236
  "dcterms:creator": {
134
237
  "anyOf": [
135
238
  {
136
- "$ref": "https://schema.twindev.org/json-ld/JsonLdObjectWithAliases"
239
+ "description": "A FOAF Agent.",
240
+ "type": "object",
241
+ "properties": {
242
+ "@context": {
243
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafContextType",
244
+ "description": "The LD Context.",
245
+ "$comment": "Inherited from FoafAgent"
246
+ },
247
+ "@id": {
248
+ "type": "string",
249
+ "description": "The unique identifier for the FOAF object.",
250
+ "$comment": "Inherited from FoafBaseObject"
251
+ },
252
+ "foaf:name": {
253
+ "type": "string",
254
+ "description": "A name for some thing.",
255
+ "$comment": "Inherited from FoafBaseObject"
256
+ },
257
+ "foaf:title": {
258
+ "type": "string",
259
+ "description": "Title (Mr, Mrs, Ms, Dr. etc)",
260
+ "$comment": "Inherited from FoafBaseObject"
261
+ },
262
+ "foaf:mbox": {
263
+ "type": "string",
264
+ "description": "A personal mailbox, ie. an Internet mailbox associated with exactly one owner, the first owner of this mailbox",
265
+ "$comment": "Inherited from FoafBaseObject"
266
+ },
267
+ "foaf:homepage": {
268
+ "type": "string",
269
+ "description": "A homepage for some thing.",
270
+ "$comment": "Inherited from FoafBaseObject"
271
+ },
272
+ "foaf:depiction": {
273
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafImage",
274
+ "description": "A depiction of some thing.",
275
+ "$comment": "Inherited from FoafBaseObject"
276
+ },
277
+ "@type": {
278
+ "anyOf": [
279
+ {
280
+ "const": "Agent"
281
+ },
282
+ {
283
+ "const": "Person"
284
+ },
285
+ {
286
+ "const": "Organization"
287
+ },
288
+ {
289
+ "const": "Group"
290
+ },
291
+ {
292
+ "type": "string"
293
+ }
294
+ ],
295
+ "description": "Type.",
296
+ "$comment": "Inherited from FoafAgent"
297
+ },
298
+ "foaf:age": {
299
+ "type": "number",
300
+ "description": "The age in years of some agent.",
301
+ "$comment": "Inherited from FoafAgent"
302
+ },
303
+ "foaf:made": {
304
+ "anyOf": [
305
+ {
306
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
307
+ },
308
+ {
309
+ "type": "array",
310
+ "items": {
311
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
312
+ }
313
+ }
314
+ ],
315
+ "description": "Something that was made by this agent.",
316
+ "$comment": "Inherited from FoafAgent"
317
+ },
318
+ "foaf:weblog": {
319
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
320
+ "description": "A weblog of some thing (whether person, group, company etc.).",
321
+ "$comment": "Inherited from FoafAgent"
322
+ },
323
+ "foaf:openid": {
324
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
325
+ "description": "An OpenID for an agent.",
326
+ "$comment": "Inherited from FoafAgent"
327
+ },
328
+ "foaf:interest": {
329
+ "$ref": "https://schema.twindev.org/dataspace-protocol/FoafDocument",
330
+ "description": "A page about a topic of interest to this person.",
331
+ "$comment": "Inherited from FoafAgent"
332
+ },
333
+ "foaf:topic_interest": {
334
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
335
+ "description": "A thing of interest to this person.",
336
+ "$comment": "Inherited from FoafAgent"
337
+ }
338
+ },
339
+ "required": [
340
+ "@type"
341
+ ],
342
+ "$comment": "Inlined utility base type FoafAgent so utility transformations can operate on concrete properties instead of a $ref."
137
343
  },
138
344
  {
139
345
  "type": "string"
package/docs/changelog.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.65](https://github.com/iotaledger/twin-standards/compare/standards-dataspace-protocol-v0.0.3-next.64...standards-dataspace-protocol-v0.0.3-next.65) (2026-06-02)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * dcat resource optional context for policy ([#231](https://github.com/iotaledger/twin-standards/issues/231)) ([2dd5a55](https://github.com/iotaledger/twin-standards/commit/2dd5a553ec43f811bb9c4f65f0fff976d7074101))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/standards-w3c-dcat bumped from 0.0.3-next.64 to 0.0.3-next.65
16
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.64 to 0.0.3-next.65
17
+ * devDependencies
18
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.64 to 0.0.3-next.65
19
+
3
20
  ## [0.0.3-next.64](https://github.com/iotaledger/twin-standards/compare/standards-dataspace-protocol-v0.0.3-next.63...standards-dataspace-protocol-v0.0.3-next.64) (2026-06-01)
4
21
 
5
22
 
@@ -585,7 +585,7 @@ https://www.w3.org/TR/vocab-dcat-3/#Property:resource_qualified_relation
585
585
 
586
586
  ### odrl:hasPolicy? {#odrlhaspolicy}
587
587
 
588
- > `optional` **odrl:hasPolicy?**: `IOdrlPolicy`
588
+ > `optional` **odrl:hasPolicy?**: `JsonLdObjectWithOptionalContext`\<`IOdrlPolicy`\>
589
589
 
590
590
  An ODRL conformant policy expressing the rights associated with the resource.
591
591
 
@@ -557,7 +557,7 @@ https://www.w3.org/TR/vocab-dcat-3/#Property:resource_qualified_relation
557
557
 
558
558
  ### odrl:hasPolicy? {#odrlhaspolicy}
559
559
 
560
- > `optional` **odrl:hasPolicy?**: `IOdrlPolicy`
560
+ > `optional` **odrl:hasPolicy?**: `JsonLdObjectWithOptionalContext`\<`IOdrlPolicy`\>
561
561
 
562
562
  An ODRL conformant policy expressing the rights associated with the resource.
563
563
 
@@ -390,7 +390,7 @@ https://www.w3.org/TR/vocab-dcat-3/#Property:resource_qualified_relation
390
390
 
391
391
  ### odrl:hasPolicy? {#odrlhaspolicy}
392
392
 
393
- > `optional` **odrl:hasPolicy?**: `IOdrlPolicy`
393
+ > `optional` **odrl:hasPolicy?**: `JsonLdObjectWithOptionalContext`\<`IOdrlPolicy`\>
394
394
 
395
395
  An ODRL conformant policy expressing the rights associated with the resource.
396
396
 
@@ -374,7 +374,7 @@ https://www.w3.org/TR/vocab-dcat-3/#Property:resource_qualified_relation
374
374
 
375
375
  ### odrl:hasPolicy? {#odrlhaspolicy}
376
376
 
377
- > `optional` **odrl:hasPolicy?**: `IOdrlPolicy`
377
+ > `optional` **odrl:hasPolicy?**: `JsonLdObjectWithOptionalContext`\<`IOdrlPolicy`\>
378
378
 
379
379
  An ODRL conformant policy expressing the rights associated with the resource.
380
380
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/standards-dataspace-protocol",
3
- "version": "0.0.3-next.64",
3
+ "version": "0.0.3-next.65",
4
4
  "description": "Data models for the Dataspace Protocol specification.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,8 +17,8 @@
17
17
  "@twin.org/core": "next",
18
18
  "@twin.org/data-core": "next",
19
19
  "@twin.org/data-json-ld": "next",
20
- "@twin.org/standards-w3c-dcat": "0.0.3-next.64",
21
- "@twin.org/standards-w3c-odrl": "0.0.3-next.64",
20
+ "@twin.org/standards-w3c-dcat": "0.0.3-next.65",
21
+ "@twin.org/standards-w3c-odrl": "0.0.3-next.65",
22
22
  "@twin.org/web": "next"
23
23
  },
24
24
  "main": "./dist/es/index.js",