This repository was archived by the owner on Feb 12, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathsimulation-model.shacl.ttl
More file actions
421 lines (404 loc) · 19.4 KB
/
simulation-model.shacl.ttl
File metadata and controls
421 lines (404 loc) · 19.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
@prefix simulation-model: <https://w3id.org/gaia-x4plcaad/ontologies/simulation-model/v2/> .
@prefix envited-x: <https://w3id.org/ascs-ev/envited-x/envited-x/v3/> .
@prefix manifest: <https://w3id.org/ascs-ev/envited-x/manifest/v5/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
# The Shapes Graph URI appends "/shapes" to the Ontology URI
<https://w3id.org/gaia-x4plcaad/ontologies/simulation-model/v2/shapes>
a owl:Ontology ;
# The Shapes Graph must import the Domain Ontology
owl:imports <https://w3id.org/gaia-x4plcaad/ontologies/simulation-model/v2> .
simulation-model:SimulationModelShape a sh:NodeShape ;
sh:closed false ;
sh:targetClass simulation-model:SimulationModel ;
# 1) hasSoftwareResource
sh:property [
sh:path simulation-model:hasSoftwareResource ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:or (
[ sh:node envited-x:SoftwareResourceBaseShape ]
[ sh:and ( manifest:LinkShape envited-x:ExtendedLinkShape ) ]
) ;
sh:message "Each SimulationModel must have exactly one associated SoftwareResourceBase (either inline or a valid manifest:Link)."@en ;
] ;
# 2) hasDomainSpecification
sh:property [
sh:path simulation-model:hasDomainSpecification ;
sh:node simulation-model:DomainSpecificationShape ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:message "Each SimulationModel must have one associated DomainSpecification with content, format, quality, quantity, and data source."@en ;
] ;
# 3) hasManifest
sh:property [
sh:path simulation-model:hasManifest ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:or (
[ sh:and ( manifest:ManifestShape envited-x:ManifestShape ) ]
[ sh:node envited-x:ManifestLinkReferenceShape ]
) ;
sh:message "Each SimulationModel must have exactly one manifest."@en ;
] .
# DomainSpecification shape
simulation-model:DomainSpecificationShape a sh:NodeShape ;
sh:closed false ;
sh:property [
sh:path simulation-model:hasContent ;
sh:node simulation-model:ContentShape ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:message "Each DomainSpecification must have one Content facet."@en ;
] ;
sh:property [
sh:path simulation-model:hasFormat ;
sh:node simulation-model:FormatShape ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:message "Each DomainSpecification must have one Format facet."@en ;
] ;
sh:property [
sh:path simulation-model:hasQuality ;
sh:node simulation-model:QualityShape ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:message "Each DomainSpecification must have one Quality facet."@en ;
] ;
sh:property [
sh:path simulation-model:hasQuantity ;
sh:node simulation-model:QuantityShape ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:message "Each DomainSpecification must have one Quantity facet."@en ;
] ;
sh:property [
sh:path simulation-model:hasDataSource ;
sh:node simulation-model:DataSourceShape ;
sh:minCount 1 ;
sh:maxCount 1 ;
sh:message "Each DomainSpecification must have one DataSource facet."@en ;
] .
# Format shape
simulation-model:FormatShape a sh:NodeShape ;
sh:closed false ;
sh:property [ skos:example "OSMP 1.0/OSI 3.1.2/FMI 2.0" ;
sh:datatype xsd:string ;
sh:description "Format of model implementation, e.g. OSMP 1.0/OSI 3.1.2/FMI 2.0"@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelImplementationFormat failed!"@en ;
sh:name "modelImplementationFormat"@en ;
sh:order 0 ;
sh:path simulation-model:modelImplementationFormat ],
[ skos:example "Object-list input contains accurate bounding box values" ;
sh:datatype xsd:string ;
sh:description "Preconditions for model validity, e.g. things that the rest of the simulation should provide the model with so that the model can work within its foreseen validity range."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelPreconditions failed!"@en ;
sh:name "modelPreconditions"@en ;
sh:order 1 ;
sh:path simulation-model:modelPreconditions ],
[ skos:example "Model needs Windows 10 1809 or newer with nVidia Drivers version 389.12 or newer and OpenCL 2.0 capable GPU" ;
sh:datatype xsd:string ;
sh:description "Implementation requirements."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelImplementationPreconditions failed!"@en ;
sh:name "modelImplementationPreconditions"@en ;
sh:order 2 ;
sh:path simulation-model:modelImplementationPreconditions ],
[ skos:example "http://mywebsite.de/Requirements.pdf" ;
sh:datatype xsd:anyURI ;
sh:description "Provide a link to requirements and considerations for operating the model."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelIntegrationRequirements failed!"@en ;
sh:name "modelIntegrationRequirements"@en ;
sh:order 3 ;
sh:path simulation-model:modelIntegrationRequirements ] ;
sh:targetClass simulation-model:Format .
# Content shape
simulation-model:ContentShape a sh:NodeShape ;
sh:closed false ;
sh:property [ skos:example "traffic participant" ;
sh:datatype xsd:string ;
sh:in ("traffic participant" "sensor" "vehicle dynamic" "actuator") ;
sh:description "Type of model. This entry defines what domain specific entries are relevant and is mandatory"@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelType failed!"@en ;
sh:name "modelType"@en ;
sh:order 0 ;
sh:path simulation-model:modelType ],
[ skos:example "OpenMSL Project Group" ;
sh:datatype xsd:string ;
sh:description "Provider of the Model, no specific convention defined, it can be a company, a department a person or a combination of those."@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelManufacturer failed!"@en ;
sh:name "modelManufacturer"@en ;
sh:order 1 ;
sh:path simulation-model:modelManufacturer ],
[ skos:example "Sensor Family X4000" ;
sh:datatype xsd:string ;
sh:description "Model Family Name, in some case a model is a concrete instance of a more generic model belonging to a family. In this case, the family can be mentioned here."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelFamily failed!"@en ;
sh:name "modelFamily"@en ;
sh:order 2 ;
sh:path simulation-model:modelFamily ],
[ skos:example "X4101" ;
sh:datatype xsd:string ;
sh:description "Model Name. This can be the name of the model file or the name of the model as it is called"@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelName failed!"@en ;
sh:name "modelName"@en ;
sh:order 3 ;
sh:path simulation-model:modelName ],
[ skos:example "1.2.2" ;
sh:datatype xsd:string ;
sh:description "Model Version, no specific convention defined"@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelVersion failed!"@en ;
sh:name "modelVersion"@en ;
sh:order 4 ;
sh:path simulation-model:modelVersion ],
[ skos:example "2009-06-30T18:30:00+02:00" ;
sh:datatype xsd:dateTime ;
sh:description "Model Release Date in ISO8601"@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelReleasedate failed!"@en ;
sh:name "modelReleasedate"@en ;
sh:order 5 ;
sh:path simulation-model:modelReleasedate ],
[ skos:example "In Development" ;
skos:example "Released" ;
skos:example "Decommissioned" ;
sh:datatype xsd:string ;
sh:description "The status of the model version released in the life cycle of the model."@en ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:message "Validation of modelReleasestatus failed!"@en ;
sh:name "modelReleasestatus"@en ;
sh:order 6 ;
sh:path simulation-model:modelReleasestatus ],
[ skos:example "7ae4-210f-dead-beef-042" ;
sh:datatype xsd:string ;
sh:description "For FMU-based models, this should be the GUID of the FMU."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelGuid failed!"@en ;
sh:name "modelGuid"@en ;
sh:order 7 ;
sh:path simulation-model:modelGuid ],
[ skos:example "HAD function validation in OEM environment at object-list level" ;
sh:datatype xsd:string ;
sh:description "Purpose for which the model has been built/validated."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelPurpose failed!"@en ;
sh:name "modelPurpose"@en ;
sh:order 8 ;
sh:path simulation-model:modelPurpose ],
[ skos:example "model is purely object-list driven, weather effects are not modelled." ;
sh:datatype xsd:string ;
sh:description "Description of the modelling approach taken."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelModellingApproach failed!"@en ;
sh:name "modelModellingApproach"@en ;
sh:order 9 ;
sh:path simulation-model:modelModellingApproach ],
[ skos:example "Sample company" ;
sh:datatype xsd:string ;
sh:description "Company Name manufacturing the sensor. Alternatively, If the model does not relate to a particular manufacturer, mention it here."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorManufacturer failed!"@en ;
sh:name "sensorManufacturer"@en ;
sh:order 10 ;
sh:path simulation-model:sensorManufacturer ],
[ skos:example "ARS5XX" ;
sh:datatype xsd:string ;
sh:description "Actual Sensor HW Family Name."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorFamily failed!"@en ;
sh:name "sensorFamily "@en ;
sh:order 11 ;
sh:path simulation-model:sensorFamily ],
[ skos:example "ARS548" ;
sh:datatype xsd:string ;
sh:description "Actual Sensor HW Name."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorName failed!"@en ;
sh:name "sensorName"@en ;
sh:order 12 ;
sh:path simulation-model:sensorName ],
[ skos:example "1.0.0" ;
sh:datatype xsd:string ;
sh:description "Actual Sensor HW Version."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorVersion failed!"@en ;
sh:name "sensorVersion "@en ;
sh:order 13 ;
sh:path simulation-model:sensorVersion ],
[ skos:example "A123" ;
sh:datatype xsd:string ;
sh:description "Partnumber at Manufacturer."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorManufacturerPartnumber failed!"@en ;
sh:name "sensorManufacturerPartnumber"@en ;
sh:order 14 ;
sh:path simulation-model:sensorManufacturerPartnumber ],
[ skos:example "object-output" ;
sh:datatype xsd:string ;
sh:description "Type of Output of Sensor."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorType failed!"@en ;
sh:name "sensorType"@en ;
sh:order 15 ;
sh:path simulation-model:sensorType ],
[ skos:example "radar" ;
skos:example "camera" ;
skos:example "lidar" ;
sh:datatype xsd:string ;
sh:description "HW Technology of sensor."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorTechnology failed!"@en ;
sh:name "sensorTechnology"@en ;
sh:order 16 ;
sh:path simulation-model:sensorTechnology ],
[ skos:example "long-range" ;
skos:example "front" ;
skos:example "rear" ;
skos:example "corner" ;
skos:example "side" ;
sh:datatype xsd:string ;
sh:description "HW Technology variant of sensor."@en ;
sh:maxCount 1 ;
sh:message "Validation of sensorTechnologyVariant failed!"@en ;
sh:name "sensorTechnologyVariant"@en ;
sh:order 17 ;
sh:path simulation-model:sensorTechnologyVariant ] ;
sh:targetClass simulation-model:Content .
# Quantity shape
simulation-model:QuantityShape a sh:NodeShape ;
sh:closed false ;
sh:property [ skos:example "800" ;
sh:datatype xsd:integer ;
sh:minInclusive 0 ;
sh:description "The maximum number of detections."@en ;
sh:maxCount 1 ;
sh:message "Validation of maxDetections failed!"@en ;
sh:minCount 0 ;
sh:name "Maximum Number Detections"@en ;
sh:order 0 ;
sh:path simulation-model:maxDetections ],
[ skos:example "50" ;
sh:datatype xsd:integer ;
sh:minInclusive 0 ;
sh:description "The maximum number of objects."@en ;
sh:maxCount 1 ;
sh:message "Validation of maxObjects failed!"@en ;
sh:minCount 0 ;
sh:name "Maximum Number Detected Objects"@en ;
sh:order 1 ;
sh:path simulation-model:maxObjects ] ;
sh:targetClass simulation-model:Quantity .
# Quality shape
simulation-model:QualityShape a sh:NodeShape ;
sh:closed false ;
sh:property [ skos:example "This delivery is a pre-release and the model is intended to be used for checking the interfaces of the simulation toolchain. The model is not validated; thus it is not intended to be used for validation or verification of any sensor, especially not for ARS810 or ARS840. In particular, the existence of this model shall not be used to imply the existence of sensors ARS810 nor ARS840 nor their properties. This delivery is not developed according to process defined in ISO 26262 (Standard for Functional Safety)." ;
sh:datatype xsd:string ;
sh:description "Description of all limitations that apply to the model and its usage."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelLimitations failed!"@en ;
sh:minCount 0 ;
sh:name "modelLimitations"@en ;
sh:order 0 ;
sh:path simulation-model:modelLimitations ],
[ skos:example "Sensor model is only accurate up to sensor/vehicle speeds of less than 150km/h" ;
sh:datatype xsd:string ;
sh:description "Restrictions on the model validity, typically on quantifiable aspects."@en ;
sh:maxCount 1 ;
sh:message "Validation of model.vValidityRange failed!"@en ;
sh:minCount 0 ;
sh:name "modelValidityRange"@en ;
sh:order 1 ;
sh:path simulation-model:modelValidityRange ],
[ skos:example "true" ;
sh:datatype xsd:boolean ;
sh:description "Is the model verified"@en ;
sh:maxCount 1 ;
sh:message "Validation of modelVerificationStatus failed!"@en ;
sh:minCount 1 ;
sh:name "modelVerificationStatus"@en ;
sh:order 2 ;
sh:path simulation-model:modelVerificationStatus ],
[ skos:example "http://mywebsite.de/VerficiationReport.pdf" ;
sh:datatype xsd:anyURI ;
sh:description "Link to model verification report, if any exists"@en ;
sh:maxCount 1 ;
sh:message "Validation of modelVerificationReport failed!"@en ;
sh:minCount 0 ;
sh:name "modelVerificationReport"@en ;
sh:order 3 ;
sh:path simulation-model:modelVerificationReport ],
[ skos:example "true" ;
sh:datatype xsd:boolean ;
sh:description "Is the model validated, according to the validation concept"@en ;
sh:maxCount 1 ;
sh:message "Validation of modelValidationStatus failed!"@en ;
sh:minCount 1 ;
sh:name "modelValidationStatus"@en ;
sh:order 4 ;
sh:path simulation-model:modelValidationStatus ],
[ skos:example "PMSF FMIBench 1.9.9.4 using osi3test 0.6.0 on Windows 10 1809" ;
sh:datatype xsd:string ;
sh:description "Specification of simulation environment used for model validation."@en ;
sh:message "Validation of modelValidationPlatform failed!"@en ;
sh:minCount 0 ;
sh:name "modelValidationPlatform"@en ;
sh:order 5 ;
sh:path simulation-model:modelValidationPlatform ],
[ skos:example "did:web:registry.gaia-x.eu:Validation:T9rkdS19poUrbbAEk3rXMqZ3hzVezwDrrxaf" ;
sh:datatype xsd:anyURI ;
sh:description "Link to model validation report, if any exists"@en ;
sh:maxCount 1 ;
sh:message "Validation of modelValidationReport failed!"@en ;
sh:minCount 0 ;
sh:name "modelValidationReport"@en ;
sh:order 6 ;
sh:path simulation-model:modelValidationReport ],
[ skos:example "http://mywebsite.de/ValidationConcept.md" ;
sh:datatype xsd:anyURI ;
sh:description "Link to document detailing the validation concepts used for model validation, if any exists"@en ;
sh:maxCount 1 ;
sh:message "Validation of model.validation.concept failed!"@en ;
sh:minCount 0 ;
sh:name "modelValidationConcept"@en ;
sh:order 7 ;
sh:path simulation-model:modelValidationConcept ],
[ skos:example "Potentially real-time capable, if less than 100 objects in object list input at any one time" ;
sh:datatype xsd:string ;
sh:description "Description of model performance characteristics."@en ;
sh:maxCount 1 ;
sh:message "Validation of modelImplementationPerformanceCharacteristics failed!"@en ;
sh:minCount 0 ;
sh:name "modelImplementationPerformanceCharacteristics"@en ;
sh:order 8 ;
sh:path simulation-model:modelImplementationPerformanceCharacteristics ] ;
sh:targetClass simulation-model:Quality .
# DataSource shape
simulation-model:DataSourceShape a sh:NodeShape ;
sh:closed false ;
sh:property [ skos:example "http://mywebsite.de/ModelSpecification.pdf" ;
sh:datatype xsd:anyURI ;
sh:description "Provide a link to the model specification document"@en ;
sh:maxCount 1 ;
sh:message "Validation of modelSpecification failed!"@en ;
sh:minCount 0 ;
sh:name "modelSpecification"@en ;
sh:order 0 ;
sh:path simulation-model:modelSpecification ] ;
sh:targetClass simulation-model:DataSource .