generated from w3c/cg-charter
-
Notifications
You must be signed in to change notification settings - Fork 6
/
patterns_temp.html
1465 lines (1464 loc) · 195 KB
/
patterns_temp.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Patterns in Modelling Market Data Licenses</title>
<link rel="stylesheet" href="profile-scripts/turtle-styles.css">
<script src="https://www.w3.org/Tools/respec/respec-w3c" class="remove" async></script>
<script src="profile-scripts/config.js" class="remove"></script>
</head>
<body>
<section id="abstract">
<h2>Abstract</h2>
<p>
The set of patterns provided here show how the terms defined in the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html" target="_blank">Market Data Profile for ODRL</a> should be combined to model the permissions, prohibitions, obligations, and constraints specified in the licenses controlling the use of market data.
</p><p>
The core intended audience for this document are the authors of ODRL policies and the implementors of systems interpreting them. The objective is to match the former's intentions with the latter's expectations.
</p>
</section>
<section id="sotd"><h2>Feedback</h2></section>
<!--section id="versioning"><h2>Test2</h2></section-->
<section id="conformance"></section>
<section id="Patterns">
<h2>Patterns</h2>
<section data-dfn-for="Permissions">
<h2>Permissions</h2>
<div class="note">
<p>
In order to make sure we are compliant with our licensing, it is important to communicate to a user a clear understanding of their rights. If any activity to use data is permitted in ODRL, it is necessary to validate that any associated conditions are met and obligations fulfilled.
</p>
</div>
<p>
A valid <a href="https://www.w3.org/TR/odrl-model/#permission" target="_blank">Permission</a> is defined in <a href="https://www.w3.org/TR/odrl-model" target="_blank">ODRL</a> as the right to exercise an <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a> over an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a>.
</p><p>
To be <code>valid</code>, all the Permission's <a href="https://www.w3.org/TR/odrl-model/#constraint" target="_blank">Constraints</a> must be satisfied and <a href="https://www.w3.org/TR/odrl-model/#duty" target="_blank">Duties</a> fulfilled.
</p><p>
A Permission effectively models a rights assignment in a license.
</p>
<div class="example">
<h2>Example: ABC Bank</h2>
<p>
A user at ABC Bank Ltd has been granted access to use Dataset A in a display application only. Their access must be reported each quarter to Euro Exchange AG.
</p>
</div>
<section data-dfn-for="AssignmentPatterns">
<h2>Assignment Patterns</h2>
<div class="note">
<p>
In licensing terms, this describes who is granting the rights and who is allowed to exercise them. The assignment may be restricted by location or entity, individual, or business function. It may also need to be qualified by who is excluded from the rights.
</p>
</div>
<p>
In ODRL, an <a href="https://www.w3.org/TR/odrl-vocab/#term-assigner" target="_blank">assigner</a> grants a right and the <a href="https://www.w3.org/TR/odrl-vocab/#term-assignee" target="_blank">assignee</a> exercises it.
</p><p>
Deciding which organisations, or who in an organisation, has the right to exercise a permission can be a complex calculation. The <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html" target="_blank">Market Data Profile for ODRL</a> provides some support to help automate this determination of contract scope.
</p><p>
At its simplest, the rights transfer is to the <code>licensee</code> and its affiliated organisations. These can be explicitly listed in the contract.
</p><p>
We can model that by using the <code>licensee</code> property to identify the licensee and the <code>includes</code> property to create an approved list of affiliated organisations (each identified using a URI and preferably an LEI).
</p><p>
Sometimes affiliates qualify by meeting some condition. Usually, this is an ownership threshold.
</p><p>
Affiliates can then be dynamically identified by specifying the <code>minimum holding</code> required to qualify an organisation as an affiliate.
</p><p>
Some <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Parties</a> may be explicitly excluded from the contract. This can be achieved by identifying them with the <code>excludes</code> property.
</p><p>
Often only parts of an organisation may exercise a permission. These may be locations, departments, business functions, trading desks, or individuals. The <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html" target="_blank">Market Data Profile for ODRL</a> provides the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#locations-0-9" target="_blank">locations</a>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#lines-of-business-0-9" target="_blank">lines of business</a>, and <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#geography-0-9" target="_blank">geography</a> constraints to reflect the most common distinctions.
</p><p>
Furthermore, the <a href="https://www.w3.org/TR/vocab-org" target="_blank">Organisation Ontology</a> provides the <a href="https://www.w3.org/TR/vocab-org/#org:hasSubOrganization" target="_blank">sub-organisation</a>, <a href="https://www.w3.org/TR/vocab-org/#org:hasUnit" target="_blank">unit</a>, and <a href="https://www.w3.org/TR/vocab-org/#org:hasMember" target="_blank">member</a> (for people) properties to further constrain the applicability of a permission.
</p><p>
The Market Data Profile for ODRL, however, does not seek to standardise the description of all these entities and requires only than they be identified by URIs.
</p>
<div class="example">
<h2>Example: Assignment to ABC Bank</h2>
<p>
An ESG data supplier is granting rights to ABC Bank Ltd and its majority owned affiliates to access their data in London only.
</p>
</div>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When deciding which <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Parties</a> can exercise a permission.</td>
</tr><tr>
<th>Definition:</th>
<td>Use the <code>licensee</code> property to identify the licensee. <br>
Use the <code>includes</code> property to make an explicit list of approved affiliates and the <code>excludes</code> property to list proscribed parties.<br>
Use the <code>minimum holding</code> property to specify the threshold to dynamically generate the affiliates list.<br>
Use the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#locations-0-9" target="_blank">locations</a>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#lines-of-business-0-9" target="_blank">lines of business</a>, and <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#geography-0-9" target="_blank">geography</a> constraints to segment parties.
</td>
</tr><tr>
<th style="white-space:nowrap;">Constraints:</th><td><code>md:licensee</code>, <code>md:includes</code>, <code>md:excludes</code>, <code>md:minHolding</code>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#locations-0-9" target="_blank">locations</a>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#lines-of-business-0-9" target="_blank">lines of business</a>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#geography-0-9" target="_blank">geography</a></td>
</tr>
</tbody>
</table>
<section data-dfn-for="AssignmentConstraint">
<h2>Assignment Constraints</h2>
<p></p>
<section>
<h2>Assignment Code</h2>
<pre class="example nohighlight turtle" title="Assignment Constraints" id="AssignmentConstraintsCode">
<span class="c">Only the licensee</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">assignee</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">licensee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">The licensee and a list of approved organisations</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">assignee</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">licensee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">includes</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_B</span><span class="p">></span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_C</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="c"># Approved list</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">Only the French-based, buy-side operations of the licensee and its approved organisations </span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">assignee</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">licensee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">linesOfBusiness</span><span class="w"> </span><span class="nn">md:</span><span class="nt">buySide</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">geography</span><span class="w"> </span><span class="nn">m49:</span><span class="nt">250</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="c"># France</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">includes</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_B</span><span class="p">></span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_C</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="c"># Approved list</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">linesOfBusiness</span><span class="w"> </span><span class="nn">md:</span><span class="nt">buySide</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">geography</span><span class="w"> </span><span class="nn">m49:</span><span class="nt">250</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="c"># France</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">The licensee and those affiliates in which it is has a holding greater or equal to 50%, except Organisation T</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">assignee</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">licensee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">minHolding</span><span class="w"> </span><span class="s">0.5</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">excludes</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_T</span><span class="p">></span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_C</span><span class="w"> </span><span class="p">;</span><span class="w"> </span><span class="c"># Proscribed list</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">Only Trading Desk X</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">assignee</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Party</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">includes</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/TradingDesk_X</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
</pre>
</section>
</section>
</section>
<section data-dfn-for="DistributionPattern">
<h2>Distribution Pattern</h2>
<div class="note">
<p>
This pattern models the case of an internal owner of data to distribute this to an external party. It can be expanded to identify what the recipient of the data is permitted to do with it once it is received.
</p>
</div>
<p>
Distribution occurs when an <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#internal-party-0-9" target="_blank">Internal Party</a> (acting as a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#provider-0-9" target="_blank">Provider</a>) transfers an asset to an <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#external-party-0-9" target="_blank">External Party</a>.
</p><p>
It is a moment of great sensitivity to data owners and vendors, which is reflected in the licenses they agree with their subscribers.
</p><p>
When offering distribution permissions, data owners and vendors should apply a <a href="https://www.w3.org/TR/odrl-model/#term-nextPolicy" target="_blank">Next Policy</a> duty to identify a <a href="https://www.w3.org/TR/odrl-model/#policy" target="_blank">Policy</a> specifying the <a href="https://www.w3.org/TR/odrl-model/#permission" target="_blank">Permissions</a> that third-party recipients can execute over the transferred asset.
</p>
<div class="example">
<h2>Example: Data Distribution by ABC Bank</h2>
<p>
ABC Bank Ltd is allowed to send data to ZYX Client Ltd but only for internal display.
</p>
</div>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Parties</a> providing a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#distribute-0-9" target="_blank">Distribute</a> action wish to control a third-party recipient's use of their <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a>.</td>
</tr><tr>
<th>Definition:</th><td>Use a <a href="https://www.w3.org/TR/odrl-model/#term-nextPolicy" target="_blank">Next Policy</a> duty to specify a policy controlling the third-party's use of the transferred asset.</td>
</tr><tr>
<th style="white-space:nowrap;">Duty Action:</th><td><a href="https://www.w3.org/TR/odrl-vocab/#term-nextPolicy" target="_blank">odrl:NextPolicy</a></td>
</tr>
</tbody>
</table>
<section data-dfn-for="NextPolicyDuty_Distribution">
<h2><dfn>Next Policy Duty (Distribution)</dfn></h2>
<p>
In the following example, <code>Organisation A</code> can ensure that if <code>Organisation B</code> distributes the asset <code>A1</code> to an external party, they can only offer a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#display" target="_blank">Display</a> permission to that third-party.
</p>
<section>
<h2>Next Policy Code</h2>
<pre class="example nohighlight turtle" title="Next Policy" id="NextPolicyExample">
<span class="c">This distribution permission is granted by Organisation A ...</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_B</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Distribute</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">A1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">duty</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">D1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... on the condition that any third-party receiving the asset ...</span>
<span class="p">ex:D1</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_B</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">NextPolicy</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">O1</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... is offered by Organisation B only ...</span>
<span class="p">ex:O1</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Offer</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">permission</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">P1</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... a display permission</span>
<span class="p">ex:P1</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_B</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Display</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">A1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
</pre>
</section>
<div class="note">
<p>
The <a href="https://www.w3.org/TR/odrl-model/#policy-offer" target="_blank">Offer Policy</a> does not provide any <code>executable</code> permissions. In fact, the identity of any third-party is likely unknown when the license is agreed between <code>Organisation A</code> and <code>Company B</code>.
</p><p>
The offer instead provides a policy specification to which any future <a href="https://www.w3.org/TR/odrl-model/#policy-agreement" target="_blank">Agreement</a> between <code>Organisation B</code> and third-parties must be compliant.
</p>
</div>
</section>
</section>
<section data-dfn-for="Non-DisplayPattern">
<h2>Non-Display Pattern</h2>
<div class="note">
<p>
This pattern covers the use of data in non-display applications (versus display). In order to comply with non-display policies, it is necessary to identify the category or business purposes for which the data will be used, as they may incur separate fees for each purpose.
</p>
</div>
<p>
The <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#non-display" target="_blank">Non-display</a> action covers data use by machines (as opposed to people). It does not cover display nor distribution to third-parties. But it does cover everything else, including the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#derive-0-9" target="_blank">Derive</a> and <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#trade-automatically-0-9" target="_blank">Automated Trading</a> actions.
</p><p>
Such various uses are frequently segmented by data providers by the purpose (i.e. business activity) that the use serves. This is captured using a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#purposes-0-9" target="_blank">purposes</a> constraint on the action.
</p>
<div class="example">
<h2>Example: ABC Bank Non-Display Purposes</h2>
<p>
ABC Bank Ltd is using NDA Application 1 for the purpose of Automated Trading and NDA Application 2 for index creation. Both will need licensing and reporting to Euro Exchange AG.
</p>
</div>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When a permission allows a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#non-display" target="_blank">Non-display</a> action.</td>
</tr><tr>
<th>Definition:</th><td>Uses a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#purposes-0-9" target="_blank">purposes</a> constraint on the action to specify the business activity that a permission supports.</td>
</tr><tr>
<th>Constraint:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#purposes-0-9" target="_blank">md:purposes</a></td>
</tr>
</tbody>
</table>
<section data-dfn-for="PurposeConstraint">
<h2>Purposes Constraint</h2>
<p>
The <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#purposes-0-9" target="_blank">purposes</a> constraint specifies the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#Activities" target="_blank">activities</a> in pursuit of which the permission can be exercised. To use the permission in support of any other activity would be non-compliant.
</p><p>
In the following examples, the permission <code>P1</code> can only be used to calculate indices; <code>P2</code> supports the maintenance and testing of a business continuity environment; and <code>P3</code> allows automated trading but only as a broker.
</p>
<section>
<h2>Purpose Code</h2>
<pre class="example nohighlight turtle" title="Purposes Constraint" id="PurposesConstraint">
<span class="c">Non-Display for the purposes of calculating indices</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Derive</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">CalculatingIndex</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">Non-Display for the purposes of maintaining and testing a business continuity environment.</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Non-Display</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">BusinessContinuity</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">Non-Display for the purposes of automated trading as a broker</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">AutomatedTrading</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Brokerage</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
</pre>
</section>
</section>
</section>
<section data-dfn-for="DerivedDataPatterns">
<h2>Derived Data Patterns</h2>
<p>
Licenses often distinguish between derived data that still carries some informational traces of its source data and that which doesn't. The former is likely to be much more tightly controlled by a license than the latter.
</p><p>
The <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#derivation-types-0-9" target="_blank">derivation type</a> constraint on a <a href="" target="_blank">Derive</a> action allows us to distinguish between the two cases.
</p><p>
Its possible values, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#irreversible-0-9" target="_blank">Irreversible</a> and <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#non-substitutive" target="_blank">Non-Substitutive</a>, together ensure that there is no "informational leakage" from the source dataset to the derived dataset.
</p><p>
When these two conditions are met, the IP in the derived dataset often belongs to the owner of the algorithm used to generate it, not to the owner of the source data. Such derived datasets (sometimes called new original works) are controlled by new permissions.
</p><p>
The use of a new original work may still be constrained by the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#administrator-0-9" target="_blank">Administrator</a> of the source data using a <a href="https://www.w3.org/TR/odrl-vocab/#term-nextPolicy" target="_blank">NextPolicy</a> duty to apply new, administrator-specified, permissions to the derived dataset.
</p><p>
If both conditions are not met, the derived dataset will likely still be controlled by the source dataset's permissions.
</p>
<section data-dfn-for="DerivationTypesConstraint">
<h2>Derivation Type Constraint</h2>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When the type of derivation determines the permissions applicable to the derived dataset.</td>
</tr><tr>
<th>Definition:</th><td>Uses a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#derivation-types-0-9" target="_blank">derivation types</a> constraint on the <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a> to specify the type of derivation performed.</td>
</tr><tr>
<th>Constraint:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#derivation-types-0-9" target="_blank">md:derivationTypes</a></td>
</tr>
</tbody>
</table>
<p>
The permission in the following example allows the derived dataset <code>OP1</code> (identified by the <a href="https://www.w3.org/TR/odrl-vocab/#term-output" target="_blank">output</a> property) to be generated from the dataset <code>A1</code> so long as the derivation is irreversible and non-substitutive.
</p>
<section data-dfn-for="DerivationTypesCode">
<h2>Derivation Type Code</h2>
<pre class="example nohighlight turtle" title="Derivation Type Constraint" id="DerivationTypesConstraint">
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Derive</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">CalculatingIndex</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">derivationTypes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Irreversible</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Non-Substitutive</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">A1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">output</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
</pre>
</section>
</section>
<section data-dfn-for="NextPolicyDuty_DerivedData">
<h2>Next Policy Duty (Derived Data)</h2>
<p>
The <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#administrator-0-9" target="_blank">Administrator</a> of the source Asset can control the use of the derived asset by placing a <a href="https://www.w3.org/TR/odrl-vocab/#term-nextPolicy" target="_blank">Next Policy</a> duty targeting the output of a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#derive-0-9" target="_blank">Derive</a> action.
</p>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When a new asset is created through an irreversible and non-substitutive derivation.</td>
</tr><tr>
<th>Definition:</th><td>Uses a <a href="https://www.w3.org/TR/odrl-vocab/#term-nextPolicy" target="_blank">Next Policy</a> duty to specify an <a href="https://www.w3.org/TR/odrl-model/#policy-offer" target="_blank">Offer Policy</a> controlling the use of the derived asset.</td>
</tr><tr>
<th style="white-space:nowrap;">Duty Action:</th><td><a href="https://www.w3.org/TR/odrl-vocab/#term-nextPolicy" target="_blank">odrl:NextPolicy</a></td>
</tr>
</tbody>
</table>
<p>
The permission from the previous example now has a Next Policy Duty <code>D2</code> that allows the distribution of the derived dataset <code>OP1</code> under the permission <code>P2</code>.
</p>
<section data-dfn-for="NextPolicy_DerivationCode">
<h2>Derivation Type Code</h2>
<pre class="example nohighlight turtle" title="Next Policy - Derivation" id="NextPolicy_Derivation">
<span class="c">The output of the derivation OP1 ...</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Derive</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">CalculatingIndex</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">derivationTypes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Irreversible</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Non-Substitutive</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">A1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">output</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">duty</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">D2</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... is controlled by the policy O2 ...</span>
<span class="p">ex:D2</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">NextPolicy</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">O2</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which provides the permission P2 ...</span>
<span class="p">ex:O2</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Offer</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">permission</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">P2</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which allows OP1 to be distributed to third-parties</span>
<span class="p">ex:P2</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Distribute</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP1</span><span class="w"> </span><span class="p">;</span>
</pre>
<div class="note">
<p>
If the administrator wished to control the third-party's use of the index, then it could apply the <a href="#distribution-pattern">Distribution Pattern</a> described above.
</p>
</div>
</section>
</section>
</section>
<section data-dfn-for="ServiceFacilitators">
<h2>Service Facilitators</h2>
<div class="note">
<p>
Any use of a third-party service facilitator will likely need to be covered either by extending the rights of the sponsor or by the service facilitator itself agreeing to meet the licensing requirement.
</p>
</div>
<p>
A <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#service-facilitator-0-9" target="_blank">Service Facilitators's</a> use of an asset is governed by one of two patters. Either they must use their own permissions or they can use the permissions of their client. The data license determines which pattern applies.
</p><p>
The distinction can be modelled with the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#users-0-9" target="_blank">users</a> constraint. If a service facilitator can use their client's permissions, then they must be identified by the user constraint on those permissions.
</p><p>
Often the consent of the data originator is required before use by a Service Facilitator. The mechanics of this are described in the <a href="#RequestAndConsentPattern">Request and Consent Pattern</a> below.
</p>
<div class="example">
<h2>Example: ABC Bank's Use of a Calculation Agent</h2>
<p>
ABC Bank Ltd is using the services of a calculation agent to calculate indices on their behalf. The calculation agent has licensing agreements in place with the data provider.
</p>
</div>
<section data-dfn-for="UsersConstraint">
<h2>Users Constraint</h2>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When a service facilitator can use their client's permissions.</td>
</tr><tr>
<th>Definition:</th><td>Employ a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#users-0-9" target="_blank">users</a> constraint on the client permission that identifies the service facilitator.</td>
</tr><tr>
<th>Constraint:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#users-0-9" target="_blank">md:users</a></td>
</tr>
</tbody>
</table>
<p>
The permission belonging to <code>Organisation A</code> in the following example can be used by <code>Service Facilitator X</code>. Such a permission would likely have a duty requiring the consent of the <a href="" target="_blank">Administrator</a> before <code>Service Facilitator X</code> could exercise the permission as discussed in the <a href="#RequestAndConsentPattern">Request and Consent Pattern</a>.
</p><p>
Without this <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#users-0-9" target="_blank">users</a> constraint, only the assignees of the permission (in this case, <code>Organisation A</code>) could exercise it. <code>Service Facilitator X</code> would need their own permission in which they were the <a href="https://www.w3.org/TR/odrl-vocab/#term-assignee" target="_blank">assignee</a>.
</p>
<section data-dfn-for="UsersCode">
<h2>Users Code</h2>
<pre class="example nohighlight turtle" title="Users Constraint" id="UsersConstraint">
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Organisation_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">users</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Service_Facilitator_X</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
</pre>
</section>
</section>
</section>
<section data-dfn-for="ControlsAndSystems">
<h2>Controls and Systems</h2>
<div class="note">
<p>
Data providers may require entitlement controls, whether by individual user ID’s or through an entitlement tool like DACs, to ensure their data is protected and usage can be reported as required.
</p>
</div>
<p>
<a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#provider-0-9" target="_blank">Providers</a> are sensitive to the systems that control access to their data. Do they authenticate and authorise every user? Or do they at least uniquely identify them. This distinction is made by the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#controls-0-9" target="_blank">Controls</a> constraint.
</p><p>
They're also concerned by "line-of-sight": who is making the decisions about access. We can specify the responsible party by using the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#system-provider-0-9" target="_blank">system provider</a> property.
</p><p>
This question of system responsibility can reach down to the consuming application. For example, display permissions for vendor-managed terminals can be modelled by setting the vendor as the system provider on both the controls constraint (i.e the vendor manages access control) and the display action (i.e the vendor provides the display terminal).
</p>
<div class="example">
<h2>Example: ABC Bank's Entitlement System'</h2>
<p>
A user at ABC Bank Ltd's request to access Dataset A must be permissioned via their entitlements system to ensure compliance with Euro Exchange AG's reporting requirements.
</p>
</div>
<section data-dfn-for="ControlsAndSystemsConstraints">
<h2>Controls and Systems Constraints</h2>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When a provider wants to ensure that the technical infrastructure exists to protect their data.</td>
</tr><tr>
<th>Definition:</th>
<td>
Employ a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#controls-0-9" target="_blank">controls</a> constraint on the client permission to specify the level of access control required.<br/>
Use the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#system-provider-0-9" target="_blank">system provider</a> property to indicate who is responsible for providing and controling the technical infrastucture behind an <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#Activities" target="_blank">Activity</a>.
</td>
</tr><tr>
<th>Constraints:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#controls-0-9" target="_blank">md:controls</a> , <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#system-provider-0-9" target="_blank">md:systemProvider</a></td>
</tr>
</tbody>
</table>
<p>
The first permission simply requires all data access to be authenticated and authorised. The second requires the access controls to be managed by the data provider. The third models a vendor-supplied terminal.
</p>
<section data-dfn-for="ControlsAndSystemsCode">
<h2>Controls And Systems Code</h2>
<pre class="example nohighlight turtle" title="Controls And Systems Code" id="ControlsAndSystemsConstraint">
<span class="c">Access must be authenticated and authorised:</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">controls</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">CLosedUserGroup</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">Access must be authenticated and authorised by the vendor:</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">controls</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ClosedUserGroup</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">systemProvider</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Vendor_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">Vendor terminal display:</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">controls</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ClosedUserGroup</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">systemProvider</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Vendor_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Display</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">systemProvider</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Vendor_A</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">...</span>
<span class="w"> </span>
<span class="w"> </span>
</pre>
</section>
</section>
</section>
<section data-dfn-for="WhiteLabelling">
<h2>White Labelling</h2>
<p>
White labelling is a form of <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#distribute-0-9" target="_blank">distribution</a> in which the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#recipient-0-9" target="_blank">recipient</a> of <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#derivation-0-9" target="_blank">derived</a> data brands it as their own. It extends both the <a href="#distribution-pattern" target="_blank">Distribution</a> and the <a href="#derived-data-patterns" target="_blank">Derived Data</a> patterns described above.
</p><p>
The derivations are usually done by a calculation agent or analytics provider who holds the licensing relationship with the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#provider-0-9" target="_blank">Provider</a> of the original data.
</p><p>
That provider will likely charge a permium for white label distribution. If the derivations are not <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#irreversible-0-9" target="_blank">irreversible</a> and <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#non-substitutive-0-9" target="_blank">non-substitutive</a>, they will also seek to protect their IP by applying <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#controls-0-9" target="_blank">controls</a> or <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#data-host-0-9" target="_blank">data host</a> constraints on the third-party.
</p>
<section data-dfn-for="WhiteLabelDistributionPattern">
<h2>White Label Distribution Pattern</h2>
<table class="def propdef">
<tbody>
<tr>
<th>Context:</th><td>When derived data is distributed to and branded by a third-party.</td>
</tr><tr>
<th>Definition:</th>
<td>
Extends both the <a href="#distribution-pattern" target="_blank">Distribution</a> and the <a href="#derived-data-patterns" target="_blank">Derived Data</a> patterns.<br/>
Provide a <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html##whitelabel-0-9" target="_blank">White Label</a> distribution permission between the source data provider and derived data provider.<br/>
Combine the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#controls-0-9" target="_blank">controls</a> and <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#system-provider-0-9" target="_blank">system provider</a> constraints to indicate who is responsible for providing the technical infrastucture controlling the access to and use of the branded data.<br/>
Use the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#data-host-0-9" target="_blank">data host</a> constraint if the derived data provider is offering a white label platform.
</td>
</tr><tr>
<th>Actions:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html##whitelabel-0-9" target="_blank">md:WhiteLabel</a></td>
</tr><tr>
<th>Constraints:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#controls-0-9" target="_blank">md:controls</a> , <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#system-provider-0-9" target="_blank">md:systemProvider</a> , <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile-draft.html#data-host-0-9" target="_blank">md:dataHost</a></td>
</tr>
</tbody>
</table>
<p>
In the first code example below, the provider of the source data allows the calculation agent to white label their derived data so long as the derivation is irreversible and non-substitutive.
</p><p>
The second permits the calulation agent to provide a white label platform for their derived data so long as the data is hosted and controlled by them. The derivations do not need to be irreversible and non-substitutive.
</p>
<section data-dfn-for="WhiteLabelCode">
<h2>White Label Code</h2>
<pre class="example nohighlight turtle" title="White Label Code" id="WhiteLabelCodePermision">
<span class="c">The output of the calulation agent's derivation OP2 ...</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Derive</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">CreatingTradedProduct</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">derivationTypes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Irreversible</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Non-Substitutive</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">A1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">output</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP2</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">duty</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">D3</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... is controlled by the policy O3 ...</span>
<span class="p">ex:D3</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">NextPolicy</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">O3</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which provides the permission P3 ...</span>
<span class="p">ex:O3</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Offer</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">permission</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">P3</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which allows OP2 to be white labelled to third-parties</span>
<span class="p">ex:P3</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">WhiteLabel</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP2</span><span class="w"> </span><span class="p">;</span>
</pre>
</section>
<section data-dfn-for="WhiteLabelPlatformCode">
<h2>White Label Platform Code</h2>
<pre class="example nohighlight turtle" title="White Label Platform Code" id="WhiteLabelPlaformCodePermision">
<span class="c">The output of the calulation agent's derivation OP3 ...</span>
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Derive</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">purposes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">CreatingTradedProduct</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">derivationTypes</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Irreversible</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Non-Substitutive</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">A1</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">output</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP3</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">duty</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">D4</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... is controlled by the policy O4 ...</span>
<span class="p">ex:D4</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">NextPolicy</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">O4</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which provides the permission P4 ...</span>
<span class="p">ex:O4</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Offer</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">permission</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">P4</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which allows OP3 to be white labelled to third-parties whose use of the asset ... </span>
<span class="p">ex:P4</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">WhiteLabel</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP3</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">duty</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">D5</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... is controlled by the policy O5 ...</span>
<span class="p">ex:D5</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Data_Consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">NextPolicy</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">O5</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which provides the permission P5 ...</span>
<span class="p">ex:O5</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Offer</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">permission</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">P5</span><span class="w"> </span><span class="p">.</span>
<span class="w"> </span>
<span class="w"> </span>
<span class="c">... which allows the white label partner to display the derivations ... </span>
<span class="c">... so long as the calculation agent hosts the data and controls access to it. </span>
<span class="p">ex:P4</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Permission</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assigner</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Source_Data_Administrator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">assignee</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">controls</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ClosedUserGroup</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">systemProvider</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Display</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">systemProvider</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/Calculation_Agent</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="nn">ex:</span><span class="nt">OP3</span><span class="w"> </span><span class="p">.</span>
</pre>
</section>
</section>
</section>
<section data-dfn-for="WebHosting">
<h2>Web Hosting</h2>
</section>
<section data-dfn-for="Prohibitions">
<h2>Prohibitions</h2>
</section>
</section>
<section data-dfn-for="Duties">
<h2>Duties</h2>
<p>
A <code>Duty</code> is defined in <a href="https://www.w3.org/TR/odrl-model/">ODRL</a> as the obligation to exercise an <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a>.
</p><p>
The <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Party</a> exercising the action is the <code>Subject</code> of the Duty. The Party affected is the <code>Object</code>.
</p><p>
If the specified action must be exercised more than once to fulfill the Duty, then the <a href="https://www.w3.org/TR/odrl-vocab/#term-count" target="_blank">count</a> constraint should be used to indicate the number of times the action must be taken.
</p><p>
A Duty may also specify a target to indicate the <code>Entity</code> to which the action applies.
</p><p>
Some duties can be activated by events. If so, the duty should specify its activation condition in the form of a constraint that when satisfied, activates the Duty.
</p><p>
Some duties may be activated by the passage of time. If so, the duty should specify its activation condition in the form of a time interval constraint (e.g. monthly) that when satisfied, activates the Duty.
</p><p>
Just eight types of Duty capture most of the obligations found in market data licenses: Attachments, Requests and Consents, Notifications, Invoices and Payments, Explicit Agreements, and Reporting.
</p>
<section data-dfn-for="ActivationConditions">
<h2>Activation Conditions</h2>
<p>
<code>Duties</code> remain inactive until some condition is met. In most cases, this condition is specified by a <code>Constraint</code> on the Duty known as an activation condition. When the <code>Constraint</code> is satisfied, the <code>Duty</code> is activated and must be fulfilled.
</p><p>
<code>Duties</code> without an activation condition are simply activated when the <code>Subject</code> of the <code>Duty</code> exercises its <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a>.
</p><p>
There are two types of activation condition: those fired by the state-of-the world and those triggered by the passage of time.
</p>
<section data-dfn-for="StateOfTheWorldActivation">
<h2>State-of-the-World Pattern</h2>
<p>
Market data licenses are sensitive to two key changes:
</p>
<ol>
<li>When a third-party becomes the recipient of an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a> as a result of a <code>Distribute Permission</code></li>
<li>When any <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Party</a> starts to use an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a> invoking a <code>Use Permission</code></li>
</ol>
<p>
Both can be modelled using <code>Constraints</code> which, if satisfied, activate their parent <code>Duty</code>.
</p>
<section data-dfn-for="Third-PartyRecipient">
<h2>Third-party Recipient Code</h2>
<p>
The following <code>Constraint</code> triggers whenever new <code>instances</code> of the class <code>External Party</code> (i.e. any individuals or applications) become a <code>recipient</code> of the <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a>.
</p>
<pre class="example nohighlight turtle" title="Third-party Recipient" id="ThirdPartyExample">
<span class="w"> </span><span class="nn">md:</span><span class="nt">recipients</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
</pre>
<p>
This activation condition is frequently used in the <a href="#AttachmentPattern">Attachment Pattern</a>.
</p>
<p>
If we want an activation condition that triggers only when a new <code>Organisation</code> receives the data (and not for each individual belonging to that organisation), then we can extend the template by adding a <code>unit of count</code> so:
</p>
<pre class="example nohighlight turtle" title="Third-party Recipient Organisation" id="ThirdPartyOrganisationExample">
<span class="w"> </span><span class="nn">md:</span><span class="nt">recipients</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">unitOfCount</span><span class="w"> </span><span class="nn">org:</span><span class="nt">Organization</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">.</span>
</pre>
<p>
This activation condition is usually used in the <a href="#AgreementPattern">Agreement Pattern</a> and <a href="#NotificationPattern">Notification Pattern</a>.
</p>
</section>
<section data-dfn-for="NewUser">
<h2>New Users Code</h2>
<p>
The <code>Constraints</code> triggered by new users operate analogously to the recipient constraints above except that we use the <code>users</code> property. Usually, we're only interested in new <code>Organisations</code>:
</p>
<pre class="example nohighlight turtle" title="New Users - Organisations" id="NewUserOrganisationExample">
<span class="w"> </span><span class="nn">md:</span><span class="nt">users</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">InternalParty</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">unitOfCount</span><span class="w"> </span><span class="nn">org:</span><span class="nt">Organization</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">.</span>
</pre>
<p>
We can be more specific about the <code>role</code> of the <code>Organisation</code>. This activation condition is only triggered by <code>Service Facilitators</code> using a data <code>Consumer's</code> permissions:
</p>
<pre class="example nohighlight turtle" title="New Users - Service Facilitators" id="NewUserServiceFacilitatorExample">
<span class="w"> </span><span class="nn">md:</span><span class="nt">users</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">unitOfCount</span><span class="w"> </span><span class="nn">org:</span><span class="nt">Organization</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">role</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ServiceFacilitator</span><span class="w"> </span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
</pre>
<p>
These activation conditions are used in the <a href="#NotificationPattern">Notification Pattern</a>.
</p>
</section>
</section>
<section data-dfn-for="TimeBasedActivation">
<h2>Time-Based Pattern</h2>
<p>Many activities required by <code>Duties</code> in market data licenses are activated by the clock or calendar. For example, reporting may need to be done monthly. Payment schedules are often similar.</p>
<section id="Periodicity">
<h2>Periodicity Code</h2>
<p>If a duty is activated on a recurring interval of time (e.g. monthly or every 14 days), then the <a href="https://www.w3.org/TR/odrl-vocab/#term-timeInterval" target="_blank"> time interval</a> property from the ODRL Common Vocabulary must be used to specify the interval.</p>
<p>The interval itself must be defined using the <a href="https://www.w3.org/TR/owl-time/">OWL Time Ontology</a>. Often this is effected using its <a href="https://www.w3.org/TR/owl-time/#time:hasXSDDuration">has XSD Duration</a> property.</p>
<pre class="example nohighlight turtle" title="Specifying A Time Interval" id="TimeIntervalExample">
<span class="p">[]</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">timeInterval</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">time:</span><span class="nt">ProperInterval</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">time:</span><span class="nt">hasXSDDuration</span> <span class="s">"P1M"^^xsd:duration</span>
<span class="w"> </span><span class="p">]</span><span class="p"> .</span>
</pre>
</section>
</section>
</section>
<section data-dfn-for="StateModifiers">
<h2>State Modifiers</h2>
<p>
<code>State Modifiers</code> help manage the <code>Deontic State</code> of <code>Duties.</code>
</p>
<p>
Unless qualified by a state-modifier, <code>Duties</code> must be immediately <code>Fulfilled</code> on becoming <code>Active</code> else they fall into the <code>Unfulfilled</code> state (and so invalidating their parent <code>Permission</code>).
</p><p>
The <code>deadline</code> property provides a grace period in which the duty's <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a> can be exercised without it falling into the <code>Unfulfilled</code> state. The duty simply remains <code>Active</code> while the modifier holds. Of course, if the action is taken, then it immediately becomes <code>Fulfilled</code>.
</p><p>
Usually a state-modifier specifies an interval. The <code>deadline</code> may additionally specify a <code>time reference</code> from which the interval must be counted. Else, the countdown starts on activation.
</p><p>
When there are no activation conditions, the <code>interval count</code> property controls the number of times a duty's action may be exercised within a given time interval.
</p>
<section id="Deadline">
<h2>Deadline Code</h2>
<p>In this example, the <code>Subject</code> has 30 days to exercise a duty's <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a> before it becomes <code>Unfulfilled</code>.</p>
<p>Like time-based activation constraints, the interval must be defined using the <a href="https://www.w3.org/TR/owl-time/" target="_blank">OWL Time Ontology</a>.</p>
<pre class="example nohighlight turtle" title="Specifying A Deadline" id="DeadlineExample">
<span class="p">[]</span><span class="w"> </span><span class="nn">md:</span><span class="nt">deadline</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">time:</span><span class="nt">ProperInterval</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">time:</span><span class="nt">hasXSDDuration</span> <span class="s">"P30D"^^xsd:duration</span>
<span class="w"> </span><span class="p">]</span><span class="p"> .</span>
</pre>
</section>
<section id="IntervalCount">
<h2>Interval Count Code</h2>
<p>In this example, the <code>Subject</code> can exercise a duty's <a href="https://www.w3.org/TR/odrl-model/#action" target="_blank">Action</a> twice in a year</p>.
<pre class="example nohighlight turtle" title="Specifying An Interval Count" id="IntervalCountExample">
<span class="p">[]</span><span class="w"> </span><span class="nn">md:</span><span class="nt">intervalCount</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">IntervalCount</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">time:</span><span class="nt">hasXSDDuration</span> <span class="s">"P1Y"^^xsd:duration</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">count</span> <span class="s">2</span>
<span class="w"> </span><span class="p">]</span><span class="p"> .</span>
</pre>
</section>
</section>
<section id="AttachmentPattern">
<h2>Attachment Pattern</h2>
<p>
Market data licenses can require <code>Attributions</code>, <code>Disclaimers</code>, or <code>Proscriptions</code> to be attached to data when it is transferred from one <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Party</a> to another.
</p><p>
The wording of these could be specified in the policy using the <code>wording</code> property of the <code>Attribution</code>. Alternatively, a link to most recent wording should be provided using the <code>url</code> property.
</p>
<table class="def propdef">
<tbody>
<tr>
<th>Definition:</th><td>Requires and specifies an <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#attribution-0-9" target="_blank">Attribution</a>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#disclaimer-0-9" target="_blank">Disclaimer</a>, or <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#proscription-0-9" target="_blank">Proscription</a> to be attached to the data whenever the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#recipients-0-9" target="_blank">recipient</a> is an <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#external-party-0-9" target="_blank">External Party</a>.</td>
</tr><tr>
<th>Subject:</th><td>The Party that attaches the Attribution, Disclaimer, or Proscription - usually the Party making the transfer.</td>
</tr><tr>
<th>Object:</th><td>The Party that receives the Attribution, Disclaimer, or Proscription - usually the recipient of the transfer.</td>
</tr><tr>
<th>Action:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#attach-0-9" target="_blank">md:Attach</a></td>
</tr><tr>
<th>Target:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#attribution-0-9" target="_blank">md:Attribution</a>, <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#disclaimer-0-9">md:Disclaimer</a>, or <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#proscription-0-9">md:Proscription</a></td>
</tr><tr>
<th style="white-space:nowrap;">Target Properties:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#wording-0-9" target="_blank">md:wording</a> - providing the wording of the attribution, disclaimer, or proscription; and/or <code>schema:url</code> - linking to the required wording.</td>
</tr><tr>
<th>Activation:</th><td><a href="#third-party-recipient-code">Third-party Recipient</a>.</td>
</tr>
</tbody>
</table>
<section data-dfn-for="Attribution Duty">
<h2><dfn>Attribution Duty</dfn></h2>
<p>
Attribution duties require the Subject to attach a declaration of the <code>IP Owner's</code> title to the <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a>.
</p><p>
The duty is usually activated when the Asset is transferred to a third-party, i.e. the <code>recipient</code> constraint is triggered by any instance of an <code>External Party</code>.
</p>
<section>
<h2>Attribution Code</h2>
<pre class="example nohighlight turtle" title="Attribution" id="AttributionExample">
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/transferer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/recipient</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">recipients</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span><span class="c"> # Activation condition</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Attach</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Attribution</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">wording</span><span class="w"> </span><span class="s">"The market data is the property of Chicago Mercantile Exchange Inc. or it’s licensors as applicable. All rights reserved, or otherwise licensed by Chicago Mercantile Exchange Inc."</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">.</span>
</pre>
</section>
</section>
<section data-dfn-for="Disclaimer Duty">
<h2><dfn>Disclaimer Duty</dfn></h2>
<p>
Disclaimers must sometimes be attached to derived data to clarify (usually distance) the relationship between the <code>IP Owner</code> of the source Asset and the derived Asset.
</p><p>
Disclaimer duties follow the same pattern as <a>Attribution Duties</a> except the value of the target property is now an <code>Disclaimer</code>
</p>
<section>
<h2>Disclaimer Code</h2>
<pre class="example nohighlight turtle" title="Disclaimer" id="DisclaimerExample">
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/transferer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/recipient</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">recipients</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span><span class="c"> # Activation condition</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Attach</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Disclaimer</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">schema:</span><span class="nt">url</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/disclaimer_wording</span><span class="p">></span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">.</span>
</pre>
</section>
</section>
<section data-dfn-for="Proscription Duty">
<h2><dfn>Proscription Duty</dfn></h2>
<p>
Proscriptions are written instructions on the use of an Asset that must sometimes be attached the Asset before its distribution.
</p><p>
When the instructions are legally binding, and must be formally agreed with the <code>recipient</code>, use the <code>Agreement Pattern</code> below instead of this one.
</p><p>
Proscription duties follow the same pattern as <a>Attribution Duties</a> except the value of the target property is now a <code>Proscription</code>
</p>
</section>
</section>
<section id="AgreementPattern">
<h2>Agreement Pattern</h2>
<p>
Some licenses require additional legally binding agreements to be in place before a <code>Permission</code> can be exercised. This requirement is captured in an <code>Agreement Duty</code>.
</p><p>
For example, a license from a data <code>Provider</code> (a.k.a. vendor) might require a license from the data <code>Originator</code> to be in place before usage can start. This is common in <code>non-display</code> use cases. The license required may be indicated by the <code>url</code> property.
</p><p>
Market data licenses can also require <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#proscription-0-9" target="_blank">Proscriptions</a> to be legally binding before an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a> can be transferred.
</p><p>
The wording of these can be specified in the policy using the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#wording-0-9" target="_blank">wording</a> property of the <code>Proscription</code>.
</p><p>
These duties are usually activated at the organisational level - when an organisation, not individual users, use or receive the <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a>.
</p>
<table class="def propdef">
<tbody>
<tr>
<th>Definition:</th><td>Requires and specifies a <code>License</code> or <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#proscription-0-9">Proscription</a> to be agreed in a legally binding manner.</td>
</tr><tr>
<th>Subject:</th><td>The <a href="https://www.w3.org/TR/odrl-model/#party" target="_blank">Party</a> that seeks the <code>Agreement</code> - usually the Party using or distributing the data.</td>
</tr><tr>
<th>Object:</th><td>The Party that accedes to the Agreement - usually the <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#originator-0-9" target="_blank">Originator</a> of the data or its <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#recipients-0-9">recipient</a>.</td>
</tr><tr>
<th>Action:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#agree-0-9" target="_blank">md:Agree</a></td>
</tr><tr>
<th>Target:</th><td><code>md:License</code> or <a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#proscription-0-9" target="_blank">md:Proscription</a></td>
</tr><tr>
<th style="white-space:nowrap;">Target Properties:</th><td><a href="https://w3c.github.io/market-data-odrl-profile/md-odrl-profile.html#wording-0-9" target="_blank">md:wording</a> - providing the wording of the proscription; and/or <code>schema:url</code> - linking to the wording of the proscription or to the license.</td>
</tr><tr>
<th>Activation:</th><td><a href="#third-party-recipient-code">Third-party Recipient</a> , or <a href="#new-users-code">New User</a>.</td>
</tr>
</tbody>
</table>
<section data-dfn-for="Agreement Duty">
<h2><dfn>Agreement Duty</dfn></h2>
<p>
Agreement duties require the <code>Subject</code> to come to a legally binding agreement with the <code>Object</code> over the <code>Target</code> of the duty.
</p>
<section>
<h2>Agreement Code - License</h2>
<p>
For when a <code>License</code> must be agreed before an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a> is used. Usually attached to a <code>Permission</code> from a <code>Provider</code> that requires direct licensing with the <code>Originator</code>.
</p>
<pre class="example nohighlight turtle" title="License Agreement" id="LicenseAgreement">
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/consumer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/originator</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">users</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="c"># Activation condition</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Assignee</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">unitOfCount</span><span class="w"> </span><span class="nn">org:</span><span class="nt">Organization</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">action</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">Agree</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">odrl:</span><span class="nt">target</span><span class="w"> </span><span class="p">[</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">License</span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">schema:</span><span class="nt">url</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/license</span><span class="p">></span>
<span class="w"> </span><span class="p">]</span><span class="w"> </span><span class="p">.</span>
</pre>
</section>
<section>
<h2>Agreement Code - Proscription</h2>
<p>
For when a <code>Proscription</code> (or <code>License</code>) must be agreed before an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a> is transferred. Usually attached to a <code>Permission</code> that allows distribution of an <a href="https://www.w3.org/TR/odrl-model/#asset" target="_blank">Asset</a>.
</p>
<pre class="example nohighlight turtle" title="Proscription Agreement" id="ProscriptionAgreement">
<span class="p">[]</span><span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">odrl:</span><span class="nt">Duty</span><span class="p"> ;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">subject</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/transferer</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">object</span><span class="w"> </span><span class="p"><</span><span class="nv">http://www.example.org/recipient</span><span class="p">></span><span class="w"> </span><span class="p">;</span>
<span class="w"> </span><span class="nn">md:</span><span class="nt">recipients</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="c"># Activation condition</span>
<span class="w"> </span><span class="kt">a</span><span class="w"> </span><span class="nn">md:</span><span class="nt">ExternalParty</span><span class="w"> </span><span class="p">;</span>