@prefix bont: <http://ontology.bonsai.uno/core#> .
@prefix dqf: <https://ce-rise-models.codeberg.page/data-quality-framework/> .
@prefix mt: <https://ce-rise-models.codeberg.page/metrological-traceability/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix ps: <https://ce-rise-models.codeberg.page/product-system/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema1: <http://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix uq: <https://ce-rise-models.codeberg.page/uncertainty-quantification/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

dqf:dataQualityFramework a sh:NodeShape ;
    rdfs:comment "Root container for data quality assessments and supporting records" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class dqf:remediationAction ;
            sh:description "Remediation, mitigation, containment, or improvement actions" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path dqf:remediation_actions ],
        [ sh:class dqf:qualityCriterionAssessment ;
            sh:description "Criterion-level pedigree assessments" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 3 ;
            sh:path dqf:criterion_assessments ],
        [ sh:class dqf:dataQualityAssessment ;
            sh:description "Reusable data quality assessments that can be embedded or referenced by other CE-RISE data models" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path dqf:data_quality_assessments ],
        [ sh:class dqf:evidenceReference ;
            sh:description "Evidence records referenced by the data quality framework" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path dqf:data_quality_evidence_references ],
        [ sh:class dqf:uncertaintyTranslation ;
            sh:description "Translations from data quality scores to uncertainty information" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 8 ;
            sh:path dqf:uncertainty_translations ],
        [ sh:class dqf:qualityMetric ;
            sh:description "Quality metrics or diagnostic metrics used by profiles, criteria, or diagnostics" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 4 ;
            sh:path dqf:quality_metrics ],
        [ sh:class dqf:dataCharacterization ;
            sh:description "Data characterization records available for reuse by one or more assessments" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 1 ;
            sh:path dqf:data_characterizations ],
        [ sh:class dqf:dataQualityProfile ;
            sh:description "Data quality profiles available for reuse by one or more assessments" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 2 ;
            sh:path dqf:data_quality_profiles ],
        [ sh:class dqf:qualityAggregation ;
            sh:description "Aggregations of data quality assessments, profiles, criteria, metrics, or uncertainty translations" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path dqf:quality_aggregations ],
        [ sh:class dqf:qualityIssue ;
            sh:description "Data quality issues, limitations, anomalies, or risks" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path dqf:quality_issues ],
        [ sh:class dqf:qualityDiagnostic ;
            sh:description "Data-quality diagnostic runs, checks, or analyses" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path dqf:quality_diagnostics ] ;
    sh:targetClass dqf:dataQualityFramework .

mt:metrologicalTraceability a sh:NodeShape ;
    rdfs:comment "Root container for metrological traceability statements and supporting records" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class mt:comparabilityAssessment ;
            sh:description "Assessments of whether traceability statements support meaningful comparison" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path mt:comparability_assessments ],
        [ sh:class mt:referenceMaterial ;
            sh:description "Reference materials and certified reference materials used in traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path mt:reference_materials ],
        [ sh:class mt:evidenceReference ;
            sh:description "Evidence records referenced by the metrological traceability model" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 11 ;
            sh:path mt:traceability_evidence_references ],
        [ sh:class mt:traceabilityChain ;
            sh:description "Traceability chains or networks available for reuse by one or more traceability statements" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 1 ;
            sh:path mt:traceability_chains ],
        [ sh:class mt:measurementStandard ;
            sh:description "Measurement standards, artefacts, instruments, and realizations used in traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 8 ;
            sh:path mt:measurement_standards ],
        [ sh:class mt:referenceEntity ;
            sh:description "Reference entities, standards, methods, instruments, datasets, or organizations used in traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 3 ;
            sh:path mt:reference_entities ],
        [ sh:class mt:calibrationRecord ;
            sh:description "Calibration, comparison, verification, or check records that support traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 4 ;
            sh:path mt:calibration_records ],
        [ sh:class mt:competenceRecord ;
            sh:description "Competence, accreditation, validation, or quality system records supporting traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path mt:competence_records ],
        [ sh:class mt:traceabilityBasis ;
            sh:description "Reference bases used to establish metrological traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 2 ;
            sh:path mt:traceability_bases ],
        [ sh:class mt:traceabilityStatement ;
            sh:description "Reusable traceability statements that can be embedded or referenced by other CE-RISE data models" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path mt:traceability_statements ],
        [ sh:class mt:boundaryDefinition ;
            sh:description "Boundary, goal-and-scope, scenario, or model definitions used as traceability references" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path mt:boundary_definitions ],
        [ sh:class mt:measurementProcedure ;
            sh:description "Measurement, calculation, sampling, calibration, analytical, or modelling procedures used for traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path mt:measurement_procedures ] ;
    sh:targetClass mt:metrologicalTraceability .

ps:ProductSystem a sh:NodeShape ;
    rdfs:comment "A versioned foreground, background, or hybrid product system that can be reused as a life cycle inventory input" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Description of the represented product system and intended inventory use" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:product_system_description ],
        [ sh:class bont:Activity ;
            sh:description "Activities included in the product system" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path ps:activities ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this product system" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:product_system_identifier ],
        [ sh:class bont:ActivityType ;
            sh:description "Activity types used to classify product-system activities" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path ps:activity_types ],
        [ sh:class schema1:Place ;
            sh:description "Locations used by activities, datasets, or other product-system records" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path ps:locations ],
        [ sh:class skos:Concept ;
            sh:description "Lifecycle-stage concepts used to partition activities or flows" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 11 ;
            sh:path ps:lifecycle_stages ],
        [ sh:class bont:ReferenceUnit ;
            sh:description "Reference flow specification used to scale or consume this product system" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path ps:reference_flow_specification ],
        [ sh:description "Whether this product system represents foreground, background, hybrid, or other inventory scope" ;
            sh:in ( "FOREGROUND" "BACKGROUND" "HYBRID" "OTHER" ) ;
            sh:maxCount 1 ;
            sh:order 4 ;
            sh:path ps:product_system_scope ],
        [ sh:datatype xsd:string ;
            sh:description "Name or label for this product system" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:product_system_name ],
        [ sh:class mt:traceabilityStatement ;
            sh:description "Optional metrological traceability statements for system scope, reference flows, source data, units, or inventory calculation chains" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 13 ;
            sh:path ps:product_system_metrological_traceability_statements ],
        [ sh:class bont:FlowObject ;
            sh:description "Product, material, waste, elementary, service, or other flow objects used by flows" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 8 ;
            sh:path ps:flow_objects ],
        [ sh:class prov:Entity ;
            sh:description "Versioned CE-RISE, external-model, dataset, or generated-artifact records used to build this product system" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 12 ;
            sh:path ps:source_record_references ],
        [ sh:datatype xsd:string ;
            sh:description "Version, release tag, or revision of this product system" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:product_system_version ],
        [ sh:class bont:Flow ;
            sh:description "Input and output flows included in the product system" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path ps:flows ],
        [ sh:class dqf:dataQualityAssessment ;
            sh:description "Optional data quality assessments for product-system completeness, provenance, representativeness, interoperability, or fitness for purpose" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 14 ;
            sh:path ps:product_system_data_quality_assessments ] ;
    sh:targetClass ps:ProductSystem .

uq:uncertaintyQuantification a sh:NodeShape ;
    rdfs:comment "Root container for uncertainty quantification statements and supporting records" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class uq:uncertaintyBudget ;
            sh:description "Uncertainty budgets available for reuse by one or more uncertainty statements" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 1 ;
            sh:path uq:uncertainty_budgets ],
        [ sh:class uq:evidenceReference ;
            sh:description "Evidence records referenced by the uncertainty model" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path uq:uncertainty_evidence_references ],
        [ sh:class uq:comparisonAssessment ;
            sh:description "Assessments of whether uncertainty statements support meaningful comparison" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 3 ;
            sh:path uq:comparison_assessments ],
        [ sh:class uq:uncertaintyStatement ;
            sh:description "Reusable uncertainty statements that can be embedded or referenced by other CE-RISE data models" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 0 ;
            sh:path uq:uncertainty_statements ],
        [ sh:class uq:methodReference ;
            sh:description "Methods, standards, and protocols referenced by the uncertainty model" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 4 ;
            sh:path uq:method_references ],
        [ sh:class uq:propagationAnalysis ;
            sh:description "Propagation analyses available for reuse by one or more uncertainty statements" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 2 ;
            sh:path uq:propagation_analyses ] ;
    sh:targetClass uq:uncertaintyQuantification .

bont:Activity a sh:NodeShape ;
    rdfs:comment "A foreground or background transformation, transport, market, treatment, service, or other activity in a product system" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Name or label of the activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:activity_name ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the location associated with this activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:location_reference ],
        [ sh:description "Whether the activity is foreground, background, mixed, or otherwise declared" ;
            sh:in ( "FOREGROUND" "BACKGROUND" "HYBRID" "OTHER" ) ;
            sh:maxCount 1 ;
            sh:order 8 ;
            sh:path ps:activity_origin ],
        [ sh:class time:TemporalEntity ;
            sh:description "Optional temporal scope represented by this activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path ps:temporal_scope ],
        [ sh:class dqf:dataQualityAssessment ;
            sh:description "Optional data quality assessments for activity source data, temporal coverage, geographic coverage, completeness, or representativeness" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 11 ;
            sh:path ps:activity_data_quality_assessments ],
        [ sh:datatype xsd:string ;
            sh:description "Description of the activity, process, service, or transformation represented" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:activity_description ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the flow that determines the activity level" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path ps:determining_flow_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the associated activity type" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:activity_type_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the lifecycle stage to which this activity is assigned" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path ps:lifecycle_stage_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this activity within the product system or its source dataset" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:activity_identifier ],
        [ sh:class mt:traceabilityStatement ;
            sh:description "Optional metrological traceability statements for activity scope, reference data, time, location, or calculation basis" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path ps:activity_metrological_traceability_statements ],
        [ sh:class prov:Entity ;
            sh:description "Versioned source records, datasets, or artifacts from which this activity was derived" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path ps:source_record_references ] ;
    sh:targetClass bont:Activity .

bont:ActivityType a sh:NodeShape ;
    rdfs:comment "A type or classification of activity, such as production, transport, market, treatment, or service" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Resolvable URI for an external activity-type concept, including a BONSAI classification URI" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ps:activity_type_uri ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this activity type" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:activity_type_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "Name or label of this activity type" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:activity_type_name ],
        [ sh:class skos:Concept ;
            sh:description "External classifications, codes, or concepts assigned to this activity type" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 3 ;
            sh:path ps:activity_type_classifications ] ;
    sh:targetClass bont:ActivityType .

bont:Flow a sh:NodeShape ;
    rdfs:comment "A quantified product, waste, elementary, or other exchange that is input to or output from an activity" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Optional identifier or URI of the location that applies specifically to this flow, when it differs from the activity location" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path ps:flow_location_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the flow object consumed or produced by this flow" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:flow_object_reference ],
        [ sh:class prov:Entity ;
            sh:description "Versioned source records, datasets, or artifacts from which this flow was derived" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 14 ;
            sh:path ps:source_record_references ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this flow exchange within the product system or its source dataset" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:flow_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "Optional identifier or URI of the activity on the other side of this exchange, including an external background activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path ps:counterpart_activity_reference ],
        [ sh:description "Optional direction of this flow exchange as an input to or output from an activity" ;
            sh:in ( "INPUT" "OUTPUT" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path ps:flow_direction ],
        [ sh:datatype xsd:string ;
            sh:description "Name or label of the flow exchange" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:flow_name ],
        [ sh:class skos:Concept ;
            sh:description "Classifications for this flow, including elementary-flow context or compartment when applicable" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 13 ;
            sh:path ps:flow_classifications ],
        [ sh:class mt:traceabilityStatement ;
            sh:description "Optional metrological traceability statements for flow quantities, units, measurements, source data, or calculation chains" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 16 ;
            sh:path ps:flow_metrological_traceability_statements ],
        [ sh:description "Kind of flow exchange" ;
            sh:in ( "PRODUCT_FLOW" "ELEMENTARY_FLOW" "WASTE_FLOW" "OTHER" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path ps:flow_kind ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the activity for which this flow is an output" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path ps:output_of_activity_reference ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric value of this flow measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path ps:flow_numerical_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the activity for which this flow is an input" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path ps:input_to_activity_reference ],
        [ sh:class uq:uncertaintyStatement ;
            sh:description "Optional uncertainty statements for flow quantities, estimates, distributions, or propagation inputs" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 15 ;
            sh:path ps:flow_uncertainty_statements ],
        [ sh:datatype xsd:string ;
            sh:description "Optional URI, code, or concept reference for the quantity kind or physical dimension of this flow measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path ps:flow_quantity_kind_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the lifecycle stage to which this flow is assigned" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path ps:lifecycle_stage_reference ],
        [ sh:class dqf:dataQualityAssessment ;
            sh:description "Optional data quality assessments for flow quantities, source data, completeness, representativeness, or comparability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 17 ;
            sh:path ps:flow_data_quality_assessments ],
        [ sh:datatype xsd:string ;
            sh:description "Unit URI, code, or other unit reference for this flow measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path ps:flow_unit_reference ] ;
    sh:targetClass bont:Flow .

bont:FlowObject a sh:NodeShape ;
    rdfs:comment "The product, material, waste, elementary, service, or other object represented by one or more flows" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Declared kind of flow object" ;
            sh:in ( "PRODUCT" "MATERIAL" "WASTE" "ELEMENTARY" "SERVICE" "OTHER" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path ps:flow_object_kind ],
        [ sh:class skos:Concept ;
            sh:description "External classifications, codes, or concepts assigned to this flow object" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 4 ;
            sh:path ps:flow_object_classifications ],
        [ sh:datatype xsd:string ;
            sh:description "Description of the object represented by associated flows" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:flow_object_description ],
        [ sh:datatype xsd:string ;
            sh:description "Name or label of this flow object" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:flow_object_name ],
        [ sh:class prov:Entity ;
            sh:description "Versioned source records, model records, or datasets defining this flow object" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path ps:source_record_references ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this flow object" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:flow_object_identifier ] ;
    sh:targetClass bont:FlowObject .

bont:ReferenceUnit a sh:NodeShape ;
    rdfs:comment "Reference flow and quantity used to scale or consume a product system without defining a functional unit" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class dqf:dataQualityAssessment ;
            sh:description "Optional data quality assessments for this reference-unit measure, source, measurement, or estimate" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 8 ;
            sh:path ps:reference_flow_data_quality_assessments ],
        [ sh:datatype xsd:string ;
            sh:description "Description of how this reference flow scales the product system" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path ps:reference_flow_description ],
        [ sh:class uq:uncertaintyStatement ;
            sh:description "Optional uncertainty statements for this reference-unit measure" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path ps:reference_flow_uncertainty_statements ],
        [ sh:datatype xsd:string ;
            sh:description "Optional URI, code, or concept reference for the quantity kind or physical dimension of this reference-unit measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:reference_flow_quantity_kind_reference ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric value of this reference-unit measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:reference_flow_numerical_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the reference flow exchange" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:reference_flow_identifier ],
        [ sh:class mt:traceabilityStatement ;
            sh:description "Optional metrological traceability statements for this reference-unit measure, unit, measurement, or calculation" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path ps:reference_flow_metrological_traceability_statements ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of the reference flow object" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:reference_flow_object_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Unit URI, code, or other unit reference for this reference-unit measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:reference_flow_unit_reference ] ;
    sh:targetClass bont:ReferenceUnit .

schema1:Place a sh:NodeShape ;
    rdfs:comment "A location associated with an activity, dataset, or other product-system record" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Resolvable URI for this location, including a BONSAI or geographic reference URI when available" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path ps:location_uri ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this location" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:location_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "Name or label of this location" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:location_name ],
        [ sh:datatype xsd:string ;
            sh:description "Code for this location within its declared location scheme" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:location_code ],
        [ sh:datatype xsd:string ;
            sh:description "URI or other reference for the geographic or location scheme used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:location_scheme_reference ] ;
    sh:targetClass schema1:Place .

time:TemporalEntity a sh:NodeShape ;
    rdfs:comment "A temporal scope or period represented by an activity, dataset, or product-system record" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:gYear ;
            sh:description "Calendar year until which the data are declared valid when a single validity year is applicable" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:validity_year ],
        [ sh:datatype xsd:date ;
            sh:description "Start date of the represented period" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:valid_from ],
        [ sh:datatype xsd:gYear ;
            sh:description "Calendar year represented by the data when a single reference year is applicable" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:reference_year ],
        [ sh:datatype xsd:string ;
            sh:description "Description of the time period, representativeness, or temporal assumptions" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path ps:temporal_scope_description ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this temporal scope" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:temporal_scope_identifier ],
        [ sh:datatype xsd:date ;
            sh:description "End date of the represented period" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:valid_until ] ;
    sh:targetClass time:TemporalEntity .

dqf:evidenceReference a sh:NodeShape ;
    rdfs:comment "Supporting evidence record for a data quality assessment, score, diagnostic, issue, remediation action, uncertainty translation, or aggregation" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "URL for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path dqf:data_quality_evidence_url_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description of supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:data_quality_evidence_description_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date associated with supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:data_quality_evidence_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Provider, author, laboratory, supplier, or organization responsible for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:data_quality_evidence_provider_value ],
        [ sh:description "Type of supporting evidence" ;
            sh:in ( "diagnostic_report" "data_profile" "dataset_snapshot" "provenance_record" "metadata_record" "calibration_certificate" "traceability_record" "validation_report" "harmonization_log" "remediation_record" "workflow_record" "supplier_declaration" "standard_or_protocol" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:data_quality_evidence_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:data_quality_evidence_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, or revision of supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:data_quality_evidence_version_value ] ;
    sh:targetClass dqf:evidenceReference .

dqf:qualityAggregation a sh:NodeShape ;
    rdfs:comment "Aggregation of assessments, profiles, criterion scores, metrics, or uncertainty translations across values, records, datasets, or indicators" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Weights or weighting rule used in the aggregation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:aggregation_weights_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:description "Level at which aggregation is performed" ;
            sh:in ( "value" "record" "dataset" "input_quantity" "indicator" "model" "component" "product" "material" "portfolio" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:aggregation_level_value ],
        [ sh:datatype xsd:string ;
            sh:description "Rationale for the aggregation method and weighting choices" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:aggregation_rationale_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the output assessment, profile, score, uncertainty translation, or decision produced by the aggregation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:aggregation_output_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an aggregation of data quality assessments, profiles, criteria, metrics, or uncertainty translations" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:aggregation_identifier_value ],
        [ sh:description "Method used to aggregate criterion scores or lower-level assessments into a profile" ;
            sh:in ( "worst_score" "rule_based" "weighted_mean" "arithmetic_mean" "geometric_mean" "maximum_risk" "hierarchical" "expert_judgement" "custom" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path dqf:aggregation_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "References to the input assessments, profiles, criteria, metrics, or data sources used in the aggregation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:aggregation_input_references_value ] ;
    sh:targetClass dqf:qualityAggregation .

mt:comparabilityAssessment a sh:NodeShape ;
    rdfs:comment "Assessment of whether two reported values are metrologically comparable through the same reference basis, measurand definition, method, or boundary" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Reference to the first traceability statement, chain, or basis being compared" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:left_traceability_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Rationale for the comparability decision, including relevant mismatches or limitations" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:comparability_rationale_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:traceability_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an assessment of metrological comparability" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:comparability_assessment_identifier_value ],
        [ sh:datatype xsd:boolean ;
            sh:description "Whether the compared results are traceable to the same reference basis" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:same_reference_basis_value ],
        [ sh:datatype xsd:boolean ;
            sh:description "Whether the compared results use the same method-defined or boundary-defined reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:same_method_or_boundary_value ],
        [ sh:datatype xsd:boolean ;
            sh:description "Whether the compared results use the same measurand or operational definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:same_measurand_definition_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the second traceability statement, chain, or basis being compared" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path mt:right_traceability_reference_value ],
        [ sh:description "Decision about whether the compared results are metrologically comparable" ;
            sh:in ( "comparable" "comparable_with_conditions" "not_comparable" "insufficient_information" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 6 ;
            sh:path mt:comparability_decision_value ] ;
    sh:targetClass mt:comparabilityAssessment .

mt:evidenceReference a sh:NodeShape ;
    rdfs:comment "Supporting evidence record for a traceability statement, chain, calibration, method, boundary, reference material, or competence record" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Identifier for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:traceability_evidence_identifier_value ],
        [ sh:description "URL for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path mt:traceability_evidence_url_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, or revision of supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:traceability_evidence_version_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description of supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:traceability_evidence_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Provider, author, laboratory, supplier, or organization responsible for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:traceability_evidence_provider_value ],
        [ sh:description "Type of supporting evidence" ;
            sh:in ( "calibration_certificate" "reference_material_certificate" "test_report" "method_standard" "procedure_document" "accreditation_record" "proficiency_test" "validation_report" "dataset_reference" "software_record" "boundary_document" "supplier_declaration" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path mt:traceability_evidence_type_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date associated with supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:traceability_evidence_date_value ] ;
    sh:targetClass mt:evidenceReference .

mt:traceabilityLink a sh:NodeShape ;
    rdfs:comment "Single documented step in a traceability chain, including calibration, comparison, transfer, method adherence, or boundary reference" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class mt:calibrationRecord ;
            sh:description "Calibration, comparison, verification, or check records that support traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 8 ;
            sh:path mt:calibration_records ],
        [ sh:datatype xsd:string ;
            sh:description "Reference entity, value, standard, method, or node from which this link starts" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:link_from_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the uncertainty contribution associated with this traceability link" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:link_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Procedure, calibration, comparison, transformation, conversion, or modelling step used in this link" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:link_procedure_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a step, edge, or link in a traceability chain" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:traceability_link_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference entity, value, standard, method, or node to which this link points" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:link_to_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the traceability statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:traceability_statement_notes_value ],
        [ sh:datatype xsd:integer ;
            sh:description "Position of the link in the traceability chain, where lower numbers are closer to the reported result" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:link_sequence_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date on which this traceability link, calibration, comparison, transformation, or modelling step was established" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:link_date_value ],
        [ sh:description "Role of the traceability link in the chain" ;
            sh:in ( "calibration" "comparison" "verification" "correction" "value_transfer" "method_definition" "boundary_definition" "data_source_mapping" "software_or_model_execution" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:link_role_value ] ;
    sh:targetClass mt:traceabilityLink .

uq:comparisonAssessment a sh:NodeShape ;
    rdfs:comment "Assessment of whether two uncertainty-backed values can be compared meaningfully" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Reference to the second uncertainty statement in a comparison" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:right_statement_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:description "Assessment of whether traceability bases are compatible for comparison" ;
            sh:in ( "matching" "compatible" "partial" "divergent" "not_assessed" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path uq:traceability_match_value ],
        [ sh:class uq:uncertaintyComponent ;
            sh:description "Additional uncertainty component introduced because of comparison mismatch" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path uq:additional_uncertainty_component ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the first uncertainty statement in a comparison" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:left_statement_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a comparison assessment involving uncertainty statements" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:comparison_identifier_value ],
        [ sh:description "Assessment of whether method, scope, or system boundaries are compatible for comparison" ;
            sh:in ( "matching" "compatible" "partial" "divergent" "not_assessed" ) ;
            sh:maxCount 1 ;
            sh:order 4 ;
            sh:path uq:boundary_match_value ],
        [ sh:datatype xsd:string ;
            sh:description "Rationale for adding or expanding uncertainty because of traceability, boundary, method, or data quality mismatch" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:additional_uncertainty_rationale_value ],
        [ sh:description "Decision on whether a direct or conditional comparison is meaningful" ;
            sh:in ( "direct_comparison_valid" "comparison_valid_with_expanded_uncertainty" "comparison_conditional" "comparison_not_recommended" "comparison_infeasible" ) ;
            sh:maxCount 1 ;
            sh:order 5 ;
            sh:path uq:comparison_decision_value ] ;
    sh:targetClass uq:comparisonAssessment .

uq:correlation a sh:NodeShape ;
    rdfs:comment "Correlation or covariance relationship between input quantities or uncertainty components" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:float ;
            sh:description "Correlation coefficient between two quantities" ;
            sh:maxCount 1 ;
            sh:maxInclusive 1e+00 ;
            sh:minInclusive -1e+00 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:correlation_coefficient_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a correlation or covariance relationship" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:correlation_identifier_value ],
        [ sh:datatype xsd:float ;
            sh:description "Covariance between two quantities" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:covariance_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the second quantity in a correlation or covariance relationship" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:second_quantity_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Basis, evidence, or assumption used to justify a correlation or covariance" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:correlation_basis_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the first quantity in a correlation or covariance relationship" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:first_quantity_reference_value ] ;
    sh:targetClass uq:correlation .

uq:distributionParameter a sh:NodeShape ;
    rdfs:comment "Name-value-unit parameter used to define a probability distribution" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Unit associated with a distribution parameter" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:distribution_parameter_unit_value ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric value of a distribution parameter" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:distribution_parameter_value_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name of a distribution parameter, such as mean, standard deviation, minimum, maximum, shape, or scale" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:distribution_parameter_name_value ] ;
    sh:targetClass uq:distributionParameter .

uq:evidenceReference a sh:NodeShape ;
    rdfs:comment "Reference to supporting evidence used to define, justify, or update uncertainty" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:date ;
            sh:description "Date associated with supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:uncertainty_evidence_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:uncertainty_evidence_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description of supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:uncertainty_evidence_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, or revision of supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:uncertainty_evidence_version_value ],
        [ sh:datatype xsd:string ;
            sh:description "Provider, author, laboratory, supplier, or organization responsible for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:uncertainty_evidence_provider_value ],
        [ sh:description "URL for supporting evidence" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path uq:uncertainty_evidence_url_value ],
        [ sh:description "Type of supporting evidence" ;
            sh:in ( "calibration_certificate" "reference_material_certificate" "measurement_report" "laboratory_report" "data_quality_assessment" "standard_method" "software_record" "expert_judgement" "literature_source" "supplier_declaration" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path uq:uncertainty_evidence_type_value ] ;
    sh:targetClass uq:evidenceReference .

uq:inputQuantity a sh:NodeShape ;
    rdfs:comment "Input quantity in a measurement, calculation, or statistical model" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class uq:uncertaintyDistribution ;
            sh:description "Probability distribution describing uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path uq:probability_distribution ],
        [ sh:datatype xsd:string ;
            sh:description "Name of an input quantity in a measurement or calculation model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:input_quantity_name_value ],
        [ sh:datatype xsd:float ;
            sh:description "Standard uncertainty expressed as a standard deviation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:standard_uncertainty_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment that informs or justifies an uncertainty contribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:uncertainty_data_quality_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:uncertainty_traceability_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit of an input quantity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:input_quantity_unit_value ],
        [ sh:datatype xsd:float ;
            sh:description "Best estimate of an input quantity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:input_quantity_estimate_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an input quantity in a measurement or calculation model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:input_quantity_identifier_value ],
        [ sh:datatype xsd:float ;
            sh:description "Standard uncertainty divided by the absolute value of the associated quantity value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:relative_standard_uncertainty_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:uncertainty_evidence_reference_value ] ;
    sh:targetClass uq:inputQuantity .

uq:measurandSpecification a sh:NodeShape ;
    rdfs:comment "Operational specification of the measurand, quantity of interest, method, conditions, and boundary" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Unit in which the measurand is expressed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:uncertainty_quantity_unit_value ],
        [ sh:datatype xsd:string ;
            sh:description "Environmental or procedural conditions during data acquisition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path uq:uncertainty_environmental_conditions_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for the measurand or quantity of interest" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:uncertainty_measurand_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, date, or revision of the method used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:method_version_value ],
        [ sh:datatype xsd:string ;
            sh:description "Standardized method or protocol defining the measurand or evaluation procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path uq:method_standard_value ],
        [ sh:datatype xsd:string ;
            sh:description "Corrections applied to the measured or calculated value, including corrections for bias, drift, blank, recovery, or matrix effects" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 15 ;
            sh:path uq:corrections_applied_value ],
        [ sh:datatype xsd:string ;
            sh:description "Measurement model, calculation model, statistical model, or equation relating inputs to the measurand" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path uq:measurement_model_value ],
        [ sh:datatype xsd:string ;
            sh:description "Sampling frame, location, period, state, or population basis for the measurand" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:sampling_frame_value ],
        [ sh:datatype xsd:string ;
            sh:description "System boundary, scope, or modelling boundary relevant to the measurand" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path uq:system_boundary_value ],
        [ sh:datatype xsd:string ;
            sh:description "Measurement, calculation, test, or modelling method used to obtain the value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:measurement_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 18 ;
            sh:path uq:uncertainty_traceability_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Object, material matrix, product, population, or system to which the measurand applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:object_or_matrix_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference conditions to which the reported value is corrected or intended to apply" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path uq:reference_conditions_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name of the measurand or quantity of interest" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:uncertainty_measurand_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Definition of the sample, specimen, item, batch, or population subset used for the evaluation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:sample_definition_value ],
        [ sh:datatype xsd:string ;
            sh:description "Kind of quantity being evaluated, such as mass, length, concentration, carbon footprint, or circularity indicator" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:uncertainty_quantity_kind_value ],
        [ sh:datatype xsd:string ;
            sh:description "Rounding or reporting rule applied to the value and uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 16 ;
            sh:path uq:rounding_rule_value ],
        [ sh:datatype xsd:string ;
            sh:description "Operational definition of the measurand, including what is measured and under which conditions" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:uncertainty_measurand_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Decision rule used for conformity assessment or comparison when uncertainty is considered" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 17 ;
            sh:path uq:decision_rule_value ] ;
    sh:targetClass uq:measurandSpecification .

uq:methodReference a sh:NodeShape ;
    rdfs:comment "Reference to a method, guide, standard, protocol, or implementation used for uncertainty evaluation" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Description of the referenced method, guide, standard, protocol, or documentation resource" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:method_reference_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a method reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:method_reference_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Standardized method or protocol defining the measurand or evaluation procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:method_standard_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, date, or revision of the method used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:method_version_value ],
        [ sh:description "URL for a method, guide, standard, protocol, or documentation resource" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 1 ;
            sh:path uq:method_reference_url_value ] ;
    sh:targetClass uq:methodReference .

uq:quantityValue a sh:NodeShape ;
    rdfs:comment "Reported value or estimate associated with an uncertainty statement" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Type of value being reported" ;
            sh:in ( "measured_value" "calculated_value" "estimated_value" "simulated_value" "categorical_value" "interval_value" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path uq:value_type_value ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date and time associated with the value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:value_timestamp_value ],
        [ sh:datatype xsd:string ;
            sh:description "Textual, categorical, or structured value when the result is not represented as a simple number" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:text_value_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with a reported result, estimate, distribution parameter, or uncertainty quantity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:uncertainty_unit_value ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric value associated with a reported result, estimate, distribution parameter, or uncertainty quantity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:numeric_value_value ],
        [ sh:datatype xsd:string ;
            sh:description "Source of the value, such as measurement, calculation, supplier declaration, literature, or simulation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:value_source_value ] ;
    sh:targetClass uq:quantityValue .

uq:scenarioUncertainty a sh:NodeShape ;
    rdfs:comment "Scenario-specific uncertainty context for structural, boundary, allocation, or modelling alternatives" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Human-readable name of a scenario" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:scenario_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a scenario used in uncertainty or robustness analysis" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:scenario_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:uncertainty_traceability_reference_value ],
        [ sh:datatype xsd:float ;
            sh:description "Optional probability or weight assigned to a scenario" ;
            sh:maxCount 1 ;
            sh:maxInclusive 1e+00 ;
            sh:minInclusive 0e+00 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:scenario_probability_value ],
        [ sh:class uq:uncertaintyInterval ;
            sh:description "Coverage interval or other interval representation of uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path uq:coverage_interval ],
        [ sh:datatype xsd:string ;
            sh:description "Boundary, scope, allocation rule, or modelling choice represented by a scenario" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:scenario_boundary_value ],
        [ sh:class uq:uncertaintyDistribution ;
            sh:description "Probability distribution describing uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path uq:probability_distribution ],
        [ sh:datatype xsd:string ;
            sh:description "Description of a scenario, including the structural or boundary choice it represents" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:scenario_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment that informs or justifies an uncertainty contribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:uncertainty_data_quality_reference_value ] ;
    sh:targetClass uq:scenarioUncertainty .

uq:sensitivityResult a sh:NodeShape ;
    rdfs:comment "Sensitivity metric for identifying uncertainty drivers and quality hotspots" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Sensitivity metric, such as Sobol index, rank correlation, derivative, or elementary effect" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:sensitivity_metric_value ],
        [ sh:datatype xsd:boolean ;
            sh:description "Whether the sensitivity result identifies a data quality or traceability hotspot" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:quality_hotspot_flag_value ],
        [ sh:datatype xsd:integer ;
            sh:description "Rank of an input, parameter, or component according to sensitivity or uncertainty contribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:sensitivity_rank_value ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric value of a sensitivity metric" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:sensitivity_value_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment that informs or justifies an uncertainty contribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:uncertainty_data_quality_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Input, parameter, or component assessed in a sensitivity analysis" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:sensitivity_parameter_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:uncertainty_traceability_reference_value ] ;
    sh:targetClass uq:sensitivityResult .

dqf:dataCharacterization a sh:NodeShape ;
    rdfs:comment "Characterization of the assessed data, including source, provenance, scope, collection method, versioning, and preprocessing" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Unit associated with a quantitative value or metric" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 19 ;
            sh:path dqf:data_quality_unit_value ],
        [ sh:datatype xsd:date ;
            sh:description "End date for the data collection or generation period" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path dqf:collection_end_date_value ],
        [ sh:description "Type of data source used" ;
            sh:in ( "direct_measurement" "laboratory_test" "supplier_declaration" "administrative_record" "database" "literature" "expert_judgement" "survey_or_interview" "sensor_or_iot" "calculation_or_model" "mixed" "other" ) ;
            sh:maxCount 1 ;
            sh:order 5 ;
            sh:path dqf:data_source_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Preprocessing, cleaning, transformation, imputation, filtering, or normalization applied before assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 20 ;
            sh:path dqf:preprocessing_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 24 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Target population, inference scope, product scope, material scope, or process scope represented by the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 16 ;
            sh:path dqf:population_or_scope_value ],
        [ sh:datatype xsd:string ;
            sh:description "Method, protocol, procedure, system, or workflow used to collect or generate the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:collection_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for the assessed data source, dataset, value source, or information source" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:data_source_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Documented collection protocol, questionnaire, instrument, test method, API, or extraction logic" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:collection_protocol_value ],
        [ sh:datatype xsd:string ;
            sh:description "Domain or subject area of the data, such as product specification, LCA, diagnostics, compliance, or circularity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path dqf:data_domain_value ],
        [ sh:datatype xsd:string ;
            sh:description "Technological, product, process, or system coverage represented by the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 15 ;
            sh:path dqf:technological_coverage_value ],
        [ sh:datatype xsd:string ;
            sh:description "Geographic coverage or spatial representativeness of the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path dqf:geographic_coverage_value ],
        [ sh:datatype xsd:date ;
            sh:description "Start date for the data collection or generation period" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:collection_start_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Narrative provenance of the data, including who collected it, when, under which protocol, and how it was processed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 22 ;
            sh:path dqf:provenance_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Update cadence or refresh frequency for the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path dqf:update_frequency_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name of the assessed data source, dataset, value source, or information source" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:data_source_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition related to this data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 23 ;
            sh:path dqf:data_quality_traceability_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Definition of the variable, field, indicator, category, or qualitative construct being assessed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 18 ;
            sh:path dqf:variable_definition_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a data characterization record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:data_characterization_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Temporal coverage or period represented by the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path dqf:temporal_coverage_value ],
        [ sh:description "Type of data being assessed" ;
            sh:in ( "quantitative" "semi_quantitative" "qualitative" "categorical" "boolean" "time_series" "geospatial" "modelled" "mixed" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:data_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Harmonization, mapping, coding, unit conversion, or schema alignment applied to combine or compare data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 21 ;
            sh:path dqf:harmonization_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, revision, release date, or snapshot identifier for the assessed data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path dqf:data_version_value ],
        [ sh:datatype xsd:string ;
            sh:description "Provider, owner, custodian, supplier, laboratory, or organization responsible for the data" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:data_provider_value ],
        [ sh:datatype xsd:integer ;
            sh:description "Sample size, number of observations, number of records, or number of contributing sources" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 17 ;
            sh:path dqf:sample_size_value ] ;
    sh:targetClass dqf:dataCharacterization .

dqf:dataQualityProfile a sh:NodeShape ;
    rdfs:comment "Profile aggregating data quality criteria, scores, flags, and confidence for a dataset, value, source, or information product" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Summary of the data quality profile, including main strengths and weaknesses" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:profile_summary_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:class dqf:qualityCriterionAssessment ;
            sh:description "Criterion-level pedigree assessments" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 2 ;
            sh:path dqf:criterion_assessments ],
        [ sh:description "Operational decision flag derived from the quality profile" ;
            sh:in ( "green_proceed" "orange_review" "red_reject" "grey_not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 6 ;
            sh:path dqf:quality_flag_value ],
        [ sh:description "Confidence level implied by the data quality assessment" ;
            sh:in ( "high" "medium" "low" "very_low" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 5 ;
            sh:path dqf:confidence_level_value ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable name of a data quality profile" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path dqf:data_quality_profile_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Criterion or criteria that limit the overall score, confidence, or decision flag" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:limiting_criteria_value ],
        [ sh:class dqf:uncertaintyTranslation ;
            sh:description "DQA-to-uncertainty translation associated with an assessment or profile" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path dqf:uncertainty_translation ],
        [ sh:description "Overall pedigree score for the assessed data, typically from 1 very reliable to 4 dubious" ;
            sh:in ( "score_1_very_reliable" "score_2_reliable" "score_3_unreliable" "score_4_dubious" "not_evaluated" "not_applicable" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path dqf:overall_quality_score_value ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric quality score when the score is represented as a number" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:overall_numeric_score_value ],
        [ sh:description "Method used to aggregate criterion scores or lower-level assessments into a profile" ;
            sh:in ( "worst_score" "rule_based" "weighted_mean" "arithmetic_mean" "geometric_mean" "maximum_risk" "hierarchical" "expert_judgement" "custom" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 7 ;
            sh:path dqf:aggregation_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a data quality profile aggregating one or more criterion assessments" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:data_quality_profile_identifier_value ] ;
    sh:targetClass dqf:dataQualityProfile .

dqf:qualityCriterionAssessment a sh:NodeShape ;
    rdfs:comment "Criterion-level assessment for a data quality dimension such as validity, accuracy, consistency, timeliness, or completeness" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class dqf:qualityIssue ;
            sh:description "Data quality issues, limitations, anomalies, or risks" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path dqf:quality_issues ],
        [ sh:description "Quality criterion being assessed" ;
            sh:in ( "validity" "accuracy" "consistency" "timeliness" "completeness" "representativeness" "transparency" "provenance" "reproducibility" "precision" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:criterion_type_value ],
        [ sh:class dqf:uncertaintyTranslation ;
            sh:description "DQA-to-uncertainty translation associated with an assessment or profile" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 11 ;
            sh:path dqf:uncertainty_translation ],
        [ sh:datatype xsd:string ;
            sh:description "Threshold, rule, target, or expectation used to score the criterion" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:criterion_threshold_value ],
        [ sh:description "Pedigree score assigned to a quality criterion" ;
            sh:in ( "score_1_very_reliable" "score_2_reliable" "score_3_unreliable" "score_4_dubious" "not_evaluated" "not_applicable" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path dqf:criterion_score_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a criterion-level quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:criterion_assessment_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Metric value, observation, or diagnostic result used to support the criterion score" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:criterion_metric_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:datatype xsd:float ;
            sh:description "Weight assigned to the criterion in an aggregation or decision rule" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:criterion_weight_value ],
        [ sh:datatype xsd:string ;
            sh:description "Impact of this criterion on the intended use, uncertainty, bias, comparability, or decision" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:criterion_impact_value ],
        [ sh:class dqf:qualityMetric ;
            sh:description "Quality metrics or diagnostic metrics used by profiles, criteria, or diagnostics" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path dqf:quality_metrics ],
        [ sh:datatype xsd:string ;
            sh:description "Rationale for assigning the criterion score" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:criterion_rationale_value ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric criterion score when the score is represented as a number" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:criterion_numeric_score_value ] ;
    sh:targetClass dqf:qualityCriterionAssessment .

dqf:qualityDiagnostic a sh:NodeShape ;
    rdfs:comment "Diagnostic run or analysis that compares data against expectations, detects deviations, infers causes, and estimates impact" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Impact of the diagnostic finding on the intended analysis, decision, uncertainty, or comparability" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:diagnostic_impact_value ],
        [ sh:datatype xsd:string ;
            sh:description "Information needed to reproduce the diagnostic run, such as pinned dependencies, configuration, hash, or workflow version" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path dqf:diagnostic_reproducibility_value ],
        [ sh:datatype xsd:string ;
            sh:description "Diagnostic method, test, script, notebook, query, or procedure used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path dqf:diagnostic_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "Expected value, threshold, rule, contract, baseline, or target used by the diagnostic" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:expectation_specification_value ],
        [ sh:class dqf:qualityMetric ;
            sh:description "Quality metrics or diagnostic metrics used by profiles, criteria, or diagnostics" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 11 ;
            sh:path dqf:quality_metrics ],
        [ sh:class dqf:qualityIssue ;
            sh:description "Data quality issues, limitations, anomalies, or risks" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 12 ;
            sh:path dqf:quality_issues ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:description "Type of data quality diagnostic" ;
            sh:in ( "comprehensive_profiling" "missing_data_analysis" "structural_integrity_validation" "relational_integrity_validation" "distributional_alignment" "semantic_unit_consistency" "temporal_spatial_alignment" "provenance_correlation" "impact_sensitivity" "scoring_rule_check" "reproducibility_check" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:diagnostic_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Plausible or confirmed cause of the observed diagnostic finding" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:diagnostic_cause_value ],
        [ sh:description "Severity of the diagnostic finding" ;
            sh:in ( "low" "moderate" "high" "critical" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 5 ;
            sh:path dqf:diagnostic_severity_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a diagnostic run, check, or analysis" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:diagnostic_identifier_value ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date and time when the diagnostic run was executed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:diagnostic_run_timestamp_value ],
        [ sh:datatype xsd:string ;
            sh:description "Observed deviation from the expectation, threshold, baseline, or target" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:observed_deviation_value ],
        [ sh:datatype xsd:string ;
            sh:description "Software, notebook, workflow, configuration, or service used to execute the diagnostic" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:diagnostic_software_reference_value ] ;
    sh:targetClass dqf:qualityDiagnostic .

mt:boundaryDefinition a sh:NodeShape ;
    rdfs:comment "Goal-and-scope, system boundary, scenario, allocation, or model definition used as the reference for a boundary-defined result" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Goal and scope definition or equivalent statement that defines the assessed value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:goal_scope_definition_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name of the boundary, scope, scenario, or modelling definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path mt:boundary_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Standardized procedure, protocol, guide, or method document" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:procedure_standard_value ],
        [ sh:datatype xsd:string ;
            sh:description "Allocation, partitioning, substitution, cut-off, or burden-sharing rule applied in the boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:allocation_rule_value ],
        [ sh:datatype xsd:string ;
            sh:description "Processes, stages, flows, compartments, or elements excluded from the boundary" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:excluded_processes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path mt:traceability_data_quality_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a boundary, scope, scenario, or modelling reference definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:boundary_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path mt:traceability_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Characterization model, factor set, time horizon, scenario, or model version used to convert inputs into the reported result" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:characterization_model_value ],
        [ sh:datatype xsd:string ;
            sh:description "Impact assessment, characterization, scoring, or calculation method used for a modelled result" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:impact_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "Temporal, geographical, technological, or population scope of the data sources used by the boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:data_source_scope_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, revision, or publication date of the procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path mt:procedure_version_value ],
        [ sh:description "Type of boundary or scope definition" ;
            sh:in ( "system_boundary" "goal_and_scope" "functional_unit" "allocation_boundary" "scenario_definition" "temporal_boundary" "geographical_boundary" "technological_boundary" "characterization_model" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path mt:boundary_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Processes, stages, flows, compartments, or elements included in the boundary" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:included_processes_value ] ;
    sh:targetClass mt:boundaryDefinition .

mt:competenceRecord a sh:NodeShape ;
    rdfs:comment "Competence, accreditation, validation, proficiency, or quality system evidence supporting traceability" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:date ;
            sh:description "End date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:reference_valid_until_value ],
        [ sh:datatype xsd:date ;
            sh:description "Start date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:reference_valid_from_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a competence, accreditation, authorization, or quality system record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:competence_record_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Scope of competence, accreditation, validation, or authorization" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:competence_scope_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Accreditation, authorization, scope, or certificate identifier" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:accreditation_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Basis for competence, such as accreditation, proficiency testing, validation, authorization, or quality management system" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path mt:competence_basis_value ],
        [ sh:description "Status of the competence or accreditation record" ;
            sh:in ( "active" "suspended" "expired" "withdrawn" "not_applicable" "not_available" ) ;
            sh:maxCount 1 ;
            sh:order 6 ;
            sh:path mt:competence_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Accreditation body, authority, or organization responsible for the competence record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:accreditation_body_value ],
        [ sh:datatype xsd:string ;
            sh:description "Laboratory, person, organization, facility, or software provider whose competence is documented" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:competence_provider_value ] ;
    sh:targetClass mt:competenceRecord .

mt:measurementProcedure a sh:NodeShape ;
    rdfs:comment "Measurement, calculation, sampling, calibration, analytical, or modelling procedure used to define or transfer a value" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Role of the procedure in establishing traceability" ;
            sh:in ( "measurement" "calibration" "sampling" "analytical_method" "calculation" "modelling" "quality_control" "reporting" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:procedure_role_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:description "URI or URL identifying the procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 5 ;
            sh:path mt:procedure_uri_value ],
        [ sh:datatype xsd:string ;
            sh:description "Standardized procedure, protocol, guide, or method document" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:procedure_standard_value ],
        [ sh:datatype xsd:string ;
            sh:description "Operator, laboratory, instrument system, model, or software used to apply the procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:operator_or_software_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name of the procedure or method" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:procedure_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Environmental, operating, or procedural conditions relevant to traceability" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:traceability_environmental_conditions_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description of the procedure and how it defines or transfers the value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:procedure_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of a measurement, calculation, sampling, calibration, analytical, or modelling procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:procedure_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Key method parameters, such as extraction conditions, incubation time, temperature, calibration model, or reporting rule" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:method_parameters_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, revision, or publication date of the procedure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:procedure_version_value ],
        [ sh:datatype xsd:string ;
            sh:description "Definition of the sample, specimen, item, batch, population subset, or material matrix used by the method" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:sampling_or_specimen_definition_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path mt:traceability_uncertainty_reference_value ] ;
    sh:targetClass mt:measurementProcedure .

mt:measurementStandard a sh:NodeShape ;
    rdfs:comment "Measurement standard, artefact, instrument standard, or unit realization used in a calibration hierarchy" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Name of the measurement standard" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:measurement_standard_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Uncertainty associated with the assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:assigned_value_uncertainty_value ],
        [ sh:datatype xsd:date ;
            sh:description "Start date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path mt:reference_valid_from_value ],
        [ sh:datatype xsd:date ;
            sh:description "End date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path mt:reference_valid_until_value ],
        [ sh:datatype xsd:string ;
            sh:description "Assigned value of a measurement standard, reference material, calibrator, or conventional reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:assigned_value_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a measurement standard, artefact, instrument standard, or realization" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:measurement_standard_identifier_value ],
        [ sh:description "Type or level of measurement standard" ;
            sh:in ( "international_standard" "national_standard" "primary_standard" "secondary_standard" "reference_standard" "working_standard" "transfer_standard" "instrument_standard" "unit_realization" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:measurement_standard_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit in which the value or measurand is expressed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:traceability_quantity_unit_value ],
        [ sh:class mt:calibrationRecord ;
            sh:description "Calibration, comparison, verification, or check records that support traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path mt:calibration_records ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with the assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:assigned_value_unit_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Position of the measurement standard in the calibration hierarchy" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:measurement_standard_level_value ],
        [ sh:datatype xsd:string ;
            sh:description "Owner, custodian, laboratory, or institute responsible for the measurement standard" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:measurement_standard_owner_value ],
        [ sh:datatype xsd:string ;
            sh:description "Kind of quantity or indicator being traced, such as mass, length, concentration, carbon footprint, or circularity indicator" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:traceability_quantity_kind_value ] ;
    sh:targetClass mt:measurementStandard .

mt:referenceEntity a sh:NodeShape ;
    rdfs:comment "Generic reference entity used in a traceability statement, chain, procedure, calibration, or boundary definition" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Name of the reference entity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:reference_entity_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a reference entity, material, standard, instrument, facility, method, or dataset" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:reference_entity_identifier_value ],
        [ sh:datatype xsd:date ;
            sh:description "End date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:reference_valid_until_value ],
        [ sh:description "Type of reference entity" ;
            sh:in ( "si_definition" "national_standard" "international_standard" "working_standard" "instrument" "reference_material" "calibration_certificate" "method_document" "dataset" "software" "boundary_document" "organization" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:reference_entity_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Provider, custodian, producer, laboratory, institute, or publisher of the reference entity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:reference_entity_provider_value ],
        [ sh:datatype xsd:string ;
            sh:description "Uncertainty associated with the assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:assigned_value_uncertainty_value ],
        [ sh:datatype xsd:date ;
            sh:description "Start date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:reference_valid_from_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with the assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:assigned_value_unit_value ],
        [ sh:description "URI or URL for the reference entity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 3 ;
            sh:path mt:reference_entity_uri_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Assigned value of a measurement standard, reference material, calibrator, or conventional reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:assigned_value_value ] ;
    sh:targetClass mt:referenceEntity .

mt:referenceMaterial a sh:NodeShape ;
    rdfs:comment "Reference material or certified reference material used to establish traceability" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Assigned value of a measurement standard, reference material, calibrator, or conventional reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:assigned_value_value ],
        [ sh:description "Type or role of the reference material" ;
            sh:in ( "certified_reference_material" "reference_material" "calibrator" "quality_control_material" "matrix_reference_material" "in_house_reference_material" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:reference_material_type_value ],
        [ sh:description "URL for the reference material certificate" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 11 ;
            sh:path mt:certificate_url_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a reference material or certified reference material" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:reference_material_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Uncertainty associated with the assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:assigned_value_uncertainty_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with the assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:assigned_value_unit_value ],
        [ sh:datatype xsd:string ;
            sh:description "Certified or assigned property of the reference material" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:certified_property_value ],
        [ sh:datatype xsd:date ;
            sh:description "Start date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path mt:reference_valid_from_value ],
        [ sh:datatype xsd:string ;
            sh:description "Producer, supplier, or certifying body responsible for the reference material" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:reference_material_producer_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name of the reference material" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:reference_material_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Matrix, material, substance, artefact, or object represented by the reference material" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:matrix_or_material_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of the reference material certificate" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:certificate_identifier_value ],
        [ sh:datatype xsd:date ;
            sh:description "End date of validity for the reference entity or assigned value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path mt:reference_valid_until_value ],
        [ sh:datatype xsd:string ;
            sh:description "Lot, batch, serial number, or production identifier of the reference material" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:reference_material_lot_value ] ;
    sh:targetClass mt:referenceMaterial .

mt:traceabilityBasis a sh:NodeShape ;
    rdfs:comment "Reference basis to which a result is related, such as an SI realization, measurement standard, reference material, standard method, or boundary definition" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Name of the final common reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:common_reference_name_value ],
        [ sh:description "URI or URL identifying the final common reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 5 ;
            sh:path mt:common_reference_uri_value ],
        [ sh:datatype xsd:string ;
            sh:description "Authority, organization, metrology institute, standards body, or publisher responsible for the reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:reference_authority_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description of the common reference basis that gives meaning to the result" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path mt:traceability_basis_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:description "Type of reference basis used to establish traceability" ;
            sh:in ( "si_unit_realization" "measurement_standard" "certified_reference_material" "reference_material" "measurement_procedure" "standard_method" "system_boundary" "characterization_model" "data_source_or_dataset" "conventional_reference" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path mt:traceability_basis_type_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date at which the reference was used to establish the traceability hierarchy" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:reference_used_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Version, edition, revision, or publication date of the reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:reference_version_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a traceability basis record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:traceability_basis_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:traceability_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Scope or field of application for the reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:reference_scope_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for the final reference, such as an SI unit realization, standard method, reference material, system boundary definition, or characterization model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:common_reference_identifier_value ] ;
    sh:targetClass mt:traceabilityBasis .

mt:traceabilityChain a sh:NodeShape ;
    rdfs:comment "Documented chain or network relating a measurement result to a reference" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Final reference reached by the traceability chain" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:chain_end_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference or value at the user-facing end of the traceability chain" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:chain_start_reference_value ],
        [ sh:description "Validation status of the traceability chain" ;
            sh:in ( "draft" "active" "reviewed" "verified" "partial" "expired" "superseded" "unavailable" ) ;
            sh:maxCount 1 ;
            sh:order 6 ;
            sh:path mt:chain_validation_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable name of the traceability chain" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:traceability_chain_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:traceability_uncertainty_reference_value ],
        [ sh:description "Assessment of whether the chain is complete, partial, inferred, or unavailable" ;
            sh:in ( "complete" "partial" "inferred" "gap_identified" "unavailable" ) ;
            sh:maxCount 1 ;
            sh:order 5 ;
            sh:path mt:chain_completeness_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the traceability chain, including gaps or assumptions" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:chain_notes_value ],
        [ sh:description "Type or topology of the traceability chain" ;
            sh:in ( "linear_calibration_chain" "branched_calibration_network" "method_traceability_chain" "boundary_traceability_chain" "hybrid_chain" "not_documented" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:traceability_chain_type_value ],
        [ sh:class mt:traceabilityLink ;
            sh:description "Ordered or networked links that make up a traceability chain" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path mt:traceability_links ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a traceability chain or traceability network" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:traceability_chain_identifier_value ] ;
    sh:targetClass mt:traceabilityChain .

uq:propagationAnalysis a sh:NodeShape ;
    rdfs:comment "Analysis used to propagate input uncertainties to an output uncertainty statement" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Standard, guide, or protocol applied in the uncertainty evaluation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path uq:uncertainty_standards_applied_value ],
        [ sh:class uq:uncertaintyDistribution ;
            sh:description "Output probability distribution produced by propagation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 7 ;
            sh:path uq:output_distribution ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date and time when an analysis was performed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:analysis_timestamp_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an uncertainty propagation analysis" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:propagation_identifier_value ],
        [ sh:description "Method used to propagate uncertainty" ;
            sh:in ( "analytical_gum" "monte_carlo" "bayesian_updating" "bootstrap" "sensitivity_analysis" "scenario_analysis" "hybrid" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path uq:propagation_method_value ],
        [ sh:datatype xsd:integer ;
            sh:description "Number of simulation runs used in a numerical uncertainty propagation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:simulation_runs_value ],
        [ sh:class uq:sensitivityResult ;
            sh:description "Sensitivity results identifying drivers of output uncertainty" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path uq:sensitivity_results ],
        [ sh:datatype xsd:integer ;
            sh:description "Random seed used for a stochastic simulation, when recorded" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:random_seed_value ],
        [ sh:datatype xsd:string ;
            sh:description "Equation, model expression, or model reference used for propagation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:model_equation_value ],
        [ sh:class uq:scenarioUncertainty ;
            sh:description "Scenario-specific uncertainty results or structural alternatives" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 10 ;
            sh:path uq:scenario_uncertainties ],
        [ sh:class uq:uncertaintyInterval ;
            sh:description "Output interval produced by propagation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 8 ;
            sh:path uq:output_interval ],
        [ sh:datatype xsd:string ;
            sh:description "Software, workflow, script, or computational environment used for uncertainty evaluation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:software_reference_value ] ;
    sh:targetClass uq:propagationAnalysis .

uq:uncertaintyBudget a sh:NodeShape ;
    rdfs:comment "Statement of uncertainty components, their calculation, and their combination" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Standard, guide, or protocol applied in the uncertainty evaluation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path uq:uncertainty_standards_applied_value ],
        [ sh:class uq:uncertaintyComponent ;
            sh:description "Individual uncertainty components included in an uncertainty budget" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 5 ;
            sh:path uq:uncertainty_components ],
        [ sh:datatype xsd:float ;
            sh:description "Expanded uncertainty obtained by multiplying combined standard uncertainty by a coverage factor" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:expanded_uncertainty_value ],
        [ sh:datatype xsd:float ;
            sh:description "Coverage probability associated with a coverage interval or expanded uncertainty" ;
            sh:maxCount 1 ;
            sh:maxInclusive 1e+00 ;
            sh:minInclusive 0e+00 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path uq:coverage_probability_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an uncertainty budget" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:uncertainty_budget_identifier_value ],
        [ sh:description "Method used to combine uncertainty components" ;
            sh:in ( "analytical_gum" "monte_carlo" "bayesian_updating" "bootstrap" "sensitivity_analysis" "scenario_analysis" "hybrid" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path uq:budget_method_value ],
        [ sh:datatype xsd:float ;
            sh:description "Effective degrees of freedom associated with the combined uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path uq:effective_degrees_of_freedom_value ],
        [ sh:class uq:inputQuantity ;
            sh:description "Input quantities in the measurement or calculation model" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 4 ;
            sh:path uq:input_quantities ],
        [ sh:datatype xsd:float ;
            sh:description "Combined standard uncertainty obtained from the individual uncertainty components" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:combined_standard_uncertainty_value ],
        [ sh:datatype xsd:string ;
            sh:description "Measurement model, calculation model, statistical model, or equation relating inputs to the measurand" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:measurement_model_value ],
        [ sh:datatype xsd:float ;
            sh:description "Standard uncertainty divided by the absolute value of the associated quantity value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:relative_standard_uncertainty_value ],
        [ sh:class uq:correlation ;
            sh:description "Correlations or covariances between input quantities or components" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 6 ;
            sh:path uq:correlations ],
        [ sh:class uq:uncertaintyInterval ;
            sh:description "Coverage interval or other interval representation of uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 13 ;
            sh:path uq:coverage_interval ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable name of the uncertainty budget" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:uncertainty_budget_name_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 15 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:datatype xsd:float ;
            sh:description "Coverage factor used to obtain expanded uncertainty from combined standard uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path uq:coverage_factor_value ] ;
    sh:targetClass uq:uncertaintyBudget .

uq:uncertaintyComponent a sh:NodeShape ;
    rdfs:comment "Individual contribution to uncertainty from a source, input, bias, model discrepancy, scenario, or data quality limitation" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:float ;
            sh:description "Coefficient of variation used as a relative uncertainty measure" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path uq:coefficient_of_variation_value ],
        [ sh:description "Category of uncertainty source" ;
            sh:in ( "repeatability" "reproducibility" "calibration" "reference_material" "resolution" "environmental_condition" "sampling" "sample_preparation" "method_bias" "recovery" "drift" "model_discrepancy" "data_quality" "boundary_condition" "scenario_choice" "input_data" "software" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path uq:uncertainty_source_category_value ],
        [ sh:datatype xsd:float ;
            sh:description "Best estimate associated with an uncertainty component" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:component_estimate_value ],
        [ sh:datatype xsd:float ;
            sh:description "Standard uncertainty expressed as a standard deviation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:standard_uncertainty_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an uncertainty component" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:uncertainty_component_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path uq:uncertainty_traceability_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description or name of the uncertainty source" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:uncertainty_source_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment that informs or justifies an uncertainty contribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path uq:uncertainty_data_quality_reference_value ],
        [ sh:description "Type of evaluation used for the uncertainty component" ;
            sh:in ( "type_a" "type_b" "mixed" "data_quality_derived" "expert_judgement" "scenario_based" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path uq:evaluation_type_value ],
        [ sh:datatype xsd:float ;
            sh:description "Sensitivity coefficient describing how the measurand responds to this input or component" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:sensitivity_coefficient_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 16 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 15 ;
            sh:path uq:uncertainty_evidence_reference_value ],
        [ sh:datatype xsd:float ;
            sh:description "Multiplicative uncertainty factor used to express a plausible range around a positive quantity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path uq:uncertainty_component_factor_value ],
        [ sh:datatype xsd:float ;
            sh:description "Degrees of freedom associated with an uncertainty component or estimate" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:degrees_of_freedom_value ],
        [ sh:datatype xsd:float ;
            sh:description "Coverage factor used to obtain expanded uncertainty from combined standard uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:coverage_factor_value ],
        [ sh:datatype xsd:float ;
            sh:description "Standard uncertainty divided by the absolute value of the associated quantity value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:relative_standard_uncertainty_value ],
        [ sh:class uq:uncertaintyDistribution ;
            sh:description "Probability distribution describing uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 12 ;
            sh:path uq:probability_distribution ] ;
    sh:targetClass uq:uncertaintyComponent .

dqf:qualityMetric a sh:NodeShape ;
    rdfs:comment "Metric, indicator, diagnostic output, threshold check, or quality measurement supporting a criterion score" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Category or criterion to which the quality metric belongs" ;
            sh:in ( "validity" "accuracy" "consistency" "timeliness" "completeness" "representativeness" "transparency" "provenance" "reproducibility" "precision" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path dqf:quality_metric_category_value ],
        [ sh:datatype xsd:string ;
            sh:description "Textual, categorical, or structured value of a metric, indicator, diagnostic output, or score" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:metric_text_value ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable name of the data quality metric" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path dqf:quality_metric_name_value ],
        [ sh:datatype xsd:float ;
            sh:description "Numeric value of a metric, indicator, diagnostic output, or score" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:metric_numeric_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:datatype xsd:boolean ;
            sh:description "Whether the metric passes the defined threshold or expectation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:metric_pass_flag_value ],
        [ sh:datatype xsd:string ;
            sh:description "Threshold, tolerance, expectation, or acceptance criterion for the metric" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:metric_threshold_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a data quality metric or diagnostic metric" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:quality_metric_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with a metric value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:metric_unit_value ],
        [ sh:datatype xsd:string ;
            sh:description "Method, query, diagnostic procedure, rule, or script used to compute the metric" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:metric_method_value ] ;
    sh:targetClass dqf:qualityMetric .

dqf:remediationAction a sh:NodeShape ;
    rdfs:comment "Remediation, mitigation, containment, or improvement activity for a data quality issue" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Expected score, score change, or quality improvement after remediation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:expected_score_improvement_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Description of the remediation, mitigation, containment, or improvement activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path dqf:remediation_description_value ],
        [ sh:description "Lifecycle status of the remediation activity" ;
            sh:in ( "proposed" "planned" "in_progress" "completed" "verified" "deferred" "cancelled" "not_applicable" ) ;
            sh:maxCount 1 ;
            sh:order 4 ;
            sh:path dqf:remediation_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Method or evidence used to verify that remediation was effective" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:verification_method_value ],
        [ sh:description "Type of remediation action" ;
            sh:in ( "sampling_redesign" "reweighting" "imputation" "recalibration" "metadata_completion" "data_contract_enforcement" "unit_canonicalization" "source_refresh" "governance_agreement" "uncertainty_inflation" "quarantine" "rejection" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:remediation_action_type_value ],
        [ sh:datatype xsd:date ;
            sh:description "Completion date for the remediation activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:remediation_completion_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a remediation action, mitigation, containment, or improvement activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:remediation_action_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Person, organization, team, system, or workflow responsible for remediation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:remediation_owner_value ],
        [ sh:datatype xsd:date ;
            sh:description "Due date for the remediation activity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:remediation_due_date_value ],
        [ sh:description "Priority assigned to the remediation activity" ;
            sh:in ( "low" "medium" "high" "urgent" "not_assigned" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path dqf:remediation_priority_value ] ;
    sh:targetClass dqf:remediationAction .

uq:uncertaintyStatement a sh:NodeShape ;
    rdfs:comment "Reusable statement describing uncertainty for a reported value, field, dataset, model output, or comparison" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Standard, guide, or protocol applied in the uncertainty evaluation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 20 ;
            sh:path uq:uncertainty_standards_applied_value ],
        [ sh:class uq:measurandSpecification ;
            sh:description "Operational definition of the measurand or value of interest" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 12 ;
            sh:path uq:measurand ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of a specific value object when the target model gives value-level identifiers" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path uq:uncertainty_applies_to_value_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Slot or attribute in an external model to which this uncertainty statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:uncertainty_applies_to_slot_value ],
        [ sh:class uq:uncertaintyInterval ;
            sh:description "Coverage interval or other interval representation of uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 14 ;
            sh:path uq:coverage_interval ],
        [ sh:datatype xsd:string ;
            sh:description "Class in an external model to which this uncertainty statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:uncertainty_applies_to_class_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 21 ;
            sh:path uq:uncertainty_statement_notes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment that informs or justifies an uncertainty contribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 18 ;
            sh:path uq:uncertainty_data_quality_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of the external record, object, dataset, or passport entry to which this uncertainty statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:uncertainty_applies_to_record_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name, URI, or namespace of the external data model to which this uncertainty statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:uncertainty_applies_to_model_value ],
        [ sh:description "Type of uncertainty being described" ;
            sh:in ( "measurement_uncertainty" "parameter_uncertainty" "model_uncertainty" "scenario_uncertainty" "data_quality_derived_uncertainty" "comparison_uncertainty" "combined_uncertainty" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path uq:uncertainty_statement_type_value ],
        [ sh:class uq:quantityValue ;
            sh:description "Reported value to which the uncertainty statement applies, when represented in this utility model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 11 ;
            sh:path uq:reported_value ],
        [ sh:class uq:propagationAnalysis ;
            sh:description "Propagation or numerical analysis used to derive an uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 16 ;
            sh:path uq:propagation_analysis ],
        [ sh:datatype xsd:string ;
            sh:description "JSONPath, XPath, RDF path, or other pointer to the value to which this uncertainty statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:uncertainty_applies_to_value_path_value ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date and time when the uncertainty statement was issued or last updated" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:uncertainty_statement_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for an uncertainty statement that can be referenced from another CE-RISE model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:uncertainty_statement_identifier_value ],
        [ sh:description "Lifecycle status of the uncertainty statement" ;
            sh:in ( "draft" "reported" "revised" "superseded" "withdrawn" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path uq:uncertainty_statement_status_value ],
        [ sh:class uq:uncertaintyDistribution ;
            sh:description "Probability distribution describing uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 13 ;
            sh:path uq:probability_distribution ],
        [ sh:class uq:uncertaintyBudget ;
            sh:description "Uncertainty budget used to calculate or justify an uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 15 ;
            sh:path uq:uncertainty_budget ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable label for the uncertainty statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:uncertainty_statement_label_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 19 ;
            sh:path uq:uncertainty_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 17 ;
            sh:path uq:uncertainty_traceability_reference_value ] ;
    sh:targetClass uq:uncertaintyStatement .

skos:Concept a sh:NodeShape ;
    rdfs:comment "A lifecycle-stage concept used to group or partition activities and flows",
        "A reference to an external classification, controlled vocabulary, compartment, code list, or concept" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ),
        ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Identifier for this lifecycle-stage concept" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:lifecycle_stage_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "Code for this lifecycle stage within its declared scheme" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:lifecycle_stage_code ],
        [ sh:datatype xsd:string ;
            sh:description "Code or notation for the classified concept" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:classification_code ],
        [ sh:datatype xsd:integer ;
            sh:description "Optional ordering value for this lifecycle stage within the declared scheme" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:lifecycle_stage_sequence ],
        [ sh:datatype xsd:string ;
            sh:description "URI or other reference for the definition of this lifecycle-stage concept" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path ps:lifecycle_stage_definition_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or URI of a broader classification concept when applicable" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path ps:broader_classification_reference ],
        [ sh:description "Resolvable URI for the classified concept" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 4 ;
            sh:path ps:classification_uri ],
        [ sh:datatype xsd:string ;
            sh:description "URI or other reference for the classification scheme, vocabulary, or code list" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path ps:classification_scheme_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Preferred label for this lifecycle stage" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:lifecycle_stage_name ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this classification reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:classification_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "Preferred label for the classified concept" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:classification_label ],
        [ sh:datatype xsd:string ;
            sh:description "URI or other reference for the lifecycle-stage scheme or standard used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:lifecycle_stage_scheme_reference ] ;
    sh:targetClass skos:Concept .

prov:Entity a sh:NodeShape ;
    rdfs:comment "A versioned reference to a CE-RISE record, external model record, dataset, or generated artifact used to create or support product-system data" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:dateTime ;
            sh:description "Timestamp at which the source record or artifact was retrieved, extracted, or generated" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path ps:retrieved_at ],
        [ sh:datatype xsd:string ;
            sh:description "Version, release tag, or revision of the source model or dataset family" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path ps:source_model_version ],
        [ sh:datatype xsd:string ;
            sh:description "Checksum or content hash for the concrete source artifact when available" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path ps:source_artifact_checksum ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for this source-record reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path ps:source_record_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "URI for the source data model, ontology, schema, or dataset family" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path ps:source_model_uri ],
        [ sh:description "Role fulfilled by this source record in the product system" ;
            sh:in ( "ASSESSMENT_SUBJECT" "ACTIVITY_INPUT" "FLOW_INPUT" "BACKGROUND_DATASET" "CLASSIFICATION_SOURCE" "METHOD_OR_PARAMETER" "OTHER" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path ps:source_record_role ],
        [ sh:datatype xsd:string ;
            sh:description "Resolvable URI for the specific source record, dataset, data package, or background activity used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path ps:referenced_record_uri ],
        [ sh:datatype xsd:string ;
            sh:description "Version, release tag, revision, or timestamp of the specific referenced record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path ps:referenced_record_version ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of the specific source record, dataset, data package, or background activity used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path ps:referenced_record_identifier ],
        [ sh:datatype xsd:string ;
            sh:description "URI for the concrete source artifact, export, manifest, or API response used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path ps:source_artifact_uri ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to the query, selection rule, mapping, transformation, or extraction specification used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path ps:data_selection_reference ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier or name of the source data model, ontology, schema, or dataset family" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path ps:source_model_identifier ] ;
    sh:targetClass prov:Entity .

dqf:qualityIssue a sh:NodeShape ;
    rdfs:comment "Data quality issue, limitation, anomaly, or risk identified through scoring, diagnostics, provenance review, or expert assessment" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:class dqf:remediationAction ;
            sh:description "Remediation, mitigation, containment, or improvement actions" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 9 ;
            sh:path dqf:remediation_actions ],
        [ sh:datatype xsd:string ;
            sh:description "Scope of the issue, such as affected fields, records, time periods, regions, suppliers, or processes" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:issue_scope_value ],
        [ sh:description "Type of data quality issue" ;
            sh:in ( "missingness" "non_representativeness" "timeliness_deficit" "schema_drift" "unit_mismatch" "coding_mismatch" "calibration_gap" "provenance_gap" "method_mismatch" "boundary_mismatch" "outlier_or_anomaly" "duplicate_or_conflict" "bias" "invalid_value" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:quality_issue_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Quality criteria affected by the issue" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path dqf:issue_affected_criteria_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date when the issue was detected" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:issue_detected_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component informed by this data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path dqf:data_quality_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a data quality issue, limitation, anomaly, or risk" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:quality_issue_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Risk statement explaining how the issue may affect the intended use, decision, or analysis" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:issue_risk_statement_value ],
        [ sh:description "Severity or criticality of the data quality issue" ;
            sh:in ( "low" "moderate" "high" "critical" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path dqf:issue_severity_value ],
        [ sh:description "Lifecycle status of the data quality issue" ;
            sh:in ( "open" "under_review" "mitigated" "remediated" "accepted_risk" "closed" "superseded" ) ;
            sh:maxCount 1 ;
            sh:order 4 ;
            sh:path dqf:issue_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Root cause, suspected cause, or causal inference for the issue" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:issue_root_cause_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path dqf:data_quality_evidence_reference_value ] ;
    sh:targetClass dqf:qualityIssue .

dqf:uncertaintyTranslation a sh:NodeShape ;
    rdfs:comment "Translation from data quality information into uncertainty metadata, such as coefficient of variation or uncertainty factor" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:float ;
            sh:description "Uncertainty factor derived from data quality information" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:data_quality_uncertainty_factor_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component informed by this data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:data_quality_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Rationale explaining how data quality information was translated into uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path dqf:uncertainty_translation_rationale_value ],
        [ sh:datatype xsd:float ;
            sh:description "Lower bound of coefficient of variation derived from data quality information" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path dqf:coefficient_of_variation_lower_value ],
        [ sh:description "Method used to translate data quality information into uncertainty" ;
            sh:in ( "cv_lookup" "uf_lookup" "direct_cv" "direct_uf" "lognormal_uf" "expert_judgement" "sensitivity_analysis" "monte_carlo" "not_evaluated" "other" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path dqf:uncertainty_translation_method_value ],
        [ sh:description "Quality score used as input to the uncertainty translation" ;
            sh:in ( "score_1_very_reliable" "score_2_reliable" "score_3_unreliable" "score_4_dubious" "not_evaluated" "not_applicable" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path dqf:source_quality_score_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:datatype xsd:float ;
            sh:description "Upper bound of coefficient of variation derived from data quality information" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:coefficient_of_variation_upper_value ],
        [ sh:datatype xsd:float ;
            sh:description "Combined uncertainty factor after aggregating data-quality-derived uncertainty contributions" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:combined_uncertainty_factor_value ],
        [ sh:datatype xsd:string ;
            sh:description "Distributional assumption used for data-quality-derived uncertainty, such as normal or lognormal" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path dqf:uncertainty_distribution_assumption_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a translation from data quality scores to uncertainty information" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:uncertainty_translation_identifier_value ],
        [ sh:datatype xsd:float ;
            sh:description "Combined coefficient of variation after aggregating data-quality-derived uncertainty contributions" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:combined_coefficient_of_variation_value ] ;
    sh:targetClass dqf:uncertaintyTranslation .

mt:calibrationRecord a sh:NodeShape ;
    rdfs:comment "Calibration, comparison, verification, or check record contributing to a traceability chain" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Identifier of the instrument, sensor, measuring system, reference material, standard, or software item calibrated or checked" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:calibrated_item_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Calibration result, correction, factor, or outcome statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path mt:calibration_result_value ],
        [ sh:datatype xsd:string ;
            sh:description "Accreditation identifier, scope, or body associated with the calibration provider" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:calibration_laboratory_accreditation_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 15 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Environmental, operating, or procedural conditions relevant to traceability" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path mt:traceability_environmental_conditions_value ],
        [ sh:datatype xsd:string ;
            sh:description "Laboratory, organization, or facility that performed the calibration" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path mt:calibration_laboratory_value ],
        [ sh:description "Validity or acceptance status of the calibration record" ;
            sh:in ( "valid" "valid_with_restrictions" "due" "expired" "failed" "superseded" "not_available" ) ;
            sh:maxCount 1 ;
            sh:order 12 ;
            sh:path mt:calibration_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Calibration method, procedure, comparison method, or protocol used" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:calibration_method_value ],
        [ sh:datatype xsd:string ;
            sh:description "Calibration interval or recalibration frequency" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:calibration_interval_value ],
        [ sh:description "URL for the calibration certificate or equivalent evidence record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:IRI ;
            sh:order 2 ;
            sh:path mt:calibration_certificate_url_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date on which the calibration was performed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:calibration_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Type of calibrated item" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:calibrated_item_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a calibration, comparison, verification, or check record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:calibration_identifier_value ],
        [ sh:datatype xsd:date ;
            sh:description "Date by which recalibration is due" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:calibration_due_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path mt:traceability_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of the calibration certificate or equivalent evidence record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:calibration_certificate_identifier_value ] ;
    sh:targetClass mt:calibrationRecord .

uq:uncertaintyInterval a sh:NodeShape ;
    rdfs:comment "Interval representation of uncertainty, including coverage intervals and percentile intervals" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Type of interval used to communicate uncertainty" ;
            sh:in ( "coverage_interval" "expanded_uncertainty_interval" "percentile_interval" "credible_interval" "tolerance_interval" "decision_interval" ) ;
            sh:maxCount 1 ;
            sh:order 0 ;
            sh:path uq:interval_type_value ],
        [ sh:datatype xsd:float ;
            sh:description "Coverage factor used to obtain expanded uncertainty from combined standard uncertainty" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:coverage_factor_value ],
        [ sh:datatype xsd:float ;
            sh:description "Coverage probability associated with a coverage interval or expanded uncertainty" ;
            sh:maxCount 1 ;
            sh:maxInclusive 1e+00 ;
            sh:minInclusive 0e+00 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:coverage_probability_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with a reported result, estimate, distribution parameter, or uncertainty quantity" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:uncertainty_unit_value ],
        [ sh:datatype xsd:float ;
            sh:description "Lower percentile used to define an interval, such as 5 for a 5th percentile bound" ;
            sh:maxCount 1 ;
            sh:maxInclusive 1e+02 ;
            sh:minInclusive 0e+00 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:percentile_lower_value ],
        [ sh:datatype xsd:float ;
            sh:description "Upper percentile used to define an interval, such as 95 for a 95th percentile bound" ;
            sh:maxCount 1 ;
            sh:maxInclusive 1e+02 ;
            sh:minInclusive 0e+00 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:percentile_upper_value ],
        [ sh:datatype xsd:float ;
            sh:description "Upper bound of an uncertainty interval, coverage interval, or plausible range" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 2 ;
            sh:path uq:upper_bound_value ],
        [ sh:datatype xsd:float ;
            sh:description "Lower bound of an uncertainty interval, coverage interval, or plausible range" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path uq:lower_bound_value ] ;
    sh:targetClass uq:uncertaintyInterval .

dqf:dataQualityAssessment a sh:NodeShape ;
    rdfs:comment "Reusable assessment describing the quality, fitness for purpose, diagnostics, and improvement needs of data used by CE-RISE models" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:description "Overall statement of whether the data are fit for the stated purpose" ;
            sh:in ( "fit" "fit_with_conditions" "exploratory_only" "not_fit" "insufficient_information" "not_evaluated" ) ;
            sh:maxCount 1 ;
            sh:order 8 ;
            sh:path dqf:fitness_for_purpose_value ],
        [ sh:datatype xsd:string ;
            sh:description "Additional notes about the data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 25 ;
            sh:path dqf:assessment_notes_value ],
        [ sh:description "Lifecycle status of the data quality assessment" ;
            sh:in ( "draft" "active" "reviewed" "verified" "partial" "superseded" "expired" "unavailable" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path dqf:data_quality_assessment_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a report, dataset, diagnostic output, certificate, standard, or workflow record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 23 ;
            sh:path dqf:data_quality_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a data quality assessment that can be referenced from another CE-RISE model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path dqf:data_quality_assessment_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a metrological traceability statement, chain, method, calibration, or boundary definition related to this data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 22 ;
            sh:path dqf:data_quality_traceability_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Slot or attribute in an external model to which this data quality assessment applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path dqf:data_quality_applies_to_slot_value ],
        [ sh:description "Type of data quality assessment being documented" ;
            sh:in ( "value_assessment" "record_assessment" "dataset_assessment" "indicator_input_assessment" "indicator_output_assessment" "evidence_assessment" "process_assessment" "composite_assessment" "not_evaluated" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path dqf:data_quality_assessment_type_value ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable label for the data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path dqf:data_quality_assessment_label_value ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date and time when the data quality assessment was issued or last updated" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path dqf:data_quality_assessment_date_value ],
        [ sh:class dqf:dataQualityProfile ;
            sh:description "Data quality profile associated with an assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 16 ;
            sh:path dqf:data_quality_profile ],
        [ sh:datatype xsd:string ;
            sh:description "Name, URI, or namespace of the external data model to which this data quality assessment applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path dqf:data_quality_applies_to_model_value ],
        [ sh:class dqf:dataCharacterization ;
            sh:description "Characterization of the assessed data and its provenance" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 15 ;
            sh:path dqf:data_characterization ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of the external record, object, dataset, or passport entry to which this data quality assessment applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path dqf:data_quality_applies_to_record_value ],
        [ sh:class dqf:qualityDiagnostic ;
            sh:description "Data-quality diagnostic runs, checks, or analyses" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 17 ;
            sh:path dqf:quality_diagnostics ],
        [ sh:datatype xsd:string ;
            sh:description "Person, organization, system, or workflow responsible for the data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path dqf:assessor_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component informed by this data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 21 ;
            sh:path dqf:data_quality_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "JSONPath, XPath, RDF path, or other pointer to the value to which this data quality assessment applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path dqf:data_quality_applies_to_value_path_value ],
        [ sh:class dqf:uncertaintyTranslation ;
            sh:description "DQA-to-uncertainty translation associated with an assessment or profile" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 20 ;
            sh:path dqf:uncertainty_translation ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of a specific value object when the target model gives value-level identifiers" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path dqf:data_quality_applies_to_value_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Purpose for which the data quality assessment is performed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path dqf:assessment_purpose_value ],
        [ sh:class dqf:qualityIssue ;
            sh:description "Data quality issues, limitations, anomalies, or risks" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 18 ;
            sh:path dqf:quality_issues ],
        [ sh:datatype xsd:string ;
            sh:description "Standard, guide, protocol, or scoring framework applied in the data quality assessment" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 24 ;
            sh:path dqf:data_quality_standards_applied_value ],
        [ sh:datatype xsd:string ;
            sh:description "Intended use, decision context, or analytical purpose for which data fitness is assessed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path dqf:intended_use_value ],
        [ sh:class dqf:remediationAction ;
            sh:description "Remediation, mitigation, containment, or improvement actions" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 19 ;
            sh:path dqf:remediation_actions ],
        [ sh:datatype xsd:string ;
            sh:description "Class in an external model to which this data quality assessment applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path dqf:data_quality_applies_to_class_value ] ;
    sh:targetClass dqf:dataQualityAssessment .

mt:traceabilityStatement a sh:NodeShape ;
    rdfs:comment "Reusable statement documenting the traceability basis of a measured, calculated, method-defined, or boundary-defined value" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Additional notes about the traceability statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 33 ;
            sh:path mt:traceability_statement_notes_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for the reported measured, calculated, or assessed value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 16 ;
            sh:path mt:reported_value_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Slot or attribute in an external model to which this traceability statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path mt:traceability_applies_to_slot_value ],
        [ sh:class mt:traceabilityBasis ;
            sh:description "Reference basis that establishes the meaning and comparability of the value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 20 ;
            sh:path mt:traceability_basis ],
        [ sh:class mt:boundaryDefinition ;
            sh:description "Boundary, goal-and-scope, scenario, or model definition used to define a modelled value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 23 ;
            sh:path mt:boundary_definition ],
        [ sh:class mt:referenceMaterial ;
            sh:description "Reference materials and certified reference materials used in traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 26 ;
            sh:path mt:reference_materials ],
        [ sh:description "Type of traceability being documented" ;
            sh:in ( "si_traceability" "method_defined_traceability" "boundary_defined_traceability" "reference_material_traceability" "conventional_reference_traceability" "hybrid_traceability" "not_evaluated" "other" ) ;
            sh:maxCount 1 ;
            sh:order 2 ;
            sh:path mt:traceability_statement_type_value ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date or time at which the reported result was generated, measured, calculated, or issued" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 19 ;
            sh:path mt:result_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Kind of quantity or indicator being traced, such as mass, length, concentration, carbon footprint, or circularity indicator" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 14 ;
            sh:path mt:traceability_quantity_kind_value ],
        [ sh:description "Lifecycle or validity status of the traceability statement" ;
            sh:in ( "draft" "active" "reviewed" "verified" "partial" "expired" "superseded" "unavailable" ) ;
            sh:maxCount 1 ;
            sh:order 3 ;
            sh:path mt:traceability_status_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit in which the value or measurand is expressed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 15 ;
            sh:path mt:traceability_quantity_unit_value ],
        [ sh:class mt:calibrationRecord ;
            sh:description "Calibration, comparison, verification, or check records that support traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 24 ;
            sh:path mt:calibration_records ],
        [ sh:datatype xsd:string ;
            sh:description "Name of the measurand, quantity, indicator, or value of interest" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 12 ;
            sh:path mt:traceability_measurand_name_value ],
        [ sh:class mt:traceabilityChain ;
            sh:description "Traceability chain or network that relates the result to a reference" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 21 ;
            sh:path mt:traceability_chain ],
        [ sh:class mt:measurementProcedure ;
            sh:description "Procedure or method used to define, obtain, transfer, or compare the value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 22 ;
            sh:path mt:measurement_procedure ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a metrological traceability statement that can be referenced from another CE-RISE model" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path mt:traceability_statement_identifier_value ],
        [ sh:datatype xsd:dateTime ;
            sh:description "Date and time when the traceability statement was issued or last updated" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path mt:traceability_statement_date_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of a specific value object when the target model gives value-level identifiers" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path mt:traceability_applies_to_value_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to a data quality assessment associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 30 ;
            sh:path mt:traceability_data_quality_reference_value ],
        [ sh:class mt:referenceEntity ;
            sh:description "Reference entities, standards, methods, instruments, datasets, or organizations used in traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 25 ;
            sh:path mt:reference_entities ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to an uncertainty statement, uncertainty budget, or uncertainty component associated with this traceability record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 29 ;
            sh:path mt:traceability_uncertainty_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to supporting evidence such as a certificate, report, procedure, dataset, standard, or software record" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 31 ;
            sh:path mt:traceability_evidence_reference_value ],
        [ sh:datatype xsd:string ;
            sh:description "Unit associated with the reported value" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 18 ;
            sh:path mt:reported_value_unit_value ],
        [ sh:datatype xsd:string ;
            sh:description "Operational definition of the measurand, including what is measured, calculated, or assessed" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 13 ;
            sh:path mt:traceability_measurand_description_value ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for the measurand, quantity, indicator, or value of interest" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path mt:traceability_measurand_identifier_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reported value to which the traceability statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 17 ;
            sh:path mt:reported_value_value ],
        [ sh:datatype xsd:string ;
            sh:description "JSONPath, XPath, RDF path, or other pointer to the value to which this traceability statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path mt:traceability_applies_to_value_path_value ],
        [ sh:datatype xsd:string ;
            sh:description "Standard, guide, protocol, or normative document applied when establishing traceability" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 32 ;
            sh:path mt:traceability_standards_applied_value ],
        [ sh:class mt:measurementStandard ;
            sh:description "Measurement standards, artefacts, instruments, and realizations used in traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 27 ;
            sh:path mt:measurement_standards ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier of the external record, object, dataset, or passport entry to which this traceability statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path mt:traceability_applies_to_record_value ],
        [ sh:datatype xsd:string ;
            sh:description "Human-readable label for the traceability statement" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 1 ;
            sh:path mt:traceability_statement_label_value ],
        [ sh:datatype xsd:string ;
            sh:description "Class in an external model to which this traceability statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path mt:traceability_applies_to_class_value ],
        [ sh:datatype xsd:string ;
            sh:description "Name, URI, or namespace of the external data model to which this traceability statement applies" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path mt:traceability_applies_to_model_value ],
        [ sh:class mt:competenceRecord ;
            sh:description "Competence, accreditation, validation, or quality system records supporting traceability" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 28 ;
            sh:path mt:competence_records ] ;
    sh:targetClass mt:traceabilityStatement .

uq:uncertaintyDistribution a sh:NodeShape ;
    rdfs:comment "Probability distribution representing uncertainty for a measurand, input quantity, component, or model output" ;
    sh:closed true ;
    sh:ignoredProperties ( rdf:type ) ;
    sh:property [ sh:datatype xsd:string ;
            sh:description "Notes about distribution choice, fitting, assumptions, or limitations" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 11 ;
            sh:path uq:distribution_notes_value ],
        [ sh:datatype xsd:float ;
            sh:description "Location parameter of the probability distribution when applicable" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 8 ;
            sh:path uq:distribution_location_value ],
        [ sh:datatype xsd:float ;
            sh:description "Mean of the probability distribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 5 ;
            sh:path uq:distribution_mean_value ],
        [ sh:class uq:distributionParameter ;
            sh:description "Flexible distribution parameters, such as mean, standard deviation, minimum, maximum, shape, or scale" ;
            sh:nodeKind sh:BlankNodeOrIRI ;
            sh:order 2 ;
            sh:path uq:distribution_parameters ],
        [ sh:datatype xsd:string ;
            sh:description "Identifier for a probability distribution used in the uncertainty evaluation" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 0 ;
            sh:path uq:distribution_identifier_value ],
        [ sh:datatype xsd:float ;
            sh:description "Standard deviation of the probability distribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 7 ;
            sh:path uq:distribution_standard_deviation_value ],
        [ sh:description "Type of probability distribution used to describe uncertainty" ;
            sh:in ( "normal" "lognormal" "triangular" "uniform" "rectangular" "student_t" "beta" "gamma" "exponential" "empirical" "discrete" "multimodal" "custom" ) ;
            sh:maxCount 1 ;
            sh:order 1 ;
            sh:path uq:distribution_type_value ],
        [ sh:datatype xsd:float ;
            sh:description "Median of the probability distribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 6 ;
            sh:path uq:distribution_median_value ],
        [ sh:datatype xsd:float ;
            sh:description "Scale parameter of the probability distribution when applicable" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 9 ;
            sh:path uq:distribution_scale_value ],
        [ sh:datatype xsd:string ;
            sh:description "Reference to empirical samples or tabulated values used to define an empirical distribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 10 ;
            sh:path uq:empirical_values_reference_value ],
        [ sh:datatype xsd:float ;
            sh:description "Upper support bound of the probability distribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 4 ;
            sh:path uq:distribution_upper_bound_value ],
        [ sh:datatype xsd:float ;
            sh:description "Lower support bound of the probability distribution" ;
            sh:maxCount 1 ;
            sh:nodeKind sh:Literal ;
            sh:order 3 ;
            sh:path uq:distribution_lower_bound_value ] ;
    sh:targetClass uq:uncertaintyDistribution .


