@passwerk/rules 0.1.0

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.
Files changed (92) hide show
  1. package/LICENSE +202 -0
  2. package/PROVENANCE.md +64 -0
  3. package/README.md +59 -0
  4. package/artefacts/aas/3.0.9/aas.json +1522 -0
  5. package/artefacts/aas/3.1.2/aas.json +1532 -0
  6. package/artefacts/batterypass/2025_Battery_Passport_Data_Attributes_V1.2.xlsx +0 -0
  7. package/artefacts/batterypass/samm/CarbonFootprint-1.2.0.ttl +96 -0
  8. package/artefacts/batterypass/samm/Circularity-1.2.0.ttl +280 -0
  9. package/artefacts/batterypass/samm/GeneralProductInformation-1.2.0.ttl +200 -0
  10. package/artefacts/batterypass/samm/Labels-1.2.0.ttl +65 -0
  11. package/artefacts/batterypass/samm/MaterialComposition-1.2.0.ttl +188 -0
  12. package/artefacts/batterypass/samm/Performance-1.2.1.ttl +660 -0
  13. package/artefacts/batterypass/samm/SupplyChainDueDiligence-1.2.0.ttl +45 -0
  14. package/artefacts/ec/2026-08-15_data-points-by-category_v2.0.pdf +0 -0
  15. package/artefacts/idta/02035-1/1.0/template.aasx +0 -0
  16. package/artefacts/idta/02035-1/1.0/template.json +2276 -0
  17. package/artefacts/idta/02035-1/1.0/template.noexamples.json +2263 -0
  18. package/artefacts/idta/02035-2/1.0/template.aasx +0 -0
  19. package/artefacts/idta/02035-2/1.0/template.json +2991 -0
  20. package/artefacts/idta/02035-2/1.0/template.noexamples.json +2990 -0
  21. package/artefacts/idta/02035-3/1.0/template.aasx +0 -0
  22. package/artefacts/idta/02035-3/1.0/template.json +1644 -0
  23. package/artefacts/idta/02035-3/1.0/template.noexamples.json +1643 -0
  24. package/artefacts/idta/02035-4/1.0.1/template.aasx +0 -0
  25. package/artefacts/idta/02035-4/1.0.1/template.json +4248 -0
  26. package/artefacts/idta/02035-4/1.0.1/template.noexamples.json +4219 -0
  27. package/artefacts/idta/02035-5/1.0.2/template.aasx +0 -0
  28. package/artefacts/idta/02035-5/1.0.2/template.json +4185 -0
  29. package/artefacts/idta/02035-6/1.0.1/template.aasx +0 -0
  30. package/artefacts/idta/02035-6/1.0.1/template.json +2167 -0
  31. package/artefacts/idta/02035-6/1.0.1/template.noexamples.json +2160 -0
  32. package/artefacts/idta/02035-7/1.0.1/template.aasx +0 -0
  33. package/artefacts/idta/02035-7/1.0.1/template.json +3296 -0
  34. package/artefacts/idta/02035-7/1.0.1/template.noexamples.json +3296 -0
  35. package/artefacts/manifest.json +417 -0
  36. package/dist/artefacts/aas/3.0.9/aas.json +1522 -0
  37. package/dist/artefacts/aas/3.1.2/aas.json +1532 -0
  38. package/dist/artefacts/idta/02035-1/1.0/template.json +2276 -0
  39. package/dist/artefacts/idta/02035-1/1.0/template.noexamples.json +2263 -0
  40. package/dist/artefacts/idta/02035-2/1.0/template.json +2991 -0
  41. package/dist/artefacts/idta/02035-2/1.0/template.noexamples.json +2990 -0
  42. package/dist/artefacts/idta/02035-3/1.0/template.json +1644 -0
  43. package/dist/artefacts/idta/02035-3/1.0/template.noexamples.json +1643 -0
  44. package/dist/artefacts/idta/02035-4/1.0.1/template.json +4248 -0
  45. package/dist/artefacts/idta/02035-4/1.0.1/template.noexamples.json +4219 -0
  46. package/dist/artefacts/idta/02035-5/1.0.2/template.json +4185 -0
  47. package/dist/artefacts/idta/02035-6/1.0.1/template.json +2167 -0
  48. package/dist/artefacts/idta/02035-6/1.0.1/template.noexamples.json +2160 -0
  49. package/dist/artefacts/idta/02035-7/1.0.1/template.json +3296 -0
  50. package/dist/artefacts/idta/02035-7/1.0.1/template.noexamples.json +3296 -0
  51. package/dist/artefacts/manifest.json +417 -0
  52. package/dist/kb/attributes/01-identifiers.json +483 -0
  53. package/dist/kb/attributes/02-labels-conformity.json +319 -0
  54. package/dist/kb/attributes/03-carbon-footprint.json +421 -0
  55. package/dist/kb/attributes/04-due-diligence.json +163 -0
  56. package/dist/kb/attributes/05-materials.json +264 -0
  57. package/dist/kb/attributes/06-circularity.json +758 -0
  58. package/dist/kb/attributes/07-performance-electrical.json +1118 -0
  59. package/dist/kb/attributes/08-performance-lifetime.json +837 -0
  60. package/dist/kb/carrier.json +44 -0
  61. package/dist/kb/ec-datapoints.json +866 -0
  62. package/dist/kb/generated/batterypass-samm.json +3310 -0
  63. package/dist/kb/generated/din-longlist.json +2610 -0
  64. package/dist/kb/generated/template-catalogue.json +7788 -0
  65. package/dist/kb/rules.json +524 -0
  66. package/dist/kb/timeline.json +422 -0
  67. package/dist/src/index.d.ts +75 -0
  68. package/dist/src/index.d.ts.map +1 -0
  69. package/dist/src/index.js +214 -0
  70. package/dist/src/index.js.map +1 -0
  71. package/dist/src/types.d.ts +298 -0
  72. package/dist/src/types.d.ts.map +1 -0
  73. package/dist/src/types.js +6 -0
  74. package/dist/src/types.js.map +1 -0
  75. package/dist/tsconfig.tsbuildinfo +1 -0
  76. package/kb/attributes/01-identifiers.json +483 -0
  77. package/kb/attributes/02-labels-conformity.json +319 -0
  78. package/kb/attributes/03-carbon-footprint.json +421 -0
  79. package/kb/attributes/04-due-diligence.json +163 -0
  80. package/kb/attributes/05-materials.json +264 -0
  81. package/kb/attributes/06-circularity.json +758 -0
  82. package/kb/attributes/07-performance-electrical.json +1118 -0
  83. package/kb/attributes/08-performance-lifetime.json +837 -0
  84. package/kb/attributes/README.md +74 -0
  85. package/kb/carrier.json +44 -0
  86. package/kb/ec-datapoints.json +866 -0
  87. package/kb/generated/batterypass-samm.json +3310 -0
  88. package/kb/generated/din-longlist.json +2610 -0
  89. package/kb/generated/template-catalogue.json +7788 -0
  90. package/kb/rules.json +524 -0
  91. package/kb/timeline.json +422 -0
  92. package/package.json +59 -0
@@ -0,0 +1,1522 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "title": "IDTA-01001-3-0-1 AAS JSON Schema",
4
+ "type": "object",
5
+ "allOf": [
6
+ {
7
+ "$ref": "#/definitions/Environment"
8
+ }
9
+ ],
10
+ "$id": "https://admin-shell.io/aas/3/0",
11
+ "definitions": {
12
+ "AasSubmodelElements": {
13
+ "type": "string",
14
+ "enum": [
15
+ "AnnotatedRelationshipElement",
16
+ "BasicEventElement",
17
+ "Blob",
18
+ "Capability",
19
+ "DataElement",
20
+ "Entity",
21
+ "EventElement",
22
+ "File",
23
+ "MultiLanguageProperty",
24
+ "Operation",
25
+ "Property",
26
+ "Range",
27
+ "ReferenceElement",
28
+ "RelationshipElement",
29
+ "SubmodelElement",
30
+ "SubmodelElementCollection",
31
+ "SubmodelElementList"
32
+ ]
33
+ },
34
+ "AbstractLangString": {
35
+ "type": "object",
36
+ "properties": {
37
+ "language": {
38
+ "type": "string",
39
+ "pattern": "^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){0,2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$"
40
+ },
41
+ "text": {
42
+ "type": "string",
43
+ "minLength": 1,
44
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
45
+ }
46
+ },
47
+ "required": [
48
+ "language",
49
+ "text"
50
+ ]
51
+ },
52
+ "AdministrativeInformation": {
53
+ "allOf": [
54
+ {
55
+ "$ref": "#/definitions/HasDataSpecification"
56
+ },
57
+ {
58
+ "properties": {
59
+ "version": {
60
+ "type": "string",
61
+ "allOf": [
62
+ {
63
+ "minLength": 1,
64
+ "maxLength": 4
65
+ },
66
+ {
67
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
68
+ },
69
+ {
70
+ "pattern": "^(0|[1-9][0-9]*)$"
71
+ }
72
+ ]
73
+ },
74
+ "revision": {
75
+ "type": "string",
76
+ "allOf": [
77
+ {
78
+ "minLength": 1,
79
+ "maxLength": 4
80
+ },
81
+ {
82
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
83
+ },
84
+ {
85
+ "pattern": "^(0|[1-9][0-9]*)$"
86
+ }
87
+ ]
88
+ },
89
+ "creator": {
90
+ "$ref": "#/definitions/Reference"
91
+ },
92
+ "templateId": {
93
+ "type": "string",
94
+ "minLength": 1,
95
+ "maxLength": 2000,
96
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
97
+ }
98
+ }
99
+ }
100
+ ]
101
+ },
102
+ "AnnotatedRelationshipElement": {
103
+ "allOf": [
104
+ {
105
+ "$ref": "#/definitions/RelationshipElement_abstract"
106
+ },
107
+ {
108
+ "properties": {
109
+ "annotations": {
110
+ "type": "array",
111
+ "items": {
112
+ "$ref": "#/definitions/DataElement_choice"
113
+ },
114
+ "minItems": 1
115
+ },
116
+ "modelType": {
117
+ "const": "AnnotatedRelationshipElement"
118
+ }
119
+ }
120
+ }
121
+ ]
122
+ },
123
+ "AssetAdministrationShell": {
124
+ "allOf": [
125
+ {
126
+ "$ref": "#/definitions/Identifiable"
127
+ },
128
+ {
129
+ "$ref": "#/definitions/HasDataSpecification"
130
+ },
131
+ {
132
+ "properties": {
133
+ "derivedFrom": {
134
+ "$ref": "#/definitions/Reference"
135
+ },
136
+ "assetInformation": {
137
+ "$ref": "#/definitions/AssetInformation"
138
+ },
139
+ "submodels": {
140
+ "type": "array",
141
+ "items": {
142
+ "$ref": "#/definitions/Reference"
143
+ },
144
+ "minItems": 1
145
+ },
146
+ "modelType": {
147
+ "const": "AssetAdministrationShell"
148
+ }
149
+ },
150
+ "required": [
151
+ "assetInformation"
152
+ ]
153
+ }
154
+ ]
155
+ },
156
+ "AssetInformation": {
157
+ "type": "object",
158
+ "properties": {
159
+ "assetKind": {
160
+ "$ref": "#/definitions/AssetKind"
161
+ },
162
+ "globalAssetId": {
163
+ "type": "string",
164
+ "minLength": 1,
165
+ "maxLength": 2000,
166
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
167
+ },
168
+ "specificAssetIds": {
169
+ "type": "array",
170
+ "items": {
171
+ "$ref": "#/definitions/SpecificAssetId"
172
+ },
173
+ "minItems": 1
174
+ },
175
+ "assetType": {
176
+ "type": "string",
177
+ "minLength": 1,
178
+ "maxLength": 2000,
179
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
180
+ },
181
+ "defaultThumbnail": {
182
+ "$ref": "#/definitions/Resource"
183
+ }
184
+ },
185
+ "required": [
186
+ "assetKind"
187
+ ]
188
+ },
189
+ "AssetKind": {
190
+ "type": "string",
191
+ "enum": [
192
+ "Instance",
193
+ "NotApplicable",
194
+ "Type"
195
+ ]
196
+ },
197
+ "BasicEventElement": {
198
+ "allOf": [
199
+ {
200
+ "$ref": "#/definitions/EventElement"
201
+ },
202
+ {
203
+ "properties": {
204
+ "observed": {
205
+ "$ref": "#/definitions/Reference"
206
+ },
207
+ "direction": {
208
+ "$ref": "#/definitions/Direction"
209
+ },
210
+ "state": {
211
+ "$ref": "#/definitions/StateOfEvent"
212
+ },
213
+ "messageTopic": {
214
+ "type": "string",
215
+ "minLength": 1,
216
+ "maxLength": 255,
217
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
218
+ },
219
+ "messageBroker": {
220
+ "$ref": "#/definitions/Reference"
221
+ },
222
+ "lastUpdate": {
223
+ "type": "string",
224
+ "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$"
225
+ },
226
+ "minInterval": {
227
+ "type": "string",
228
+ "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$"
229
+ },
230
+ "maxInterval": {
231
+ "type": "string",
232
+ "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$"
233
+ },
234
+ "modelType": {
235
+ "const": "BasicEventElement"
236
+ }
237
+ },
238
+ "required": [
239
+ "observed",
240
+ "direction",
241
+ "state"
242
+ ]
243
+ }
244
+ ]
245
+ },
246
+ "Blob": {
247
+ "allOf": [
248
+ {
249
+ "$ref": "#/definitions/DataElement"
250
+ },
251
+ {
252
+ "properties": {
253
+ "value": {
254
+ "type": "string",
255
+ "contentEncoding": "base64"
256
+ },
257
+ "contentType": {
258
+ "type": "string",
259
+ "allOf": [
260
+ {
261
+ "minLength": 1,
262
+ "maxLength": 100
263
+ },
264
+ {
265
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
266
+ },
267
+ {
268
+ "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$"
269
+ }
270
+ ]
271
+ },
272
+ "modelType": {
273
+ "const": "Blob"
274
+ }
275
+ },
276
+ "required": [
277
+ "contentType"
278
+ ]
279
+ }
280
+ ]
281
+ },
282
+ "Capability": {
283
+ "allOf": [
284
+ {
285
+ "$ref": "#/definitions/SubmodelElement"
286
+ },
287
+ {
288
+ "properties": {
289
+ "modelType": {
290
+ "const": "Capability"
291
+ }
292
+ }
293
+ }
294
+ ]
295
+ },
296
+ "ConceptDescription": {
297
+ "allOf": [
298
+ {
299
+ "$ref": "#/definitions/Identifiable"
300
+ },
301
+ {
302
+ "$ref": "#/definitions/HasDataSpecification"
303
+ },
304
+ {
305
+ "properties": {
306
+ "isCaseOf": {
307
+ "type": "array",
308
+ "items": {
309
+ "$ref": "#/definitions/Reference"
310
+ },
311
+ "minItems": 1
312
+ },
313
+ "modelType": {
314
+ "const": "ConceptDescription"
315
+ }
316
+ }
317
+ }
318
+ ]
319
+ },
320
+ "DataElement": {
321
+ "$ref": "#/definitions/SubmodelElement"
322
+ },
323
+ "DataElement_choice": {
324
+ "oneOf": [
325
+ {
326
+ "$ref": "#/definitions/Blob"
327
+ },
328
+ {
329
+ "$ref": "#/definitions/File"
330
+ },
331
+ {
332
+ "$ref": "#/definitions/MultiLanguageProperty"
333
+ },
334
+ {
335
+ "$ref": "#/definitions/Property"
336
+ },
337
+ {
338
+ "$ref": "#/definitions/Range"
339
+ },
340
+ {
341
+ "$ref": "#/definitions/ReferenceElement"
342
+ }
343
+ ]
344
+ },
345
+ "DataSpecificationContent": {
346
+ "type": "object",
347
+ "properties": {
348
+ "modelType": {
349
+ "$ref": "#/definitions/ModelType"
350
+ }
351
+ },
352
+ "required": [
353
+ "modelType"
354
+ ]
355
+ },
356
+ "DataSpecificationContent_choice": {
357
+ "oneOf": [
358
+ {
359
+ "$ref": "#/definitions/DataSpecificationIec61360"
360
+ }
361
+ ]
362
+ },
363
+ "DataSpecificationIec61360": {
364
+ "allOf": [
365
+ {
366
+ "$ref": "#/definitions/DataSpecificationContent"
367
+ },
368
+ {
369
+ "properties": {
370
+ "preferredName": {
371
+ "type": "array",
372
+ "items": {
373
+ "$ref": "#/definitions/LangStringPreferredNameTypeIec61360"
374
+ },
375
+ "minItems": 1
376
+ },
377
+ "shortName": {
378
+ "type": "array",
379
+ "items": {
380
+ "$ref": "#/definitions/LangStringShortNameTypeIec61360"
381
+ },
382
+ "minItems": 1
383
+ },
384
+ "unit": {
385
+ "type": "string",
386
+ "minLength": 1,
387
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
388
+ },
389
+ "unitId": {
390
+ "$ref": "#/definitions/Reference"
391
+ },
392
+ "sourceOfDefinition": {
393
+ "type": "string",
394
+ "minLength": 1,
395
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
396
+ },
397
+ "symbol": {
398
+ "type": "string",
399
+ "minLength": 1,
400
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
401
+ },
402
+ "dataType": {
403
+ "$ref": "#/definitions/DataTypeIec61360"
404
+ },
405
+ "definition": {
406
+ "type": "array",
407
+ "items": {
408
+ "$ref": "#/definitions/LangStringDefinitionTypeIec61360"
409
+ },
410
+ "minItems": 1
411
+ },
412
+ "valueFormat": {
413
+ "type": "string",
414
+ "minLength": 1,
415
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
416
+ },
417
+ "valueList": {
418
+ "$ref": "#/definitions/ValueList"
419
+ },
420
+ "value": {
421
+ "type": "string",
422
+ "minLength": 1,
423
+ "maxLength": 2000,
424
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
425
+ },
426
+ "levelType": {
427
+ "$ref": "#/definitions/LevelType"
428
+ },
429
+ "modelType": {
430
+ "const": "DataSpecificationIec61360"
431
+ }
432
+ },
433
+ "required": [
434
+ "preferredName"
435
+ ]
436
+ }
437
+ ]
438
+ },
439
+ "DataTypeDefXsd": {
440
+ "type": "string",
441
+ "enum": [
442
+ "xs:anyURI",
443
+ "xs:base64Binary",
444
+ "xs:boolean",
445
+ "xs:byte",
446
+ "xs:date",
447
+ "xs:dateTime",
448
+ "xs:decimal",
449
+ "xs:double",
450
+ "xs:duration",
451
+ "xs:float",
452
+ "xs:gDay",
453
+ "xs:gMonth",
454
+ "xs:gMonthDay",
455
+ "xs:gYear",
456
+ "xs:gYearMonth",
457
+ "xs:hexBinary",
458
+ "xs:int",
459
+ "xs:integer",
460
+ "xs:long",
461
+ "xs:negativeInteger",
462
+ "xs:nonNegativeInteger",
463
+ "xs:nonPositiveInteger",
464
+ "xs:positiveInteger",
465
+ "xs:short",
466
+ "xs:string",
467
+ "xs:time",
468
+ "xs:unsignedByte",
469
+ "xs:unsignedInt",
470
+ "xs:unsignedLong",
471
+ "xs:unsignedShort"
472
+ ]
473
+ },
474
+ "DataTypeIec61360": {
475
+ "type": "string",
476
+ "enum": [
477
+ "BLOB",
478
+ "BOOLEAN",
479
+ "DATE",
480
+ "FILE",
481
+ "HTML",
482
+ "INTEGER_COUNT",
483
+ "INTEGER_CURRENCY",
484
+ "INTEGER_MEASURE",
485
+ "IRDI",
486
+ "IRI",
487
+ "RATIONAL",
488
+ "RATIONAL_MEASURE",
489
+ "REAL_COUNT",
490
+ "REAL_CURRENCY",
491
+ "REAL_MEASURE",
492
+ "STRING",
493
+ "STRING_TRANSLATABLE",
494
+ "TIME",
495
+ "TIMESTAMP"
496
+ ]
497
+ },
498
+ "Direction": {
499
+ "type": "string",
500
+ "enum": [
501
+ "input",
502
+ "output"
503
+ ]
504
+ },
505
+ "EmbeddedDataSpecification": {
506
+ "type": "object",
507
+ "properties": {
508
+ "dataSpecification": {
509
+ "$ref": "#/definitions/Reference"
510
+ },
511
+ "dataSpecificationContent": {
512
+ "$ref": "#/definitions/DataSpecificationContent_choice"
513
+ }
514
+ },
515
+ "required": [
516
+ "dataSpecification",
517
+ "dataSpecificationContent"
518
+ ]
519
+ },
520
+ "Entity": {
521
+ "allOf": [
522
+ {
523
+ "$ref": "#/definitions/SubmodelElement"
524
+ },
525
+ {
526
+ "properties": {
527
+ "statements": {
528
+ "type": "array",
529
+ "items": {
530
+ "$ref": "#/definitions/SubmodelElement_choice"
531
+ },
532
+ "minItems": 1
533
+ },
534
+ "entityType": {
535
+ "$ref": "#/definitions/EntityType"
536
+ },
537
+ "globalAssetId": {
538
+ "type": "string",
539
+ "minLength": 1,
540
+ "maxLength": 2000,
541
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
542
+ },
543
+ "specificAssetIds": {
544
+ "type": "array",
545
+ "items": {
546
+ "$ref": "#/definitions/SpecificAssetId"
547
+ },
548
+ "minItems": 1
549
+ },
550
+ "modelType": {
551
+ "const": "Entity"
552
+ }
553
+ },
554
+ "required": [
555
+ "entityType"
556
+ ]
557
+ }
558
+ ]
559
+ },
560
+ "EntityType": {
561
+ "type": "string",
562
+ "enum": [
563
+ "CoManagedEntity",
564
+ "SelfManagedEntity"
565
+ ]
566
+ },
567
+ "Environment": {
568
+ "type": "object",
569
+ "properties": {
570
+ "assetAdministrationShells": {
571
+ "type": "array",
572
+ "items": {
573
+ "$ref": "#/definitions/AssetAdministrationShell"
574
+ },
575
+ "minItems": 1
576
+ },
577
+ "submodels": {
578
+ "type": "array",
579
+ "items": {
580
+ "$ref": "#/definitions/Submodel"
581
+ },
582
+ "minItems": 1
583
+ },
584
+ "conceptDescriptions": {
585
+ "type": "array",
586
+ "items": {
587
+ "$ref": "#/definitions/ConceptDescription"
588
+ },
589
+ "minItems": 1
590
+ }
591
+ }
592
+ },
593
+ "EventElement": {
594
+ "$ref": "#/definitions/SubmodelElement"
595
+ },
596
+ "EventPayload": {
597
+ "type": "object",
598
+ "properties": {
599
+ "source": {
600
+ "$ref": "#/definitions/Reference"
601
+ },
602
+ "sourceSemanticId": {
603
+ "$ref": "#/definitions/Reference"
604
+ },
605
+ "observableReference": {
606
+ "$ref": "#/definitions/Reference"
607
+ },
608
+ "observableSemanticId": {
609
+ "$ref": "#/definitions/Reference"
610
+ },
611
+ "topic": {
612
+ "type": "string",
613
+ "minLength": 1,
614
+ "maxLength": 255,
615
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
616
+ },
617
+ "subjectId": {
618
+ "$ref": "#/definitions/Reference"
619
+ },
620
+ "timeStamp": {
621
+ "type": "string",
622
+ "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$"
623
+ },
624
+ "payload": {
625
+ "type": "string",
626
+ "contentEncoding": "base64"
627
+ }
628
+ },
629
+ "required": [
630
+ "source",
631
+ "observableReference",
632
+ "timeStamp"
633
+ ]
634
+ },
635
+ "Extension": {
636
+ "allOf": [
637
+ {
638
+ "$ref": "#/definitions/HasSemantics"
639
+ },
640
+ {
641
+ "properties": {
642
+ "name": {
643
+ "type": "string",
644
+ "minLength": 1,
645
+ "maxLength": 128,
646
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
647
+ },
648
+ "valueType": {
649
+ "$ref": "#/definitions/DataTypeDefXsd"
650
+ },
651
+ "value": {
652
+ "type": "string"
653
+ },
654
+ "refersTo": {
655
+ "type": "array",
656
+ "items": {
657
+ "$ref": "#/definitions/Reference"
658
+ },
659
+ "minItems": 1
660
+ }
661
+ },
662
+ "required": [
663
+ "name"
664
+ ]
665
+ }
666
+ ]
667
+ },
668
+ "File": {
669
+ "allOf": [
670
+ {
671
+ "$ref": "#/definitions/DataElement"
672
+ },
673
+ {
674
+ "properties": {
675
+ "value": {
676
+ "type": "string",
677
+ "minLength": 1,
678
+ "maxLength": 2000,
679
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
680
+ },
681
+ "contentType": {
682
+ "type": "string",
683
+ "allOf": [
684
+ {
685
+ "minLength": 1,
686
+ "maxLength": 100
687
+ },
688
+ {
689
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
690
+ },
691
+ {
692
+ "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$"
693
+ }
694
+ ]
695
+ },
696
+ "modelType": {
697
+ "const": "File"
698
+ }
699
+ },
700
+ "required": [
701
+ "contentType"
702
+ ]
703
+ }
704
+ ]
705
+ },
706
+ "HasDataSpecification": {
707
+ "type": "object",
708
+ "properties": {
709
+ "embeddedDataSpecifications": {
710
+ "type": "array",
711
+ "items": {
712
+ "$ref": "#/definitions/EmbeddedDataSpecification"
713
+ },
714
+ "minItems": 1
715
+ }
716
+ }
717
+ },
718
+ "HasExtensions": {
719
+ "type": "object",
720
+ "properties": {
721
+ "extensions": {
722
+ "type": "array",
723
+ "items": {
724
+ "$ref": "#/definitions/Extension"
725
+ },
726
+ "minItems": 1
727
+ }
728
+ }
729
+ },
730
+ "HasKind": {
731
+ "type": "object",
732
+ "properties": {
733
+ "kind": {
734
+ "$ref": "#/definitions/ModellingKind"
735
+ }
736
+ }
737
+ },
738
+ "HasSemantics": {
739
+ "type": "object",
740
+ "properties": {
741
+ "semanticId": {
742
+ "$ref": "#/definitions/Reference"
743
+ },
744
+ "supplementalSemanticIds": {
745
+ "type": "array",
746
+ "items": {
747
+ "$ref": "#/definitions/Reference"
748
+ },
749
+ "minItems": 1
750
+ }
751
+ }
752
+ },
753
+ "Identifiable": {
754
+ "allOf": [
755
+ {
756
+ "$ref": "#/definitions/Referable"
757
+ },
758
+ {
759
+ "properties": {
760
+ "administration": {
761
+ "$ref": "#/definitions/AdministrativeInformation"
762
+ },
763
+ "id": {
764
+ "type": "string",
765
+ "minLength": 1,
766
+ "maxLength": 2000,
767
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
768
+ }
769
+ },
770
+ "required": [
771
+ "id"
772
+ ]
773
+ }
774
+ ]
775
+ },
776
+ "Key": {
777
+ "type": "object",
778
+ "properties": {
779
+ "type": {
780
+ "$ref": "#/definitions/KeyTypes"
781
+ },
782
+ "value": {
783
+ "type": "string",
784
+ "minLength": 1,
785
+ "maxLength": 2000,
786
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
787
+ }
788
+ },
789
+ "required": [
790
+ "type",
791
+ "value"
792
+ ]
793
+ },
794
+ "KeyTypes": {
795
+ "type": "string",
796
+ "enum": [
797
+ "AnnotatedRelationshipElement",
798
+ "AssetAdministrationShell",
799
+ "BasicEventElement",
800
+ "Blob",
801
+ "Capability",
802
+ "ConceptDescription",
803
+ "DataElement",
804
+ "Entity",
805
+ "EventElement",
806
+ "File",
807
+ "FragmentReference",
808
+ "GlobalReference",
809
+ "Identifiable",
810
+ "MultiLanguageProperty",
811
+ "Operation",
812
+ "Property",
813
+ "Range",
814
+ "Referable",
815
+ "ReferenceElement",
816
+ "RelationshipElement",
817
+ "Submodel",
818
+ "SubmodelElement",
819
+ "SubmodelElementCollection",
820
+ "SubmodelElementList"
821
+ ]
822
+ },
823
+ "LangStringDefinitionTypeIec61360": {
824
+ "allOf": [
825
+ {
826
+ "$ref": "#/definitions/AbstractLangString"
827
+ },
828
+ {
829
+ "properties": {
830
+ "text": {
831
+ "maxLength": 1023
832
+ }
833
+ }
834
+ }
835
+ ]
836
+ },
837
+ "LangStringNameType": {
838
+ "allOf": [
839
+ {
840
+ "$ref": "#/definitions/AbstractLangString"
841
+ },
842
+ {
843
+ "properties": {
844
+ "text": {
845
+ "maxLength": 128
846
+ }
847
+ }
848
+ }
849
+ ]
850
+ },
851
+ "LangStringPreferredNameTypeIec61360": {
852
+ "allOf": [
853
+ {
854
+ "$ref": "#/definitions/AbstractLangString"
855
+ },
856
+ {
857
+ "properties": {
858
+ "text": {
859
+ "maxLength": 255
860
+ }
861
+ }
862
+ }
863
+ ]
864
+ },
865
+ "LangStringShortNameTypeIec61360": {
866
+ "allOf": [
867
+ {
868
+ "$ref": "#/definitions/AbstractLangString"
869
+ },
870
+ {
871
+ "properties": {
872
+ "text": {
873
+ "maxLength": 18
874
+ }
875
+ }
876
+ }
877
+ ]
878
+ },
879
+ "LangStringTextType": {
880
+ "allOf": [
881
+ {
882
+ "$ref": "#/definitions/AbstractLangString"
883
+ },
884
+ {
885
+ "properties": {
886
+ "text": {
887
+ "maxLength": 1023
888
+ }
889
+ }
890
+ }
891
+ ]
892
+ },
893
+ "LevelType": {
894
+ "type": "object",
895
+ "properties": {
896
+ "min": {
897
+ "type": "boolean"
898
+ },
899
+ "nom": {
900
+ "type": "boolean"
901
+ },
902
+ "typ": {
903
+ "type": "boolean"
904
+ },
905
+ "max": {
906
+ "type": "boolean"
907
+ }
908
+ },
909
+ "required": [
910
+ "min",
911
+ "nom",
912
+ "typ",
913
+ "max"
914
+ ]
915
+ },
916
+ "ModelType": {
917
+ "type": "string",
918
+ "enum": [
919
+ "AnnotatedRelationshipElement",
920
+ "AssetAdministrationShell",
921
+ "BasicEventElement",
922
+ "Blob",
923
+ "Capability",
924
+ "ConceptDescription",
925
+ "DataSpecificationIec61360",
926
+ "Entity",
927
+ "File",
928
+ "MultiLanguageProperty",
929
+ "Operation",
930
+ "Property",
931
+ "Range",
932
+ "ReferenceElement",
933
+ "RelationshipElement",
934
+ "Submodel",
935
+ "SubmodelElementCollection",
936
+ "SubmodelElementList"
937
+ ]
938
+ },
939
+ "ModellingKind": {
940
+ "type": "string",
941
+ "enum": [
942
+ "Instance",
943
+ "Template"
944
+ ]
945
+ },
946
+ "MultiLanguageProperty": {
947
+ "allOf": [
948
+ {
949
+ "$ref": "#/definitions/DataElement"
950
+ },
951
+ {
952
+ "properties": {
953
+ "value": {
954
+ "type": "array",
955
+ "items": {
956
+ "$ref": "#/definitions/LangStringTextType"
957
+ },
958
+ "minItems": 1
959
+ },
960
+ "valueId": {
961
+ "$ref": "#/definitions/Reference"
962
+ },
963
+ "modelType": {
964
+ "const": "MultiLanguageProperty"
965
+ }
966
+ }
967
+ }
968
+ ]
969
+ },
970
+ "Operation": {
971
+ "allOf": [
972
+ {
973
+ "$ref": "#/definitions/SubmodelElement"
974
+ },
975
+ {
976
+ "properties": {
977
+ "inputVariables": {
978
+ "type": "array",
979
+ "items": {
980
+ "$ref": "#/definitions/OperationVariable"
981
+ },
982
+ "minItems": 1
983
+ },
984
+ "outputVariables": {
985
+ "type": "array",
986
+ "items": {
987
+ "$ref": "#/definitions/OperationVariable"
988
+ },
989
+ "minItems": 1
990
+ },
991
+ "inoutputVariables": {
992
+ "type": "array",
993
+ "items": {
994
+ "$ref": "#/definitions/OperationVariable"
995
+ },
996
+ "minItems": 1
997
+ },
998
+ "modelType": {
999
+ "const": "Operation"
1000
+ }
1001
+ }
1002
+ }
1003
+ ]
1004
+ },
1005
+ "OperationVariable": {
1006
+ "type": "object",
1007
+ "properties": {
1008
+ "value": {
1009
+ "$ref": "#/definitions/SubmodelElement_choice"
1010
+ }
1011
+ },
1012
+ "required": [
1013
+ "value"
1014
+ ]
1015
+ },
1016
+ "Property": {
1017
+ "allOf": [
1018
+ {
1019
+ "$ref": "#/definitions/DataElement"
1020
+ },
1021
+ {
1022
+ "properties": {
1023
+ "valueType": {
1024
+ "$ref": "#/definitions/DataTypeDefXsd"
1025
+ },
1026
+ "value": {
1027
+ "type": "string"
1028
+ },
1029
+ "valueId": {
1030
+ "$ref": "#/definitions/Reference"
1031
+ },
1032
+ "modelType": {
1033
+ "const": "Property"
1034
+ }
1035
+ },
1036
+ "required": [
1037
+ "valueType"
1038
+ ]
1039
+ }
1040
+ ]
1041
+ },
1042
+ "Qualifiable": {
1043
+ "type": "object",
1044
+ "properties": {
1045
+ "qualifiers": {
1046
+ "type": "array",
1047
+ "items": {
1048
+ "$ref": "#/definitions/Qualifier"
1049
+ },
1050
+ "minItems": 1
1051
+ },
1052
+ "modelType": {
1053
+ "$ref": "#/definitions/ModelType"
1054
+ }
1055
+ },
1056
+ "required": [
1057
+ "modelType"
1058
+ ]
1059
+ },
1060
+ "Qualifier": {
1061
+ "allOf": [
1062
+ {
1063
+ "$ref": "#/definitions/HasSemantics"
1064
+ },
1065
+ {
1066
+ "properties": {
1067
+ "kind": {
1068
+ "$ref": "#/definitions/QualifierKind"
1069
+ },
1070
+ "type": {
1071
+ "type": "string",
1072
+ "minLength": 1,
1073
+ "maxLength": 128,
1074
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1075
+ },
1076
+ "valueType": {
1077
+ "$ref": "#/definitions/DataTypeDefXsd"
1078
+ },
1079
+ "value": {
1080
+ "type": "string"
1081
+ },
1082
+ "valueId": {
1083
+ "$ref": "#/definitions/Reference"
1084
+ }
1085
+ },
1086
+ "required": [
1087
+ "type",
1088
+ "valueType"
1089
+ ]
1090
+ }
1091
+ ]
1092
+ },
1093
+ "QualifierKind": {
1094
+ "type": "string",
1095
+ "enum": [
1096
+ "ConceptQualifier",
1097
+ "TemplateQualifier",
1098
+ "ValueQualifier"
1099
+ ]
1100
+ },
1101
+ "Range": {
1102
+ "allOf": [
1103
+ {
1104
+ "$ref": "#/definitions/DataElement"
1105
+ },
1106
+ {
1107
+ "properties": {
1108
+ "valueType": {
1109
+ "$ref": "#/definitions/DataTypeDefXsd"
1110
+ },
1111
+ "min": {
1112
+ "type": "string"
1113
+ },
1114
+ "max": {
1115
+ "type": "string"
1116
+ },
1117
+ "modelType": {
1118
+ "const": "Range"
1119
+ }
1120
+ },
1121
+ "required": [
1122
+ "valueType"
1123
+ ]
1124
+ }
1125
+ ]
1126
+ },
1127
+ "Referable": {
1128
+ "allOf": [
1129
+ {
1130
+ "$ref": "#/definitions/HasExtensions"
1131
+ },
1132
+ {
1133
+ "properties": {
1134
+ "category": {
1135
+ "type": "string",
1136
+ "minLength": 1,
1137
+ "maxLength": 128,
1138
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1139
+ },
1140
+ "idShort": {
1141
+ "type": "string",
1142
+ "allOf": [
1143
+ {
1144
+ "minLength": 1,
1145
+ "maxLength": 128
1146
+ },
1147
+ {
1148
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1149
+ },
1150
+ {
1151
+ "pattern": "^[a-zA-Z][a-zA-Z0-9_]*$"
1152
+ }
1153
+ ]
1154
+ },
1155
+ "displayName": {
1156
+ "type": "array",
1157
+ "items": {
1158
+ "$ref": "#/definitions/LangStringNameType"
1159
+ },
1160
+ "minItems": 1
1161
+ },
1162
+ "description": {
1163
+ "type": "array",
1164
+ "items": {
1165
+ "$ref": "#/definitions/LangStringTextType"
1166
+ },
1167
+ "minItems": 1
1168
+ },
1169
+ "modelType": {
1170
+ "$ref": "#/definitions/ModelType"
1171
+ }
1172
+ },
1173
+ "required": [
1174
+ "modelType"
1175
+ ]
1176
+ }
1177
+ ]
1178
+ },
1179
+ "Reference": {
1180
+ "type": "object",
1181
+ "properties": {
1182
+ "type": {
1183
+ "$ref": "#/definitions/ReferenceTypes"
1184
+ },
1185
+ "referredSemanticId": {
1186
+ "$ref": "#/definitions/Reference"
1187
+ },
1188
+ "keys": {
1189
+ "type": "array",
1190
+ "items": {
1191
+ "$ref": "#/definitions/Key"
1192
+ },
1193
+ "minItems": 1
1194
+ }
1195
+ },
1196
+ "required": [
1197
+ "type",
1198
+ "keys"
1199
+ ]
1200
+ },
1201
+ "ReferenceElement": {
1202
+ "allOf": [
1203
+ {
1204
+ "$ref": "#/definitions/DataElement"
1205
+ },
1206
+ {
1207
+ "properties": {
1208
+ "value": {
1209
+ "$ref": "#/definitions/Reference"
1210
+ },
1211
+ "modelType": {
1212
+ "const": "ReferenceElement"
1213
+ }
1214
+ }
1215
+ }
1216
+ ]
1217
+ },
1218
+ "ReferenceTypes": {
1219
+ "type": "string",
1220
+ "enum": [
1221
+ "ExternalReference",
1222
+ "ModelReference"
1223
+ ]
1224
+ },
1225
+ "RelationshipElement": {
1226
+ "allOf": [
1227
+ {
1228
+ "$ref": "#/definitions/RelationshipElement_abstract"
1229
+ },
1230
+ {
1231
+ "properties": {
1232
+ "modelType": {
1233
+ "const": "RelationshipElement"
1234
+ }
1235
+ }
1236
+ }
1237
+ ]
1238
+ },
1239
+ "RelationshipElement_abstract": {
1240
+ "allOf": [
1241
+ {
1242
+ "$ref": "#/definitions/SubmodelElement"
1243
+ },
1244
+ {
1245
+ "properties": {
1246
+ "first": {
1247
+ "$ref": "#/definitions/Reference"
1248
+ },
1249
+ "second": {
1250
+ "$ref": "#/definitions/Reference"
1251
+ }
1252
+ },
1253
+ "required": [
1254
+ "first",
1255
+ "second"
1256
+ ]
1257
+ }
1258
+ ]
1259
+ },
1260
+ "RelationshipElement_choice": {
1261
+ "oneOf": [
1262
+ {
1263
+ "$ref": "#/definitions/RelationshipElement"
1264
+ },
1265
+ {
1266
+ "$ref": "#/definitions/AnnotatedRelationshipElement"
1267
+ }
1268
+ ]
1269
+ },
1270
+ "Resource": {
1271
+ "type": "object",
1272
+ "properties": {
1273
+ "path": {
1274
+ "type": "string",
1275
+ "minLength": 1,
1276
+ "maxLength": 2000,
1277
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1278
+ },
1279
+ "contentType": {
1280
+ "type": "string",
1281
+ "allOf": [
1282
+ {
1283
+ "minLength": 1,
1284
+ "maxLength": 100
1285
+ },
1286
+ {
1287
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1288
+ },
1289
+ {
1290
+ "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$"
1291
+ }
1292
+ ]
1293
+ }
1294
+ },
1295
+ "required": [
1296
+ "path"
1297
+ ]
1298
+ },
1299
+ "SpecificAssetId": {
1300
+ "allOf": [
1301
+ {
1302
+ "$ref": "#/definitions/HasSemantics"
1303
+ },
1304
+ {
1305
+ "properties": {
1306
+ "name": {
1307
+ "type": "string",
1308
+ "minLength": 1,
1309
+ "maxLength": 64,
1310
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1311
+ },
1312
+ "value": {
1313
+ "type": "string",
1314
+ "minLength": 1,
1315
+ "maxLength": 2000,
1316
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1317
+ },
1318
+ "externalSubjectId": {
1319
+ "$ref": "#/definitions/Reference"
1320
+ }
1321
+ },
1322
+ "required": [
1323
+ "name",
1324
+ "value"
1325
+ ]
1326
+ }
1327
+ ]
1328
+ },
1329
+ "StateOfEvent": {
1330
+ "type": "string",
1331
+ "enum": [
1332
+ "off",
1333
+ "on"
1334
+ ]
1335
+ },
1336
+ "Submodel": {
1337
+ "allOf": [
1338
+ {
1339
+ "$ref": "#/definitions/Identifiable"
1340
+ },
1341
+ {
1342
+ "$ref": "#/definitions/HasKind"
1343
+ },
1344
+ {
1345
+ "$ref": "#/definitions/HasSemantics"
1346
+ },
1347
+ {
1348
+ "$ref": "#/definitions/Qualifiable"
1349
+ },
1350
+ {
1351
+ "$ref": "#/definitions/HasDataSpecification"
1352
+ },
1353
+ {
1354
+ "properties": {
1355
+ "submodelElements": {
1356
+ "type": "array",
1357
+ "items": {
1358
+ "$ref": "#/definitions/SubmodelElement_choice"
1359
+ },
1360
+ "minItems": 1
1361
+ },
1362
+ "modelType": {
1363
+ "const": "Submodel"
1364
+ }
1365
+ }
1366
+ }
1367
+ ]
1368
+ },
1369
+ "SubmodelElement": {
1370
+ "allOf": [
1371
+ {
1372
+ "$ref": "#/definitions/Referable"
1373
+ },
1374
+ {
1375
+ "$ref": "#/definitions/HasSemantics"
1376
+ },
1377
+ {
1378
+ "$ref": "#/definitions/Qualifiable"
1379
+ },
1380
+ {
1381
+ "$ref": "#/definitions/HasDataSpecification"
1382
+ }
1383
+ ]
1384
+ },
1385
+ "SubmodelElementCollection": {
1386
+ "allOf": [
1387
+ {
1388
+ "$ref": "#/definitions/SubmodelElement"
1389
+ },
1390
+ {
1391
+ "properties": {
1392
+ "value": {
1393
+ "type": "array",
1394
+ "items": {
1395
+ "$ref": "#/definitions/SubmodelElement_choice"
1396
+ },
1397
+ "minItems": 1
1398
+ },
1399
+ "modelType": {
1400
+ "const": "SubmodelElementCollection"
1401
+ }
1402
+ }
1403
+ }
1404
+ ]
1405
+ },
1406
+ "SubmodelElementList": {
1407
+ "allOf": [
1408
+ {
1409
+ "$ref": "#/definitions/SubmodelElement"
1410
+ },
1411
+ {
1412
+ "properties": {
1413
+ "orderRelevant": {
1414
+ "type": "boolean"
1415
+ },
1416
+ "semanticIdListElement": {
1417
+ "$ref": "#/definitions/Reference"
1418
+ },
1419
+ "typeValueListElement": {
1420
+ "$ref": "#/definitions/AasSubmodelElements"
1421
+ },
1422
+ "valueTypeListElement": {
1423
+ "$ref": "#/definitions/DataTypeDefXsd"
1424
+ },
1425
+ "value": {
1426
+ "type": "array",
1427
+ "items": {
1428
+ "$ref": "#/definitions/SubmodelElement_choice"
1429
+ },
1430
+ "minItems": 1
1431
+ },
1432
+ "modelType": {
1433
+ "const": "SubmodelElementList"
1434
+ }
1435
+ },
1436
+ "required": [
1437
+ "typeValueListElement"
1438
+ ]
1439
+ }
1440
+ ]
1441
+ },
1442
+ "SubmodelElement_choice": {
1443
+ "oneOf": [
1444
+ {
1445
+ "$ref": "#/definitions/RelationshipElement"
1446
+ },
1447
+ {
1448
+ "$ref": "#/definitions/AnnotatedRelationshipElement"
1449
+ },
1450
+ {
1451
+ "$ref": "#/definitions/BasicEventElement"
1452
+ },
1453
+ {
1454
+ "$ref": "#/definitions/Blob"
1455
+ },
1456
+ {
1457
+ "$ref": "#/definitions/Capability"
1458
+ },
1459
+ {
1460
+ "$ref": "#/definitions/Entity"
1461
+ },
1462
+ {
1463
+ "$ref": "#/definitions/File"
1464
+ },
1465
+ {
1466
+ "$ref": "#/definitions/MultiLanguageProperty"
1467
+ },
1468
+ {
1469
+ "$ref": "#/definitions/Operation"
1470
+ },
1471
+ {
1472
+ "$ref": "#/definitions/Property"
1473
+ },
1474
+ {
1475
+ "$ref": "#/definitions/Range"
1476
+ },
1477
+ {
1478
+ "$ref": "#/definitions/ReferenceElement"
1479
+ },
1480
+ {
1481
+ "$ref": "#/definitions/SubmodelElementCollection"
1482
+ },
1483
+ {
1484
+ "$ref": "#/definitions/SubmodelElementList"
1485
+ }
1486
+ ]
1487
+ },
1488
+ "ValueList": {
1489
+ "type": "object",
1490
+ "properties": {
1491
+ "valueReferencePairs": {
1492
+ "type": "array",
1493
+ "items": {
1494
+ "$ref": "#/definitions/ValueReferencePair"
1495
+ },
1496
+ "minItems": 1
1497
+ }
1498
+ },
1499
+ "required": [
1500
+ "valueReferencePairs"
1501
+ ]
1502
+ },
1503
+ "ValueReferencePair": {
1504
+ "type": "object",
1505
+ "properties": {
1506
+ "value": {
1507
+ "type": "string",
1508
+ "minLength": 1,
1509
+ "maxLength": 2000,
1510
+ "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$"
1511
+ },
1512
+ "valueId": {
1513
+ "$ref": "#/definitions/Reference"
1514
+ }
1515
+ },
1516
+ "required": [
1517
+ "value",
1518
+ "valueId"
1519
+ ]
1520
+ }
1521
+ }
1522
+ }