@twin.org/standards-w3c-odrl 0.0.1-next.43 → 0.0.1-next.45

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.
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Handle all the data types for ODRL.
3
+ */
4
+ export declare class OdrlDataTypes {
5
+ /**
6
+ * Register the JSON-LD Redirects.
7
+ */
8
+ static registerRedirects(): void;
9
+ /**
10
+ * Register all the data types.
11
+ */
12
+ static registerTypes(): void;
13
+ }
@@ -13,6 +13,9 @@ export * from "./models/IOdrlPolicyMetadata";
13
13
  export * from "./models/IOdrlAssetCollection";
14
14
  export * from "./models/IOdrlLogicalConstraint";
15
15
  export * from "./models/IOdrlPartyCollection";
16
+ export * from "./models/IOdrlAgreement";
17
+ export * from "./models/IOdrlOffer";
18
+ export * from "./models/IOdrlSet";
16
19
  export * from "./models/types/policyTypes";
17
20
  export * from "./models/types/ruleTypes";
18
21
  export * from "./models/types/conflictStrategyTypes";
@@ -20,8 +23,8 @@ export * from "./models/types/statusTypes";
20
23
  export * from "./models/types/operatorTypes";
21
24
  export * from "./models/types/logicalConstraintType";
22
25
  export * from "./models/types/actionTypes";
23
- export * from "./models/types/dataTypes";
24
26
  export * from "./models/types/leftOperandTypes";
25
27
  export * from "./models/types/uriActionTypes";
26
28
  export * from "./models/types/rightOperandTypes";
27
29
  export * from "./models/odrlContextType";
30
+ export * from "./dataTypes/odrlDataTypes";
@@ -0,0 +1,23 @@
1
+ import type { IOdrlParty } from "./IOdrlParty";
2
+ import type { IOdrlPolicy } from "./IOdrlPolicy";
3
+ import type { OdrlTypes } from "./types/odrlTypes";
4
+ /**
5
+ * Interface representing an ODRL Agreement.
6
+ * An Agreement requires both an assigner and assignee (both agreeing parties).
7
+ */
8
+ export interface IOdrlAgreement extends IOdrlPolicy {
9
+ /**
10
+ * The type must be "Agreement".
11
+ */
12
+ "@type": typeof OdrlTypes.Agreement;
13
+ /**
14
+ * The assigner of the agreement.
15
+ * Required for Agreement policies.
16
+ */
17
+ assigner: string | IOdrlParty;
18
+ /**
19
+ * The assignee of the agreement.
20
+ * Required for Agreement policies.
21
+ */
22
+ assignee: string | IOdrlParty;
23
+ }
@@ -1,5 +1,4 @@
1
1
  import type { IJsonLdNodeObject } from "@twin.org/data-json-ld";
2
- import type { DataType } from "./types/dataTypes";
3
2
  import type { LeftOperandType } from "./types/leftOperandTypes";
4
3
  import type { OperatorType } from "./types/operatorTypes";
5
4
  import type { StatusType } from "./types/statusTypes";
@@ -26,7 +25,7 @@ export interface IOdrlConstraint extends IJsonLdNodeObject {
26
25
  */
27
26
  rightOperand?: string | {
28
27
  "@value": string;
29
- "@type"?: DataType;
28
+ "@type"?: string;
30
29
  } | {
31
30
  "@id": string;
32
31
  };
@@ -37,7 +36,7 @@ export interface IOdrlConstraint extends IJsonLdNodeObject {
37
36
  /**
38
37
  * The data type of the right operand.
39
38
  */
40
- dataType?: DataType;
39
+ dataType?: string;
41
40
  /**
42
41
  * The unit for the right operand value.
43
42
  */
@@ -0,0 +1,18 @@
1
+ import type { IOdrlParty } from "./IOdrlParty";
2
+ import type { IOdrlPolicy } from "./IOdrlPolicy";
3
+ import type { OdrlTypes } from "./types/odrlTypes";
4
+ /**
5
+ * Interface representing an ODRL Offer.
6
+ * An Offer requires an assigner (the party making the offer).
7
+ */
8
+ export interface IOdrlOffer extends IOdrlPolicy {
9
+ /**
10
+ * The type must be "Offer".
11
+ */
12
+ "@type": typeof OdrlTypes.Offer;
13
+ /**
14
+ * The assigner of the offer.
15
+ * Required for Offer policies.
16
+ */
17
+ assigner: string | IOdrlParty;
18
+ }
@@ -0,0 +1,12 @@
1
+ import type { IOdrlPolicy } from "./IOdrlPolicy";
2
+ import type { OdrlTypes } from "./types/odrlTypes";
3
+ /**
4
+ * Interface representing an ODRL Set.
5
+ * A Set is a basic policy type with no specific party requirements.
6
+ */
7
+ export interface IOdrlSet extends IOdrlPolicy {
8
+ /**
9
+ * The type must be "Set".
10
+ */
11
+ "@type": typeof OdrlTypes.Set;
12
+ }
@@ -3,12 +3,12 @@ import type { OdrlContexts } from "./odrlContexts";
3
3
  /**
4
4
  * The ODRL JSON-LD context type.
5
5
  */
6
- export type OdrlContextType = typeof OdrlContexts.Context | [typeof OdrlContexts.Context, ...IJsonLdContextDefinitionElement[]] | [
6
+ export type OdrlContextType = typeof OdrlContexts.ContextRoot | [typeof OdrlContexts.ContextRoot, ...IJsonLdContextDefinitionElement[]] | [
7
7
  ...IJsonLdContextDefinitionElement[],
8
- typeof OdrlContexts.Context,
8
+ typeof OdrlContexts.ContextRoot,
9
9
  IJsonLdContextDefinitionElement
10
10
  ] | [
11
11
  IJsonLdContextDefinitionElement,
12
- typeof OdrlContexts.Context,
12
+ typeof OdrlContexts.ContextRoot,
13
13
  ...IJsonLdContextDefinitionElement[]
14
14
  ];
@@ -5,23 +5,11 @@ export declare const OdrlContexts: {
5
5
  /**
6
6
  * The context root for ODRL.
7
7
  */
8
- readonly Context: "https://www.w3.org/ns/odrl.jsonld";
8
+ readonly ContextRedirect: "https://www.w3.org/ns/odrl.jsonld";
9
9
  /**
10
10
  * The context root for ODRL vocabulary.
11
11
  */
12
- readonly ContextVocabulary: "https://www.w3.org/ns/odrl/2/";
13
- /**
14
- * The context root for Dublin Core Terms.
15
- */
16
- readonly ContextDcTerms: "https://purl.org/dc/terms/";
17
- /**
18
- * The context root for RDF.
19
- */
20
- readonly ContextRdf: "https://www.w3.org/1999/02/22-rdf-syntax-ns#";
21
- /**
22
- * The context root for XSD.
23
- */
24
- readonly ContextXsd: "https://www.w3.org/2001/XMLSchema#";
12
+ readonly ContextRoot: "https://www.w3.org/ns/odrl/2/";
25
13
  };
26
14
  /**
27
15
  * The contexts for ODRL.
@@ -62,6 +62,14 @@ export declare const OdrlTypes: {
62
62
  * LogicalConstraint type.
63
63
  */
64
64
  readonly LogicalConstraint: "LogicalConstraint";
65
+ /**
66
+ * ContextType.
67
+ */
68
+ readonly ContextType: "ContextType";
69
+ /**
70
+ * PolicyMetadata type.
71
+ */
72
+ readonly PolicyMetadata: "PolicyMetadata";
65
73
  };
66
74
  /**
67
75
  * The types for ODRL.
package/docs/changelog.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # @twin.org/standards-w3c-odrl - Changelog
2
2
 
3
+ ## [0.0.1-next.45](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.1-next.44...standards-w3c-odrl-v0.0.1-next.45) (2025-06-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * update ODRL data types and context definitions ([#31](https://github.com/twinfoundation/standards/issues/31)) ([ade0169](https://github.com/twinfoundation/standards/commit/ade0169d1049e7812bfc128ce5c16512548714fa))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/standards-w3c-vcard bumped from 0.0.1-next.44 to 0.0.1-next.45
16
+ * @twin.org/standards-dublin-core bumped from 0.0.1-next.44 to 0.0.1-next.45
17
+
18
+ ## [0.0.1-next.44](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.1-next.43...standards-w3c-odrl-v0.0.1-next.44) (2025-05-28)
19
+
20
+
21
+ ### Miscellaneous Chores
22
+
23
+ * **standards-w3c-odrl:** Synchronize repo versions
24
+
25
+
26
+ ### Dependencies
27
+
28
+ * The following workspace dependencies were updated
29
+ * dependencies
30
+ * @twin.org/standards-w3c-vcard bumped from 0.0.1-next.43 to 0.0.1-next.44
31
+ * @twin.org/standards-dublin-core bumped from 0.0.1-next.43 to 0.0.1-next.44
32
+
3
33
  ## [0.0.1-next.43](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.1-next.42...standards-w3c-odrl-v0.0.1-next.43) (2025-05-20)
4
34
 
5
35
 
@@ -0,0 +1,37 @@
1
+ # Class: OdrlDataTypes
2
+
3
+ Handle all the data types for ODRL.
4
+
5
+ ## Constructors
6
+
7
+ ### Constructor
8
+
9
+ > **new OdrlDataTypes**(): `OdrlDataTypes`
10
+
11
+ #### Returns
12
+
13
+ `OdrlDataTypes`
14
+
15
+ ## Methods
16
+
17
+ ### registerRedirects()
18
+
19
+ > `static` **registerRedirects**(): `void`
20
+
21
+ Register the JSON-LD Redirects.
22
+
23
+ #### Returns
24
+
25
+ `void`
26
+
27
+ ***
28
+
29
+ ### registerTypes()
30
+
31
+ > `static` **registerTypes**(): `void`
32
+
33
+ Register all the data types.
34
+
35
+ #### Returns
36
+
37
+ `void`
@@ -1,13 +1,19 @@
1
1
  # @twin.org/standards-w3c-odrl
2
2
 
3
+ ## Classes
4
+
5
+ - [OdrlDataTypes](classes/OdrlDataTypes.md)
6
+
3
7
  ## Interfaces
4
8
 
5
9
  - [IOdrlAction](interfaces/IOdrlAction.md)
10
+ - [IOdrlAgreement](interfaces/IOdrlAgreement.md)
6
11
  - [IOdrlAsset](interfaces/IOdrlAsset.md)
7
12
  - [IOdrlAssetCollection](interfaces/IOdrlAssetCollection.md)
8
13
  - [IOdrlConstraint](interfaces/IOdrlConstraint.md)
9
14
  - [IOdrlDuty](interfaces/IOdrlDuty.md)
10
15
  - [IOdrlLogicalConstraint](interfaces/IOdrlLogicalConstraint.md)
16
+ - [IOdrlOffer](interfaces/IOdrlOffer.md)
11
17
  - [IOdrlParty](interfaces/IOdrlParty.md)
12
18
  - [IOdrlPartyCollection](interfaces/IOdrlPartyCollection.md)
13
19
  - [IOdrlPermission](interfaces/IOdrlPermission.md)
@@ -15,6 +21,7 @@
15
21
  - [IOdrlPolicyMetadata](interfaces/IOdrlPolicyMetadata.md)
16
22
  - [IOdrlProhibition](interfaces/IOdrlProhibition.md)
17
23
  - [IOdrlRule](interfaces/IOdrlRule.md)
24
+ - [IOdrlSet](interfaces/IOdrlSet.md)
18
25
 
19
26
  ## Type Aliases
20
27
 
@@ -22,7 +29,6 @@
22
29
  - [OdrlContexts](type-aliases/OdrlContexts.md)
23
30
  - [ActionType](type-aliases/ActionType.md)
24
31
  - [ConflictStrategyType](type-aliases/ConflictStrategyType.md)
25
- - [DataType](type-aliases/DataType.md)
26
32
  - [LeftOperandType](type-aliases/LeftOperandType.md)
27
33
  - [LogicalConstraintType](type-aliases/LogicalConstraintType.md)
28
34
  - [OdrlTypes](type-aliases/OdrlTypes.md)
@@ -38,7 +44,6 @@
38
44
  - [OdrlContexts](variables/OdrlContexts.md)
39
45
  - [ActionTypes](variables/ActionTypes.md)
40
46
  - [ConflictStrategyTypes](variables/ConflictStrategyTypes.md)
41
- - [DataType](variables/DataType.md)
42
47
  - [LeftOperandType](variables/LeftOperandType.md)
43
48
  - [LogicalConstraintType](variables/LogicalConstraintType.md)
44
49
  - [OdrlTypes](variables/OdrlTypes.md)
@@ -0,0 +1,180 @@
1
+ # Interface: IOdrlAgreement
2
+
3
+ Interface representing an ODRL Agreement.
4
+ An Agreement requires both an assigner and assignee (both agreeing parties).
5
+
6
+ ## Extends
7
+
8
+ - [`IOdrlPolicy`](IOdrlPolicy.md)
9
+
10
+ ## Indexable
11
+
12
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `IJsonLdIdMap` \| `IJsonLdNodeObject` \| `IJsonLdListObject` \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdSetObject` \| `IJsonLdJsonObject` \| `IJsonLdIndexMap` \| `IJsonLdLanguageMap` \| `IJsonLdGraphObject` \| `IJsonLdNodeObject`[] \| `IJsonLdJsonObject`[] \| \{[`key`: `string`]: `string`; \} \| `IJsonLdTypeMap` \| `IJsonLdNodePrimitive`[]
13
+
14
+ ## Properties
15
+
16
+ ### @type
17
+
18
+ > **@type**: `"Agreement"`
19
+
20
+ The type must be "Agreement".
21
+
22
+ #### Overrides
23
+
24
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`@type`](IOdrlPolicy.md#type)
25
+
26
+ ***
27
+
28
+ ### assigner
29
+
30
+ > **assigner**: `string` \| [`IOdrlParty`](IOdrlParty.md)
31
+
32
+ The assigner of the agreement.
33
+ Required for Agreement policies.
34
+
35
+ #### Overrides
36
+
37
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`assigner`](IOdrlPolicy.md#assigner)
38
+
39
+ ***
40
+
41
+ ### assignee
42
+
43
+ > **assignee**: `string` \| [`IOdrlParty`](IOdrlParty.md)
44
+
45
+ The assignee of the agreement.
46
+ Required for Agreement policies.
47
+
48
+ #### Overrides
49
+
50
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`assignee`](IOdrlPolicy.md#assignee)
51
+
52
+ ***
53
+
54
+ ### @context
55
+
56
+ > **@context**: [`OdrlContextType`](../type-aliases/OdrlContextType.md)
57
+
58
+ The context for the policy.
59
+ Must include "https://www.w3.org/ns/odrl.jsonld"
60
+
61
+ #### Inherited from
62
+
63
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`@context`](IOdrlPolicy.md#context)
64
+
65
+ ***
66
+
67
+ ### uid
68
+
69
+ > **uid**: `string`
70
+
71
+ The unique identifier for the policy.
72
+ Must be an IRI.
73
+
74
+ #### Inherited from
75
+
76
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`uid`](IOdrlPolicy.md#uid)
77
+
78
+ ***
79
+
80
+ ### profile?
81
+
82
+ > `optional` **profile**: `string` \| `string`[]
83
+
84
+ The profile(s) this policy conforms to.
85
+ IRIs identifying the ODRL Profile(s).
86
+
87
+ #### Inherited from
88
+
89
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`profile`](IOdrlPolicy.md#profile)
90
+
91
+ ***
92
+
93
+ ### target?
94
+
95
+ > `optional` **target**: `string` \| [`IOdrlAsset`](IOdrlAsset.md) \| (`string` \| [`IOdrlAsset`](IOdrlAsset.md))[]
96
+
97
+ The target asset for the rule.
98
+
99
+ #### Inherited from
100
+
101
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`target`](IOdrlPolicy.md#target)
102
+
103
+ ***
104
+
105
+ ### action?
106
+
107
+ > `optional` **action**: [`ActionType`](../type-aliases/ActionType.md) \| [`IOdrlAction`](IOdrlAction.md) \| ActionType \| IOdrlAction[]
108
+
109
+ The action associated with the rule.
110
+
111
+ #### Inherited from
112
+
113
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`action`](IOdrlPolicy.md#action)
114
+
115
+ ***
116
+
117
+ ### inheritFrom?
118
+
119
+ > `optional` **inheritFrom**: `string` \| `string`[]
120
+
121
+ The parent policy(ies) this policy inherits from.
122
+ IRIs identifying the parent Policy(ies).
123
+
124
+ #### Inherited from
125
+
126
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`inheritFrom`](IOdrlPolicy.md#inheritfrom)
127
+
128
+ ***
129
+
130
+ ### conflict?
131
+
132
+ > `optional` **conflict**: [`ConflictStrategyType`](../type-aliases/ConflictStrategyType.md)
133
+
134
+ The conflict resolution strategy.
135
+ - perm: Permissions override Prohibitions
136
+ - prohibit: Prohibitions override Permissions
137
+ - invalid: Policy is void if conflicts exist (default)
138
+
139
+ #### Inherited from
140
+
141
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`conflict`](IOdrlPolicy.md#conflict)
142
+
143
+ ***
144
+
145
+ ### permission?
146
+
147
+ > `optional` **permission**: [`IOdrlPermission`](IOdrlPermission.md)[]
148
+
149
+ The permissions in the policy.
150
+ At least one of permission, prohibition, or obligation must be present.
151
+
152
+ #### Inherited from
153
+
154
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`permission`](IOdrlPolicy.md#permission)
155
+
156
+ ***
157
+
158
+ ### prohibition?
159
+
160
+ > `optional` **prohibition**: [`IOdrlProhibition`](IOdrlProhibition.md)[]
161
+
162
+ The prohibitions in the policy.
163
+ At least one of permission, prohibition, or obligation must be present.
164
+
165
+ #### Inherited from
166
+
167
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`prohibition`](IOdrlPolicy.md#prohibition)
168
+
169
+ ***
170
+
171
+ ### obligation?
172
+
173
+ > `optional` **obligation**: [`IOdrlDuty`](IOdrlDuty.md)[]
174
+
175
+ The obligations in the policy.
176
+ At least one of permission, prohibition, or obligation must be present.
177
+
178
+ #### Inherited from
179
+
180
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`obligation`](IOdrlPolicy.md#obligation)
@@ -38,7 +38,7 @@ The operator of the constraint.
38
38
 
39
39
  ### rightOperand?
40
40
 
41
- > `optional` **rightOperand**: `string` \| \{ `@value`: `string`; `@type`: [`DataType`](../type-aliases/DataType.md); \} \| \{ `@id`: `string`; \}
41
+ > `optional` **rightOperand**: `string` \| \{ `@value`: `string`; `@type`: `string`; \} \| \{ `@id`: `string`; \}
42
42
 
43
43
  The right operand of the constraint.
44
44
  value with optional
@@ -55,7 +55,7 @@ Reference to the right operand.
55
55
 
56
56
  ### dataType?
57
57
 
58
- > `optional` **dataType**: [`DataType`](../type-aliases/DataType.md)
58
+ > `optional` **dataType**: `string`
59
59
 
60
60
  The data type of the right operand.
61
61
 
@@ -0,0 +1,180 @@
1
+ # Interface: IOdrlOffer
2
+
3
+ Interface representing an ODRL Offer.
4
+ An Offer requires an assigner (the party making the offer).
5
+
6
+ ## Extends
7
+
8
+ - [`IOdrlPolicy`](IOdrlPolicy.md)
9
+
10
+ ## Indexable
11
+
12
+ \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `IJsonLdIdMap` \| `IJsonLdNodeObject` \| `IJsonLdListObject` \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdSetObject` \| `IJsonLdJsonObject` \| `IJsonLdIndexMap` \| `IJsonLdLanguageMap` \| `IJsonLdGraphObject` \| `IJsonLdNodeObject`[] \| `IJsonLdJsonObject`[] \| \{[`key`: `string`]: `string`; \} \| `IJsonLdTypeMap` \| `IJsonLdNodePrimitive`[]
13
+
14
+ ## Properties
15
+
16
+ ### @type
17
+
18
+ > **@type**: `"Offer"`
19
+
20
+ The type must be "Offer".
21
+
22
+ #### Overrides
23
+
24
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`@type`](IOdrlPolicy.md#type)
25
+
26
+ ***
27
+
28
+ ### assigner
29
+
30
+ > **assigner**: `string` \| [`IOdrlParty`](IOdrlParty.md)
31
+
32
+ The assigner of the offer.
33
+ Required for Offer policies.
34
+
35
+ #### Overrides
36
+
37
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`assigner`](IOdrlPolicy.md#assigner)
38
+
39
+ ***
40
+
41
+ ### @context
42
+
43
+ > **@context**: [`OdrlContextType`](../type-aliases/OdrlContextType.md)
44
+
45
+ The context for the policy.
46
+ Must include "https://www.w3.org/ns/odrl.jsonld"
47
+
48
+ #### Inherited from
49
+
50
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`@context`](IOdrlPolicy.md#context)
51
+
52
+ ***
53
+
54
+ ### uid
55
+
56
+ > **uid**: `string`
57
+
58
+ The unique identifier for the policy.
59
+ Must be an IRI.
60
+
61
+ #### Inherited from
62
+
63
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`uid`](IOdrlPolicy.md#uid)
64
+
65
+ ***
66
+
67
+ ### profile?
68
+
69
+ > `optional` **profile**: `string` \| `string`[]
70
+
71
+ The profile(s) this policy conforms to.
72
+ IRIs identifying the ODRL Profile(s).
73
+
74
+ #### Inherited from
75
+
76
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`profile`](IOdrlPolicy.md#profile)
77
+
78
+ ***
79
+
80
+ ### assignee?
81
+
82
+ > `optional` **assignee**: `string` \| [`IOdrlParty`](IOdrlParty.md)
83
+
84
+ The assignee of the policy.
85
+ Applies to all rules unless overridden at rule level.
86
+
87
+ #### Inherited from
88
+
89
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`assignee`](IOdrlPolicy.md#assignee)
90
+
91
+ ***
92
+
93
+ ### target?
94
+
95
+ > `optional` **target**: `string` \| [`IOdrlAsset`](IOdrlAsset.md) \| (`string` \| [`IOdrlAsset`](IOdrlAsset.md))[]
96
+
97
+ The target asset for the rule.
98
+
99
+ #### Inherited from
100
+
101
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`target`](IOdrlPolicy.md#target)
102
+
103
+ ***
104
+
105
+ ### action?
106
+
107
+ > `optional` **action**: [`ActionType`](../type-aliases/ActionType.md) \| [`IOdrlAction`](IOdrlAction.md) \| ActionType \| IOdrlAction[]
108
+
109
+ The action associated with the rule.
110
+
111
+ #### Inherited from
112
+
113
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`action`](IOdrlPolicy.md#action)
114
+
115
+ ***
116
+
117
+ ### inheritFrom?
118
+
119
+ > `optional` **inheritFrom**: `string` \| `string`[]
120
+
121
+ The parent policy(ies) this policy inherits from.
122
+ IRIs identifying the parent Policy(ies).
123
+
124
+ #### Inherited from
125
+
126
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`inheritFrom`](IOdrlPolicy.md#inheritfrom)
127
+
128
+ ***
129
+
130
+ ### conflict?
131
+
132
+ > `optional` **conflict**: [`ConflictStrategyType`](../type-aliases/ConflictStrategyType.md)
133
+
134
+ The conflict resolution strategy.
135
+ - perm: Permissions override Prohibitions
136
+ - prohibit: Prohibitions override Permissions
137
+ - invalid: Policy is void if conflicts exist (default)
138
+
139
+ #### Inherited from
140
+
141
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`conflict`](IOdrlPolicy.md#conflict)
142
+
143
+ ***
144
+
145
+ ### permission?
146
+
147
+ > `optional` **permission**: [`IOdrlPermission`](IOdrlPermission.md)[]
148
+
149
+ The permissions in the policy.
150
+ At least one of permission, prohibition, or obligation must be present.
151
+
152
+ #### Inherited from
153
+
154
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`permission`](IOdrlPolicy.md#permission)
155
+
156
+ ***
157
+
158
+ ### prohibition?
159
+
160
+ > `optional` **prohibition**: [`IOdrlProhibition`](IOdrlProhibition.md)[]
161
+
162
+ The prohibitions in the policy.
163
+ At least one of permission, prohibition, or obligation must be present.
164
+
165
+ #### Inherited from
166
+
167
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`prohibition`](IOdrlPolicy.md#prohibition)
168
+
169
+ ***
170
+
171
+ ### obligation?
172
+
173
+ > `optional` **obligation**: [`IOdrlDuty`](IOdrlDuty.md)[]
174
+
175
+ The obligations in the policy.
176
+ At least one of permission, prohibition, or obligation must be present.
177
+
178
+ #### Inherited from
179
+
180
+ [`IOdrlPolicy`](IOdrlPolicy.md).[`obligation`](IOdrlPolicy.md#obligation)
@@ -6,6 +6,12 @@ Interface representing an ODRL Policy.
6
6
 
7
7
  - `IJsonLdNodeObject`
8
8
 
9
+ ## Extended by
10
+
11
+ - [`IOdrlAgreement`](IOdrlAgreement.md)
12
+ - [`IOdrlOffer`](IOdrlOffer.md)
13
+ - [`IOdrlSet`](IOdrlSet.md)
14
+
9
15
  ## Indexable
10
16
 
11
17
  \[`key`: `string`\]: `undefined` \| `null` \| `string` \| `number` \| `boolean` \| `string`[] \| `IJsonLdContextDefinition` \| `IJsonLdContextDefinitionElement`[] \| `IJsonLdIdMap` \| `IJsonLdNodeObject` \| `IJsonLdListObject` \| `object` & `object` \| `object` & `object` \| `object` & `object` \| `IJsonLdSetObject` \| `IJsonLdJsonObject` \| `IJsonLdIndexMap` \| `IJsonLdLanguageMap` \| `IJsonLdGraphObject` \| `IJsonLdNodeObject`[] \| `IJsonLdJsonObject`[] \| \{[`key`: `string`]: `string`; \} \| `IJsonLdTypeMap` \| `IJsonLdNodePrimitive`[]