@twin.org/standards-w3c-odrl 0.0.3-next.2 → 0.0.3-next.20

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.
@@ -1,6 +1,6 @@
1
1
  // Copyright 2024 IOTA Stiftung.
2
2
  // SPDX-License-Identifier: Apache-2.0.
3
- import { DataTypeHandlerFactory } from "@twin.org/data-core";
3
+ import { DataTypeHelper } from "@twin.org/data-core";
4
4
  import { JsonLdProcessor } from "@twin.org/data-json-ld";
5
5
  import { OdrlContexts } from "../models/odrlContexts.js";
6
6
  import { OdrlTypes } from "../models/types/odrlTypes.js";
@@ -27,87 +27,78 @@ export class OdrlDataTypes {
27
27
  * Register the JSON-LD Redirects.
28
28
  */
29
29
  static registerRedirects() {
30
- JsonLdProcessor.addRedirect(/https?:\/\/www\.w3\.org\/ns\/odrl\/?/, OdrlContexts.ContextRedirect);
30
+ JsonLdProcessor.addRedirect(/https?:\/\/www\.w3\.org\/ns\/odrl\/?/, OdrlContexts.JsonLdContext);
31
+ // Redirect Context to JsonLdContext for JSON-LD processing
32
+ const escapedContext = OdrlContexts.Context.replace(/[$()*+.?[\\\]^{|}]/g, "\\$&");
33
+ JsonLdProcessor.addRedirect(new RegExp(`^${escapedContext}$`), OdrlContexts.JsonLdContext);
31
34
  }
32
35
  /**
33
36
  * Register all the data types.
34
37
  */
35
38
  static registerTypes() {
36
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Policy}`, () => ({
37
- context: OdrlContexts.ContextRoot,
38
- type: OdrlTypes.Policy,
39
- jsonSchema: async () => OdrlPolicySchema
40
- }));
41
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Asset}`, () => ({
42
- context: OdrlContexts.ContextRoot,
43
- type: OdrlTypes.Asset,
44
- jsonSchema: async () => OdrlAssetSchema
45
- }));
46
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.AssetCollection}`, () => ({
47
- context: OdrlContexts.ContextRoot,
48
- type: OdrlTypes.AssetCollection,
49
- jsonSchema: async () => OdrlAssetCollectionSchema
50
- }));
51
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Party}`, () => ({
52
- context: OdrlContexts.ContextRoot,
53
- type: OdrlTypes.Party,
54
- jsonSchema: async () => OdrlPartySchema
55
- }));
56
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.PartyCollection}`, () => ({
57
- context: OdrlContexts.ContextRoot,
58
- type: OdrlTypes.PartyCollection,
59
- jsonSchema: async () => OdrlPartyCollectionSchema
60
- }));
61
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Action}`, () => ({
62
- context: OdrlContexts.ContextRoot,
63
- type: OdrlTypes.Action,
64
- jsonSchema: async () => OdrlActionSchema
65
- }));
66
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Permission}`, () => ({
67
- context: OdrlContexts.ContextRoot,
68
- type: OdrlTypes.Permission,
69
- jsonSchema: async () => OdrlPermissionSchema
70
- }));
71
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Prohibition}`, () => ({
72
- context: OdrlContexts.ContextRoot,
73
- type: OdrlTypes.Prohibition,
74
- jsonSchema: async () => OdrlProhibitionSchema
75
- }));
76
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Duty}`, () => ({
77
- context: OdrlContexts.ContextRoot,
78
- type: OdrlTypes.Duty,
79
- jsonSchema: async () => OdrlDutySchema
80
- }));
81
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Constraint}`, () => ({
82
- context: OdrlContexts.ContextRoot,
83
- type: OdrlTypes.Constraint,
84
- jsonSchema: async () => OdrlConstraintSchema
85
- }));
86
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.LogicalConstraint}`, () => ({
87
- context: OdrlContexts.ContextRoot,
88
- type: OdrlTypes.LogicalConstraint,
89
- jsonSchema: async () => OdrlLogicalConstraintSchema
90
- }));
91
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Set}`, () => ({
92
- context: OdrlContexts.ContextRoot,
93
- type: OdrlTypes.Set,
94
- jsonSchema: async () => OdrlSetSchema
95
- }));
96
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Offer}`, () => ({
97
- context: OdrlContexts.ContextRoot,
98
- type: OdrlTypes.Offer,
99
- jsonSchema: async () => OdrlOfferSchema
100
- }));
101
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Agreement}`, () => ({
102
- context: OdrlContexts.ContextRoot,
103
- type: OdrlTypes.Agreement,
104
- jsonSchema: async () => OdrlAgreementSchema
105
- }));
106
- DataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Rule}`, () => ({
107
- context: OdrlContexts.ContextRoot,
108
- type: OdrlTypes.Rule,
109
- jsonSchema: async () => OdrlRuleSchema
110
- }));
39
+ const types = [
40
+ {
41
+ type: OdrlTypes.Policy,
42
+ schema: OdrlPolicySchema
43
+ },
44
+ {
45
+ type: OdrlTypes.Asset,
46
+ schema: OdrlAssetSchema
47
+ },
48
+ {
49
+ type: OdrlTypes.AssetCollection,
50
+ schema: OdrlAssetCollectionSchema
51
+ },
52
+ {
53
+ type: OdrlTypes.Party,
54
+ schema: OdrlPartySchema
55
+ },
56
+ {
57
+ type: OdrlTypes.PartyCollection,
58
+ schema: OdrlPartyCollectionSchema
59
+ },
60
+ {
61
+ type: OdrlTypes.Action,
62
+ schema: OdrlActionSchema
63
+ },
64
+ {
65
+ type: OdrlTypes.Permission,
66
+ schema: OdrlPermissionSchema
67
+ },
68
+ {
69
+ type: OdrlTypes.Prohibition,
70
+ schema: OdrlProhibitionSchema
71
+ },
72
+ {
73
+ type: OdrlTypes.Duty,
74
+ schema: OdrlDutySchema
75
+ },
76
+ {
77
+ type: OdrlTypes.Constraint,
78
+ schema: OdrlConstraintSchema
79
+ },
80
+ {
81
+ type: OdrlTypes.LogicalConstraint,
82
+ schema: OdrlLogicalConstraintSchema
83
+ },
84
+ {
85
+ type: OdrlTypes.Set,
86
+ schema: OdrlSetSchema
87
+ },
88
+ {
89
+ type: OdrlTypes.Offer,
90
+ schema: OdrlOfferSchema
91
+ },
92
+ {
93
+ type: OdrlTypes.Agreement,
94
+ schema: OdrlAgreementSchema
95
+ },
96
+ {
97
+ type: OdrlTypes.Rule,
98
+ schema: OdrlRuleSchema
99
+ }
100
+ ];
101
+ DataTypeHelper.registerTypes(OdrlContexts.Namespace, OdrlContexts.Context, types);
111
102
  }
112
103
  }
113
104
  //# sourceMappingURL=odrlDataTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"odrlDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/odrlDataTypes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { DataTypeHandlerFactory } from \"@twin.org/data-core\";\nimport type { IJsonSchema } from \"@twin.org/data-core\";\nimport { JsonLdProcessor } from \"@twin.org/data-json-ld\";\nimport { OdrlContexts } from \"../models/odrlContexts.js\";\nimport { OdrlTypes } from \"../models/types/odrlTypes.js\";\nimport OdrlActionSchema from \"../schemas/OdrlAction.json\" with { type: \"json\" };\nimport OdrlAgreementSchema from \"../schemas/OdrlAgreement.json\" with { type: \"json\" };\nimport OdrlAssetSchema from \"../schemas/OdrlAsset.json\" with { type: \"json\" };\nimport OdrlAssetCollectionSchema from \"../schemas/OdrlAssetCollection.json\" with { type: \"json\" };\nimport OdrlConstraintSchema from \"../schemas/OdrlConstraint.json\" with { type: \"json\" };\nimport OdrlDutySchema from \"../schemas/OdrlDuty.json\" with { type: \"json\" };\nimport OdrlLogicalConstraintSchema from \"../schemas/OdrlLogicalConstraint.json\" with { type: \"json\" };\nimport OdrlOfferSchema from \"../schemas/OdrlOffer.json\" with { type: \"json\" };\nimport OdrlPartySchema from \"../schemas/OdrlParty.json\" with { type: \"json\" };\nimport OdrlPartyCollectionSchema from \"../schemas/OdrlPartyCollection.json\" with { type: \"json\" };\nimport OdrlPermissionSchema from \"../schemas/OdrlPermission.json\" with { type: \"json\" };\nimport OdrlPolicySchema from \"../schemas/OdrlPolicy.json\" with { type: \"json\" };\nimport OdrlProhibitionSchema from \"../schemas/OdrlProhibition.json\" with { type: \"json\" };\nimport OdrlRuleSchema from \"../schemas/OdrlRule.json\" with { type: \"json\" };\nimport OdrlSetSchema from \"../schemas/OdrlSet.json\" with { type: \"json\" };\n\n/**\n * Handle all the data types for ODRL.\n */\nexport class OdrlDataTypes {\n\t/**\n\t * Register the JSON-LD Redirects.\n\t */\n\tpublic static registerRedirects(): void {\n\t\tJsonLdProcessor.addRedirect(\n\t\t\t/https?:\\/\\/www\\.w3\\.org\\/ns\\/odrl\\/?/,\n\t\t\tOdrlContexts.ContextRedirect\n\t\t);\n\t}\n\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Policy}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Policy,\n\t\t\tjsonSchema: async () => OdrlPolicySchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Asset}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Asset,\n\t\t\tjsonSchema: async () => OdrlAssetSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${OdrlContexts.ContextRoot}${OdrlTypes.AssetCollection}`,\n\t\t\t() => ({\n\t\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\t\ttype: OdrlTypes.AssetCollection,\n\t\t\t\tjsonSchema: async () => OdrlAssetCollectionSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Party}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Party,\n\t\t\tjsonSchema: async () => OdrlPartySchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${OdrlContexts.ContextRoot}${OdrlTypes.PartyCollection}`,\n\t\t\t() => ({\n\t\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\t\ttype: OdrlTypes.PartyCollection,\n\t\t\t\tjsonSchema: async () => OdrlPartyCollectionSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Action}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Action,\n\t\t\tjsonSchema: async () => OdrlActionSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Permission}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Permission,\n\t\t\tjsonSchema: async () => OdrlPermissionSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Prohibition}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Prohibition,\n\t\t\tjsonSchema: async () => OdrlProhibitionSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Duty}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Duty,\n\t\t\tjsonSchema: async () => OdrlDutySchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Constraint}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Constraint,\n\t\t\tjsonSchema: async () => OdrlConstraintSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${OdrlContexts.ContextRoot}${OdrlTypes.LogicalConstraint}`,\n\t\t\t() => ({\n\t\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\t\ttype: OdrlTypes.LogicalConstraint,\n\t\t\t\tjsonSchema: async () => OdrlLogicalConstraintSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Set}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Set,\n\t\t\tjsonSchema: async () => OdrlSetSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Offer}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Offer,\n\t\t\tjsonSchema: async () => OdrlOfferSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Agreement}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Agreement,\n\t\t\tjsonSchema: async () => OdrlAgreementSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${OdrlContexts.ContextRoot}${OdrlTypes.Rule}`, () => ({\n\t\t\tcontext: OdrlContexts.ContextRoot,\n\t\t\ttype: OdrlTypes.Rule,\n\t\t\tjsonSchema: async () => OdrlRuleSchema as IJsonSchema\n\t\t}));\n\t}\n}\n"]}
1
+ {"version":3,"file":"odrlDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/odrlDataTypes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { DataTypeHelper } from \"@twin.org/data-core\";\nimport { JsonLdProcessor } from \"@twin.org/data-json-ld\";\nimport { OdrlContexts } from \"../models/odrlContexts.js\";\nimport { OdrlTypes } from \"../models/types/odrlTypes.js\";\nimport OdrlActionSchema from \"../schemas/OdrlAction.json\" with { type: \"json\" };\nimport OdrlAgreementSchema from \"../schemas/OdrlAgreement.json\" with { type: \"json\" };\nimport OdrlAssetSchema from \"../schemas/OdrlAsset.json\" with { type: \"json\" };\nimport OdrlAssetCollectionSchema from \"../schemas/OdrlAssetCollection.json\" with { type: \"json\" };\nimport OdrlConstraintSchema from \"../schemas/OdrlConstraint.json\" with { type: \"json\" };\nimport OdrlDutySchema from \"../schemas/OdrlDuty.json\" with { type: \"json\" };\nimport OdrlLogicalConstraintSchema from \"../schemas/OdrlLogicalConstraint.json\" with { type: \"json\" };\nimport OdrlOfferSchema from \"../schemas/OdrlOffer.json\" with { type: \"json\" };\nimport OdrlPartySchema from \"../schemas/OdrlParty.json\" with { type: \"json\" };\nimport OdrlPartyCollectionSchema from \"../schemas/OdrlPartyCollection.json\" with { type: \"json\" };\nimport OdrlPermissionSchema from \"../schemas/OdrlPermission.json\" with { type: \"json\" };\nimport OdrlPolicySchema from \"../schemas/OdrlPolicy.json\" with { type: \"json\" };\nimport OdrlProhibitionSchema from \"../schemas/OdrlProhibition.json\" with { type: \"json\" };\nimport OdrlRuleSchema from \"../schemas/OdrlRule.json\" with { type: \"json\" };\nimport OdrlSetSchema from \"../schemas/OdrlSet.json\" with { type: \"json\" };\n\n/**\n * Handle all the data types for ODRL.\n */\nexport class OdrlDataTypes {\n\t/**\n\t * Register the JSON-LD Redirects.\n\t */\n\tpublic static registerRedirects(): void {\n\t\tJsonLdProcessor.addRedirect(/https?:\\/\\/www\\.w3\\.org\\/ns\\/odrl\\/?/, OdrlContexts.JsonLdContext);\n\t\t// Redirect Context to JsonLdContext for JSON-LD processing\n\t\tconst escapedContext = OdrlContexts.Context.replace(/[$()*+.?[\\\\\\]^{|}]/g, \"\\\\$&\");\n\t\tJsonLdProcessor.addRedirect(new RegExp(`^${escapedContext}$`), OdrlContexts.JsonLdContext);\n\t}\n\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tconst types = [\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Policy,\n\t\t\t\tschema: OdrlPolicySchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Asset,\n\t\t\t\tschema: OdrlAssetSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.AssetCollection,\n\t\t\t\tschema: OdrlAssetCollectionSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Party,\n\t\t\t\tschema: OdrlPartySchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.PartyCollection,\n\t\t\t\tschema: OdrlPartyCollectionSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Action,\n\t\t\t\tschema: OdrlActionSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Permission,\n\t\t\t\tschema: OdrlPermissionSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Prohibition,\n\t\t\t\tschema: OdrlProhibitionSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Duty,\n\t\t\t\tschema: OdrlDutySchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Constraint,\n\t\t\t\tschema: OdrlConstraintSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.LogicalConstraint,\n\t\t\t\tschema: OdrlLogicalConstraintSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Set,\n\t\t\t\tschema: OdrlSetSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Offer,\n\t\t\t\tschema: OdrlOfferSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Agreement,\n\t\t\t\tschema: OdrlAgreementSchema\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: OdrlTypes.Rule,\n\t\t\t\tschema: OdrlRuleSchema\n\t\t\t}\n\t\t];\n\n\t\tDataTypeHelper.registerTypes(OdrlContexts.Namespace, OdrlContexts.Context, types);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"odrlContextType.js","sourceRoot":"","sources":["../../../src/models/odrlContextType.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { OdrlContexts } from \"./odrlContexts.js\";\n\n/**\n * The ODRL JSON-LD context type.\n */\nexport type OdrlContextType =\n\t| typeof OdrlContexts.ContextRoot\n\t| [\n\t\t\t...IJsonLdContextDefinitionElement[],\n\t\t\ttypeof OdrlContexts.ContextRoot,\n\t\t\tIJsonLdContextDefinitionElement\n\t ]\n\t| [\n\t\t\tIJsonLdContextDefinitionElement,\n\t\t\ttypeof OdrlContexts.ContextRoot,\n\t\t\t...IJsonLdContextDefinitionElement[]\n\t ];\n"]}
1
+ {"version":3,"file":"odrlContextType.js","sourceRoot":"","sources":["../../../src/models/odrlContextType.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { OdrlContexts } from \"./odrlContexts.js\";\n\n/**\n * The ODRL JSON-LD context type.\n */\nexport type OdrlContextType =\n\t| typeof OdrlContexts.Context\n\t| [typeof OdrlContexts.Context]\n\t| [\n\t\t\t...IJsonLdContextDefinitionElement[],\n\t\t\ttypeof OdrlContexts.Context,\n\t\t\tIJsonLdContextDefinitionElement\n\t ]\n\t| [\n\t\t\tIJsonLdContextDefinitionElement,\n\t\t\ttypeof OdrlContexts.Context,\n\t\t\t...IJsonLdContextDefinitionElement[]\n\t ];\n"]}
@@ -6,12 +6,17 @@
6
6
  // eslint-disable-next-line @typescript-eslint/naming-convention
7
7
  export const OdrlContexts = {
8
8
  /**
9
- * The context root for ODRL vocabulary.
9
+ * The canonical RDF namespace URI.
10
10
  */
11
- ContextRoot: "https://www.w3.org/ns/odrl/2/",
11
+ Namespace: "http://www.w3.org/ns/odrl/2/",
12
12
  /**
13
- * The context root for ODRL.
13
+ * The value to use in @context.
14
+ * Note: Context points to the JSON-LD url as per ODRL 2.2 specification.
14
15
  */
15
- ContextRedirect: "https://www.w3.org/ns/odrl.jsonld"
16
+ Context: "http://www.w3.org/ns/odrl.jsonld",
17
+ /**
18
+ * The JSON-LD Context URL.
19
+ */
20
+ JsonLdContext: "http://www.w3.org/ns/odrl.jsonld"
16
21
  };
17
22
  //# sourceMappingURL=odrlContexts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"odrlContexts.js","sourceRoot":"","sources":["../../../src/models/odrlContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B;;OAEG;IACH,WAAW,EAAE,+BAA+B;IAE5C;;OAEG;IACH,eAAe,EAAE,mCAAmC;CAC3C,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The contexts for ODRL.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const OdrlContexts = {\n\t/**\n\t * The context root for ODRL vocabulary.\n\t */\n\tContextRoot: \"https://www.w3.org/ns/odrl/2/\",\n\n\t/**\n\t * The context root for ODRL.\n\t */\n\tContextRedirect: \"https://www.w3.org/ns/odrl.jsonld\"\n} as const;\n\n/**\n * The contexts for ODRL.\n */\nexport type OdrlContexts = (typeof OdrlContexts)[keyof typeof OdrlContexts];\n"]}
1
+ {"version":3,"file":"odrlContexts.js","sourceRoot":"","sources":["../../../src/models/odrlContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B;;OAEG;IACH,SAAS,EAAE,8BAA8B;IAEzC;;;OAGG;IACH,OAAO,EAAE,kCAAkC;IAE3C;;OAEG;IACH,aAAa,EAAE,kCAAkC;CACxC,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The contexts for ODRL.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const OdrlContexts = {\n\t/**\n\t * The canonical RDF namespace URI.\n\t */\n\tNamespace: \"http://www.w3.org/ns/odrl/2/\",\n\n\t/**\n\t * The value to use in @context.\n\t * Note: Context points to the JSON-LD url as per ODRL 2.2 specification.\n\t */\n\tContext: \"http://www.w3.org/ns/odrl.jsonld\",\n\n\t/**\n\t * The JSON-LD Context URL.\n\t */\n\tJsonLdContext: \"http://www.w3.org/ns/odrl.jsonld\"\n} as const;\n\n/**\n * The contexts for ODRL.\n */\nexport type OdrlContexts = (typeof OdrlContexts)[keyof typeof OdrlContexts];\n"]}
@@ -9,7 +9,16 @@
9
9
  "anyOf": [
10
10
  {
11
11
  "type": "string",
12
- "const": "https://www.w3.org/ns/odrl/2/"
12
+ "const": "http://www.w3.org/ns/odrl.jsonld"
13
+ },
14
+ {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
19
+ },
20
+ "minItems": 1,
21
+ "maxItems": 1
13
22
  },
14
23
  {
15
24
  "type": "array",
@@ -17,7 +26,7 @@
17
26
  "prefixItems": [
18
27
  {
19
28
  "type": "string",
20
- "const": "https://www.w3.org/ns/odrl/2/"
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
21
30
  },
22
31
  {
23
32
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
@@ -36,7 +45,7 @@
36
45
  },
37
46
  {
38
47
  "type": "string",
39
- "const": "https://www.w3.org/ns/odrl/2/"
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
40
49
  }
41
50
  ],
42
51
  "items": {
@@ -9,7 +9,16 @@
9
9
  "anyOf": [
10
10
  {
11
11
  "type": "string",
12
- "const": "https://www.w3.org/ns/odrl/2/"
12
+ "const": "http://www.w3.org/ns/odrl.jsonld"
13
+ },
14
+ {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
19
+ },
20
+ "minItems": 1,
21
+ "maxItems": 1
13
22
  },
14
23
  {
15
24
  "type": "array",
@@ -17,7 +26,7 @@
17
26
  "prefixItems": [
18
27
  {
19
28
  "type": "string",
20
- "const": "https://www.w3.org/ns/odrl/2/"
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
21
30
  },
22
31
  {
23
32
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
@@ -36,7 +45,7 @@
36
45
  },
37
46
  {
38
47
  "type": "string",
39
- "const": "https://www.w3.org/ns/odrl/2/"
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
40
49
  }
41
50
  ],
42
51
  "items": {
@@ -9,7 +9,16 @@
9
9
  "anyOf": [
10
10
  {
11
11
  "type": "string",
12
- "const": "https://www.w3.org/ns/odrl/2/"
12
+ "const": "http://www.w3.org/ns/odrl.jsonld"
13
+ },
14
+ {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
19
+ },
20
+ "minItems": 1,
21
+ "maxItems": 1
13
22
  },
14
23
  {
15
24
  "type": "array",
@@ -17,7 +26,7 @@
17
26
  "prefixItems": [
18
27
  {
19
28
  "type": "string",
20
- "const": "https://www.w3.org/ns/odrl/2/"
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
21
30
  },
22
31
  {
23
32
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
@@ -36,7 +45,7 @@
36
45
  },
37
46
  {
38
47
  "type": "string",
39
- "const": "https://www.w3.org/ns/odrl/2/"
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
40
49
  }
41
50
  ],
42
51
  "items": {
@@ -9,7 +9,16 @@
9
9
  "anyOf": [
10
10
  {
11
11
  "type": "string",
12
- "const": "https://www.w3.org/ns/odrl/2/"
12
+ "const": "http://www.w3.org/ns/odrl.jsonld"
13
+ },
14
+ {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
19
+ },
20
+ "minItems": 1,
21
+ "maxItems": 1
13
22
  },
14
23
  {
15
24
  "type": "array",
@@ -17,7 +26,7 @@
17
26
  "prefixItems": [
18
27
  {
19
28
  "type": "string",
20
- "const": "https://www.w3.org/ns/odrl/2/"
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
21
30
  },
22
31
  {
23
32
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
@@ -36,7 +45,7 @@
36
45
  },
37
46
  {
38
47
  "type": "string",
39
- "const": "https://www.w3.org/ns/odrl/2/"
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
40
49
  }
41
50
  ],
42
51
  "items": {
@@ -3,12 +3,12 @@ import type { OdrlContexts } from "./odrlContexts.js";
3
3
  /**
4
4
  * The ODRL JSON-LD context type.
5
5
  */
6
- export type OdrlContextType = typeof OdrlContexts.ContextRoot | [
6
+ export type OdrlContextType = typeof OdrlContexts.Context | [typeof OdrlContexts.Context] | [
7
7
  ...IJsonLdContextDefinitionElement[],
8
- typeof OdrlContexts.ContextRoot,
8
+ typeof OdrlContexts.Context,
9
9
  IJsonLdContextDefinitionElement
10
10
  ] | [
11
11
  IJsonLdContextDefinitionElement,
12
- typeof OdrlContexts.ContextRoot,
12
+ typeof OdrlContexts.Context,
13
13
  ...IJsonLdContextDefinitionElement[]
14
14
  ];
@@ -3,13 +3,18 @@
3
3
  */
4
4
  export declare const OdrlContexts: {
5
5
  /**
6
- * The context root for ODRL vocabulary.
6
+ * The canonical RDF namespace URI.
7
7
  */
8
- readonly ContextRoot: "https://www.w3.org/ns/odrl/2/";
8
+ readonly Namespace: "http://www.w3.org/ns/odrl/2/";
9
9
  /**
10
- * The context root for ODRL.
10
+ * The value to use in @context.
11
+ * Note: Context points to the JSON-LD url as per ODRL 2.2 specification.
11
12
  */
12
- readonly ContextRedirect: "https://www.w3.org/ns/odrl.jsonld";
13
+ readonly Context: "http://www.w3.org/ns/odrl.jsonld";
14
+ /**
15
+ * The JSON-LD Context URL.
16
+ */
17
+ readonly JsonLdContext: "http://www.w3.org/ns/odrl.jsonld";
13
18
  };
14
19
  /**
15
20
  * The contexts for ODRL.
package/docs/changelog.md CHANGED
@@ -1,5 +1,275 @@
1
1
  # @twin.org/standards-w3c-odrl - Changelog
2
2
 
3
+ ## [0.0.3-next.20](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.19...standards-w3c-odrl-v0.0.3-next.20) (2026-01-21)
4
+
5
+
6
+ ### Miscellaneous Chores
7
+
8
+ * **standards-w3c-odrl:** Synchronize repo versions
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.19 to 0.0.3-next.20
16
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.19 to 0.0.3-next.20
17
+
18
+ ## [0.0.3-next.19](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.18...standards-w3c-odrl-v0.0.3-next.19) (2026-01-21)
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.3-next.18 to 0.0.3-next.19
31
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.18 to 0.0.3-next.19
32
+
33
+ ## [0.0.3-next.18](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.17...standards-w3c-odrl-v0.0.3-next.18) (2026-01-21)
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * json-ld context for odrl ([78b694d](https://github.com/twinfoundation/standards/commit/78b694d922b1f3a5b57978c8d4586d22ff19970a))
39
+
40
+
41
+ ### Dependencies
42
+
43
+ * The following workspace dependencies were updated
44
+ * dependencies
45
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.17 to 0.0.3-next.18
46
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.17 to 0.0.3-next.18
47
+
48
+ ## [0.0.3-next.17](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.16...standards-w3c-odrl-v0.0.3-next.17) (2026-01-21)
49
+
50
+
51
+ ### Bug Fixes
52
+
53
+ * updating the missing packages ([#114](https://github.com/twinfoundation/standards/issues/114)) ([90b03f8](https://github.com/twinfoundation/standards/commit/90b03f8bdcd81506284d74a445840386c2da2d35))
54
+
55
+
56
+ ### Dependencies
57
+
58
+ * The following workspace dependencies were updated
59
+ * dependencies
60
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.16 to 0.0.3-next.17
61
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.16 to 0.0.3-next.17
62
+
63
+ ## [0.0.3-next.16](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.15...standards-w3c-odrl-v0.0.3-next.16) (2026-01-19)
64
+
65
+
66
+ ### Miscellaneous Chores
67
+
68
+ * **standards-w3c-odrl:** Synchronize repo versions
69
+
70
+
71
+ ### Dependencies
72
+
73
+ * The following workspace dependencies were updated
74
+ * dependencies
75
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.15 to 0.0.3-next.16
76
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.15 to 0.0.3-next.16
77
+
78
+ ## [0.0.3-next.15](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.14...standards-w3c-odrl-v0.0.3-next.15) (2026-01-16)
79
+
80
+
81
+ ### Miscellaneous Chores
82
+
83
+ * **standards-w3c-odrl:** Synchronize repo versions
84
+
85
+
86
+ ### Dependencies
87
+
88
+ * The following workspace dependencies were updated
89
+ * dependencies
90
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.14 to 0.0.3-next.15
91
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.14 to 0.0.3-next.15
92
+
93
+ ## [0.0.3-next.14](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.13...standards-w3c-odrl-v0.0.3-next.14) (2026-01-15)
94
+
95
+
96
+ ### Miscellaneous Chores
97
+
98
+ * **standards-w3c-odrl:** Synchronize repo versions
99
+
100
+
101
+ ### Dependencies
102
+
103
+ * The following workspace dependencies were updated
104
+ * dependencies
105
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.13 to 0.0.3-next.14
106
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.13 to 0.0.3-next.14
107
+
108
+ ## [0.0.3-next.13](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.12...standards-w3c-odrl-v0.0.3-next.13) (2026-01-14)
109
+
110
+
111
+ ### Miscellaneous Chores
112
+
113
+ * **standards-w3c-odrl:** Synchronize repo versions
114
+
115
+
116
+ ### Dependencies
117
+
118
+ * The following workspace dependencies were updated
119
+ * dependencies
120
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.12 to 0.0.3-next.13
121
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.12 to 0.0.3-next.13
122
+
123
+ ## [0.0.3-next.12](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.11...standards-w3c-odrl-v0.0.3-next.12) (2026-01-14)
124
+
125
+
126
+ ### Miscellaneous Chores
127
+
128
+ * **standards-w3c-odrl:** Synchronize repo versions
129
+
130
+
131
+ ### Dependencies
132
+
133
+ * The following workspace dependencies were updated
134
+ * dependencies
135
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.11 to 0.0.3-next.12
136
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.11 to 0.0.3-next.12
137
+
138
+ ## [0.0.3-next.11](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.10...standards-w3c-odrl-v0.0.3-next.11) (2026-01-14)
139
+
140
+
141
+ ### Features
142
+
143
+ * improved namespaces and contexts ([#102](https://github.com/twinfoundation/standards/issues/102)) ([c74c370](https://github.com/twinfoundation/standards/commit/c74c370cd8145d6166ca4454353f3774c302ac3b))
144
+
145
+
146
+ ### Dependencies
147
+
148
+ * The following workspace dependencies were updated
149
+ * dependencies
150
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.10 to 0.0.3-next.11
151
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.10 to 0.0.3-next.11
152
+
153
+ ## [0.0.3-next.10](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.9...standards-w3c-odrl-v0.0.3-next.10) (2026-01-13)
154
+
155
+
156
+ ### Features
157
+
158
+ * naming fixing and usage ([#98](https://github.com/twinfoundation/standards/issues/98)) ([9e95344](https://github.com/twinfoundation/standards/commit/9e953440963c9bc028399be9cbea25d92922bd01))
159
+
160
+
161
+ ### Dependencies
162
+
163
+ * The following workspace dependencies were updated
164
+ * dependencies
165
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.9 to 0.0.3-next.10
166
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.9 to 0.0.3-next.10
167
+
168
+ ## [0.0.3-next.9](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.8...standards-w3c-odrl-v0.0.3-next.9) (2026-01-09)
169
+
170
+
171
+ ### Miscellaneous Chores
172
+
173
+ * **standards-w3c-odrl:** Synchronize repo versions
174
+
175
+
176
+ ### Dependencies
177
+
178
+ * The following workspace dependencies were updated
179
+ * dependencies
180
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.8 to 0.0.3-next.9
181
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.8 to 0.0.3-next.9
182
+
183
+ ## [0.0.3-next.8](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.7...standards-w3c-odrl-v0.0.3-next.8) (2026-01-08)
184
+
185
+
186
+ ### Miscellaneous Chores
187
+
188
+ * **standards-w3c-odrl:** Synchronize repo versions
189
+
190
+
191
+ ### Dependencies
192
+
193
+ * The following workspace dependencies were updated
194
+ * dependencies
195
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.7 to 0.0.3-next.8
196
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.7 to 0.0.3-next.8
197
+
198
+ ## [0.0.3-next.7](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.6...standards-w3c-odrl-v0.0.3-next.7) (2026-01-06)
199
+
200
+
201
+ ### Bug Fixes
202
+
203
+ * odrl LD Context vs odrl namespace ([#83](https://github.com/twinfoundation/standards/issues/83)) ([d2c0c3c](https://github.com/twinfoundation/standards/commit/d2c0c3ca71b4a38f15d46070118fb4d6ac00fc02))
204
+
205
+
206
+ ### Dependencies
207
+
208
+ * The following workspace dependencies were updated
209
+ * dependencies
210
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.6 to 0.0.3-next.7
211
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.6 to 0.0.3-next.7
212
+
213
+ ## [0.0.3-next.6](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.5...standards-w3c-odrl-v0.0.3-next.6) (2025-12-03)
214
+
215
+
216
+ ### Miscellaneous Chores
217
+
218
+ * **standards-w3c-odrl:** Synchronize repo versions
219
+
220
+
221
+ ### Dependencies
222
+
223
+ * The following workspace dependencies were updated
224
+ * dependencies
225
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.5 to 0.0.3-next.6
226
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.5 to 0.0.3-next.6
227
+
228
+ ## [0.0.3-next.5](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.4...standards-w3c-odrl-v0.0.3-next.5) (2025-11-28)
229
+
230
+
231
+ ### Miscellaneous Chores
232
+
233
+ * **standards-w3c-odrl:** Synchronize repo versions
234
+
235
+
236
+ ### Dependencies
237
+
238
+ * The following workspace dependencies were updated
239
+ * dependencies
240
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.4 to 0.0.3-next.5
241
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.4 to 0.0.3-next.5
242
+
243
+ ## [0.0.3-next.4](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.3...standards-w3c-odrl-v0.0.3-next.4) (2025-11-18)
244
+
245
+
246
+ ### Miscellaneous Chores
247
+
248
+ * **standards-w3c-odrl:** Synchronize repo versions
249
+
250
+
251
+ ### Dependencies
252
+
253
+ * The following workspace dependencies were updated
254
+ * dependencies
255
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.3 to 0.0.3-next.4
256
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.3 to 0.0.3-next.4
257
+
258
+ ## [0.0.3-next.3](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.2...standards-w3c-odrl-v0.0.3-next.3) (2025-11-18)
259
+
260
+
261
+ ### Features
262
+
263
+ * add w3c dcat standards package ([#68](https://github.com/twinfoundation/standards/issues/68)) ([85746c6](https://github.com/twinfoundation/standards/commit/85746c673464498a52e9c30ce498fd88b81a7434))
264
+
265
+
266
+ ### Dependencies
267
+
268
+ * The following workspace dependencies were updated
269
+ * dependencies
270
+ * @twin.org/standards-w3c-vcard bumped from 0.0.3-next.2 to 0.0.3-next.3
271
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.2 to 0.0.3-next.3
272
+
3
273
  ## [0.0.3-next.2](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.1...standards-w3c-odrl-v0.0.3-next.2) (2025-11-11)
4
274
 
5
275
 
@@ -1,5 +1,5 @@
1
1
  # Type Alias: OdrlContextType
2
2
 
3
- > **OdrlContextType** = *typeof* [`ContextRoot`](../variables/OdrlContexts.md#contextroot) \| \[`...IJsonLdContextDefinitionElement[]`, *typeof* [`ContextRoot`](../variables/OdrlContexts.md#contextroot), `IJsonLdContextDefinitionElement`\] \| \[`IJsonLdContextDefinitionElement`, *typeof* [`ContextRoot`](../variables/OdrlContexts.md#contextroot), `...IJsonLdContextDefinitionElement[]`\]
3
+ > **OdrlContextType** = *typeof* [`Context`](../variables/OdrlContexts.md#context) \| \[*typeof* [`Context`](../variables/OdrlContexts.md#context)\] \| \[`...IJsonLdContextDefinitionElement[]`, *typeof* [`Context`](../variables/OdrlContexts.md#context), `IJsonLdContextDefinitionElement`\] \| \[`IJsonLdContextDefinitionElement`, *typeof* [`Context`](../variables/OdrlContexts.md#context), `...IJsonLdContextDefinitionElement[]`\]
4
4
 
5
5
  The ODRL JSON-LD context type.
@@ -6,14 +6,21 @@ The contexts for ODRL.
6
6
 
7
7
  ## Type Declaration
8
8
 
9
- ### ContextRoot
9
+ ### Namespace
10
10
 
11
- > `readonly` **ContextRoot**: `"https://www.w3.org/ns/odrl/2/"` = `"https://www.w3.org/ns/odrl/2/"`
11
+ > `readonly` **Namespace**: `"http://www.w3.org/ns/odrl/2/"` = `"http://www.w3.org/ns/odrl/2/"`
12
12
 
13
- The context root for ODRL vocabulary.
13
+ The canonical RDF namespace URI.
14
14
 
15
- ### ContextRedirect
15
+ ### Context
16
16
 
17
- > `readonly` **ContextRedirect**: `"https://www.w3.org/ns/odrl.jsonld"` = `"https://www.w3.org/ns/odrl.jsonld"`
17
+ > `readonly` **Context**: `"http://www.w3.org/ns/odrl.jsonld"` = `"http://www.w3.org/ns/odrl.jsonld"`
18
18
 
19
- The context root for ODRL.
19
+ The value to use in @context.
20
+ Note: Context points to the JSON-LD url as per ODRL 2.2 specification.
21
+
22
+ ### JsonLdContext
23
+
24
+ > `readonly` **JsonLdContext**: `"http://www.w3.org/ns/odrl.jsonld"` = `"http://www.w3.org/ns/odrl.jsonld"`
25
+
26
+ The JSON-LD Context URL.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/standards-w3c-odrl",
3
- "version": "0.0.3-next.2",
3
+ "version": "0.0.3-next.20",
4
4
  "description": "Models which define the structure of W3C ODRL Standard",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,8 +17,8 @@
17
17
  "@twin.org/core": "next",
18
18
  "@twin.org/data-core": "next",
19
19
  "@twin.org/data-json-ld": "next",
20
- "@twin.org/standards-dublin-core": "0.0.3-next.2",
21
- "@twin.org/standards-w3c-vcard": "0.0.3-next.2",
20
+ "@twin.org/standards-dublin-core": "0.0.3-next.20",
21
+ "@twin.org/standards-w3c-vcard": "0.0.3-next.20",
22
22
  "@twin.org/web": "next"
23
23
  },
24
24
  "main": "./dist/es/index.js",