diff --git a/vv-report/vv-report_instance.json b/vv-report/vv-report_instance.json new file mode 100644 index 0000000..c155e3b --- /dev/null +++ b/vv-report/vv-report_instance.json @@ -0,0 +1,135 @@ +{ + "@context": { + "gx": "https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#", + "vv-report": "https://github.com/GAIA-X4PLC-AAD/ontology-management-base/tree/main/vv-report/", + "sh": "http://www.w3.org/ns/shacl#", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "skos": "http://www.w3.org/2004/02/skos/core#" + }, + "@id": "did:web:registry.gaia-x.eu:VVReport:.............", + "@type": "vv-report:VVReport", + "vv-report:evaluations": [ + { + "@type": "vv-report:Evaluation", + "vv-report:metric": { + "@type": "vv-report:Metric", + "vv-report:metricTitle": { + "@value": "Model ouput OSI validation", + "@type": "xsd:string" + }, + "vv-report:metricDescription": { + "@value": "Running the model open-loop with a defined OSI SensorView input and checking the compliance of the OSI SensorData output with predefined rules", + "@type": "xsd:string" + }, + "vv-report:metricReference": { + "@value": "https://github.com/OpenSimulationInterface/osi-validation", + "@type": "xsd:anyURI" + } + }, + "vv-report:inputData": [ + { + "@type": "vv-report:InputData", + "vv-report:inputDescription": { + "@value": "The FMU as the system under test", + "@type": "xsd:string" + }, + "vv-report:inputReference": { + "@value": "https://gaiax4plcaad.dlr.de/asset/did:op:gADlioH767wrmg4t6uUTj0wgADlioH534hrhSF", + "@type": "xsd:anyURI" + } + }, + { + "@type": "vv-report:InputData", + "vv-report:inputDescription": { + "@value": "The OSI SensorView that will be used as input to the FMU", + "@type": "xsd:string" + }, + "vv-report:inputReference": { + "@value": "https://github.com/OpenSimulationInterface/osi-validation/raw/refs/heads/master/data/20240221T141700Z_sv_300_2112_10_one_moving_object.osi", + "@type": "xsd:anyURI" + } + } + ], + "vv-report:result": { + "@type": "vv-report:Result", + "vv-report:resultTestPassed": { + "@value": true, + "@type": "xsd:boolean" + }, + "vv-report:resultVerifiable": { + "@value": false, + "@type": "xsd:boolean" + } + }, + "vv-report:metadata": { + "modeling-simulation-spice-credibility-level": { + "@value": 1, + "@type": "xsd:integer" + } + } + }, + { + "@type": "vv-report:Evaluation", + "vv-report:metric": { + "@type": "vv-report:Metric", + "vv-report:metricTitle": { + "@value": "FMU modelDescription check", + "@type": "xsd:string" + }, + "vv-report:metricDescription": { + "@value": "Checking the modelDescription.xml of an FMU: Validation against the XML schema, uniqueness and validity of variable names, completeness and integrity of the ModelStructure, required start values, combinations of causality and variability, units", + "@type": "xsd:string" + }, + "vv-report:metricReference": { + "@value": "https://gaiax4plcaad.dlr.de/asset/did:op:bffa3d7670fc3ac3a49a257de0d4b44fdfbc12d9bd7aa329647cf73018f529f4", + "@type": "xsd:anyURI" + } + }, + "vv-report:inputData": [ + { + "@type": "vv-report:InputData", + "vv-report:inputDescription": { + "@value": "The FMU as the system under test", + "@type": "xsd:string" + }, + "vv-report:inputReference": { + "@value": "https://gaiax4plcaad.dlr.de/asset/did:op:gADlioH767wrmg4t6uUTj0wgADlioH534hrhSF", + "@type": "xsd:string" + } + } + ], + "vv-report:result": { + "@type": "vv-report:Result", + "vv-report:resultTestPassed": { + "@value": false, + "@type": "xsd:boolean" + }, + "vv-report:resultLog": { + "@value": "The attribute timestamp is missing in the SensorData output", + "@type": "xsd:string" + }, + "vv-report:resultVerifiable": { + "@value": true, + "@type": "xsd:boolean" + }, + "vv-report:resultVerification": { + "@type": "vv-report:ResultVerification", + "vv-report:resultVerificationDescription": { + "@value": "The log of the according compute job in the OVAL ecosystem with the given metric and input data", + "@type": "xsd:string" + }, + "vv-report:resultVerificationReference": { + "@value": "https://gaiax4plcaad.dlr.de/history/4HGk8794tHFJDG3kiuvdf2fdGD4q6", + "@type": "xsd:anyURI" + } + } + }, + "vv-report:metadata": { + "modeling-simulation-spice-credibility-level": { + "@value": 1, + "@type": "xsd:integer" + } + } + } + ] +} \ No newline at end of file diff --git a/vv-report/vv-report_ontology.ttl b/vv-report/vv-report_ontology.ttl new file mode 100644 index 0000000..93a1c2d --- /dev/null +++ b/vv-report/vv-report_ontology.ttl @@ -0,0 +1,35 @@ +@prefix dcterms: . +@prefix vv-report: . +@prefix owl: . +@prefix rdfs: . +@prefix xsd: . +@prefix gx: . + +vv-report: a owl:Ontology ; + rdfs:label "ontology definition for a verification & validation report"@en ; + dcterms:contributor "Maurizio Ahmann (localhorst87)" ; + owl:versionInfo "0.1" . + +vv-report:VVReport a owl:Class ; + rdfs:label "Class definition for a verification & validation report" ; + rdfs:comment "Attributes for a verification & validation report"@en . + +vv-report:EvaluationShape a owl:Class ; + rdfs:label "Class definition for an evaluation element" ; + rdfs:comment "Attributes for an evaluation element"@en . + +vv-report:MetricShape a owl:Class ; + rdfs:label "Class definition for definition of a quality metric" ; + rdfs:comment "Attributes for definition of a quality metric"@en . + +vv-report:InputDataShape a owl:Class ; + rdfs:label "Class definition for definition of an input data element" ; + rdfs:comment "Attributes for definition of an input data element"@en . + +vv-report:ResultShape a owl:Class ; + rdfs:label "Class definition for evaluation results" ; + rdfs:comment "Attributes for evaluation results"@en . + +vv-report:ResultVerificationShape a owl:Class ; + rdfs:label "Class definition for the verification of the result by a third party" ; + rdfs:comment "Attributes for the verification of the result by a third party"@en . \ No newline at end of file diff --git a/vv-report/vv-report_shacl.ttl b/vv-report/vv-report_shacl.ttl new file mode 100644 index 0000000..1d14417 --- /dev/null +++ b/vv-report/vv-report_shacl.ttl @@ -0,0 +1,130 @@ +@prefix sh: . +@prefix skos: . +@prefix xsd: . +@prefix vv-report: . + +vv-report:vvReportShape a sh:NodeShape ; + sh:property [ sh:path vv-report:evaluations ; + sh:node vv-report:EvaluationShape ; + sh:description "A list of all measures carried out on the subject under test"@en ; + sh:minCount 1 ; + sh:order 0 ] ; + sh:targetClass vv-report:VVReport . + +vv-report:EvaluationShape a sh:NodeShape ; + sh:property [ sh:path vv-report:metric ; + sh:node vv-report:MetricShape ; + sh:description "The definition of the quality metric that has been used in this evaluation item"@en ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 0 ], + [ sh:path vv-report:inputData ; + sh:node vv-report:InputDataShape ; + sh:description "The definition of a dataset that has been used as input to the quality metric"@en ; + sh:minCount 0 ; + sh:order 1 ], + [ sh:path vv-report:result ; + sh:node vv-report:ResultShape ; + sh:description "The summary of the result of this evaluation item"@en ; + sh:minCount 1 ; + sh:maxCount 1 ], + [ sh:path vv-report:metadata ; + sh:node vv-report:MetadataShape ; + sh:description "Additional data (e.g. V&V-concept specific data) to be used to describe the evaluation"@en ; + sh:minCount 0 ] ; + sh:targetClass vv-report:Evaluation . + +vv-report:MetricShape a sh:NodeShape ; + sh:property [ skos:example "Model output OSI validation" ; + sh:path vv-report:metricTitle ; + sh:name "metric title"@en ; + sh:description "A meaningful name of this metric"@en ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 0 ], + [ skos:example "Running the model open-loop with a defined OSI SensorView input and checking the compliance of the OSI SensorData output with predefined rules." ; + sh:path vv-report:metricDescription ; + sh:name "metric description"@en ; + sh:description "A short description of what is tested within this quality metric."@en ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 1 ], + [ skos:example "did:op:bffa3d7670fc3ac3a49a257de0d4b44fdfbc12d9bd7aa329647cf73018f529f4" ; + sh:path vv-report:metricReference ; + sh:name "metric reference"@en ; + sh:description "A unique reference or identifier to identify the metric, e.g. an URL"@en ; + sh:datatype xsd:anyURI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 2 ] ; + + sh:targetClass vv-report:Metric . + +vv-report:InputDataShape a sh:NodeShape ; + sh:property [ skos:example "The OSI SensorView message" ; + sh:path vv-report:inputDescription ; + sh:name "data description"@en ; + sh:description "A short description for interpreting this input data element"@en ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 0 ], + [ skos:example "https://github.com/OpenSimulationInterface/osi-validation/raw/refs/heads/master/data/20240221T141700Z_sv_300_2112_10_one_moving_object.osi" ; + sh:path vv-report:inputReference ; + sh:name "data reference"@en ; + sh:description "A unique reference or identifier to identify the utilized input data element"@en ; + sh:datatype xsd:anyURI ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 1 ] ; + sh:targetClass vv-report:InputData . + +vv-report:ResultShape a sh:NodeShape ; + sh:property [ skos:example "false" ; + sh:path vv-report:resultTestPassed ; + sh:name "test passed"@en ; + sh:description "Statement if the test has been passed or not"@en ; + sh:datatype xsd:boolean ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 0 ], + [ skos:example "The attribute 'timestamp' is missing in the SensorData output" ; + sh:path vv-report:resultLog ; + sh:name "log"@en ; + sh:description "Additional information about the test result, e.g., why it has failed" ; + sh:datatype xsd:string ; + sh:minCount 0 ], + [ skos:example "true" ; + sh:path vv-report:resultVerifiable ; + sh:name "verifiable"@en ; + sh:description "Information if the result can be verified by a third party" ; + sh:datatype xsd:boolean ; + sh:minCount 1 ; + sh:maxCount 1 ], + [ sh:path vv-report:resultVerification ; + sh:node vv-report:ResultVerificationShape ; + sh:description "The necessary attributes to carry out verification of the result by a third party"@en ; + sh:minCount 0 ; + sh:maxCount 1 ], + [ sh:path vv-report:EvaluationMetadata ; + sh:description "Any additional data, e.g. v&v concept specific information" ] ; + sh:targetClass vv-report:Result . + +vv-report:ResultVerificationShape a sh:NodeShape ; + sh:property [ skos:example "Result can be verified via the OVAL ecosystem (based on the OCEAN protocol) as compute job" ; + sh:path vv-report:resultVerificationDescription ; + sh:name "verification method description"@en ; + sh:description "A short description of how the result can be verified with the given reference" ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:order 0 ], + [ skos:example "https://gaiax4plcaad.dlr.de/history/4HGk8794tHFJDG3kiuvdf2fdGD4q6" ; + sh:path vv-report:resultVerificationReference ; + sh:name "verification reference"@en ; + sh:description "A reference used to verify the result of this evalation"@en ; + sh:datatype xsd:anyURI ; + sh:minCount 1 ; + sh:order 1 ] ; + sh:targetClass vv-report:ResultVerification . \ No newline at end of file