@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,70 @@
1
+ # Interface: IOdrlLogicalConstraint
2
+
3
+ Interface for ODRL Logical Constraints.
4
+ A Logical Constraint compares two or more existing Constraints by one logical operator.
5
+ If the comparison returns a logical match, then the Logical Constraint is satisfied.
6
+
7
+ ## Extends
8
+
9
+ - `IJsonLdNodeObject`
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
+ Optional unique identifier for the logical constraint.
22
+ Must be an IRI.
23
+
24
+ ***
25
+
26
+ ### and?
27
+
28
+ > `optional` **and**: `object`
29
+
30
+ AND operator - all constraints must be satisfied.
31
+
32
+ #### @list
33
+
34
+ > **@list**: `object`[]
35
+
36
+ ***
37
+
38
+ ### or?
39
+
40
+ > `optional` **or**: `object`
41
+
42
+ OR operator - at least one constraint must be satisfied.
43
+
44
+ #### @list
45
+
46
+ > **@list**: `object`[]
47
+
48
+ ***
49
+
50
+ ### xone?
51
+
52
+ > `optional` **xone**: `object`
53
+
54
+ XOR operator - exactly one constraint must be satisfied.
55
+
56
+ #### @list
57
+
58
+ > **@list**: `object`[]
59
+
60
+ ***
61
+
62
+ ### andSequence?
63
+
64
+ > `optional` **andSequence**: `object`
65
+
66
+ AND Sequence operator - all constraints must be satisfied in order.
67
+
68
+ #### @list
69
+
70
+ > **@list**: `object`[]
@@ -0,0 +1,67 @@
1
+ # Interface: IOdrlParty
2
+
3
+ Interface for ODRL Parties.
4
+
5
+ ## Extends
6
+
7
+ - `IJsonLdNodeObject`
8
+
9
+ ## Extended by
10
+
11
+ - [`IOdrlPartyCollection`](IOdrlPartyCollection.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 party.
24
+ Must be an IRI.
25
+
26
+ ***
27
+
28
+ ### @type?
29
+
30
+ > `optional` **@type**: `string` \| `string`[]
31
+
32
+ The type of the party.
33
+ Can be used to specify additional type information (e.g., "Party",
34
+ "vcard:Organization", "vcard:Individual").
35
+
36
+ #### Overrides
37
+
38
+ `IJsonLdNodeObject.@type`
39
+
40
+ ***
41
+
42
+ ### partOf?
43
+
44
+ > `optional` **partOf**: `string` \| [`IOdrlPartyCollection`](IOdrlPartyCollection.md)
45
+
46
+ Reference to the party collection this party is part of.
47
+ Used to identify a PartyCollection that a Party entity is a member of.
48
+
49
+ ***
50
+
51
+ ### assigneeOf?
52
+
53
+ > `optional` **assigneeOf**: `string`
54
+
55
+ Reference to a policy where this party is an assignee.
56
+ When assigneeOf is asserted, the Party MUST be inferred to undertake
57
+ the assignee functional role of all the Rules of that Policy.
58
+
59
+ ***
60
+
61
+ ### assignerOf?
62
+
63
+ > `optional` **assignerOf**: `string`
64
+
65
+ Reference to a policy where this party is an assigner.
66
+ When assignerOf is asserted, the Party MUST be inferred to undertake
67
+ the assigner functional role of all the Rules of that Policy.
@@ -0,0 +1,98 @@
1
+ # Interface: IOdrlPartyCollection
2
+
3
+ Interface for ODRL Party Collections.
4
+ A PartyCollection identifies a collection of entities and is a subclass of Party.
5
+
6
+ ## Extends
7
+
8
+ - [`IOdrlParty`](IOdrlParty.md)
9
+
10
+ ## Indexable
11
+
12
+ \[`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`[] \| \{\}
13
+
14
+ ## Properties
15
+
16
+ ### uid?
17
+
18
+ > `optional` **uid**: `string`
19
+
20
+ The unique identifier for the party.
21
+ Must be an IRI.
22
+
23
+ #### Inherited from
24
+
25
+ [`IOdrlParty`](IOdrlParty.md).[`uid`](IOdrlParty.md#uid)
26
+
27
+ ***
28
+
29
+ ### @type?
30
+
31
+ > `optional` **@type**: `string` \| `string`[]
32
+
33
+ The type of the party.
34
+ Can be used to specify additional type information (e.g., "Party",
35
+ "vcard:Organization", "vcard:Individual").
36
+
37
+ #### Inherited from
38
+
39
+ [`IOdrlParty`](IOdrlParty.md).[`@type`](IOdrlParty.md#@type)
40
+
41
+ ***
42
+
43
+ ### partOf?
44
+
45
+ > `optional` **partOf**: `string` \| [`IOdrlPartyCollection`](IOdrlPartyCollection.md)
46
+
47
+ Reference to the party collection this party is part of.
48
+ Used to identify a PartyCollection that a Party entity is a member of.
49
+
50
+ #### Inherited from
51
+
52
+ [`IOdrlParty`](IOdrlParty.md).[`partOf`](IOdrlParty.md#partof)
53
+
54
+ ***
55
+
56
+ ### assigneeOf?
57
+
58
+ > `optional` **assigneeOf**: `string`
59
+
60
+ Reference to a policy where this party is an assignee.
61
+ When assigneeOf is asserted, the Party MUST be inferred to undertake
62
+ the assignee functional role of all the Rules of that Policy.
63
+
64
+ #### Inherited from
65
+
66
+ [`IOdrlParty`](IOdrlParty.md).[`assigneeOf`](IOdrlParty.md#assigneeof)
67
+
68
+ ***
69
+
70
+ ### assignerOf?
71
+
72
+ > `optional` **assignerOf**: `string`
73
+
74
+ Reference to a policy where this party is an assigner.
75
+ When assignerOf is asserted, the Party MUST be inferred to undertake
76
+ the assigner functional role of all the Rules of that Policy.
77
+
78
+ #### Inherited from
79
+
80
+ [`IOdrlParty`](IOdrlParty.md).[`assignerOf`](IOdrlParty.md#assignerof)
81
+
82
+ ***
83
+
84
+ ### source
85
+
86
+ > **source**: `string`
87
+
88
+ Reference to the source of the party collection.
89
+ Used to identify the origin or location of the collection.
90
+
91
+ ***
92
+
93
+ ### refinement?
94
+
95
+ > `optional` **refinement**: [`IOdrlConstraint`](IOdrlConstraint.md)[]
96
+
97
+ Refinements applied to the party collection.
98
+ Used to specify constraints that apply to all members of the collection.
@@ -0,0 +1,108 @@
1
+ # Interface: IOdrlPermission
2
+
3
+ Interface for Permission Rules.
4
+ A Permission allows an action to be exercised on an Asset
5
+ if all constraints are satisfied and if all duties are fulfilled.
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
+ ### duty?
18
+
19
+ > `optional` **duty**: [`IOdrlDuty`](IOdrlDuty.md)[]
20
+
21
+ The duties that must be fulfilled before the permission can be exercised.
22
+ A Permission MAY have none, one, or more duty property values.
23
+
24
+ ***
25
+
26
+ ### uid?
27
+
28
+ > `optional` **uid**: `string`
29
+
30
+ Optional unique identifier for the rule.
31
+
32
+ #### Inherited from
33
+
34
+ [`IOdrlRule`](IOdrlRule.md).[`uid`](IOdrlRule.md#uid)
35
+
36
+ ***
37
+
38
+ ### action?
39
+
40
+ > `optional` **action**: [`ActionType`](../type-aliases/ActionType.md) \| [`IOdrlAction`](IOdrlAction.md) \| ActionType \| IOdrlAction[]
41
+
42
+ The action associated with the rule.
43
+
44
+ #### Inherited from
45
+
46
+ [`IOdrlRule`](IOdrlRule.md).[`action`](IOdrlRule.md#action)
47
+
48
+ ***
49
+
50
+ ### target?
51
+
52
+ > `optional` **target**: `string` \| [`IOdrlAsset`](IOdrlAsset.md) \| (`string` \| [`IOdrlAsset`](IOdrlAsset.md))[]
53
+
54
+ The target asset for the rule.
55
+
56
+ #### Inherited from
57
+
58
+ [`IOdrlRule`](IOdrlRule.md).[`target`](IOdrlRule.md#target)
59
+
60
+ ***
61
+
62
+ ### assigner?
63
+
64
+ > `optional` **assigner**: `string` \| [`IOdrlParty`](IOdrlParty.md)
65
+
66
+ The assigner of the rule.
67
+
68
+ #### Inherited from
69
+
70
+ [`IOdrlRule`](IOdrlRule.md).[`assigner`](IOdrlRule.md#assigner)
71
+
72
+ ***
73
+
74
+ ### assignee?
75
+
76
+ > `optional` **assignee**: `string` \| [`IOdrlParty`](IOdrlParty.md)
77
+
78
+ The assignee of the rule.
79
+
80
+ #### Inherited from
81
+
82
+ [`IOdrlRule`](IOdrlRule.md).[`assignee`](IOdrlRule.md#assignee)
83
+
84
+ ***
85
+
86
+ ### constraint?
87
+
88
+ > `optional` **constraint**: [`IOdrlConstraint`](IOdrlConstraint.md)[]
89
+
90
+ Constraints applied to the rule.
91
+
92
+ #### Inherited from
93
+
94
+ [`IOdrlRule`](IOdrlRule.md).[`constraint`](IOdrlRule.md#constraint)
95
+
96
+ ***
97
+
98
+ ### summary?
99
+
100
+ > `optional` **summary**: `string`
101
+
102
+ Additional relation sub-properties as defined in ODRL profiles.
103
+ For example, 'summary' in profile "http://example.com/odrl:profile:03"
104
+ indicates where the output should be stored.
105
+
106
+ #### Inherited from
107
+
108
+ [`IOdrlRule`](IOdrlRule.md).[`summary`](IOdrlRule.md#summary)
@@ -0,0 +1,136 @@
1
+ # Interface: IOdrlPolicy
2
+
3
+ Interface representing an ODRL Policy.
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
+ ### @context
16
+
17
+ > **@context**: `"https://www.w3.org/ns/odrl.jsonld"` \| `IJsonLdContextDefinition` \| \[`"https://www.w3.org/ns/odrl.jsonld"`, `IJsonLdContextDefinition`\]
18
+
19
+ The context for the policy.
20
+ Must include "https://www.w3.org/ns/odrl.jsonld"
21
+
22
+ #### Overrides
23
+
24
+ `IJsonLdNodeObject.@context`
25
+
26
+ ***
27
+
28
+ ### @type
29
+
30
+ > **@type**: [`PolicyType`](../type-aliases/PolicyType.md)
31
+
32
+ The type of policy.
33
+ Must be one of: "Set", "Offer", "Agreement"
34
+
35
+ #### Overrides
36
+
37
+ `IJsonLdNodeObject.@type`
38
+
39
+ ***
40
+
41
+ ### uid
42
+
43
+ > **uid**: `string`
44
+
45
+ The unique identifier for the policy.
46
+ Must be an IRI.
47
+
48
+ ***
49
+
50
+ ### profile?
51
+
52
+ > `optional` **profile**: `string` \| `string`[]
53
+
54
+ The profile(s) this policy conforms to.
55
+ IRIs identifying the ODRL Profile(s).
56
+
57
+ ***
58
+
59
+ ### assigner?
60
+
61
+ > `optional` **assigner**: `string` \| [`IOdrlParty`](IOdrlParty.md)
62
+
63
+ The assigner of the policy.
64
+ Applies to all rules unless overridden at rule level.
65
+
66
+ ***
67
+
68
+ ### assignee?
69
+
70
+ > `optional` **assignee**: `string` \| [`IOdrlParty`](IOdrlParty.md)
71
+
72
+ The assignee of the policy.
73
+ Applies to all rules unless overridden at rule level.
74
+
75
+ ***
76
+
77
+ ### target?
78
+
79
+ > `optional` **target**: `string` \| [`IOdrlAsset`](IOdrlAsset.md) \| (`string` \| [`IOdrlAsset`](IOdrlAsset.md))[]
80
+
81
+ The target asset for the rule.
82
+
83
+ ***
84
+
85
+ ### action?
86
+
87
+ > `optional` **action**: [`ActionType`](../type-aliases/ActionType.md) \| [`IOdrlAction`](IOdrlAction.md) \| ActionType \| IOdrlAction[]
88
+
89
+ The action associated with the rule.
90
+
91
+ ***
92
+
93
+ ### inheritFrom?
94
+
95
+ > `optional` **inheritFrom**: `string` \| `string`[]
96
+
97
+ The parent policy(ies) this policy inherits from.
98
+ IRIs identifying the parent Policy(ies).
99
+
100
+ ***
101
+
102
+ ### conflict?
103
+
104
+ > `optional` **conflict**: [`ConflictStrategyType`](../type-aliases/ConflictStrategyType.md)
105
+
106
+ The conflict resolution strategy.
107
+ - perm: Permissions override Prohibitions
108
+ - prohibit: Prohibitions override Permissions
109
+ - invalid: Policy is void if conflicts exist (default)
110
+
111
+ ***
112
+
113
+ ### permission?
114
+
115
+ > `optional` **permission**: [`IOdrlPermission`](IOdrlPermission.md)[]
116
+
117
+ The permissions in the policy.
118
+ At least one of permission, prohibition, or obligation must be present.
119
+
120
+ ***
121
+
122
+ ### prohibition?
123
+
124
+ > `optional` **prohibition**: [`IOdrlProhibition`](IOdrlProhibition.md)[]
125
+
126
+ The prohibitions in the policy.
127
+ At least one of permission, prohibition, or obligation must be present.
128
+
129
+ ***
130
+
131
+ ### obligation?
132
+
133
+ > `optional` **obligation**: [`IOdrlDuty`](IOdrlDuty.md)[]
134
+
135
+ The obligations in the policy.
136
+ At least one of permission, prohibition, or obligation must be present.
@@ -0,0 +1,86 @@
1
+ # Interface: IOdrlPolicyMetadata
2
+
3
+ Interface for ODRL Policy Metadata using Dublin Core terms.
4
+ While these aren't explicitly defined in the ODRL spec, they are valid and useful metadata properties that follow Dublin Core standards.
5
+
6
+ ## Properties
7
+
8
+ ### dc:creator?
9
+
10
+ > `optional` **dc:creator**: `string` \| `string`[]
11
+
12
+ The individual, agent, or organisation that authored the Policy.
13
+ Note: String values may not be normalized and should not be used for direct comparison.
14
+
15
+ ***
16
+
17
+ ### dc:description?
18
+
19
+ > `optional` **dc:description**: `string` \| `string`[]
20
+
21
+ A human-readable representation or summary of the Policy.
22
+ Note: String values may not be normalized and should not be used for direct comparison.
23
+
24
+ ***
25
+
26
+ ### dc:issued?
27
+
28
+ > `optional` **dc:issued**: `string`
29
+
30
+ The date (and time) the Policy was first issued.
31
+ Note: String values may not be normalized and should not be used for direct comparison.
32
+
33
+ ***
34
+
35
+ ### dc:modified?
36
+
37
+ > `optional` **dc:modified**: `string`
38
+
39
+ The date (and time) the Policy was updated.
40
+ Note: String values may not be normalized and should not be used for direct comparison.
41
+
42
+ ***
43
+
44
+ ### dc:publisher?
45
+
46
+ > `optional` **dc:publisher**: `string`
47
+
48
+ The publisher of the Policy.
49
+ Note: String values may not be normalized and should not be used for direct comparison.
50
+
51
+ ***
52
+
53
+ ### dc:subject?
54
+
55
+ > `optional` **dc:subject**: `string` \| `string`[]
56
+
57
+ The subject of the Policy.
58
+ Note: String values may not be normalized and should not be used for direct comparison.
59
+
60
+ ***
61
+
62
+ ### dc:coverage?
63
+
64
+ > `optional` **dc:coverage**: `string` \| \{ `@id`: `string`; \}
65
+
66
+ The jurisdiction under which the Policy is relevant.
67
+ Note: When using string values, they may not be normalized and should not be used for direct comparison.
68
+ Using "@id" references is preferred for comparison purposes.
69
+
70
+ ***
71
+
72
+ ### dc:replaces?
73
+
74
+ > `optional` **dc:replaces**: `string` \| \{ `@id`: `string`; \}
75
+
76
+ The identifier of a Policy that this Policy supersedes.
77
+ Using "@id" references is preferred for comparison purposes.
78
+
79
+ ***
80
+
81
+ ### dc:isReplacedBy?
82
+
83
+ > `optional` **dc:isReplacedBy**: `string` \| \{ `@id`: `string`; \}
84
+
85
+ The identifier of a Policy that supersedes this Policy.
86
+ Using "@id" references is preferred for comparison purposes.
@@ -0,0 +1,105 @@
1
+ # Interface: IOdrlProhibition
2
+
3
+ Interface for Prohibition Rules.
4
+
5
+ ## Extends
6
+
7
+ - [`IOdrlRule`](IOdrlRule.md)
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
+ ### remedy?
16
+
17
+ > `optional` **remedy**: [`IOdrlDuty`](IOdrlDuty.md)[]
18
+
19
+ The remedies that must be fulfilled if prohibition is violated.
20
+
21
+ ***
22
+
23
+ ### uid?
24
+
25
+ > `optional` **uid**: `string`
26
+
27
+ Optional unique identifier for the rule.
28
+
29
+ #### Inherited from
30
+
31
+ [`IOdrlRule`](IOdrlRule.md).[`uid`](IOdrlRule.md#uid)
32
+
33
+ ***
34
+
35
+ ### action?
36
+
37
+ > `optional` **action**: [`ActionType`](../type-aliases/ActionType.md) \| [`IOdrlAction`](IOdrlAction.md) \| ActionType \| IOdrlAction[]
38
+
39
+ The action associated with the rule.
40
+
41
+ #### Inherited from
42
+
43
+ [`IOdrlRule`](IOdrlRule.md).[`action`](IOdrlRule.md#action)
44
+
45
+ ***
46
+
47
+ ### target?
48
+
49
+ > `optional` **target**: `string` \| [`IOdrlAsset`](IOdrlAsset.md) \| (`string` \| [`IOdrlAsset`](IOdrlAsset.md))[]
50
+
51
+ The target asset for the rule.
52
+
53
+ #### Inherited from
54
+
55
+ [`IOdrlRule`](IOdrlRule.md).[`target`](IOdrlRule.md#target)
56
+
57
+ ***
58
+
59
+ ### assigner?
60
+
61
+ > `optional` **assigner**: `string` \| [`IOdrlParty`](IOdrlParty.md)
62
+
63
+ The assigner of the rule.
64
+
65
+ #### Inherited from
66
+
67
+ [`IOdrlRule`](IOdrlRule.md).[`assigner`](IOdrlRule.md#assigner)
68
+
69
+ ***
70
+
71
+ ### assignee?
72
+
73
+ > `optional` **assignee**: `string` \| [`IOdrlParty`](IOdrlParty.md)
74
+
75
+ The assignee of the rule.
76
+
77
+ #### Inherited from
78
+
79
+ [`IOdrlRule`](IOdrlRule.md).[`assignee`](IOdrlRule.md#assignee)
80
+
81
+ ***
82
+
83
+ ### constraint?
84
+
85
+ > `optional` **constraint**: [`IOdrlConstraint`](IOdrlConstraint.md)[]
86
+
87
+ Constraints applied to the rule.
88
+
89
+ #### Inherited from
90
+
91
+ [`IOdrlRule`](IOdrlRule.md).[`constraint`](IOdrlRule.md#constraint)
92
+
93
+ ***
94
+
95
+ ### summary?
96
+
97
+ > `optional` **summary**: `string`
98
+
99
+ Additional relation sub-properties as defined in ODRL profiles.
100
+ For example, 'summary' in profile "http://example.com/odrl:profile:03"
101
+ indicates where the output should be stored.
102
+
103
+ #### Inherited from
104
+
105
+ [`IOdrlRule`](IOdrlRule.md).[`summary`](IOdrlRule.md#summary)