@twin.org/standards-w3c-odrl 0.0.3-next.1 → 0.0.3-next.11

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,75 @@ 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
31
  }
32
32
  /**
33
33
  * Register all the data types.
34
34
  */
35
35
  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
- }));
36
+ const types = [
37
+ {
38
+ type: OdrlTypes.Policy,
39
+ schema: OdrlPolicySchema
40
+ },
41
+ {
42
+ type: OdrlTypes.Asset,
43
+ schema: OdrlAssetSchema
44
+ },
45
+ {
46
+ type: OdrlTypes.AssetCollection,
47
+ schema: OdrlAssetCollectionSchema
48
+ },
49
+ {
50
+ type: OdrlTypes.Party,
51
+ schema: OdrlPartySchema
52
+ },
53
+ {
54
+ type: OdrlTypes.PartyCollection,
55
+ schema: OdrlPartyCollectionSchema
56
+ },
57
+ {
58
+ type: OdrlTypes.Action,
59
+ schema: OdrlActionSchema
60
+ },
61
+ {
62
+ type: OdrlTypes.Permission,
63
+ schema: OdrlPermissionSchema
64
+ },
65
+ {
66
+ type: OdrlTypes.Prohibition,
67
+ schema: OdrlProhibitionSchema
68
+ },
69
+ {
70
+ type: OdrlTypes.Duty,
71
+ schema: OdrlDutySchema
72
+ },
73
+ {
74
+ type: OdrlTypes.Constraint,
75
+ schema: OdrlConstraintSchema
76
+ },
77
+ {
78
+ type: OdrlTypes.LogicalConstraint,
79
+ schema: OdrlLogicalConstraintSchema
80
+ },
81
+ {
82
+ type: OdrlTypes.Set,
83
+ schema: OdrlSetSchema
84
+ },
85
+ {
86
+ type: OdrlTypes.Offer,
87
+ schema: OdrlOfferSchema
88
+ },
89
+ {
90
+ type: OdrlTypes.Agreement,
91
+ schema: OdrlAgreementSchema
92
+ },
93
+ {
94
+ type: OdrlTypes.Rule,
95
+ schema: OdrlRuleSchema
96
+ }
97
+ ];
98
+ DataTypeHelper.registerTypes(OdrlContexts.Namespace, OdrlContexts.JsonLdContext, types);
111
99
  }
112
100
  }
113
101
  //# 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}\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.JsonLdContext, 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.JsonLdContext\n\t| [typeof OdrlContexts.JsonLdContext]\n\t| [\n\t\t\t...IJsonLdContextDefinitionElement[],\n\t\t\ttypeof OdrlContexts.JsonLdContext,\n\t\t\tIJsonLdContextDefinitionElement\n\t ]\n\t| [\n\t\t\tIJsonLdContextDefinitionElement,\n\t\t\ttypeof OdrlContexts.JsonLdContext,\n\t\t\t...IJsonLdContextDefinitionElement[]\n\t ];\n"]}
@@ -6,12 +6,12 @@
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 JSON-LD Context URL.
10
10
  */
11
- ContextRoot: "https://www.w3.org/ns/odrl/2/",
11
+ JsonLdContext: "http://www.w3.org/ns/odrl.jsonld",
12
12
  /**
13
- * The context root for ODRL.
13
+ * The namespace prefix for all terms in ODRL.
14
14
  */
15
- ContextRedirect: "https://www.w3.org/ns/odrl.jsonld"
15
+ Namespace: "http://www.w3.org/ns/odrl/2/"
16
16
  };
17
17
  //# 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,aAAa,EAAE,kCAAkC;IAEjD;;OAEG;IACH,SAAS,EAAE,8BAA8B;CAChC,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 JSON-LD Context URL.\n\t */\n\tJsonLdContext: \"http://www.w3.org/ns/odrl.jsonld\",\n\n\t/**\n\t * The namespace prefix for all terms in ODRL.\n\t */\n\tNamespace: \"http://www.w3.org/ns/odrl/2/\"\n} as const;\n\n/**\n * The contexts for ODRL.\n */\nexport type OdrlContexts = (typeof OdrlContexts)[keyof typeof OdrlContexts];\n"]}
@@ -9,41 +9,46 @@
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
13
  },
14
14
  {
15
15
  "type": "array",
16
- "minItems": 2,
17
16
  "items": {
18
- "anyOf": [
19
- {
20
- "type": "string",
21
- "const": "https://www.w3.org/ns/odrl/2/"
22
- },
23
- {
24
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
25
- }
26
- ]
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
27
19
  },
28
- "additionalItems": {
20
+ "minItems": 1,
21
+ "maxItems": 1
22
+ },
23
+ {
24
+ "type": "array",
25
+ "minItems": 2,
26
+ "prefixItems": [
27
+ {
28
+ "type": "string",
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
30
+ },
31
+ {
32
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
33
+ }
34
+ ],
35
+ "items": {
29
36
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
30
37
  }
31
38
  },
32
39
  {
33
40
  "type": "array",
34
41
  "minItems": 2,
42
+ "prefixItems": [
43
+ {
44
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
45
+ },
46
+ {
47
+ "type": "string",
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
49
+ }
50
+ ],
35
51
  "items": {
36
- "anyOf": [
37
- {
38
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
39
- },
40
- {
41
- "type": "string",
42
- "const": "https://www.w3.org/ns/odrl/2/"
43
- }
44
- ]
45
- },
46
- "additionalItems": {
47
52
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
48
53
  }
49
54
  }
@@ -9,41 +9,46 @@
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
13
  },
14
14
  {
15
15
  "type": "array",
16
- "minItems": 2,
17
16
  "items": {
18
- "anyOf": [
19
- {
20
- "type": "string",
21
- "const": "https://www.w3.org/ns/odrl/2/"
22
- },
23
- {
24
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
25
- }
26
- ]
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
27
19
  },
28
- "additionalItems": {
20
+ "minItems": 1,
21
+ "maxItems": 1
22
+ },
23
+ {
24
+ "type": "array",
25
+ "minItems": 2,
26
+ "prefixItems": [
27
+ {
28
+ "type": "string",
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
30
+ },
31
+ {
32
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
33
+ }
34
+ ],
35
+ "items": {
29
36
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
30
37
  }
31
38
  },
32
39
  {
33
40
  "type": "array",
34
41
  "minItems": 2,
42
+ "prefixItems": [
43
+ {
44
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
45
+ },
46
+ {
47
+ "type": "string",
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
49
+ }
50
+ ],
35
51
  "items": {
36
- "anyOf": [
37
- {
38
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
39
- },
40
- {
41
- "type": "string",
42
- "const": "https://www.w3.org/ns/odrl/2/"
43
- }
44
- ]
45
- },
46
- "additionalItems": {
47
52
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
48
53
  }
49
54
  }
@@ -9,41 +9,46 @@
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
13
  },
14
14
  {
15
15
  "type": "array",
16
- "minItems": 2,
17
16
  "items": {
18
- "anyOf": [
19
- {
20
- "type": "string",
21
- "const": "https://www.w3.org/ns/odrl/2/"
22
- },
23
- {
24
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
25
- }
26
- ]
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
27
19
  },
28
- "additionalItems": {
20
+ "minItems": 1,
21
+ "maxItems": 1
22
+ },
23
+ {
24
+ "type": "array",
25
+ "minItems": 2,
26
+ "prefixItems": [
27
+ {
28
+ "type": "string",
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
30
+ },
31
+ {
32
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
33
+ }
34
+ ],
35
+ "items": {
29
36
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
30
37
  }
31
38
  },
32
39
  {
33
40
  "type": "array",
34
41
  "minItems": 2,
42
+ "prefixItems": [
43
+ {
44
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
45
+ },
46
+ {
47
+ "type": "string",
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
49
+ }
50
+ ],
35
51
  "items": {
36
- "anyOf": [
37
- {
38
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
39
- },
40
- {
41
- "type": "string",
42
- "const": "https://www.w3.org/ns/odrl/2/"
43
- }
44
- ]
45
- },
46
- "additionalItems": {
47
52
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
48
53
  }
49
54
  }
@@ -9,41 +9,46 @@
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
13
  },
14
14
  {
15
15
  "type": "array",
16
- "minItems": 2,
17
16
  "items": {
18
- "anyOf": [
19
- {
20
- "type": "string",
21
- "const": "https://www.w3.org/ns/odrl/2/"
22
- },
23
- {
24
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
25
- }
26
- ]
17
+ "type": "string",
18
+ "const": "http://www.w3.org/ns/odrl.jsonld"
27
19
  },
28
- "additionalItems": {
20
+ "minItems": 1,
21
+ "maxItems": 1
22
+ },
23
+ {
24
+ "type": "array",
25
+ "minItems": 2,
26
+ "prefixItems": [
27
+ {
28
+ "type": "string",
29
+ "const": "http://www.w3.org/ns/odrl.jsonld"
30
+ },
31
+ {
32
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
33
+ }
34
+ ],
35
+ "items": {
29
36
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
30
37
  }
31
38
  },
32
39
  {
33
40
  "type": "array",
34
41
  "minItems": 2,
42
+ "prefixItems": [
43
+ {
44
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
45
+ },
46
+ {
47
+ "type": "string",
48
+ "const": "http://www.w3.org/ns/odrl.jsonld"
49
+ }
50
+ ],
35
51
  "items": {
36
- "anyOf": [
37
- {
38
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
39
- },
40
- {
41
- "type": "string",
42
- "const": "https://www.w3.org/ns/odrl/2/"
43
- }
44
- ]
45
- },
46
- "additionalItems": {
47
52
  "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
48
53
  }
49
54
  }
@@ -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.JsonLdContext | [typeof OdrlContexts.JsonLdContext] | [
7
7
  ...IJsonLdContextDefinitionElement[],
8
- typeof OdrlContexts.ContextRoot,
8
+ typeof OdrlContexts.JsonLdContext,
9
9
  IJsonLdContextDefinitionElement
10
10
  ] | [
11
11
  IJsonLdContextDefinitionElement,
12
- typeof OdrlContexts.ContextRoot,
12
+ typeof OdrlContexts.JsonLdContext,
13
13
  ...IJsonLdContextDefinitionElement[]
14
14
  ];
@@ -3,13 +3,13 @@
3
3
  */
4
4
  export declare const OdrlContexts: {
5
5
  /**
6
- * The context root for ODRL vocabulary.
6
+ * The JSON-LD Context URL.
7
7
  */
8
- readonly ContextRoot: "https://www.w3.org/ns/odrl/2/";
8
+ readonly JsonLdContext: "http://www.w3.org/ns/odrl.jsonld";
9
9
  /**
10
- * The context root for ODRL.
10
+ * The namespace prefix for all terms in ODRL.
11
11
  */
12
- readonly ContextRedirect: "https://www.w3.org/ns/odrl.jsonld";
12
+ readonly Namespace: "http://www.w3.org/ns/odrl/2/";
13
13
  };
14
14
  /**
15
15
  * The contexts for ODRL.
package/docs/changelog.md CHANGED
@@ -1,5 +1,155 @@
1
1
  # @twin.org/standards-w3c-odrl - Changelog
2
2
 
3
+ ## [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)
4
+
5
+
6
+ ### Features
7
+
8
+ * improved namespaces and contexts ([#102](https://github.com/twinfoundation/standards/issues/102)) ([c74c370](https://github.com/twinfoundation/standards/commit/c74c370cd8145d6166ca4454353f3774c302ac3b))
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.10 to 0.0.3-next.11
16
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.10 to 0.0.3-next.11
17
+
18
+ ## [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)
19
+
20
+
21
+ ### Features
22
+
23
+ * naming fixing and usage ([#98](https://github.com/twinfoundation/standards/issues/98)) ([9e95344](https://github.com/twinfoundation/standards/commit/9e953440963c9bc028399be9cbea25d92922bd01))
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.9 to 0.0.3-next.10
31
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.9 to 0.0.3-next.10
32
+
33
+ ## [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)
34
+
35
+
36
+ ### Miscellaneous Chores
37
+
38
+ * **standards-w3c-odrl:** Synchronize repo versions
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.8 to 0.0.3-next.9
46
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.8 to 0.0.3-next.9
47
+
48
+ ## [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)
49
+
50
+
51
+ ### Miscellaneous Chores
52
+
53
+ * **standards-w3c-odrl:** Synchronize repo versions
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.7 to 0.0.3-next.8
61
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.7 to 0.0.3-next.8
62
+
63
+ ## [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)
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * odrl LD Context vs odrl namespace ([#83](https://github.com/twinfoundation/standards/issues/83)) ([d2c0c3c](https://github.com/twinfoundation/standards/commit/d2c0c3ca71b4a38f15d46070118fb4d6ac00fc02))
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.6 to 0.0.3-next.7
76
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.6 to 0.0.3-next.7
77
+
78
+ ## [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)
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.5 to 0.0.3-next.6
91
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.5 to 0.0.3-next.6
92
+
93
+ ## [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)
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.4 to 0.0.3-next.5
106
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.4 to 0.0.3-next.5
107
+
108
+ ## [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)
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.3 to 0.0.3-next.4
121
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.3 to 0.0.3-next.4
122
+
123
+ ## [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)
124
+
125
+
126
+ ### Features
127
+
128
+ * add w3c dcat standards package ([#68](https://github.com/twinfoundation/standards/issues/68)) ([85746c6](https://github.com/twinfoundation/standards/commit/85746c673464498a52e9c30ce498fd88b81a7434))
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.2 to 0.0.3-next.3
136
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.2 to 0.0.3-next.3
137
+
138
+ ## [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)
139
+
140
+
141
+ ### Features
142
+
143
+ * update schemas ([c3c11e0](https://github.com/twinfoundation/standards/commit/c3c11e07da6c0d3eac5ea4a68e3ad57f022b2351))
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.1 to 0.0.3-next.2
151
+ * @twin.org/standards-dublin-core bumped from 0.0.3-next.1 to 0.0.3-next.2
152
+
3
153
  ## [0.0.3-next.1](https://github.com/twinfoundation/standards/compare/standards-w3c-odrl-v0.0.3-next.0...standards-w3c-odrl-v0.0.3-next.1) (2025-11-10)
4
154
 
5
155
 
@@ -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* [`JsonLdContext`](../variables/OdrlContexts.md#jsonldcontext) \| \[*typeof* [`JsonLdContext`](../variables/OdrlContexts.md#jsonldcontext)\] \| \[`...IJsonLdContextDefinitionElement[]`, *typeof* [`JsonLdContext`](../variables/OdrlContexts.md#jsonldcontext), `IJsonLdContextDefinitionElement`\] \| \[`IJsonLdContextDefinitionElement`, *typeof* [`JsonLdContext`](../variables/OdrlContexts.md#jsonldcontext), `...IJsonLdContextDefinitionElement[]`\]
4
4
 
5
5
  The ODRL JSON-LD context type.
@@ -6,14 +6,14 @@ The contexts for ODRL.
6
6
 
7
7
  ## Type Declaration
8
8
 
9
- ### ContextRoot
9
+ ### JsonLdContext
10
10
 
11
- > `readonly` **ContextRoot**: `"https://www.w3.org/ns/odrl/2/"` = `"https://www.w3.org/ns/odrl/2/"`
11
+ > `readonly` **JsonLdContext**: `"http://www.w3.org/ns/odrl.jsonld"` = `"http://www.w3.org/ns/odrl.jsonld"`
12
12
 
13
- The context root for ODRL vocabulary.
13
+ The JSON-LD Context URL.
14
14
 
15
- ### ContextRedirect
15
+ ### Namespace
16
16
 
17
- > `readonly` **ContextRedirect**: `"https://www.w3.org/ns/odrl.jsonld"` = `"https://www.w3.org/ns/odrl.jsonld"`
17
+ > `readonly` **Namespace**: `"http://www.w3.org/ns/odrl/2/"` = `"http://www.w3.org/ns/odrl/2/"`
18
18
 
19
- The context root for ODRL.
19
+ The namespace prefix for all terms in ODRL.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/standards-w3c-odrl",
3
- "version": "0.0.3-next.1",
3
+ "version": "0.0.3-next.11",
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.1",
21
- "@twin.org/standards-w3c-vcard": "0.0.3-next.1",
20
+ "@twin.org/standards-dublin-core": "0.0.3-next.11",
21
+ "@twin.org/standards-w3c-vcard": "0.0.3-next.11",
22
22
  "@twin.org/web": "next"
23
23
  },
24
24
  "main": "./dist/es/index.js",