@twin.org/standards-w3c-odrl 0.0.1-next.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/cjs/index.cjs +911 -0
  4. package/dist/esm/index.mjs +897 -0
  5. package/dist/types/index.d.ts +26 -0
  6. package/dist/types/models/IOdrlAction.d.ts +33 -0
  7. package/dist/types/models/IOdrlAsset.d.ts +27 -0
  8. package/dist/types/models/IOdrlAssetCollection.d.ts +21 -0
  9. package/dist/types/models/IOdrlConstraint.d.ts +49 -0
  10. package/dist/types/models/IOdrlDuty.d.ts +33 -0
  11. package/dist/types/models/IOdrlLogicalConstraint.d.ts +45 -0
  12. package/dist/types/models/IOdrlParty.d.ts +35 -0
  13. package/dist/types/models/IOdrlPartyCollection.d.ts +18 -0
  14. package/dist/types/models/IOdrlPermission.d.ts +14 -0
  15. package/dist/types/models/IOdrlPolicy.d.ts +81 -0
  16. package/dist/types/models/IOdrlPolicyMetadata.d.ts +58 -0
  17. package/dist/types/models/IOdrlProhibition.d.ts +11 -0
  18. package/dist/types/models/IOdrlRule.d.ts +41 -0
  19. package/dist/types/models/odrlContexts.d.ts +29 -0
  20. package/dist/types/models/types/actionTypes.d.ts +214 -0
  21. package/dist/types/models/types/conflictStrategyTypes.d.ts +21 -0
  22. package/dist/types/models/types/dataTypes.d.ts +37 -0
  23. package/dist/types/models/types/leftOperandTypes.d.ts +137 -0
  24. package/dist/types/models/types/logicalConstraintType.d.ts +25 -0
  25. package/dist/types/models/types/odrlTypes.d.ts +69 -0
  26. package/dist/types/models/types/operatorTypes.d.ts +65 -0
  27. package/dist/types/models/types/policyTypes.d.ts +25 -0
  28. package/dist/types/models/types/rightOperandTypes.d.ts +13 -0
  29. package/dist/types/models/types/ruleTypes.d.ts +21 -0
  30. package/dist/types/models/types/statusTypes.d.ts +25 -0
  31. package/dist/types/models/types/uriActionTypes.d.ts +215 -0
  32. package/docs/changelog.md +5 -0
  33. package/docs/examples.md +1 -0
  34. package/docs/reference/index.md +49 -0
  35. package/docs/reference/interfaces/IOdrlAction.md +61 -0
  36. package/docs/reference/interfaces/IOdrlAsset.md +55 -0
  37. package/docs/reference/interfaces/IOdrlAssetCollection.md +85 -0
  38. package/docs/reference/interfaces/IOdrlConstraint.md +76 -0
  39. package/docs/reference/interfaces/IOdrlDuty.md +144 -0
  40. package/docs/reference/interfaces/IOdrlLogicalConstraint.md +70 -0
  41. package/docs/reference/interfaces/IOdrlParty.md +67 -0
  42. package/docs/reference/interfaces/IOdrlPartyCollection.md +98 -0
  43. package/docs/reference/interfaces/IOdrlPermission.md +108 -0
  44. package/docs/reference/interfaces/IOdrlPolicy.md +136 -0
  45. package/docs/reference/interfaces/IOdrlPolicyMetadata.md +86 -0
  46. package/docs/reference/interfaces/IOdrlProhibition.md +105 -0
  47. package/docs/reference/interfaces/IOdrlRule.md +75 -0
  48. package/docs/reference/type-aliases/ActionType.md +5 -0
  49. package/docs/reference/type-aliases/ConflictStrategyType.md +5 -0
  50. package/docs/reference/type-aliases/DataType.md +5 -0
  51. package/docs/reference/type-aliases/LeftOperandType.md +5 -0
  52. package/docs/reference/type-aliases/LogicalConstraintType.md +5 -0
  53. package/docs/reference/type-aliases/OdrlContexts.md +5 -0
  54. package/docs/reference/type-aliases/OdrlTypes.md +5 -0
  55. package/docs/reference/type-aliases/OperatorType.md +5 -0
  56. package/docs/reference/type-aliases/PolicyType.md +5 -0
  57. package/docs/reference/type-aliases/RightOperandType.md +5 -0
  58. package/docs/reference/type-aliases/RuleType.md +5 -0
  59. package/docs/reference/type-aliases/StatusType.md +5 -0
  60. package/docs/reference/type-aliases/UriActionType.md +6 -0
  61. package/docs/reference/variables/ActionTypes.md +314 -0
  62. package/docs/reference/variables/ConflictStrategyTypes.md +25 -0
  63. package/docs/reference/variables/DataType.md +49 -0
  64. package/docs/reference/variables/LeftOperandType.md +199 -0
  65. package/docs/reference/variables/LogicalConstraintType.md +31 -0
  66. package/docs/reference/variables/OdrlContexts.md +37 -0
  67. package/docs/reference/variables/OdrlTypes.md +97 -0
  68. package/docs/reference/variables/OperatorType.md +91 -0
  69. package/docs/reference/variables/PolicyType.md +31 -0
  70. package/docs/reference/variables/RightOperandTypes.md +13 -0
  71. package/docs/reference/variables/RuleType.md +25 -0
  72. package/docs/reference/variables/StatusType.md +31 -0
  73. package/docs/reference/variables/UriActionTypes.md +314 -0
  74. package/locales/en.json +1 -0
  75. package/package.json +40 -0
@@ -0,0 +1,215 @@
1
+ /**
2
+ * The types for ODRL Actions.
3
+ * URI action types (for use with rdf:value/@id)
4
+ */
5
+ export declare const UriActionTypes: {
6
+ /**
7
+ * To use the Asset - actions that involve general usage by parties.
8
+ */
9
+ readonly OdrlUse: "odrl:use";
10
+ /**
11
+ * To transfer the ownership to third parties.
12
+ */
13
+ readonly OdrlTransfer: "odrl:transfer";
14
+ /**
15
+ * To accept that the use of the Asset may be tracked.
16
+ */
17
+ readonly OdrlAcceptTracking: "odrl:acceptTracking";
18
+ /**
19
+ * To use the Asset or parts of it as part of a composite collection.
20
+ */
21
+ readonly OdrlAggregate: "odrl:aggregate";
22
+ /**
23
+ * To add explanatory notations/commentaries to the Asset without modifying the Asset in any other way.
24
+ */
25
+ readonly OdrlAnnotate: "odrl:annotate";
26
+ /**
27
+ * To anonymize all or parts of the Asset.
28
+ */
29
+ readonly OdrlAnonymize: "odrl:anonymize";
30
+ /**
31
+ * To store the Asset (in a non-transient form).
32
+ */
33
+ readonly OdrlArchive: "odrl:archive";
34
+ /**
35
+ * To attribute the use of the Asset.
36
+ */
37
+ readonly OdrlAttribute: "odrl:attribute";
38
+ /**
39
+ * Credit be given to copyright holder and/or author.
40
+ */
41
+ readonly OdrlAttribution: "odrl:attribution";
42
+ /**
43
+ * Exercising rights for commercial purposes.
44
+ */
45
+ readonly OdrlCommercialUse: "odrl:commercialUse";
46
+ /**
47
+ * To compensate by transfer of some amount of value for using or selling the Asset.
48
+ */
49
+ readonly OdrlCompensate: "odrl:compensate";
50
+ /**
51
+ * To create multiple copies of the Asset that are being concurrently used.
52
+ */
53
+ readonly OdrlConcurrentUse: "odrl:concurrentUse";
54
+ /**
55
+ * To permanently remove all copies of the Asset after it has been used.
56
+ */
57
+ readonly OdrlDelete: "odrl:delete";
58
+ /**
59
+ * To create a new derivative Asset from this Asset and to edit or modify the derivative.
60
+ */
61
+ readonly OdrlDerive: "odrl:derive";
62
+ /**
63
+ * Distribution of derivative works.
64
+ */
65
+ readonly OdrlDerivativeWorks: "odrl:derivativeWorks";
66
+ /**
67
+ * To produce a digital copy of (or otherwise digitize) the Asset from its analogue form.
68
+ */
69
+ readonly OdrlDigitize: "odrl:digitize";
70
+ /**
71
+ * To create a static and transient rendition of an Asset.
72
+ */
73
+ readonly OdrlDisplay: "odrl:display";
74
+ /**
75
+ * To supply the Asset to third-parties.
76
+ */
77
+ readonly OdrlDistribute: "odrl:distribute";
78
+ /**
79
+ * Distribution, public display, and publicly performance.
80
+ */
81
+ readonly OdrlDistribution: "odrl:distribution";
82
+ /**
83
+ * To ensure that the Rule on the Asset is exclusive.
84
+ */
85
+ readonly OdrlEnsureExclusivity: "odrl:ensureExclusivity";
86
+ /**
87
+ * To run the computer program Asset.
88
+ */
89
+ readonly OdrlExecute: "odrl:execute";
90
+ /**
91
+ * To extract parts of the Asset and to use it as a new Asset.
92
+ */
93
+ readonly OdrlExtract: "odrl:extract";
94
+ /**
95
+ * To transfer the ownership without compensation and while deleting the original asset.
96
+ */
97
+ readonly OdrlGive: "odrl:give";
98
+ /**
99
+ * To grant the use of the Asset to third parties.
100
+ */
101
+ readonly OdrlGrantUse: "odrl:grantUse";
102
+ /**
103
+ * To include other related assets in the Asset.
104
+ */
105
+ readonly OdrlInclude: "odrl:include";
106
+ /**
107
+ * To record the Asset in an index.
108
+ */
109
+ readonly OdrlIndex: "odrl:index";
110
+ /**
111
+ * To inform that an action has been performed on or in relation to the Asset.
112
+ */
113
+ readonly OdrlInform: "odrl:inform";
114
+ /**
115
+ * To load the computer program Asset onto a storage device.
116
+ */
117
+ readonly OdrlInstall: "odrl:install";
118
+ /**
119
+ * To change existing content of the Asset without creating a new asset.
120
+ */
121
+ readonly OdrlModify: "odrl:modify";
122
+ /**
123
+ * To move the Asset from one digital location to another including deleting the original copy.
124
+ */
125
+ readonly OdrlMove: "odrl:move";
126
+ /**
127
+ * To grant the specified Policy to a third party for their use of the Asset.
128
+ */
129
+ readonly OdrlNextPolicy: "odrl:nextPolicy";
130
+ /**
131
+ * Copyright and license notices be kept intact.
132
+ */
133
+ readonly OdrlNotice: "odrl:notice";
134
+ /**
135
+ * To obtain verifiable consent to perform the requested action.
136
+ */
137
+ readonly OdrlObtainConsent: "odrl:obtainConsent";
138
+ /**
139
+ * To create a sequential and transient rendition of an Asset.
140
+ */
141
+ readonly OdrlPlay: "odrl:play";
142
+ /**
143
+ * To publicly perform the Asset.
144
+ */
145
+ readonly OdrlPresent: "odrl:present";
146
+ /**
147
+ * To create a tangible and permanent rendition of an Asset.
148
+ */
149
+ readonly OdrlPrint: "odrl:print";
150
+ /**
151
+ * To obtain data from the Asset.
152
+ */
153
+ readonly OdrlRead: "odrl:read";
154
+ /**
155
+ * To make duplicate copies of the Asset in any material form.
156
+ */
157
+ readonly OdrlReproduce: "odrl:reproduce";
158
+ /**
159
+ * Making multiple copies.
160
+ */
161
+ readonly OdrlReproduction: "odrl:reproduction";
162
+ /**
163
+ * To review the Policy applicable to the Asset.
164
+ */
165
+ readonly OdrlReviewPolicy: "odrl:reviewPolicy";
166
+ /**
167
+ * To transfer the ownership with compensation and while deleting the original asset.
168
+ */
169
+ readonly OdrlSell: "odrl:sell";
170
+ /**
171
+ * Derivative works be licensed under the same terms or compatible terms.
172
+ */
173
+ readonly OdrlShareAlike: "odrl:shareAlike";
174
+ /**
175
+ * Permits commercial derivatives, but only non-commercial distribution.
176
+ */
177
+ readonly OdrlSharing: "odrl:sharing";
178
+ /**
179
+ * Source code must be provided when exercising some rights.
180
+ */
181
+ readonly OdrlSourceCode: "odrl:sourceCode";
182
+ /**
183
+ * To deliver the Asset in real-time.
184
+ */
185
+ readonly OdrlStream: "odrl:stream";
186
+ /**
187
+ * To use the Asset in timed relations with media elements of another Asset.
188
+ */
189
+ readonly OdrlSynchronize: "odrl:synchronize";
190
+ /**
191
+ * To have a text Asset read out loud.
192
+ */
193
+ readonly OdrlTextToSpeech: "odrl:textToSpeech";
194
+ /**
195
+ * To convert the Asset into a different format.
196
+ */
197
+ readonly OdrlTransform: "odrl:transform";
198
+ /**
199
+ * To translate the Asset into another natural language.
200
+ */
201
+ readonly OdrlTranslate: "odrl:translate";
202
+ /**
203
+ * To unload and delete the computer program Asset.
204
+ */
205
+ readonly OdrlUninstall: "odrl:uninstall";
206
+ /**
207
+ * To apply a watermark to the Asset.
208
+ */
209
+ readonly OdrlWatermark: "odrl:watermark";
210
+ };
211
+ /**
212
+ * The types for ODRL Actions.
213
+ * Simple action types (for direct string usage)
214
+ */
215
+ export type UriActionType = (typeof UriActionTypes)[keyof typeof UriActionTypes];
@@ -0,0 +1,5 @@
1
+ # @twin.org/standards-w3c-odrl - Changelog
2
+
3
+ ## v0.0.1-next.21
4
+
5
+ - Initial Release
@@ -0,0 +1 @@
1
+ # @twin.org/standards-w3c-odrl - Examples
@@ -0,0 +1,49 @@
1
+ # @twin.org/standards-w3c-odrl
2
+
3
+ ## Interfaces
4
+
5
+ - [IOdrlAction](interfaces/IOdrlAction.md)
6
+ - [IOdrlAsset](interfaces/IOdrlAsset.md)
7
+ - [IOdrlAssetCollection](interfaces/IOdrlAssetCollection.md)
8
+ - [IOdrlConstraint](interfaces/IOdrlConstraint.md)
9
+ - [IOdrlDuty](interfaces/IOdrlDuty.md)
10
+ - [IOdrlLogicalConstraint](interfaces/IOdrlLogicalConstraint.md)
11
+ - [IOdrlParty](interfaces/IOdrlParty.md)
12
+ - [IOdrlPartyCollection](interfaces/IOdrlPartyCollection.md)
13
+ - [IOdrlPermission](interfaces/IOdrlPermission.md)
14
+ - [IOdrlPolicy](interfaces/IOdrlPolicy.md)
15
+ - [IOdrlPolicyMetadata](interfaces/IOdrlPolicyMetadata.md)
16
+ - [IOdrlProhibition](interfaces/IOdrlProhibition.md)
17
+ - [IOdrlRule](interfaces/IOdrlRule.md)
18
+
19
+ ## Type Aliases
20
+
21
+ - [OdrlContexts](type-aliases/OdrlContexts.md)
22
+ - [ActionType](type-aliases/ActionType.md)
23
+ - [ConflictStrategyType](type-aliases/ConflictStrategyType.md)
24
+ - [DataType](type-aliases/DataType.md)
25
+ - [LeftOperandType](type-aliases/LeftOperandType.md)
26
+ - [LogicalConstraintType](type-aliases/LogicalConstraintType.md)
27
+ - [OdrlTypes](type-aliases/OdrlTypes.md)
28
+ - [OperatorType](type-aliases/OperatorType.md)
29
+ - [PolicyType](type-aliases/PolicyType.md)
30
+ - [RightOperandType](type-aliases/RightOperandType.md)
31
+ - [RuleType](type-aliases/RuleType.md)
32
+ - [StatusType](type-aliases/StatusType.md)
33
+ - [UriActionType](type-aliases/UriActionType.md)
34
+
35
+ ## Variables
36
+
37
+ - [OdrlContexts](variables/OdrlContexts.md)
38
+ - [ActionTypes](variables/ActionTypes.md)
39
+ - [ConflictStrategyTypes](variables/ConflictStrategyTypes.md)
40
+ - [DataType](variables/DataType.md)
41
+ - [LeftOperandType](variables/LeftOperandType.md)
42
+ - [LogicalConstraintType](variables/LogicalConstraintType.md)
43
+ - [OdrlTypes](variables/OdrlTypes.md)
44
+ - [OperatorType](variables/OperatorType.md)
45
+ - [PolicyType](variables/PolicyType.md)
46
+ - [RightOperandTypes](variables/RightOperandTypes.md)
47
+ - [RuleType](variables/RuleType.md)
48
+ - [StatusType](variables/StatusType.md)
49
+ - [UriActionTypes](variables/UriActionTypes.md)
@@ -0,0 +1,61 @@
1
+ # Interface: IOdrlAction
2
+
3
+ Interface for ODRL Actions.
4
+
5
+ ## Extends
6
+
7
+ - `IJsonLdNodeObject`
8
+
9
+ ## Indexable
10
+
11
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdNodeObject` \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdNodeObject`[] \| `IJsonLdGraphObject` \| `IJsonLdListObject` \| `IJsonLdSetObject` \| `IJsonLdNodePrimitive`[] \| `IJsonLdLanguageMap` \| `IJsonLdIndexMap` \| `IJsonLdIdMap` \| `IJsonLdTypeMap` \| `IJsonLdJsonObject` \| `IJsonLdJsonObject`[] \| \{\}
12
+
13
+ ## Properties
14
+
15
+ ### rdf:value?
16
+
17
+ > `optional` **rdf:value**: `object`
18
+
19
+ The value/identifier of the action.
20
+ Used in complex action definitions.
21
+
22
+ #### @id
23
+
24
+ > **@id**: `string`
25
+
26
+ ***
27
+
28
+ ### @id?
29
+
30
+ > `optional` **@id**: `string`
31
+
32
+ Direct action identifier.
33
+ Used in simple action references.
34
+
35
+ #### Overrides
36
+
37
+ `IJsonLdNodeObject.@id`
38
+
39
+ ***
40
+
41
+ ### refinement?
42
+
43
+ > `optional` **refinement**: [`IOdrlConstraint`](IOdrlConstraint.md) \| [`IOdrlLogicalConstraint`](IOdrlLogicalConstraint.md) \| ([`IOdrlConstraint`](IOdrlConstraint.md) \| [`IOdrlLogicalConstraint`](IOdrlLogicalConstraint.md))[]
44
+
45
+ Refinements applied to the action.
46
+
47
+ ***
48
+
49
+ ### includedIn?
50
+
51
+ > `optional` **includedIn**: [`ActionType`](../type-aliases/ActionType.md)
52
+
53
+ Reference to the action this action is included in.
54
+
55
+ ***
56
+
57
+ ### implies?
58
+
59
+ > `optional` **implies**: [`ActionType`](../type-aliases/ActionType.md)[]
60
+
61
+ References to actions this action implies.
@@ -0,0 +1,55 @@
1
+ # Interface: IOdrlAsset
2
+
3
+ Interface for ODRL Assets.
4
+
5
+ ## Extends
6
+
7
+ - `IJsonLdNodeObject`
8
+
9
+ ## Extended by
10
+
11
+ - [`IOdrlAssetCollection`](IOdrlAssetCollection.md)
12
+
13
+ ## Indexable
14
+
15
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdNodeObject` \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdNodeObject`[] \| `IJsonLdGraphObject` \| `IJsonLdListObject` \| `IJsonLdSetObject` \| `IJsonLdNodePrimitive`[] \| `IJsonLdLanguageMap` \| `IJsonLdIndexMap` \| `IJsonLdIdMap` \| `IJsonLdTypeMap` \| `IJsonLdJsonObject` \| `IJsonLdJsonObject`[] \| \{\}
16
+
17
+ ## Properties
18
+
19
+ ### uid?
20
+
21
+ > `optional` **uid**: `string`
22
+
23
+ The unique identifier for the asset.
24
+ Should be an IRI.
25
+
26
+ ***
27
+
28
+ ### @type?
29
+
30
+ > `optional` **@type**: `string`
31
+
32
+ The type of the asset.
33
+ Can be used to specify additional type information.
34
+
35
+ #### Overrides
36
+
37
+ `IJsonLdNodeObject.@type`
38
+
39
+ ***
40
+
41
+ ### partOf?
42
+
43
+ > `optional` **partOf**: `string` \| [`IOdrlAssetCollection`](IOdrlAssetCollection.md)
44
+
45
+ Reference to the asset collection this asset is part of.
46
+ Used to identify an AssetCollection that this Asset is a member of.
47
+
48
+ ***
49
+
50
+ ### hasPolicy?
51
+
52
+ > `optional` **hasPolicy**: `string`
53
+
54
+ Reference to the policy that governs this asset.
55
+ Used to identify the Policy that governs this Asset.
@@ -0,0 +1,85 @@
1
+ # Interface: IOdrlAssetCollection
2
+
3
+ Interface for ODRL Asset Collections.
4
+ An AssetCollection is a single resource representing a set of member resources,
5
+ where all members of the set will be the subject of the Rule.
6
+
7
+ ## Extends
8
+
9
+ - [`IOdrlAsset`](IOdrlAsset.md)
10
+
11
+ ## Indexable
12
+
13
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdNodeObject` \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdNodeObject`[] \| `IJsonLdGraphObject` \| `IJsonLdListObject` \| `IJsonLdSetObject` \| `IJsonLdNodePrimitive`[] \| `IJsonLdLanguageMap` \| `IJsonLdIndexMap` \| `IJsonLdIdMap` \| `IJsonLdTypeMap` \| `IJsonLdJsonObject` \| `IJsonLdJsonObject`[] \| \{\}
14
+
15
+ ## Properties
16
+
17
+ ### uid?
18
+
19
+ > `optional` **uid**: `string`
20
+
21
+ The unique identifier for the asset.
22
+ Should be an IRI.
23
+
24
+ #### Inherited from
25
+
26
+ [`IOdrlAsset`](IOdrlAsset.md).[`uid`](IOdrlAsset.md#uid)
27
+
28
+ ***
29
+
30
+ ### @type?
31
+
32
+ > `optional` **@type**: `string`
33
+
34
+ The type of the asset.
35
+ Can be used to specify additional type information.
36
+
37
+ #### Inherited from
38
+
39
+ [`IOdrlAsset`](IOdrlAsset.md).[`@type`](IOdrlAsset.md#@type)
40
+
41
+ ***
42
+
43
+ ### partOf?
44
+
45
+ > `optional` **partOf**: `string` \| [`IOdrlAssetCollection`](IOdrlAssetCollection.md)
46
+
47
+ Reference to the asset collection this asset is part of.
48
+ Used to identify an AssetCollection that this Asset is a member of.
49
+
50
+ #### Inherited from
51
+
52
+ [`IOdrlAsset`](IOdrlAsset.md).[`partOf`](IOdrlAsset.md#partof)
53
+
54
+ ***
55
+
56
+ ### hasPolicy?
57
+
58
+ > `optional` **hasPolicy**: `string`
59
+
60
+ Reference to the policy that governs this asset.
61
+ Used to identify the Policy that governs this Asset.
62
+
63
+ #### Inherited from
64
+
65
+ [`IOdrlAsset`](IOdrlAsset.md).[`hasPolicy`](IOdrlAsset.md#haspolicy)
66
+
67
+ ***
68
+
69
+ ### source
70
+
71
+ > **source**: `string`
72
+
73
+ Reference to the source of the asset collection.
74
+ Must be an IRI that references the AssetCollection.
75
+
76
+ ***
77
+
78
+ ### refinement?
79
+
80
+ > `optional` **refinement**: [`IOdrlConstraint`](IOdrlConstraint.md)[]
81
+
82
+ Refinements applied to the asset collection.
83
+ Used to specify the refinement context under which to identify individual Asset(s)
84
+ of the complete collection. The refinement applies to the characteristics of each
85
+ member of the collection (not the resource as a whole).
@@ -0,0 +1,76 @@
1
+ # Interface: IOdrlConstraint
2
+
3
+ Interface for ODRL Constraints.
4
+
5
+ ## Extends
6
+
7
+ - `IJsonLdNodeObject`
8
+
9
+ ## Indexable
10
+
11
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdNodeObject` \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdNodeObject`[] \| `IJsonLdGraphObject` \| `IJsonLdListObject` \| `IJsonLdSetObject` \| `IJsonLdNodePrimitive`[] \| `IJsonLdLanguageMap` \| `IJsonLdIndexMap` \| `IJsonLdIdMap` \| `IJsonLdTypeMap` \| `IJsonLdJsonObject` \| `IJsonLdJsonObject`[] \| \{\}
12
+
13
+ ## Properties
14
+
15
+ ### uid?
16
+
17
+ > `optional` **uid**: `string`
18
+
19
+ Optional unique identifier for the constraint.
20
+
21
+ ***
22
+
23
+ ### leftOperand
24
+
25
+ > **leftOperand**: `string`
26
+
27
+ The left operand of the constraint.
28
+
29
+ ***
30
+
31
+ ### operator
32
+
33
+ > **operator**: [`OperatorType`](../type-aliases/OperatorType.md)
34
+
35
+ The operator of the constraint.
36
+
37
+ ***
38
+
39
+ ### rightOperand?
40
+
41
+ > `optional` **rightOperand**: `string` \| \{ `@value`: `string`; `@type`: [`DataType`](../type-aliases/DataType.md); \} \| \{ `@id`: `string`; \}
42
+
43
+ The right operand of the constraint.
44
+ value with optional
45
+
46
+ ***
47
+
48
+ ### rightOperandReference?
49
+
50
+ > `optional` **rightOperandReference**: `string`
51
+
52
+ Reference to the right operand.
53
+
54
+ ***
55
+
56
+ ### dataType?
57
+
58
+ > `optional` **dataType**: [`DataType`](../type-aliases/DataType.md)
59
+
60
+ The data type of the right operand.
61
+
62
+ ***
63
+
64
+ ### unit?
65
+
66
+ > `optional` **unit**: `string`
67
+
68
+ The unit for the right operand value.
69
+
70
+ ***
71
+
72
+ ### status?
73
+
74
+ > `optional` **status**: [`StatusType`](../type-aliases/StatusType.md)
75
+
76
+ The status value for comparison.
@@ -0,0 +1,144 @@
1
+ # Interface: IOdrlDuty
2
+
3
+ Interface for Duty Rules.
4
+ A Duty is the obligation to exercise an action, with all refinements satisfied.
5
+ A Duty is fulfilled if all constraints are satisfied and if its action has been exercised.
6
+
7
+ ## Extends
8
+
9
+ - [`IOdrlRule`](IOdrlRule.md)
10
+
11
+ ## Indexable
12
+
13
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdNodeObject` \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdNodeObject`[] \| `IJsonLdGraphObject` \| `IJsonLdListObject` \| `IJsonLdSetObject` \| `IJsonLdNodePrimitive`[] \| `IJsonLdLanguageMap` \| `IJsonLdIndexMap` \| `IJsonLdIdMap` \| `IJsonLdTypeMap` \| `IJsonLdJsonObject` \| `IJsonLdJsonObject`[] \| \{\}
14
+
15
+ ## Properties
16
+
17
+ ### attributedParty?
18
+
19
+ > `optional` **attributedParty**: `string`
20
+
21
+ The party to be attributed
22
+ Used when the duty involves attribution
23
+
24
+ ***
25
+
26
+ ### trackingParty?
27
+
28
+ > `optional` **trackingParty**: `string`
29
+
30
+ The party performing the tracking
31
+ Used when the duty involves tracking
32
+
33
+ ***
34
+
35
+ ### consequence?
36
+
37
+ > `optional` **consequence**: [`IOdrlDuty`](IOdrlDuty.md)[]
38
+
39
+ The consequences if the duty is not fulfilled.
40
+ Only applicable when the Duty is referenced by a Rule with duty or obligation
41
+ properties.
42
+
43
+ ***
44
+
45
+ ### remedy?
46
+
47
+ > `optional` **remedy**: [`IOdrlDuty`](IOdrlDuty.md)[]
48
+
49
+ The remedies that may be fulfilled to cure the violation.
50
+
51
+ ***
52
+
53
+ ### compensatedParty?
54
+
55
+ > `optional` **compensatedParty**: `string`
56
+
57
+ The party to be compensated
58
+ Used when the duty involves compensation
59
+
60
+ ***
61
+
62
+ ### uid?
63
+
64
+ > `optional` **uid**: `string`
65
+
66
+ Optional unique identifier for the rule.
67
+
68
+ #### Inherited from
69
+
70
+ [`IOdrlRule`](IOdrlRule.md).[`uid`](IOdrlRule.md#uid)
71
+
72
+ ***
73
+
74
+ ### action?
75
+
76
+ > `optional` **action**: [`ActionType`](../type-aliases/ActionType.md) \| [`IOdrlAction`](IOdrlAction.md) \| ActionType \| IOdrlAction[]
77
+
78
+ The action associated with the rule.
79
+
80
+ #### Inherited from
81
+
82
+ [`IOdrlRule`](IOdrlRule.md).[`action`](IOdrlRule.md#action)
83
+
84
+ ***
85
+
86
+ ### target?
87
+
88
+ > `optional` **target**: `string` \| [`IOdrlAsset`](IOdrlAsset.md) \| (`string` \| [`IOdrlAsset`](IOdrlAsset.md))[]
89
+
90
+ The target asset for the rule.
91
+
92
+ #### Inherited from
93
+
94
+ [`IOdrlRule`](IOdrlRule.md).[`target`](IOdrlRule.md#target)
95
+
96
+ ***
97
+
98
+ ### assigner?
99
+
100
+ > `optional` **assigner**: `string` \| [`IOdrlParty`](IOdrlParty.md)
101
+
102
+ The assigner of the rule.
103
+
104
+ #### Inherited from
105
+
106
+ [`IOdrlRule`](IOdrlRule.md).[`assigner`](IOdrlRule.md#assigner)
107
+
108
+ ***
109
+
110
+ ### assignee?
111
+
112
+ > `optional` **assignee**: `string` \| [`IOdrlParty`](IOdrlParty.md)
113
+
114
+ The assignee of the rule.
115
+
116
+ #### Inherited from
117
+
118
+ [`IOdrlRule`](IOdrlRule.md).[`assignee`](IOdrlRule.md#assignee)
119
+
120
+ ***
121
+
122
+ ### constraint?
123
+
124
+ > `optional` **constraint**: [`IOdrlConstraint`](IOdrlConstraint.md)[]
125
+
126
+ Constraints applied to the rule.
127
+
128
+ #### Inherited from
129
+
130
+ [`IOdrlRule`](IOdrlRule.md).[`constraint`](IOdrlRule.md#constraint)
131
+
132
+ ***
133
+
134
+ ### summary?
135
+
136
+ > `optional` **summary**: `string`
137
+
138
+ Additional relation sub-properties as defined in ODRL profiles.
139
+ For example, 'summary' in profile "http://example.com/odrl:profile:03"
140
+ indicates where the output should be stored.
141
+
142
+ #### Inherited from
143
+
144
+ [`IOdrlRule`](IOdrlRule.md).[`summary`](IOdrlRule.md#summary)