#![allow(clippy::all, dead_code, unused)]
use cimdecoder::CimDataset;
use crate::Violation;
use crate::helpers::*;
pub fn validate_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl(dataset: &CimDataset) -> Vec<Violation> {
let mut v = Vec::new();
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equipment_equipment_in_s_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_conform_load_equipment_i_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_potential_transformer_eq_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_ground_equipment_in_serv_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_hydro_pump_equipment_in_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_wave_trap_equipment_in_s_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_energy_consumer_equipmen_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_chopper_equipment_in_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_power_electronics_wind_u_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_photo_voltaic_unit_equip_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_external_network_injecti_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_asynchronous_machine_equ_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_jumper_equipment_in_serv_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_current_transformer_equi_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_battery_unit_equipment_i_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_wind_generating_unit_equ_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equivalent_shunt_equipme_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_shunt_equipment_in_se_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_synchronous_machine_equi_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equivalent_branch_equipm_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_series_device_equipme_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_nonlinear_shunt_compensa_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_thermal_generating_unit_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_post_line_sensor_equipme_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_disconnector_equipmen_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_switch_equipment_in_serv_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_busbar_equipment_in_s_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_cs_converter_equipment_i_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_cut_equipment_in_service_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_breaker_equipment_in_ser_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_switch_equipment_in_s_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_series_compensator_equip_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_surge_arrester_equipment_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_fuse_equipment_in_servic_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_solar_generating_unit_eq_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_static_var_compensator_e_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_ground_equipment_in_s_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_non_conform_load_equipme_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_ac_line_segment_equipmen_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_hydro_generating_unit_eq_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_fault_indicator_equipmen_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_breaker_equipment_in_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_vs_converter_equipment_i_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_load_break_switch_equipm_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_line_segment_equipmen_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_busbar_section_equipment_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_disconnector_equipment_i_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_generating_unit_equipmen_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_power_transformer_equipm_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_linear_shunt_compensator_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_disconnecting_circuit_br_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_ground_disconnector_equi_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_petersen_coil_equipment_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_junction_equipment_in_se_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_power_electronics_connec_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_energy_source_equipment_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_nuclear_generating_unit_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_grounding_impedance_equi_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_station_supply_equipment_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_clamp_equipment_in_servi_etc(dataset));
v.extend(check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equivalent_injection_equ_etc(dataset));
v
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equipment_equipment_in_s_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Equipment").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Equipment>() {
Some(o) => o, None => continue,
};
if obj.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Equipment".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_conform_load_equipment_i_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("ConformLoad").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::ConformLoad>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "ConformLoad".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_potential_transformer_eq_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PotentialTransformer").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PotentialTransformer>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PotentialTransformer".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_ground_equipment_in_serv_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Ground").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Ground>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Ground".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_hydro_pump_equipment_in_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("HydroPump").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::HydroPump>() {
Some(o) => o, None => continue,
};
if obj.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "HydroPump".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_wave_trap_equipment_in_s_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("WaveTrap").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::WaveTrap>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "WaveTrap".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_energy_consumer_equipmen_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("EnergyConsumer").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::EnergyConsumer>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "EnergyConsumer".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_chopper_equipment_in_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCChopper").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCChopper>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCChopper".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_power_electronics_wind_u_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PowerElectronicsWindUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PowerElectronicsWindUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PowerElectronicsWindUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_photo_voltaic_unit_equip_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PhotoVoltaicUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PhotoVoltaicUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PhotoVoltaicUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_external_network_injecti_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("ExternalNetworkInjection").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::ExternalNetworkInjection>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "ExternalNetworkInjection".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_asynchronous_machine_equ_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("AsynchronousMachine").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::AsynchronousMachine>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "AsynchronousMachine".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_jumper_equipment_in_serv_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Jumper").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Jumper>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Jumper".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_current_transformer_equi_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("CurrentTransformer").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::CurrentTransformer>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "CurrentTransformer".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_battery_unit_equipment_i_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("BatteryUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::BatteryUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "BatteryUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_wind_generating_unit_equ_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("WindGeneratingUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::WindGeneratingUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "WindGeneratingUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equivalent_shunt_equipme_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("EquivalentShunt").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::EquivalentShunt>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "EquivalentShunt".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_shunt_equipment_in_se_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCShunt").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCShunt>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCShunt".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_synchronous_machine_equi_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("SynchronousMachine").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::SynchronousMachine>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "SynchronousMachine".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equivalent_branch_equipm_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("EquivalentBranch").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::EquivalentBranch>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "EquivalentBranch".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_series_device_equipme_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCSeriesDevice").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCSeriesDevice>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCSeriesDevice".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_nonlinear_shunt_compensa_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("NonlinearShuntCompensator").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::NonlinearShuntCompensator>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "NonlinearShuntCompensator".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_thermal_generating_unit_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("ThermalGeneratingUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::ThermalGeneratingUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "ThermalGeneratingUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_post_line_sensor_equipme_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PostLineSensor").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PostLineSensor>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PostLineSensor".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_disconnector_equipmen_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCDisconnector").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCDisconnector>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCDisconnector".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_switch_equipment_in_serv_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Switch").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Switch>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Switch".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_busbar_equipment_in_s_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCBusbar").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCBusbar>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCBusbar".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_cs_converter_equipment_i_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("CsConverter").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::CsConverter>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "CsConverter".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_cut_equipment_in_service_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Cut").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Cut>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Cut".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_breaker_equipment_in_ser_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Breaker").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Breaker>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Breaker".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_switch_equipment_in_s_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCSwitch").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCSwitch>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCSwitch".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_series_compensator_equip_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("SeriesCompensator").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::SeriesCompensator>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "SeriesCompensator".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_surge_arrester_equipment_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("SurgeArrester").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::SurgeArrester>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "SurgeArrester".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_fuse_equipment_in_servic_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Fuse").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Fuse>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Fuse".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_solar_generating_unit_eq_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("SolarGeneratingUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::SolarGeneratingUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "SolarGeneratingUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_static_var_compensator_e_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("StaticVarCompensator").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::StaticVarCompensator>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "StaticVarCompensator".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_ground_equipment_in_s_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCGround").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCGround>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCGround".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_non_conform_load_equipme_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("NonConformLoad").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::NonConformLoad>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "NonConformLoad".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_ac_line_segment_equipmen_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("ACLineSegment").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::ACLineSegment>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "ACLineSegment".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_hydro_generating_unit_eq_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("HydroGeneratingUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::HydroGeneratingUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "HydroGeneratingUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_fault_indicator_equipmen_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("FaultIndicator").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::FaultIndicator>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "FaultIndicator".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_breaker_equipment_in_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCBreaker").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCBreaker>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCBreaker".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_vs_converter_equipment_i_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("VsConverter").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::VsConverter>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "VsConverter".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_load_break_switch_equipm_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("LoadBreakSwitch").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::LoadBreakSwitch>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "LoadBreakSwitch".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_dc_line_segment_equipmen_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DCLineSegment").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DCLineSegment>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DCLineSegment".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_busbar_section_equipment_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("BusbarSection").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::BusbarSection>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "BusbarSection".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_disconnector_equipment_i_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Disconnector").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Disconnector>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Disconnector".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_generating_unit_equipmen_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("GeneratingUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::GeneratingUnit>() {
Some(o) => o, None => continue,
};
if obj.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "GeneratingUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_power_transformer_equipm_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PowerTransformer").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PowerTransformer>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PowerTransformer".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_linear_shunt_compensator_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("LinearShuntCompensator").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::LinearShuntCompensator>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "LinearShuntCompensator".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_disconnecting_circuit_br_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("DisconnectingCircuitBreaker").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::DisconnectingCircuitBreaker>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "DisconnectingCircuitBreaker".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_ground_disconnector_equi_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("GroundDisconnector").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::GroundDisconnector>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "GroundDisconnector".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_petersen_coil_equipment_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PetersenCoil").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PetersenCoil>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PetersenCoil".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_junction_equipment_in_se_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Junction").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Junction>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Junction".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_power_electronics_connec_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("PowerElectronicsConnection").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::PowerElectronicsConnection>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "PowerElectronicsConnection".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_energy_source_equipment_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("EnergySource").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::EnergySource>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "EnergySource".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_nuclear_generating_unit_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("NuclearGeneratingUnit").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::NuclearGeneratingUnit>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "NuclearGeneratingUnit".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_grounding_impedance_equi_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("GroundingImpedance").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::GroundingImpedance>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "GroundingImpedance".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_station_supply_equipment_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("StationSupply").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::StationSupply>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "StationSupply".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_clamp_equipment_in_servi_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("Clamp").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::Clamp>() {
Some(o) => o, None => continue,
};
if obj.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "Clamp".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}
pub fn check_p61970_456_steadystatehypothesis_ap_con_complex_notsolvedmas_shacl_equivalent_injection_equ_etc(dataset: &CimDataset) -> Vec<Violation> {
let mut violations = Vec::new();
for mrid in dataset.by_type.get("EquivalentInjection").into_iter().flatten() {
let entry = &dataset.entries[mrid];
let obj = match entry.element.as_any()
.downcast_ref::<cimstructs::EquivalentInjection>() {
Some(o) => o, None => continue,
};
if obj.base.base.base.in_service.is_none() {
violations.push(Violation {
object_id: mrid.clone(),
rule_id: "sshn456:Equipment.inService-eqshhCardinality".to_string(),
class: "EquivalentInjection".to_string(),
property: "Equipment.inService".to_string(),
message: "Missing required property (attribute). The equipment is instantiated in EQ instance but Equipment.inService is not instantiated in SSH.".to_string(),
severity: "sh:Violation".to_string(),
name: "Equipment.inService-eqshhCardinality".to_string(),
description: "This constraint validates the cardinality of the property (attribute) for classes that are in EQ but not in SSH profile.".to_string(),
});
}
}
violations
}