@twin.org/standards-gaia-x 0.0.2-next.8 → 0.0.3-next.1
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.
- package/dist/es/dataTypes/gaiaXDataTypes.js +56 -0
- package/dist/es/dataTypes/gaiaXDataTypes.js.map +1 -0
- package/dist/es/index.js +14 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/models/IAddress.js +2 -0
- package/dist/es/models/IAddress.js.map +1 -0
- package/dist/es/models/IDataExchangeComponent.js +2 -0
- package/dist/es/models/IDataExchangeComponent.js.map +1 -0
- package/dist/es/models/IDataResource.js +2 -0
- package/dist/es/models/IDataResource.js.map +1 -0
- package/dist/es/models/IEndpoint.js +2 -0
- package/dist/es/models/IEndpoint.js.map +1 -0
- package/dist/es/models/IGaiaXEntity.js +2 -0
- package/dist/es/models/IGaiaXEntity.js.map +1 -0
- package/dist/es/models/ILegalPerson.js +2 -0
- package/dist/es/models/ILegalPerson.js.map +1 -0
- package/dist/es/models/IRegistrationNumber.js +2 -0
- package/dist/es/models/IRegistrationNumber.js.map +1 -0
- package/dist/es/models/IServiceOffering.js +2 -0
- package/dist/es/models/IServiceOffering.js.map +1 -0
- package/dist/es/models/gaiaXContextType.js +2 -0
- package/dist/es/models/gaiaXContextType.js.map +1 -0
- package/dist/es/models/gaiaXContexts.js +13 -0
- package/dist/es/models/gaiaXContexts.js.map +1 -0
- package/dist/es/models/gaiaXTypes.js +61 -0
- package/dist/es/models/gaiaXTypes.js.map +1 -0
- package/dist/es/schemas/Address.json +115 -0
- package/dist/es/schemas/DataExchangeComponent.json +170 -0
- package/dist/es/schemas/DataResource.json +329 -0
- package/dist/es/schemas/Endpoint.json +120 -0
- package/dist/es/schemas/LegalPerson.json +407 -0
- package/dist/es/schemas/RegistrationNumber.json +152 -0
- package/dist/es/schemas/ServiceOffering.json +429 -0
- package/dist/types/index.d.ts +11 -11
- package/dist/types/models/IAddress.d.ts +1 -1
- package/dist/types/models/IDataExchangeComponent.d.ts +2 -2
- package/dist/types/models/IDataResource.d.ts +7 -6
- package/dist/types/models/IEndpoint.d.ts +1 -1
- package/dist/types/models/IGaiaXEntity.d.ts +1 -1
- package/dist/types/models/ILegalPerson.d.ts +4 -4
- package/dist/types/models/IRegistrationNumber.d.ts +1 -1
- package/dist/types/models/IServiceOffering.d.ts +8 -7
- package/dist/types/models/gaiaXContextType.d.ts +1 -1
- package/dist/types/models/gaiaXContexts.d.ts +1 -5
- package/docs/changelog.md +104 -0
- package/docs/reference/interfaces/IAddress.md +2 -2
- package/docs/reference/interfaces/IDataExchangeComponent.md +1 -1
- package/docs/reference/interfaces/IDataResource.md +2 -2
- package/docs/reference/interfaces/IEndpoint.md +2 -2
- package/docs/reference/interfaces/ILegalPerson.md +1 -1
- package/docs/reference/interfaces/IRegistrationNumber.md +1 -1
- package/docs/reference/interfaces/IServiceOffering.md +4 -4
- package/docs/reference/variables/GaiaXContexts.md +1 -7
- package/package.json +22 -9
- package/dist/cjs/index.cjs +0 -1935
- package/dist/esm/index.mjs +0 -1931
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { DataTypeHandlerFactory } from "@twin.org/data-core";
|
|
2
|
+
import { GaiaXContexts } from "../models/gaiaXContexts.js";
|
|
3
|
+
import { GaiaXTypes } from "../models/gaiaXTypes.js";
|
|
4
|
+
import AddressSchema from "../schemas/Address.json" with { type: "json" };
|
|
5
|
+
import DataExchangeComponentSchema from "../schemas/DataExchangeComponent.json" with { type: "json" };
|
|
6
|
+
import DataResourceSchema from "../schemas/DataResource.json" with { type: "json" };
|
|
7
|
+
import EndpointSchema from "../schemas/Endpoint.json" with { type: "json" };
|
|
8
|
+
import LegalPersonSchema from "../schemas/LegalPerson.json" with { type: "json" };
|
|
9
|
+
import RegistrationNumberSchema from "../schemas/RegistrationNumber.json" with { type: "json" };
|
|
10
|
+
import ServiceOfferingSchema from "../schemas/ServiceOffering.json" with { type: "json" };
|
|
11
|
+
/**
|
|
12
|
+
* Handle all the data types for Gaia-X.
|
|
13
|
+
*/
|
|
14
|
+
export class GaiaXDataTypes {
|
|
15
|
+
/**
|
|
16
|
+
* Register all the data types.
|
|
17
|
+
*/
|
|
18
|
+
static registerTypes() {
|
|
19
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataExchangeComponent}`, () => ({
|
|
20
|
+
context: GaiaXContexts.ContextRoot,
|
|
21
|
+
type: GaiaXTypes.DataExchangeComponent,
|
|
22
|
+
jsonSchema: async () => DataExchangeComponentSchema
|
|
23
|
+
}));
|
|
24
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataResource}`, () => ({
|
|
25
|
+
context: GaiaXContexts.ContextRoot,
|
|
26
|
+
type: GaiaXTypes.DataResource,
|
|
27
|
+
jsonSchema: async () => DataResourceSchema
|
|
28
|
+
}));
|
|
29
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Endpoint}`, () => ({
|
|
30
|
+
context: GaiaXContexts.ContextRoot,
|
|
31
|
+
type: GaiaXTypes.Endpoint,
|
|
32
|
+
jsonSchema: async () => EndpointSchema
|
|
33
|
+
}));
|
|
34
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Address}`, () => ({
|
|
35
|
+
context: GaiaXContexts.ContextRoot,
|
|
36
|
+
type: GaiaXTypes.Address,
|
|
37
|
+
jsonSchema: async () => AddressSchema
|
|
38
|
+
}));
|
|
39
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.ServiceOffering}`, () => ({
|
|
40
|
+
context: GaiaXContexts.ContextRoot,
|
|
41
|
+
type: GaiaXTypes.ServiceOffering,
|
|
42
|
+
jsonSchema: async () => ServiceOfferingSchema
|
|
43
|
+
}));
|
|
44
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.LegalPerson}`, () => ({
|
|
45
|
+
context: GaiaXContexts.ContextRoot,
|
|
46
|
+
type: GaiaXTypes.LegalPerson,
|
|
47
|
+
jsonSchema: async () => LegalPersonSchema
|
|
48
|
+
}));
|
|
49
|
+
DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.RegistrationNumber}`, () => ({
|
|
50
|
+
context: GaiaXContexts.ContextRoot,
|
|
51
|
+
type: GaiaXTypes.RegistrationNumber,
|
|
52
|
+
jsonSchema: async () => RegistrationNumberSchema
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=gaiaXDataTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gaiaXDataTypes.js","sourceRoot":"","sources":["../../../src/dataTypes/gaiaXDataTypes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonSchema } from \"@twin.org/data-core\";\nimport { DataTypeHandlerFactory } from \"@twin.org/data-core\";\nimport { GaiaXContexts } from \"../models/gaiaXContexts.js\";\nimport { GaiaXTypes } from \"../models/gaiaXTypes.js\";\nimport AddressSchema from \"../schemas/Address.json\" with { type: \"json\" };\nimport DataExchangeComponentSchema from \"../schemas/DataExchangeComponent.json\" with { type: \"json\" };\nimport DataResourceSchema from \"../schemas/DataResource.json\" with { type: \"json\" };\nimport EndpointSchema from \"../schemas/Endpoint.json\" with { type: \"json\" };\nimport LegalPersonSchema from \"../schemas/LegalPerson.json\" with { type: \"json\" };\nimport RegistrationNumberSchema from \"../schemas/RegistrationNumber.json\" with { type: \"json\" };\nimport ServiceOfferingSchema from \"../schemas/ServiceOffering.json\" with { type: \"json\" };\n\n/**\n * Handle all the data types for Gaia-X.\n */\nexport class GaiaXDataTypes {\n\t/**\n\t * Register all the data types.\n\t */\n\tpublic static registerTypes(): void {\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataExchangeComponent}`,\n\t\t\t() => ({\n\t\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\t\ttype: GaiaXTypes.DataExchangeComponent,\n\t\t\t\tjsonSchema: async () => DataExchangeComponentSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataResource}`,\n\t\t\t() => ({\n\t\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\t\ttype: GaiaXTypes.DataResource,\n\t\t\t\tjsonSchema: async () => DataResourceSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Endpoint}`, () => ({\n\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\ttype: GaiaXTypes.Endpoint,\n\t\t\tjsonSchema: async () => EndpointSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Address}`, () => ({\n\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\ttype: GaiaXTypes.Address,\n\t\t\tjsonSchema: async () => AddressSchema as IJsonSchema\n\t\t}));\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${GaiaXContexts.ContextRoot}${GaiaXTypes.ServiceOffering}`,\n\t\t\t() => ({\n\t\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\t\ttype: GaiaXTypes.ServiceOffering,\n\t\t\t\tjsonSchema: async () => ServiceOfferingSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${GaiaXContexts.ContextRoot}${GaiaXTypes.LegalPerson}`,\n\t\t\t() => ({\n\t\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\t\ttype: GaiaXTypes.LegalPerson,\n\t\t\t\tjsonSchema: async () => LegalPersonSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\n\t\tDataTypeHandlerFactory.register(\n\t\t\t`${GaiaXContexts.ContextRoot}${GaiaXTypes.RegistrationNumber}`,\n\t\t\t() => ({\n\t\t\t\tcontext: GaiaXContexts.ContextRoot,\n\t\t\t\ttype: GaiaXTypes.RegistrationNumber,\n\t\t\t\tjsonSchema: async () => RegistrationNumberSchema as IJsonSchema\n\t\t\t})\n\t\t);\n\t}\n}\n"]}
|
package/dist/es/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
3
|
+
export * from "./dataTypes/gaiaXDataTypes.js";
|
|
4
|
+
export * from "./models/gaiaXContexts.js";
|
|
5
|
+
export * from "./models/gaiaXContextType.js";
|
|
6
|
+
export * from "./models/gaiaXTypes.js";
|
|
7
|
+
export * from "./models/IAddress.js";
|
|
8
|
+
export * from "./models/IDataExchangeComponent.js";
|
|
9
|
+
export * from "./models/IDataResource.js";
|
|
10
|
+
export * from "./models/IEndpoint.js";
|
|
11
|
+
export * from "./models/ILegalPerson.js";
|
|
12
|
+
export * from "./models/IRegistrationNumber.js";
|
|
13
|
+
export * from "./models/IServiceOffering.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./dataTypes/gaiaXDataTypes.js\";\nexport * from \"./models/gaiaXContexts.js\";\nexport * from \"./models/gaiaXContextType.js\";\nexport * from \"./models/gaiaXTypes.js\";\nexport * from \"./models/IAddress.js\";\nexport * from \"./models/IDataExchangeComponent.js\";\nexport * from \"./models/IDataResource.js\";\nexport * from \"./models/IEndpoint.js\";\nexport * from \"./models/ILegalPerson.js\";\nexport * from \"./models/IRegistrationNumber.js\";\nexport * from \"./models/IServiceOffering.js\";\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAddress.js","sourceRoot":"","sources":["../../../src/models/IAddress.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\n\n/**\n * Address as defined by Gaia-X\n * https://docs.gaia-x.eu/ontology/development/classes/Address/\n */\nexport interface IAddress extends IJsonLdNodeObject {\n\t/**\n\t * JSON-LD @ type. In this case it is allowed to be omitted as it is usually a child node.\n\t */\n\ttype: typeof GaiaXTypes.Address | undefined;\n\n\t/**\n\t * Country code in ISO 3166-1 alpha2, alpha-3 or numeric format\n\t */\n\tcountryCode: string | number;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataExchangeComponent.js","sourceRoot":"","sources":["../../../src/models/IDataExchangeComponent.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { GaiaXContextType } from \"./gaiaXContextType.js\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\n\n/**\n * Data Exchange component as defined by Gaia-X\n * https://docs.gaia-x.eu/ontology/development/classes/DataExchangeComponent\n */\nexport interface IDataExchangeComponent extends IJsonLdNodeObject {\n\t/**\n\t * The LD Context\n\t */\n\t\"@context\": GaiaXContextType;\n\n\t/**\n\t * The type of JSON-LD node\n\t */\n\ttype:\n\t\t| typeof GaiaXTypes.DataExchangeComponent\n\t\t| [typeof GaiaXTypes.DataExchangeComponent, ...string[]];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataResource.js","sourceRoot":"","sources":["../../../src/models/IDataResource.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlPolicy } from \"@twin.org/standards-w3c-odrl\";\nimport type { GaiaXContextType } from \"./gaiaXContextType.js\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\nimport type { IDataExchangeComponent } from \"./IDataExchangeComponent.js\";\nimport type { IGaiaXEntity } from \"./IGaiaXEntity.js\";\nimport type { ILegalPerson } from \"./ILegalPerson.js\";\n\n/**\n * A Data Resource as defined by Gaia-X.\n * See also W3C DCAT Dataset https://www.w3.org/TR/vocab-dcat-3/.\n */\nexport interface IDataResource extends IGaiaXEntity {\n\t/**\n\t * The LD Context\n\t */\n\t\"@context\": GaiaXContextType;\n\n\t/**\n\t * Subject Id\n\t */\n\tid: string;\n\n\t/**\n\t * Subject type\n\t */\n\ttype: typeof GaiaXTypes.DataResource;\n\n\t/**\n\t * The Resource Name\n\t */\n\tname: string;\n\n\t/**\n\t * Exposed through a Data Exchange Component.\n\t * 'string' in case just an Id pointing to the Data Exchange Component is supplied\n\t * the third case covers the idiom where a JSON-LD Node is supplied with id and type.\n\t */\n\texposedThrough:\n\t\t| IDataExchangeComponent\n\t\t| string\n\t\t| (IJsonLdNodeObject & { id: string; type: typeof GaiaXTypes.DataExchangeComponent });\n\n\t/**\n\t * Who is the data producer\n\t */\n\tproducedBy: ILegalPerson | string;\n\n\t/**\n\t * Pointer (URL) to the license\n\t */\n\tlicense: string;\n\n\t/**\n\t * Copyright owner\n\t */\n\tcopyrightOwnedBy: ILegalPerson | string;\n\n\t/**\n\t * ODRL Policy\n\t */\n\tresourcePolicy: ObjectOrArray<IOdrlPolicy>;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IEndpoint.js","sourceRoot":"","sources":["../../../src/models/IEndpoint.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\n\n/**\n * Endpoint as defined by the Gaia-X ontology.\n * https://docs.gaia-x.eu/ontology/development/classes/Endpoint\n */\nexport interface IEndpoint extends IJsonLdNodeObject {\n\t/**\n\t * The type of JSON-LD node. In this case it is allowed to be omitted as it is usually a child node.\n\t */\n\ttype: typeof GaiaXTypes.Endpoint | undefined;\n\n\t/**\n\t * The endpoint URL\n\t */\n\tendpointURL: string;\n\n\t/**\n\t * The formal description\n\t */\n\tformalDescription?: string;\n\n\t/**\n\t * Standards conformity\n\t */\n\tstandardConformity?: IJsonLdNodeObject;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IGaiaXEntity.js","sourceRoot":"","sources":["../../../src/models/IGaiaXEntity.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { GaiaXContextType } from \"./gaiaXContextType.js\";\n\n/**\n * GaiaX Entity.\n * @see https://docs.gaia-x.eu/ontology/development/classes/GaiaXEntity/\n */\nexport interface IGaiaXEntity extends IJsonLdNodeObject {\n\t/**\n\t * The LD context.\n\t */\n\t\"@context\": GaiaXContextType;\n\n\t/**\n\t * The Id.\n\t */\n\tid: string;\n\n\t/**\n\t * Human readable Name.\n\t */\n\tname?: string;\n\n\t/**\n\t * Description of the Gaia-X entity.\n\t */\n\tdescription?: string;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ILegalPerson.js","sourceRoot":"","sources":["../../../src/models/ILegalPerson.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\nimport type { IAddress } from \"./IAddress.js\";\nimport type { IGaiaXEntity } from \"./IGaiaXEntity.js\";\nimport type { IRegistrationNumber } from \"./IRegistrationNumber.js\";\n\n/**\n * A Legal Person as defined by Gaia-X.\n * @see https://docs.gaia-x.eu/ontology/development/classes/LegalPerson/.\n */\nexport interface ILegalPerson extends IGaiaXEntity {\n\t/**\n\t * JSON-LD type.\n\t */\n\ttype: typeof GaiaXTypes.LegalPerson;\n\n\t/**\n\t * The legal registration number.\n\t * @see https://docs.gaia-x.eu/ontology/development/slots/registrationNumber/\n\t */\n\tregistrationNumber: IRegistrationNumber;\n\n\t/**\n\t * The legal name.\n\t */\n\tlegalName: string;\n\n\t/**\n\t * Legal Address\n\t * @see https://docs.gaia-x.eu/ontology/development/slots/legalAddress/\n\t */\n\tlegalAddress: IAddress;\n\n\t/**\n\t * Headquarters address.\n\t * @see https://docs.gaia-x.eu/ontology/development/slots/headquartersAddress/\n\t */\n\theadquartersAddress?: IAddress;\n\n\t/**\n\t * Parent organization.\n\t * @see https://docs.gaia-x.eu/ontology/development/slots/parentOrganizationOf/\n\t */\n\tparentOrganizationOf?: (IJsonLdNodeObject & {\n\t\tid: string;\n\t\ttype: typeof GaiaXTypes.LegalPerson;\n\t})[];\n\n\t/**\n\t * Sub organization of.\n\t * @see https://docs.gaia-x.eu/ontology/development/slots/parentSubOrganizationOf\n\t */\n\tsubOrganizationOf?: (IJsonLdNodeObject & {\n\t\tid: string;\n\t\ttype: typeof GaiaXTypes.LegalPerson;\n\t})[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IRegistrationNumber.js","sourceRoot":"","sources":["../../../src/models/IRegistrationNumber.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\n\n/**\n * Registration Number as defined by the Gaia-X ontology.\n * https://docs.gaia-x.eu/ontology/development/classes/RegistrationNumber/\n */\nexport interface IRegistrationNumber extends IJsonLdNodeObject {\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype:\n\t\t| typeof GaiaXTypes.RegistrationNumber\n\t\t| typeof GaiaXTypes.LocalRegistrationNumber\n\t\t| typeof GaiaXTypes.EORI\n\t\t| typeof GaiaXTypes.EUID\n\t\t| typeof GaiaXTypes.LeiCode\n\t\t| typeof GaiaXTypes.TaxID\n\t\t| typeof GaiaXTypes.VatID;\n\n\t/**\n\t * Local Registration.\n\t */\n\tlocal?: string;\n\n\t/**\n\t * Country code. See https://docs.gaia-x.eu/ontology/development/enums/CountryNameAlpha2/\n\t */\n\tcountryCode?: string;\n\n\t/**\n\t * Subdivision country code.\n\t * See https://docs.gaia-x.eu/ontology/development/enums/RegionCode/\n\t */\n\tsubdivisionCountryCode?: string;\n\n\t/**\n\t * The VAT identification number.\n\t */\n\tvatID?: string;\n\n\t/**\n\t * Unique LEI number as defined by GLEIF.\n\t */\n\tleiCode?: string;\n\n\t/**\n\t * The Economic Operators Registration and Identification number (EORI).\n\t */\n\teori?: string;\n\n\t/**\n\t * The country where the EORI is registered written in plain english\n\t */\n\tcountry?: string;\n\n\t/**\n\t * The European Unique Identifier (EUID) for business located in the European Ec.\n\t */\n\teuid?: string;\n\n\t/**\n\t * The company tax ID.\n\t */\n\ttaxId?: string;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IServiceOffering.js","sourceRoot":"","sources":["../../../src/models/IServiceOffering.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IOdrlPolicy } from \"@twin.org/standards-w3c-odrl\";\nimport type { GaiaXTypes } from \"./gaiaXTypes.js\";\nimport type { IDataResource } from \"./IDataResource.js\";\nimport type { IEndpoint } from \"./IEndpoint.js\";\nimport type { IGaiaXEntity } from \"./IGaiaXEntity.js\";\nimport type { ILegalPerson } from \"./ILegalPerson.js\";\n\n/**\n * A Service offering\n */\nexport interface IServiceOffering extends IGaiaXEntity {\n\t/**\n\t * Type\n\t */\n\ttype: typeof GaiaXTypes.ServiceOffering;\n\n\t/**\n\t * Name of the Service Offering.\n\t */\n\tname: string;\n\n\t/**\n\t * Participant that provides the offering\n\t */\n\tprovidedBy:\n\t\t| string\n\t\t| ILegalPerson\n\t\t| (IJsonLdNodeObject & { id: string; type: typeof GaiaXTypes.LegalPerson });\n\n\t/**\n\t * ODRL policy associated to the service offering\n\t */\n\tservicePolicy: ObjectOrArray<IOdrlPolicy>;\n\n\t/**\n\t * Resources aggregated\n\t * It is supported different representations, inline,\n\t * by reference both providing the URI or a partial JSON-LD Node object\n\t */\n\taggregationOfResources?:\n\t\t| string[]\n\t\t| IDataResource[]\n\t\t| (IJsonLdNodeObject & { id: string; type: typeof GaiaXTypes.DataResource });\n\n\t/**\n\t * The endpoint\n\t */\n\tendpoint?: IEndpoint;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gaiaXContextType.js","sourceRoot":"","sources":["../../../src/models/gaiaXContextType.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 { GaiaXContexts } from \"./gaiaXContexts.js\";\n\n/**\n * The Gaia-X JSON-LD context type.\n */\nexport type GaiaXContextType =\n\t| typeof GaiaXContexts.ContextRoot\n\t| [\n\t\t\t...IJsonLdContextDefinitionElement[],\n\t\t\ttypeof GaiaXContexts.ContextRoot,\n\t\t\tIJsonLdContextDefinitionElement\n\t ]\n\t| [\n\t\t\tIJsonLdContextDefinitionElement,\n\t\t\ttypeof GaiaXContexts.ContextRoot,\n\t\t\t...IJsonLdContextDefinitionElement[]\n\t ];\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
3
|
+
/**
|
|
4
|
+
* The LD Contexts concerning Gaia-X.
|
|
5
|
+
*/
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
7
|
+
export const GaiaXContexts = {
|
|
8
|
+
/**
|
|
9
|
+
* The Gaia-X LD Context
|
|
10
|
+
*/
|
|
11
|
+
ContextRoot: "https://schema.twindev.org/gaia-x-loire/"
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=gaiaXContexts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gaiaXContexts.js","sourceRoot":"","sources":["../../../src/models/gaiaXContexts.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B;;OAEG;IACH,WAAW,EAAE,0CAA0C;CAC9C,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The LD Contexts concerning Gaia-X.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const GaiaXContexts = {\n\t/**\n\t * The Gaia-X LD Context\n\t */\n\tContextRoot: \"https://schema.twindev.org/gaia-x-loire/\"\n} as const;\n\n/**\n * The LD Contexts concerning Gaia-X.\n */\nexport type GaiaXContexts = (typeof GaiaXContexts)[keyof typeof GaiaXContexts];\n"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
3
|
+
/**
|
|
4
|
+
* The types concerning Gaia-X.
|
|
5
|
+
*/
|
|
6
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
7
|
+
export const GaiaXTypes = {
|
|
8
|
+
/**
|
|
9
|
+
* Data Resource
|
|
10
|
+
*/
|
|
11
|
+
DataResource: "DataResource",
|
|
12
|
+
/**
|
|
13
|
+
* Service Offering Type
|
|
14
|
+
*/
|
|
15
|
+
ServiceOffering: "ServiceOffering",
|
|
16
|
+
/**
|
|
17
|
+
* Legal Person
|
|
18
|
+
*/
|
|
19
|
+
LegalPerson: "LegalPerson",
|
|
20
|
+
/**
|
|
21
|
+
* Data Exchange Component
|
|
22
|
+
*/
|
|
23
|
+
DataExchangeComponent: "DataExchangeComponent",
|
|
24
|
+
/**
|
|
25
|
+
* Address
|
|
26
|
+
*/
|
|
27
|
+
Address: "Address",
|
|
28
|
+
/**
|
|
29
|
+
* Endpoint
|
|
30
|
+
*/
|
|
31
|
+
Endpoint: "Endpoint",
|
|
32
|
+
/**
|
|
33
|
+
* Registration number
|
|
34
|
+
*/
|
|
35
|
+
RegistrationNumber: "RegistrationNumber",
|
|
36
|
+
/**
|
|
37
|
+
* Local Registration number
|
|
38
|
+
*/
|
|
39
|
+
LocalRegistrationNumber: "LocalRegistrationNumber",
|
|
40
|
+
/**
|
|
41
|
+
* EORI
|
|
42
|
+
*/
|
|
43
|
+
EORI: "EORI",
|
|
44
|
+
/**
|
|
45
|
+
* VAT ID
|
|
46
|
+
*/
|
|
47
|
+
VatID: "VatID",
|
|
48
|
+
/**
|
|
49
|
+
* EU ID
|
|
50
|
+
*/
|
|
51
|
+
EUID: "EUID",
|
|
52
|
+
/**
|
|
53
|
+
* GLEIF LEI code.
|
|
54
|
+
*/
|
|
55
|
+
LeiCode: "LeiCode",
|
|
56
|
+
/**
|
|
57
|
+
* Tax Id.
|
|
58
|
+
*/
|
|
59
|
+
TaxID: "TaxID"
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=gaiaXTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gaiaXTypes.js","sourceRoot":"","sources":["../../../src/models/gaiaXTypes.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AAEvC;;GAEG;AACH,gEAAgE;AAChE,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB;;OAEG;IACH,YAAY,EAAE,cAAc;IAE5B;;OAEG;IACH,eAAe,EAAE,iBAAiB;IAElC;;OAEG;IACH,WAAW,EAAE,aAAa;IAE1B;;OAEG;IACH,qBAAqB,EAAE,uBAAuB;IAE9C;;OAEG;IACH,OAAO,EAAE,SAAS;IAElB;;OAEG;IACH,QAAQ,EAAE,UAAU;IAEpB;;OAEG;IACH,kBAAkB,EAAE,oBAAoB;IAExC;;OAEG;IACH,uBAAuB,EAAE,yBAAyB;IAElD;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,KAAK,EAAE,OAAO;IAEd;;OAEG;IACH,IAAI,EAAE,MAAM;IAEZ;;OAEG;IACH,OAAO,EAAE,SAAS;IAElB;;OAEG;IACH,KAAK,EAAE,OAAO;CACL,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * The types concerning Gaia-X.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const GaiaXTypes = {\n\t/**\n\t * Data Resource\n\t */\n\tDataResource: \"DataResource\",\n\n\t/**\n\t * Service Offering Type\n\t */\n\tServiceOffering: \"ServiceOffering\",\n\n\t/**\n\t * Legal Person\n\t */\n\tLegalPerson: \"LegalPerson\",\n\n\t/**\n\t * Data Exchange Component\n\t */\n\tDataExchangeComponent: \"DataExchangeComponent\",\n\n\t/**\n\t * Address\n\t */\n\tAddress: \"Address\",\n\n\t/**\n\t * Endpoint\n\t */\n\tEndpoint: \"Endpoint\",\n\n\t/**\n\t * Registration number\n\t */\n\tRegistrationNumber: \"RegistrationNumber\",\n\n\t/**\n\t * Local Registration number\n\t */\n\tLocalRegistrationNumber: \"LocalRegistrationNumber\",\n\n\t/**\n\t * EORI\n\t */\n\tEORI: \"EORI\",\n\n\t/**\n\t * VAT ID\n\t */\n\tVatID: \"VatID\",\n\n\t/**\n\t * EU ID\n\t */\n\tEUID: \"EUID\",\n\n\t/**\n\t * GLEIF LEI code.\n\t */\n\tLeiCode: \"LeiCode\",\n\n\t/**\n\t * Tax Id.\n\t */\n\tTaxID: \"TaxID\"\n} as const;\n\n/**\n * The types concerning Gaia-X.\n */\nexport type GaiaXTypes = (typeof GaiaXTypes)[keyof typeof GaiaXTypes];\n"]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/gaia-x-loire/Address",
|
|
4
|
+
"description": "Address as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/Address/",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"@context": {
|
|
8
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
|
|
9
|
+
},
|
|
10
|
+
"@id": {
|
|
11
|
+
"anyOf": [
|
|
12
|
+
{
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "array",
|
|
17
|
+
"items": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"@included": {
|
|
24
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
25
|
+
},
|
|
26
|
+
"@graph": {
|
|
27
|
+
"anyOf": [
|
|
28
|
+
{
|
|
29
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"@nest": {
|
|
40
|
+
"anyOf": [
|
|
41
|
+
{
|
|
42
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": {
|
|
47
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"@type": {
|
|
53
|
+
"anyOf": [
|
|
54
|
+
{
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"@reverse": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"@index": {
|
|
72
|
+
"type": "string"
|
|
73
|
+
},
|
|
74
|
+
"type": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"const": "Address",
|
|
77
|
+
"description": "JSON-LD @ type. In this case it is allowed to be omitted as it is usually a child node."
|
|
78
|
+
},
|
|
79
|
+
"countryCode": {
|
|
80
|
+
"type": [
|
|
81
|
+
"string",
|
|
82
|
+
"number"
|
|
83
|
+
],
|
|
84
|
+
"description": "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"required": [
|
|
88
|
+
"countryCode"
|
|
89
|
+
],
|
|
90
|
+
"additionalProperties": {
|
|
91
|
+
"anyOf": [
|
|
92
|
+
{
|
|
93
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"type": "array"
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.twindev.org/gaia-x-loire/DataExchangeComponent",
|
|
4
|
+
"description": "Data Exchange component as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/DataExchangeComponent",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"@context": {
|
|
8
|
+
"description": "The Gaia-X JSON-LD context type.",
|
|
9
|
+
"anyOf": [
|
|
10
|
+
{
|
|
11
|
+
"type": "string",
|
|
12
|
+
"const": "https://schema.twindev.org/gaia-x-loire/"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "array",
|
|
16
|
+
"minItems": 2,
|
|
17
|
+
"items": {
|
|
18
|
+
"anyOf": [
|
|
19
|
+
{
|
|
20
|
+
"type": "string",
|
|
21
|
+
"const": "https://schema.twindev.org/gaia-x-loire/"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"additionalItems": {
|
|
29
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "array",
|
|
34
|
+
"minItems": 2,
|
|
35
|
+
"items": {
|
|
36
|
+
"anyOf": [
|
|
37
|
+
{
|
|
38
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "string",
|
|
42
|
+
"const": "https://schema.twindev.org/gaia-x-loire/"
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
},
|
|
46
|
+
"additionalItems": {
|
|
47
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"@id": {
|
|
53
|
+
"anyOf": [
|
|
54
|
+
{
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "array",
|
|
59
|
+
"items": {
|
|
60
|
+
"type": "string"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
"@included": {
|
|
66
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
67
|
+
},
|
|
68
|
+
"@graph": {
|
|
69
|
+
"anyOf": [
|
|
70
|
+
{
|
|
71
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"type": "array",
|
|
75
|
+
"items": {
|
|
76
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"@nest": {
|
|
82
|
+
"anyOf": [
|
|
83
|
+
{
|
|
84
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdJsonObject"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
"@type": {
|
|
95
|
+
"anyOf": [
|
|
96
|
+
{
|
|
97
|
+
"type": "string"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"type": "array",
|
|
101
|
+
"items": {
|
|
102
|
+
"type": "string"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"@reverse": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"additionalProperties": {
|
|
110
|
+
"type": "string"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"@index": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
},
|
|
116
|
+
"type": {
|
|
117
|
+
"anyOf": [
|
|
118
|
+
{
|
|
119
|
+
"type": "string",
|
|
120
|
+
"const": "DataExchangeComponent"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"type": "array",
|
|
124
|
+
"minItems": 1,
|
|
125
|
+
"items": {
|
|
126
|
+
"anyOf": [
|
|
127
|
+
{
|
|
128
|
+
"type": "string",
|
|
129
|
+
"const": "DataExchangeComponent"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"additionalItems": {
|
|
134
|
+
"type": "string"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"description": "The type of JSON-LD node"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"required": [
|
|
142
|
+
"@context",
|
|
143
|
+
"type"
|
|
144
|
+
],
|
|
145
|
+
"additionalProperties": {
|
|
146
|
+
"anyOf": [
|
|
147
|
+
{
|
|
148
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIndexMap"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdIdMap"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"$ref": "https://schema.twindev.org/json-ld/JsonLdTypeMap"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"type": "array"
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
}
|