@twin.org/standards-gaia-x 0.0.1 → 0.0.2-next.2

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.
@@ -12,7 +12,11 @@ const GaiaXContexts = {
12
12
  /**
13
13
  * The Gaia-X LD Context
14
14
  */
15
- ContextRoot: "https://w3id.org/gaia-x/development"
15
+ ContextRoot: "https://w3id.org/gaia-x/development",
16
+ /**
17
+ * The Gaia-X custom context.
18
+ */
19
+ TwinContext: "https://schema.twindev.org/gaia-x"
16
20
  };
17
21
 
18
22
  // Copyright 2024 IOTA Stiftung.
@@ -31,9 +35,9 @@ const GaiaXTypes = {
31
35
  */
32
36
  ServiceOffering: "ServiceOffering",
33
37
  /**
34
- * Participant
38
+ * Legal Person
35
39
  */
36
- Participant: "LegalPerson",
40
+ LegalPerson: "LegalPerson",
37
41
  /**
38
42
  * Data Exchange Component
39
43
  */
@@ -76,9 +80,9 @@ const GaiaXTypes = {
76
80
  TaxID: "TaxID"
77
81
  };
78
82
 
79
- var $schema$6 = "https://json-schema.org/draft/2020-12/schema";
80
- var $id$6 = "https://schema.twindev.org/gaia-x/Address";
81
- var description$6 = "Address as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/Address/";
83
+ var $schema$7 = "https://json-schema.org/draft/2020-12/schema";
84
+ var $id$7 = "https://schema.twindev.org/gaia-x/Address";
85
+ var description$7 = "Address as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/Address/";
82
86
  var type$6 = "object";
83
87
  var properties$6 = {
84
88
  "@context": {
@@ -202,18 +206,18 @@ var additionalProperties$6 = {
202
206
  ]
203
207
  };
204
208
  var AddressSchema = {
205
- $schema: $schema$6,
206
- $id: $id$6,
207
- description: description$6,
209
+ $schema: $schema$7,
210
+ $id: $id$7,
211
+ description: description$7,
208
212
  type: type$6,
209
213
  properties: properties$6,
210
214
  required: required$6,
211
215
  additionalProperties: additionalProperties$6
212
216
  };
213
217
 
214
- var $schema$5 = "https://json-schema.org/draft/2020-12/schema";
215
- var $id$5 = "https://schema.twindev.org/gaia-x/DataExchangeComponent";
216
- var description$5 = "Data Exchange component as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/DataExchangeComponent";
218
+ var $schema$6 = "https://json-schema.org/draft/2020-12/schema";
219
+ var $id$6 = "https://schema.twindev.org/gaia-x/DataExchangeComponent";
220
+ var description$6 = "Data Exchange component as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/DataExchangeComponent";
217
221
  var type$5 = "object";
218
222
  var properties$5 = {
219
223
  "@context": {
@@ -349,18 +353,18 @@ var additionalProperties$5 = {
349
353
  ]
350
354
  };
351
355
  var DataExchangeComponentSchema = {
352
- $schema: $schema$5,
353
- $id: $id$5,
354
- description: description$5,
356
+ $schema: $schema$6,
357
+ $id: $id$6,
358
+ description: description$6,
355
359
  type: type$5,
356
360
  properties: properties$5,
357
361
  required: required$5,
358
362
  additionalProperties: additionalProperties$5
359
363
  };
360
364
 
361
- var $schema$4 = "https://json-schema.org/draft/2020-12/schema";
362
- var $id$4 = "https://schema.twindev.org/gaia-x/DataResource";
363
- var description$4 = "A Data Resource as defined by Gaia-X. See also W3C DCAT Dataset https://www.w3.org/TR/vocab-dcat-3/.";
365
+ var $schema$5 = "https://json-schema.org/draft/2020-12/schema";
366
+ var $id$5 = "https://schema.twindev.org/gaia-x/DataResource";
367
+ var description$5 = "A Data Resource as defined by Gaia-X. See also W3C DCAT Dataset https://www.w3.org/TR/vocab-dcat-3/.";
364
368
  var type$4 = "object";
365
369
  var properties$4 = {
366
370
  "@context": {
@@ -447,18 +451,18 @@ var properties$4 = {
447
451
  type: "string",
448
452
  description: "Subject Id"
449
453
  },
450
- type: {
454
+ name: {
451
455
  type: "string",
452
- "const": "DataResource",
453
- description: "Subject type"
456
+ description: "The Resource Name"
454
457
  },
455
458
  description: {
456
459
  type: "string",
457
- description: "Description"
460
+ description: "Description of the Gaia-X entity."
458
461
  },
459
- name: {
462
+ type: {
460
463
  type: "string",
461
- description: "The Resource Name"
464
+ "const": "DataResource",
465
+ description: "Subject type"
462
466
  },
463
467
  exposedThrough: {
464
468
  anyOf: [
@@ -594,7 +598,7 @@ var properties$4 = {
594
598
  producedBy: {
595
599
  anyOf: [
596
600
  {
597
- $ref: "https://schema.twindev.org/gaia-x/Participant"
601
+ $ref: "https://schema.twindev.org/gaia-x/LegalPerson"
598
602
  },
599
603
  {
600
604
  type: "string"
@@ -609,7 +613,7 @@ var properties$4 = {
609
613
  copyrightOwnedBy: {
610
614
  anyOf: [
611
615
  {
612
- $ref: "https://schema.twindev.org/gaia-x/Participant"
616
+ $ref: "https://schema.twindev.org/gaia-x/LegalPerson"
613
617
  },
614
618
  {
615
619
  type: "string"
@@ -618,20 +622,33 @@ var properties$4 = {
618
622
  description: "Copyright owner"
619
623
  },
620
624
  resourcePolicy: {
621
- $ref: "https://schema.twindev.org/gaia-x/ObjectOrArray%3CIJsonLdNodeObject%3E",
622
- description: "ODRL Policy"
625
+ description: "Object or array data type",
626
+ anyOf: [
627
+ {
628
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
629
+ },
630
+ {
631
+ type: "array",
632
+ items: false,
633
+ prefixItems: [
634
+ {
635
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
636
+ }
637
+ ]
638
+ }
639
+ ]
623
640
  }
624
641
  };
625
642
  var required$4 = [
626
643
  "@context",
644
+ "copyrightOwnedBy",
645
+ "exposedThrough",
627
646
  "id",
628
- "type",
647
+ "license",
629
648
  "name",
630
- "exposedThrough",
631
649
  "producedBy",
632
- "license",
633
- "copyrightOwnedBy",
634
- "resourcePolicy"
650
+ "resourcePolicy",
651
+ "type"
635
652
  ];
636
653
  var additionalProperties$4 = {
637
654
  anyOf: [
@@ -659,18 +676,18 @@ var additionalProperties$4 = {
659
676
  ]
660
677
  };
661
678
  var DataResourceSchema = {
662
- $schema: $schema$4,
663
- $id: $id$4,
664
- description: description$4,
679
+ $schema: $schema$5,
680
+ $id: $id$5,
681
+ description: description$5,
665
682
  type: type$4,
666
683
  properties: properties$4,
667
684
  required: required$4,
668
685
  additionalProperties: additionalProperties$4
669
686
  };
670
687
 
671
- var $schema$3 = "https://json-schema.org/draft/2020-12/schema";
672
- var $id$3 = "https://schema.twindev.org/gaia-x/Endpoint";
673
- var description$3 = "Endpoint as defined by the Gaia-X ontology. https://docs.gaia-x.eu/ontology/development/classes/Endpoint";
688
+ var $schema$4 = "https://json-schema.org/draft/2020-12/schema";
689
+ var $id$4 = "https://schema.twindev.org/gaia-x/Endpoint";
690
+ var description$4 = "Endpoint as defined by the Gaia-X ontology. https://docs.gaia-x.eu/ontology/development/classes/Endpoint";
674
691
  var type$3 = "object";
675
692
  var properties$3 = {
676
693
  "@context": {
@@ -799,23 +816,71 @@ var additionalProperties$3 = {
799
816
  ]
800
817
  };
801
818
  var EndpointSchema = {
802
- $schema: $schema$3,
803
- $id: $id$3,
804
- description: description$3,
819
+ $schema: $schema$4,
820
+ $id: $id$4,
821
+ description: description$4,
805
822
  type: type$3,
806
823
  properties: properties$3,
807
824
  required: required$3,
808
825
  additionalProperties: additionalProperties$3
809
826
  };
810
827
 
828
+ var $schema$3 = "https://json-schema.org/draft/2020-12/schema";
829
+ var $id$3 = "https://schema.twindev.org/gaia-x/GaiaXContextType";
830
+ var description$3 = "The Gaia-X JSON-LD context type.";
831
+ var anyOf = [
832
+ {
833
+ type: "string",
834
+ "const": "https://w3id.org/gaia-x/development"
835
+ },
836
+ {
837
+ type: "array",
838
+ minItems: 2,
839
+ items: {
840
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
841
+ },
842
+ prefixItems: [
843
+ {
844
+ type: "string",
845
+ "const": "https://w3id.org/gaia-x/development"
846
+ },
847
+ {
848
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
849
+ }
850
+ ]
851
+ },
852
+ {
853
+ type: "array",
854
+ minItems: 2,
855
+ items: {
856
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
857
+ },
858
+ prefixItems: [
859
+ {
860
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
861
+ },
862
+ {
863
+ type: "string",
864
+ "const": "https://w3id.org/gaia-x/development"
865
+ }
866
+ ]
867
+ }
868
+ ];
869
+ var GaiaXContextTypeSchema = {
870
+ $schema: $schema$3,
871
+ $id: $id$3,
872
+ description: description$3,
873
+ anyOf: anyOf
874
+ };
875
+
811
876
  var $schema$2 = "https://json-schema.org/draft/2020-12/schema";
812
- var $id$2 = "https://schema.twindev.org/gaia-x/Participant";
813
- var description$2 = "A Legal Person participating in the ecosystem";
877
+ var $id$2 = "https://schema.twindev.org/gaia-x/LegalPerson";
878
+ var description$2 = "A Legal Person as defined by Gaia-X.";
814
879
  var type$2 = "object";
815
880
  var properties$2 = {
816
881
  "@context": {
817
882
  $ref: "https://schema.twindev.org/gaia-x/GaiaXContextType",
818
- description: "The LD context"
883
+ description: "The LD context."
819
884
  },
820
885
  "@id": {
821
886
  anyOf: [
@@ -895,7 +960,15 @@ var properties$2 = {
895
960
  },
896
961
  id: {
897
962
  type: "string",
898
- description: "The participant Id."
963
+ description: "The Id."
964
+ },
965
+ name: {
966
+ type: "string",
967
+ description: "Human readable Name."
968
+ },
969
+ description: {
970
+ type: "string",
971
+ description: "Description of the Gaia-X entity."
899
972
  },
900
973
  type: {
901
974
  type: "string",
@@ -913,15 +986,249 @@ var properties$2 = {
913
986
  legalAddress: {
914
987
  $ref: "https://schema.twindev.org/gaia-x/Address",
915
988
  description: "Legal Address"
989
+ },
990
+ headquartersAddress: {
991
+ $ref: "https://schema.twindev.org/gaia-x/Address",
992
+ description: "Headquarters address."
993
+ },
994
+ parentOrganizationOf: {
995
+ type: "array",
996
+ items: false,
997
+ description: "Parent organization.",
998
+ prefixItems: [
999
+ {
1000
+ type: "object",
1001
+ additionalProperties: {
1002
+ anyOf: [
1003
+ {
1004
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
1005
+ },
1006
+ {
1007
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
1008
+ },
1009
+ {
1010
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
1011
+ },
1012
+ {
1013
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1014
+ },
1015
+ {
1016
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
1017
+ },
1018
+ {
1019
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
1020
+ },
1021
+ {
1022
+ type: "array"
1023
+ }
1024
+ ]
1025
+ },
1026
+ properties: {
1027
+ id: {
1028
+ type: "string"
1029
+ },
1030
+ type: {
1031
+ type: "string",
1032
+ "const": "LegalPerson"
1033
+ },
1034
+ "@context": {
1035
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
1036
+ },
1037
+ "@id": {
1038
+ anyOf: [
1039
+ {
1040
+ type: "string"
1041
+ },
1042
+ {
1043
+ type: "array",
1044
+ items: {
1045
+ type: "string"
1046
+ }
1047
+ }
1048
+ ]
1049
+ },
1050
+ "@included": {
1051
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1052
+ },
1053
+ "@graph": {
1054
+ anyOf: [
1055
+ {
1056
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1057
+ },
1058
+ {
1059
+ type: "array",
1060
+ items: {
1061
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1062
+ }
1063
+ }
1064
+ ]
1065
+ },
1066
+ "@nest": {
1067
+ anyOf: [
1068
+ {
1069
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1070
+ },
1071
+ {
1072
+ type: "array",
1073
+ items: {
1074
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1075
+ }
1076
+ }
1077
+ ]
1078
+ },
1079
+ "@type": {
1080
+ anyOf: [
1081
+ {
1082
+ type: "string"
1083
+ },
1084
+ {
1085
+ type: "array",
1086
+ items: {
1087
+ type: "string"
1088
+ }
1089
+ }
1090
+ ]
1091
+ },
1092
+ "@reverse": {
1093
+ type: "object",
1094
+ additionalProperties: {
1095
+ type: "string"
1096
+ }
1097
+ },
1098
+ "@index": {
1099
+ type: "string"
1100
+ }
1101
+ },
1102
+ required: [
1103
+ "id",
1104
+ "type"
1105
+ ]
1106
+ }
1107
+ ]
1108
+ },
1109
+ subOrganizationOf: {
1110
+ type: "array",
1111
+ items: false,
1112
+ description: "Sub organization of.",
1113
+ prefixItems: [
1114
+ {
1115
+ type: "object",
1116
+ additionalProperties: {
1117
+ anyOf: [
1118
+ {
1119
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
1120
+ },
1121
+ {
1122
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
1123
+ },
1124
+ {
1125
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
1126
+ },
1127
+ {
1128
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1129
+ },
1130
+ {
1131
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
1132
+ },
1133
+ {
1134
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
1135
+ },
1136
+ {
1137
+ type: "array"
1138
+ }
1139
+ ]
1140
+ },
1141
+ properties: {
1142
+ id: {
1143
+ type: "string"
1144
+ },
1145
+ type: {
1146
+ type: "string",
1147
+ "const": "LegalPerson"
1148
+ },
1149
+ "@context": {
1150
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
1151
+ },
1152
+ "@id": {
1153
+ anyOf: [
1154
+ {
1155
+ type: "string"
1156
+ },
1157
+ {
1158
+ type: "array",
1159
+ items: {
1160
+ type: "string"
1161
+ }
1162
+ }
1163
+ ]
1164
+ },
1165
+ "@included": {
1166
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1167
+ },
1168
+ "@graph": {
1169
+ anyOf: [
1170
+ {
1171
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1172
+ },
1173
+ {
1174
+ type: "array",
1175
+ items: {
1176
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1177
+ }
1178
+ }
1179
+ ]
1180
+ },
1181
+ "@nest": {
1182
+ anyOf: [
1183
+ {
1184
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1185
+ },
1186
+ {
1187
+ type: "array",
1188
+ items: {
1189
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1190
+ }
1191
+ }
1192
+ ]
1193
+ },
1194
+ "@type": {
1195
+ anyOf: [
1196
+ {
1197
+ type: "string"
1198
+ },
1199
+ {
1200
+ type: "array",
1201
+ items: {
1202
+ type: "string"
1203
+ }
1204
+ }
1205
+ ]
1206
+ },
1207
+ "@reverse": {
1208
+ type: "object",
1209
+ additionalProperties: {
1210
+ type: "string"
1211
+ }
1212
+ },
1213
+ "@index": {
1214
+ type: "string"
1215
+ }
1216
+ },
1217
+ required: [
1218
+ "id",
1219
+ "type"
1220
+ ]
1221
+ }
1222
+ ]
916
1223
  }
917
1224
  };
918
1225
  var required$2 = [
919
1226
  "@context",
920
1227
  "id",
921
- "type",
922
- "registrationNumber",
1228
+ "legalAddress",
923
1229
  "legalName",
924
- "legalAddress"
1230
+ "registrationNumber",
1231
+ "type"
925
1232
  ];
926
1233
  var additionalProperties$2 = {
927
1234
  anyOf: [
@@ -948,7 +1255,7 @@ var additionalProperties$2 = {
948
1255
  }
949
1256
  ]
950
1257
  };
951
- var ParticipantSchema = {
1258
+ var LegalPersonSchema = {
952
1259
  $schema: $schema$2,
953
1260
  $id: $id$2,
954
1261
  description: description$2,
@@ -1137,7 +1444,7 @@ var type = "object";
1137
1444
  var properties = {
1138
1445
  "@context": {
1139
1446
  $ref: "https://schema.twindev.org/gaia-x/GaiaXContextType",
1140
- description: "The LD context"
1447
+ description: "The LD context."
1141
1448
  },
1142
1449
  "@id": {
1143
1450
  anyOf: [
@@ -1217,20 +1524,20 @@ var properties = {
1217
1524
  },
1218
1525
  id: {
1219
1526
  type: "string",
1220
- description: "Id"
1527
+ description: "The Id."
1221
1528
  },
1222
- type: {
1529
+ name: {
1223
1530
  type: "string",
1224
- "const": "ServiceOffering",
1225
- description: "Type"
1531
+ description: "Name of the Service Offering."
1226
1532
  },
1227
1533
  description: {
1228
1534
  type: "string",
1229
- description: "Description"
1535
+ description: "Description of the Gaia-X entity."
1230
1536
  },
1231
- name: {
1537
+ type: {
1232
1538
  type: "string",
1233
- description: "Name"
1539
+ "const": "ServiceOffering",
1540
+ description: "Type"
1234
1541
  },
1235
1542
  providedBy: {
1236
1543
  anyOf: [
@@ -1238,7 +1545,7 @@ var properties = {
1238
1545
  type: "string"
1239
1546
  },
1240
1547
  {
1241
- $ref: "https://schema.twindev.org/gaia-x/Participant"
1548
+ $ref: "https://schema.twindev.org/gaia-x/LegalPerson"
1242
1549
  },
1243
1550
  {
1244
1551
  type: "object",
@@ -1364,8 +1671,21 @@ var properties = {
1364
1671
  description: "Participant that provides the offering"
1365
1672
  },
1366
1673
  servicePolicy: {
1367
- $ref: "https://schema.twindev.org/gaia-x/ObjectOrArray%3CIJsonLdNodeObject%3E",
1368
- description: "ODRL policy associated to the service offering"
1674
+ description: "Object or array data type",
1675
+ anyOf: [
1676
+ {
1677
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1678
+ },
1679
+ {
1680
+ type: "array",
1681
+ items: false,
1682
+ prefixItems: [
1683
+ {
1684
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1685
+ }
1686
+ ]
1687
+ }
1688
+ ]
1369
1689
  },
1370
1690
  aggregationOfResources: {
1371
1691
  anyOf: [
@@ -1517,12 +1837,12 @@ var properties = {
1517
1837
  };
1518
1838
  var required = [
1519
1839
  "@context",
1840
+ "endpoint",
1520
1841
  "id",
1521
- "type",
1522
1842
  "name",
1523
1843
  "providedBy",
1524
1844
  "servicePolicy",
1525
- "endpoint"
1845
+ "type"
1526
1846
  ];
1527
1847
  var additionalProperties = {
1528
1848
  anyOf: [
@@ -1559,8 +1879,6 @@ var ServiceOfferingSchema = {
1559
1879
  additionalProperties: additionalProperties
1560
1880
  };
1561
1881
 
1562
- // Copyright 2024 IOTA Stiftung.
1563
- // SPDX-License-Identifier: Apache-2.0.
1564
1882
  /**
1565
1883
  * Handle all the data types for Gaia-X.
1566
1884
  */
@@ -1569,6 +1887,11 @@ class GaiaXDataTypes {
1569
1887
  * Register all the data types.
1570
1888
  */
1571
1889
  static registerTypes() {
1890
+ dataCore.DataTypeHandlerFactory.register(`${GaiaXContexts.TwinContext}/${"GaiaXContextType"}`, () => ({
1891
+ context: GaiaXContexts.TwinContext,
1892
+ type: "GaiaXContextType",
1893
+ jsonSchema: async () => GaiaXContextTypeSchema
1894
+ }));
1572
1895
  dataCore.DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataExchangeComponent}`, () => ({
1573
1896
  context: GaiaXContexts.ContextRoot,
1574
1897
  type: GaiaXTypes.DataExchangeComponent,
@@ -1594,10 +1917,10 @@ class GaiaXDataTypes {
1594
1917
  type: GaiaXTypes.ServiceOffering,
1595
1918
  jsonSchema: async () => ServiceOfferingSchema
1596
1919
  }));
1597
- dataCore.DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Participant}`, () => ({
1920
+ dataCore.DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.LegalPerson}`, () => ({
1598
1921
  context: GaiaXContexts.ContextRoot,
1599
- type: GaiaXTypes.Participant,
1600
- jsonSchema: async () => ParticipantSchema
1922
+ type: GaiaXTypes.LegalPerson,
1923
+ jsonSchema: async () => LegalPersonSchema
1601
1924
  }));
1602
1925
  dataCore.DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.RegistrationNumber}`, () => ({
1603
1926
  context: GaiaXContexts.ContextRoot,