Complete (all in one) LTDS Equipment Constraints
type: Ontology
conforms to: file://Grid_Modelling_Appendix_1_CIM100v111_UK_LTDS_AllProfiles_v8.eap
conforms to: urn:iso:std:iec:61970-600-2:ed-1
conforms to: urn:iso:std:iec:61970-501:draft:ed-2
conforms to: urn:iso:std:iec:61970-301:ed-7:amd1
conforms to: urn:iso:std:iec:61970-401:draft:ed-1
description: Complete LTDS Equipment constraints.
issued: 2025-10-31T10:59:04.231564900
language: en-GB
license: https://www.apache.org/licenses/LICENSE-2.0
modified: 2025-10-31
publisher: Ofgem
rights holder: Ofgem
version IRI: http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complete/Constraints/6.0
version info: 6
keyword: EQ
theme: constraint

CIM100#
type: Ontology
imports: shacl#
declare: PrefixDeclaration
  namespace: http://iec.ch/TC57/CIM100#
  prefix: cim
declare: PrefixDeclaration
  namespace: http://www.w3.org/1999/02/22-rdf-syntax-ns#
  prefix: rdf
declare: PrefixDeclaration
  namespace: https://cim4.eu/ns/nc#
  prefix: nc
declare: PrefixDeclaration
  namespace: http://ofgem.gov.uk/ns/CIM/LTDS/Extensions#
  prefix: gb
declare: PrefixDeclaration
  namespace: http://www.w3.org/2001/XMLSchema#
  prefix: xsd
declare: PrefixDeclaration
  namespace: http://iec.ch/TC57/CIM100-European#
  prefix: eu

LTDS header complex constraints
type: PropertyGroup
order: 1

Model.description-stringPattern
type: PropertyShape
description: The description must not be empty or start with a space.
group: LTDS header complex constraints
name: C:LTDS:HEADER:Model.description:stringPattern
order: 9
path: Model.description
severity: Violation
sparql: StringEmptyOrStartWithSpaceSparql

Model.modelingAuthoritySet-stringPattern
type: PropertyShape
description: The Modeling Authority Set must not be empty or start with a space.
group: LTDS header complex constraints
name: C:LTDS:HEADER:Model.modelingAuthoritySet:stringPattern
order: 9
path: Model.modelingAuthoritySet
severity: Violation
sparql: StringEmptyOrStartWithSpaceSparql

Model.version-datatype
type: PropertyShape
description: The version must be an integer or float number.
group: LTDS header complex constraints
name: C:LTDS:HEADER:Model.version:datatype
sparql: Model.version-datatypeSparql
order: 9
path: Model.version
severity: Warning

Model.version-datatypeSparql
type: SPARQLConstraint
message: Value must be either integer or float.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . FILTER(!REGEX(STR(?value), "^[0-9]+$") && !REGEX(STR(?value), "^[+-]?([0-9]+([.][0-9]*)?|[.][0-9]+)$")). }

Model.profile-allowedValues
type: PropertyShape
description: The profile IRI must be declared in the file header.
group: LTDS header complex constraints
in: http://ofgem.gov.uk/ns/CIM/LTDS/SYSCAP/4.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/ShortCircuitResult/2.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/Topology/2.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/StateVariables/2.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/SteadyStateHypothesis/3.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/ShortCircuit/2.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/GeographicalLocation/2.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/6.0
in: http://ofgem.gov.uk/ns/CIM/LTDS/DiagramLayout/2.0
max count: 1
message: The model does not include exactly one md:Model.profile which is defined for LTDS.
min count: 1
name: C:LTDS:HEADER:Model.profile:allowedValues
order: 8
path: Model.profile
severity: Violation

StringEmptyOrStartWithSpaceSparql
type: SPARQLConstraint
message: The string is empty or starts with space.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . FILTER(STRLEN(str(?value))=0 || strStarts(?value, " ")). }

LTDS EQ Complex Constraints
type: PropertyGroup
order: 1

RotatingMachine.GeneratingUnit-valueTypeForAsynchronousMachine
type: PropertyShape
description: An AsynchronousMachine association to a GeneratingUnit must be of type WindGeneratingUnit.
group: LTDS EQ Complex Constraints
class: WindGeneratingUnit
message: AsynchronousMachine is not associated to WindGeneratingUnit.
name: C:LTDS:EQ:RotatingMachine.GeneratingUnit:valueTypeForAsynchronousMachine
order: 3
path: RotatingMachine.GeneratingUnit
severity: Violation

RotatingMachine.GeneratingUnit-valueTypeForSynchronousMachine
type: PropertyShape
description: A SynchronousMachine association to a GeneratingUnit must be of type GeneratingUnit, FlywheelUnit, HydroGeneratingUnit, ThermalGeneratingUnit, GeothermalGeneratingUnit, NuclearGeneratingUnit, or SolarGeneratingUnit.
group: LTDS EQ Complex Constraints
in: GeneratingUnit
in: FlywheelUnit
in: HydroGeneratingUnit
in: ThermalGeneratingUnit
in: GeothermalGeneratingUnit
in: NuclearGeneratingUnit
in: SolarGeneratingUnit
message: SynchronousMachine is not associated to appropriate GeneratingUnit or its subtype.
name: C:LTDS:EQ:RotatingMachine.GeneratingUnit:valueTypeForSynchronousMachine
order: 4
path: RotatingMachine.GeneratingUnit
path: type
severity: Violation

GeographicalRegion-presence
type: PropertyShape
description: A GeographicalRegion represents a licence area. An EQ Full Model must contain one GeographicalRegion.
group: LTDS EQ Complex Constraints
max count: 1
message: There are too few or too many GeographicalRegions present in the Full Model.
min count: 1
name: C:LTDS:EQ:GeographicalRegion:presence
order: 4
path:
  inverse path: type
severity: Violation

SubGeographicalRegion-presence
type: PropertyShape
description: A SubGeographicalRegion represents a GSP area. An EQ Full Model must contain at least one SubGeographicalRegion.
group: LTDS EQ Complex Constraints
min count: 1
message: There is no SubGeographicalRegion present in the Full Model.
name: C:LTDS:EQ:SubGeographicalRegion:presence
order: 5
path:
  inverse path: type
severity: Violation

EnergyConnectionAndBreaker.aggregate-matchSparql
type: SPARQLConstraint
message: Either equivalent load or generation/storage is not connected to a representative feeder breaker or individual load or generation/storage is connected to a Breaker or Switch with Equipment.aggregate=true.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . $this ^cim:Terminal.ConductingEquipment ?ceTerm. ?ceTerm cim:Terminal.ConnectivityNode/^cim:Terminal.ConnectivityNode/cim:Terminal.ConductingEquipment ?ce. ?ce rdf:type ?ceType. ?ce cim:Equipment.aggregate ?aggr. FILTER((?value=true && (?ceType=cim:Switch || ?aggr=false)) || (?value=false && ?aggr=true)). }

PowerTransformer-twoWinding
type: NodeShape
property: PowerTransformerEnd-impedances2Winding
target: SPARQLTarget
  prefixes: CIM100#
  select: SELECT DISTINCT ?this WHERE { ?this rdf:type cim:PowerTransformer . FILTER NOT EXISTS {?this ^cim:PowerTransformerEnd.PowerTransformer/cim:TransformerEnd.endNumber 3}. }

PowerTransformerEnd-impedances2Winding
type: PropertyShape
description: A two winding PowerTransformer must have a non-zero PowerTransformerEnd.r at the high voltage winding (TransformerEnd.endNumber=1)and a zero PowerTransformerEnd.r and .x at the low voltage winding (TransformerEnd.endNumber=2).
group: LTDS EQ Complex Constraints
order: 23
path: type
deactivated: false
severity: Violation

http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complex/Manual/Constraints#PowerTransformerEnd-impedances2WindingSparql
type: SPARQLConstraint
message: For a two winding PowerTransformer, .r value is zero on the high voltage winding (PowerTransformerEnd with rdf:id {?end1}) or .r or .x value is non-zero on the low voltage winding (PowerTransformerEnd with rdf:id {?end2}).
prefixes: CIM100#
select: SELECT $this ?end1 ?end2 WHERE { ?end1 cim:PowerTransformerEnd.PowerTransformer $this . ?end1 cim:TransformerEnd.endNumber 1 . ?end1 cim:PowerTransformerEnd.r ?r1 . ?end2 cim:PowerTransformerEnd.PowerTransformer $this . ?end2 cim:TransformerEnd.endNumber 2 . ?end2 cim:PowerTransformerEnd.r ?r2 . ?end2 cim:PowerTransformerEnd.x ?x2 . FILTER (?r1=0 || !(?r2=0 && ?x2=0)). }

ConductingEquipment-oneTerminal
type: NodeShape
description: The following ConductingEquipment subtypes must have a single terminal: BusbarSection, EnergyConsumer, LinearShuntCompensator, NonlinearShuntCompensator, StaticVarCompensator, SynchronousMachine, AsynchronousMachine, PowerElectronicsConnection, and EquivalentInjection.
target class: BusbarSection
target class: EnergyConsumer
target class: LinearShuntCompensator
target class: NonlinearShuntCompensator
target class: StaticVarCompensator
target class: SynchronousMachine
target class: AsynchronousMachine
target class: PowerElectronicsConnection
target class: EquivalentInjection
group: LTDS EQ Complex Constraints
message: The ConductingEquipment does not have a single Terminal.
name: C:LTDS:EQ:ConductingEquipment:oneTerminal
property:
  max count: 1
  min count: 1
  path:
    inverse path: Terminal.ConductingEquipment
order: 7
severity: Violation

ConductingEquipment.BaseVoltage-notUsed
type: PropertyShape
description: A PowerTransformer, ProtectedSwitch subtype (Breaker, DisconnectingCircuitBreaker, LoadBreakSwitch), BusbarSection, or EnergyConnection subtype (EnergyConsumer, LinearShuntCompensator, NonlinearShuntCompensator, StaticVarCompensator, SynchronousMachine, AsynchronousMachine, PowerElectonicsConnection) must not have an association to BaseVoltage.
group: LTDS EQ Complex Constraints
max count: 0
message: Association to BaseVoltage is present.
name: C:LTDS:EQ:ConductingEquipment.BaseVoltage:notUsed
order: 7
path: ConductingEquipment.BaseVoltage
severity: Violation

ConductingEquipment.BaseVoltage-required
type: PropertyShape
description: An ACLineSegment or EquivalentBranch must have an association to BaseVoltage.
group: LTDS EQ Complex Constraints
message: Association to BaseVoltage is missing.
min count: 1
name: C:LTDS:EQ:ConductingEquipment.BaseVoltage:required
order: 7
path: ConductingEquipment.BaseVoltage
severity: Violation

ConnectivityNode.Terminals-cardinality
type: PropertyShape
description: A ConnectivityNode must have at least one Terminal associated to it.
group: LTDS EQ Complex Constraints
message: ConnectivityNode has no Terminal associated to it.
min count: 1
name: C:LTDS:EQ:ConnectivityNode.Terminals:cardinality
order: 7
path:
  inverse path: Terminal.ConnectivityNode
severity: Violation

Terminal.RegulatingControl-cardinality
type: PropertyShape
description: A Terminal must not have more than one RegulatingControl associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: Terminal has more than one RegulatingControl associated to it.
name: C:LTDS:EQ:Terminal.RegulatingControl:cardinality
order: 7
path:
  inverse path: RegulatingControl.Terminal
severity: Violation

Terminal.OperationalLimitSet-cardinality
type: PropertyShape
description: A Terminal may have only one OperationalLimitSet associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: Terminal has too many associations to it from OperationalLimitSet.
name: C:LTDS:EQ:Terminal.OperationalLimitSet:cardinality
order: 7
path:
  inverse path: OperationalLimitSet.Terminal
severity: Violation

PowerTransformer.PowerTransformerEnd-cardinality
type: PropertyShape
description: A PowerTransformer may have only 2 or 3 PowerTransformerEnds which associate to it.
group: LTDS EQ Complex Constraints
max count: 3
message: PowerTransformer has too few or too many associations to it from PowerTransformerEnd.
min count: 2
name: C:LTDS:EQ:PowerTransformer.PowerTransformerEnd:cardinality
order: 7
path:
  inverse path: PowerTransformerEnd.PowerTransformer
severity: Violation

Equipment.AdditionalEquipmentContainer-allowedToSubstation
type: PropertyShape
description: A PowerTransformer may have an Equipment.AdditionalEquipmentContainer association and, if present, it must be to Substation.
group: LTDS EQ Complex Constraints
class: Substation
message: The additional containment is not to Substation.
name: C:LTDS:EQ:Equipment.AdditionalEquipmentContainer:allowedToSubstation
order: 12
path: Equipment.AdditionalEquipmentContainer
severity: Violation

ThermalGeneratingUnit.FossilFuel-cardinality
type: PropertyShape
description: A ThermalGeneratingUnit may have up to one FossilFuel associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: ThermalGeneratingUnit has more than one FossilFuel associated to it.
name: C:LTDS:EQ:ThermalGeneratingUnit.FossilFuel:cardinality
order: 7
path:
  inverse path: FossilFuel.ThermalGeneratingUnit
severity: Violation

ThermalGeneratingUnit.BioFuel-cardinality
type: PropertyShape
description: A ThermalGeneratingUnit may have up to one BiolFuel associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: ThermalGeneratingUnit has more than one BioFuel associated to it.
name: C:LTDS:EQ:ThermalGeneratingUnit.BioFuel:cardinality
order: 7
path:
  inverse path: BioFuel.ThermalGeneratingUnit
severity: Violation

ThermalGeneratingUnit.OtherFuel-cardinality
type: PropertyShape
description: A ThermalGeneratingUnit may have up to one OtherFuel associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: ThermalGeneratingUnit has more than one OtherFuel associated to it.
name: C:LTDS:EQ:ThermalGeneratingUnit.OtherFuel:cardinality
order: 7
path:
  inverse path: OtherFuel.ThermalGeneratingUnit
severity: Violation

CAESPlant.ThermalGeneratingUnit-cardinality
type: PropertyShape
description: A CAESPlant must have one ThermalGeneratingUnit associated to it.
group: LTDS EQ Complex Constraints
message: CAESPlant has no ThermalGeneratingUnit associated to it.
min count: 1
name: C:LTDS:EQ:CAESPlant.ThermalGeneratingUnit:cardinality
order: 7
path:
  inverse path: ThermalGeneratingUnit.CAESPlant
severity: Violation

OperationalLimitSet.OperationalLimit-cardinality
type: PropertyShape
description: An OperationalLimitSet must have at least one but not more than two OperationalLimits associated to it.
group: LTDS EQ Complex Constraints
min count: 1
message: OperationalLimitSet has too many or too few associations to it from OperationalLimit.
max count: 2
name: C:LTDS:EQ:OperationalLimitSet.OperationalLimit:cardinality
order: 7
path:
  inverse path: OperationalLimit.OperationalLimitSet
severity: Violation

RepeatingSchedule.RepeatingScheduleInterval-cardinality
type: PropertyShape
description: A RepeatingSchedule must have four RepeatingScheduleIntervals associated to it.
group: LTDS EQ Complex Constraints
min count: 4
message: RepeatingSchedule has too many or too few RepeatingScheduleIntervals associated to it.
max count: 4
name: C:LTDS:EQ:RepeatingSchedule.RepeatingScheduleInterval:cardinality
order: 7
path:
  inverse path: RepeatingScheduleInterval.RepeatingSchedule
severity: Violation

Equipment.aggregate-required
type: PropertyShape
description: Equipment.aggregate is required on Switch, Breaker, EnergyConsumer, SynchronousMachine, AsynchronousMachine and PowerElectronicsConnection.
group: LTDS EQ Complex Constraints
message: Required attribute is missing.
min count: 1
name: C:LTDS:EQ:Equipment.aggregate:required
order: 7
path: Equipment.aggregate
severity: Violation

Equipment.aggregate-notUsed
type: PropertyShape
description: Equipment.aggregate is allowed only on ConductingEquipment subtypes of Switch, Breaker, EnergyConsumer, SynchronousMachine, AsynchronousMachine and PowerElectronicsConnection. Specifically, Equipment.aggregate is not allowed on any other ConductingEquipment subtype (ACLineSegment, BusbarSection, LinearShuntCompensator, NonlinearShuntCompensator, StaticVarCompensator, EquivalentBranch, EquivalentInjection, PowerTransformer, SeriesCompensator, Disconnector, Fuse, DisconnectingCircuitBreaker, LoadBreakSwitch). And Equipment.aggregate is not allowed on any other Equipment subtype (BatteryUnit, PhotoVoltaicUnit, PowerElectricalChemicalUnit, PowerElectronicsWindUnit, GeneratingUnit, FlywheelUnit, GeothermalGeneratingUnit, HydroGeneratingUnit, ThermalGeneratingUnit, NuclearGeneratingUnit, SolarGeneratingUnit, WindGeneratingUnit).
group: LTDS EQ Complex Constraints
message: Unallowed attribute is present.
max count: 0
name: C:LTDS:EQ:Equipment.aggregate:notUsed
order: 7
path: Equipment.aggregate
severity: Violation

EnergyConnectionAndBreaker.aggregate-match
type: PropertyShape
sparql: EnergyConnectionAndBreaker.aggregate-matchSparql
description: A ConductingEquipment subtype connected to the same ConnectivityNode as an EnergyConnection subtype which has Equipment.aggregate=false (an individual load or generation/storage) must have Equipment.aggregate either not present or =false. A ConductingEquipment subtype connected to the same ConnectivityNode as an EnergyConnection subtype which has Equipment.aggregate=true (an equivalent load or generation/storage) must not be a Switch and must have Equipment.aggregate either not present or =true.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:EnergyConnectionAndBreaker.aggregate:match
order: 6
path: Equipment.aggregate
deactivated: true
severity: Violation

GeneratingUnit.RotatingMachine-cardinality
type: PropertyShape
description: A GeneratingUnit or subtype (FlywheelUnit, GeothermalGeneratingUnit, HydroGeneratingUnit, ThermalGeneratingUnit, NuclearGeneratingUnit, SolarGeneratingUnit, WindGeneratingUnit) must have one RotatingMachine subtype associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: GeneratingUnit subtype has too many associations to it from RotatingMachine subtype.
name: C:LTDS:EQ:GeneratingUnit.RotatingMachine:cardinality
order: 7
path:
  inverse path: RotatingMachine.GeneratingUnit
severity: Violation

Equipment.inService-notUsed
type: PropertyShape
description: Equipment.inService is allowed only on ConductingEquipment subtypes. Specifically, a PowerElectronicsUnit subtype (BatteryUnit, PhotoVoltaicUnit, PowerElectricalChemicalUnit, PowerElectronicsWindUnit) or a GeneratingUnit or a GeneratingUnit subtype (FlywheelUnit, GeothermalGeneratingUnit, HydroGeneratingUnit, ThermalGeneratingUnit, NuclearGeneratingUnit, SolarGeneratingUnit, WindGeneratingUnit) must not have Equipment.inService.
group: LTDS EQ Complex Constraints
message: Unallowed attribute is present.
max count: 0
name: C:LTDS:EQ:Equipment.inService:notUsed
order: 7
path: Equipment.inService
severity: Violation

Equipment.EquipmentContainer-notUsed
type: PropertyShape
description: Only ConductingEquipment subtypes may have an Equipment.EquipmentContainer association. Specifically, a PowerElectronicsUnit subtype (BatteryUnit, PhotoVoltaicUnit, PowerElectricalChemicalUnit, PowerElectronicsWindUnit) or a GeneratingUnit or a GeneratingUnit subtype (FlywheelUnit, GeothermalGeneratingUnit, HydroGeneratingUnit, ThermalGeneratingUnit, NuclearGeneratingUnit, SolarGeneratingUnit, WindGeneratingUnit) must not have an Equipment.EquipmentContainer association
group: LTDS EQ Complex Constraints
message: Equipment.EquipmentContainer association is present.
max count: 0
name: C:LTDS:EQ:Equipment.EquipmentContainer:notUsed
order: 7
path: Equipment.EquipmentContainer
severity: Violation

Equipment.EquipmentContainer-requiredToVoltageLevel
type: PropertyShape
description: An EnergyConnection subtype (EnergyConsumer, LinearShuntCompensator, NonlinearShuntCompensator, StaticVarCompensator, SynchronousMachine, AsynchronousMachine, PowerElectronicsConnection) must have an Equipment.EquipmentContainer association to an EquipmentContainer of type VoltageLevel.
group: LTDS EQ Complex Constraints
class: VoltageLevel
max count: 1
message: The containment either is missing or is not VoltageLevel.
min count: 1
name: C:LTDS:EQ:Equipment.EquipmentContainer:requiredToVoltageLevel
order: 12
path: Equipment.EquipmentContainer
severity: Violation

Equipment.AdditionalEquipmentContainer-notUsed
type: PropertyShape
description: Only select ConductingEquipment subtypes may have an Equipment.AdditionalEquipmentContainer association. Specifically, the following ConductingEquipment must not have an Equipment.AdditionalEquipmentContainer association: A BusbarSection, EnergyConnection subtype (EnergyConsumer, LinearShuntCompensator, NonlinearShuntCompensator, StaticVarCompensator, SynchronousMachine, AsynchronousMachine, PowerElectronicsConnection), ACLineSegment, EquivalentBranch, or EquivalentInjection. Additionally, the following other Equipment must not have an Equipment:AdditionalEquipmentContainer association: a PowerElectronicsUnit subtype (BatteryUnit, PhotoVoltaicUnit, PowerElectricalChemicalUnit, PowerElectronicsWindUnit) or a GeneratingUnit or a GeneratingUnit subtype (FlywheelUnit, GeothermalGeneratingUnit, HydroGeneratingUnit, ThermalGeneratingUnit, NuclearGeneratingUnit, SolarGeneratingUnit, WindGeneratingUnit).
group: LTDS EQ Complex Constraints
message: Equipment.AdditionalEquipmentContainer association is present.
max count: 0
name: C:LTDS:EQ:Equipment.AdditionalEquipmentContainer:notUsed
order: 7
path: Equipment.AdditionalEquipmentContainer
severity: Violation

Equipment.AdditionalEquipmentContainer-allowedToLine
type: PropertyShape
description: A ProtectedSwitch subtype (Breaker, DisconnectingCircuitBreaker, LoadBreakSwitch) may have an Equipment.AdditionalEquipmentContainer association and, if present, it must be to Line.
group: LTDS EQ Complex Constraints
class: Line
message: The additional containment is not to Line.
name: C:LTDS:EQ:Equipment.AdditionalEquipmentContainer:allowedToLine
order: 12
path: Equipment.AdditionalEquipmentContainer
severity: Violation

HydroPowerPlant.energyStorageCapacity-valueRangeRunOfRiver
type: PropertyShape
sparql: HydroPowerPlant.energyStorageCapacity-valueRangeRunOfRiverSparql
description: HydroPowerPlant.energyStorageCapacity must be zero for a HydroPowerPlant with HydroPowerPlant.hydroPlantStorageType=runOfRiver.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:HydroPowerPlant.energyStorageCapacity:valueRangeRunOfRiver
order: 6
path: HydroPowerPlant.energyStorageCapacity
deactivated: false
severity: Violation

HydroPowerPlant.energyStorageCapacity-valueRangeRunOfRiverSparql
type: SPARQLConstraint
message: Run-of-river HydroPowerPlant has non-zero energyStorageCapacity value.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . $this cim:HydroPowerPlant.hydroPlantStorageType cim:HydroPlantStorageKind.runOfRiver. FILTER(?value!=0). }

HydroPowerPlant.energyStorageCapacity-valueRangeNotRunOfRiver
type: PropertyShape
sparql: HydroPowerPlant.energyStorageCapacity-valueRangeNotRunOfRiverSparql
description: HydroPowerPlant.energyStorageCapacity must be positive for a HydroPowerPlant with HydroPowerPlant.hydroPlantStorageType=pumpedStorage or =storage.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:HydroPowerPlant.energyStorageCapacity:valueRangeNotRunOfRiver
order: 6
path: HydroPowerPlant.energyStorageCapacity
deactivated: false
severity: Violation

HydroPowerPlant.energyStorageCapacity-valueRangeNotRunOfRiverSparql
type: SPARQLConstraint
message: Pumped storage or storage HydroPowerPlant has negative or zero energyStorageCapacity value.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . $this cim:HydroPowerPlant.hydroPlantStorageType ?hpType. FILTER(?value<=0 && (?hpType=cim:HydroPlantStorageKind.pumpedStorage || ?hpType=cim:HydroPlantStorageKind.storage)). }

PowerSystemResource.PSRType-notUsed
type: PropertyShape
sparql: PowerSystemResource.PSRType-notUsedSparql
description: Only Substation may have an association to PSRType.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PowerSystemResource.PSRType:notUsed
order: 6
path: PowerSystemResource.PSRType
deactivated: false
severity: Violation

PowerSystemResource.PSRType-notUsedSparql
type: SPARQLConstraint
message: Unallowed association to PSRType.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this rdf:type ?value . FILTER(?value!=cim:Substation). }

PSRType-presenceGSP
type: PropertyShape
sparql: PSRType-presenceGSPSparql
description: An EQ Full Model must contain a PSRType with IdentifiedObject.name=GSP.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PSRType:presenceGSP
order: 6
path: type
deactivated: false
severity: Violation

PSRType-presenceGSPSparql
type: SPARQLConstraint
message: PSRType with .name=GSP is missing.
prefixes: CIM100#
select: SELECT $this WHERE { FILTER NOT EXISTS { ?psr rdf:type cim:PSRType ; cim:IdentifiedObject.name ?name . FILTER( ?name = "GSP" ) } }

PSRType-presenceBSP
type: PropertyShape
sparql: PSRType-presenceBSPSparql
description: An EQ Full Model must contain a PSRType with IdentifiedObject.name=BSP.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PSRType:presenceBSP
order: 6
path: type
deactivated: false
severity: Warning

PSRType-presenceBSPSparql
type: SPARQLConstraint
message: PSRType with .name=BSP is missing.
prefixes: CIM100#
select: SELECT $this WHERE { FILTER NOT EXISTS { ?psr rdf:type cim:PSRType ; cim:IdentifiedObject.name ?name . FILTER( ?name = "BSP" ) } }

PSRType-presencePrimary
type: PropertyShape
sparql: PSRType-presencePrimarySparql
description: An EQ Full Model must contain a PSRType with IdentifiedObject.name=Primary.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PSRType:presencePrimary
order: 6
path: type
deactivated: false
severity: Violation

PSRType-presencePrimarySparql
type: SPARQLConstraint
message: PSRType with .name=Primary is missing.
prefixes: CIM100#
select: SELECT $this WHERE { FILTER NOT EXISTS { ?psr rdf:type cim:PSRType ; cim:IdentifiedObject.name ?name . FILTER( ?name = "Primary" ) } }

EquivalentInjection.ReactiveCapabilityCurve-required
type: PropertyShape
sparql: EquivalentInjection.ReactiveCapabilityCurve-requiredSparql
description: An EquivalentInjection with EquivalentInjection.regulationCapabilty=true must have an association to ReactiveCapabilityCurve.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:EquivalentInjection.ReactiveCapabilityCurve:required
order: 6
path: EquivalentInjection.regulationCapabilty
deactivated: false
severity: Violation

EquivalentInjection.ReactiveCapabilityCurve-requiredSparql
type: SPARQLConstraint
message: EquivalentInjection with regulation capability is missing ReactiveCapabilityCurve.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH true . FILTER NOT EXISTS {$this cim:EquivalentInjection.ReactiveCapabilityCurve ?rcc}. }

EquivalentInjection.ReactiveCapabilityCurve-notUsed
type: PropertyShape
sparql: EquivalentInjection.ReactiveCapabilityCurve-notUsedSparql
description: An EquivalentInjection with EquivalentInjection.regulationCapabilty=false must not have an association to ReactiveCapabilityCurve.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:EquivalentInjection.ReactiveCapabilityCurve:notUsed
order: 6
path: EquivalentInjection.regulationCapabilty
deactivated: false
severity: Violation

EquivalentInjection.ReactiveCapabilityCurve-notUsedSparql
type: SPARQLConstraint
message: EquivalentInjection without regulation capability has ReactiveCapabilityCurve.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH false . FILTER EXISTS {$this cim:EquivalentInjection.ReactiveCapabilityCurve ?rcc}. }

OperationalLimitSet.OperationalLimit-cardinalityForCurrentLimit
type: PropertyShape
sparql: OperationalLimitSet.OperationalLimit-cardinalityForCurrentLimitSparql
description: If an OperationalLimitSet has an inverse OperationalLimit.OperationalLimitSet association to CurrentLimit, it can have only one OperationalLimit.OperationalLimitSet
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:OperationalLimitSet.OperationalLimit:cardinalityForCurrentLimit
order: 6
path: type
deactivated: false
severity: Violation

OperationalLimitSet.OperationalLimit-cardinalityForCurrentLimitSparql
type: SPARQLConstraint
message: OperationalLimitSet has more than one CurrentLimit associated to it.
prefixes: CIM100#
select: SELECT $this (COUNT(?olType) AS ?cl) WHERE { $this ^cim:OperationalLimit.OperationalLimitSet/rdf:type ?olType. FILTER (?olType=cim:CurrentLimit). } GROUP BY $this ?olType HAVING(?cl>1)

ACLineSegment-onlyCurrentLimit
type: PropertyShape
sparql: ACLineSegment-onlyCurrentLimitSparql
description: OperationalLimit.OperationalLimitSet associations related to ACLineSegment Terminals must be from type CurrentLimit.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ACLineSegment:onlyCurrentLimit
order: 6
path: type
deactivated: false
severity: Violation

ACLineSegment-onlyCurrentLimitSparql
type: SPARQLConstraint
message: ACLineSegment has limit other than CurrentLimit.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:OperationalLimitSet.Terminal/cim:Terminal.ConductingEquipment/rdf:type cim:ACLineSegment. $this ^cim:OperationalLimit.OperationalLimitSet/rdf:type ?value. FILTER (?value!=cim:CurrentLimit). }

ACLineSegment-requiredOperationalLimitSet
type: PropertyShape
sparql: ACLineSegment-requiredOperationalLimitSetSparql
description: An ACLineSegment must have at least one Terminal which has an OperationalLimitSet associated to it.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ACLineSegment:requiredOperationalLimitSet
order: 6
path: type
deactivated: false
severity: Violation

ACLineSegment-requiredOperationalLimitSetSparql
type: SPARQLConstraint
message: ACLineSegment has no OperationalLimitSet on either of its Terminals.
prefixes: CIM100#
select: SELECT $this WHERE { FILTER NOT EXISTS {$this ^cim:Terminal.ConductingEquipment/^cim:OperationalLimitSet.Terminal ?ols}. }

ACLineSegment-seasonalOperatingLimit
type: PropertyShape
sparql: ACLineSegment-seasonalOperatingLimitSparql
description: A CurrentLimit related to an ACLineSegment must have an association to CurrentLimitSeries.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ACLineSegment:seasonalOperatingLimit
order: 6
path: type
deactivated: false
severity: Violation

ACLineSegment-seasonalOperatingLimitSparql
type: SPARQLConstraint
message: ACLineSegment current limit is not seasonal.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:OperationalLimitSet.Terminal/cim:Terminal.ConductingEquipment/rdf:type cim:ACLineSegment. $this ^cim:OperationalLimit.OperationalLimitSet ?value. ?value rdf:type cim:CurrentLimit . FILTER NOT EXISTS {?value gb:CurrentLimit.CurrentLimitSeries ?ols}. }

Switch-onlyCurrentLimit
type: PropertyShape
sparql: Switch-onlyCurrentLimitSparql
description: OperationalLimit.OperationalLimitSet associations related to Switch subtype (Disconnector, Fuse, Breaker, LoadBreakSwitch, DisconnectingCircuitBreaker) Terminals must be from type CurrentLimit.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:Switch:onlyCurrentLimit
order: 6
path: type
deactivated: false
severity: Violation

Switch-onlyCurrentLimitSparql
type: SPARQLConstraint
message: Switch subtype has limit other than CurrentLimit.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:OperationalLimitSet.Terminal/cim:Terminal.ConductingEquipment/rdf:type ?ceType. $this ^cim:OperationalLimit.OperationalLimitSet/rdf:type ?value. FILTER ((?ceType IN (cim:Disconnector, cim:Fuse, cim:Breaker, cim:LoadBreakSwitch, cim:DisconnectingCircuitBreaker)) && ?value!=cim:CurrentLimit). }

Switch-nonseasonalOperatingLimit
type: PropertyShape
sparql: Switch-nonseasonalOperatingLimitSparql
description: A CurrentLimit related to a Switch subtype (Disconnector, Fuse, Breaker, LoadBreakSwitch, DisconnectingCircuitBreaker) must not have an association to CurrentLimitSeries.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:Switch:nonseasonalOperatingLimit
order: 6
path: type
deactivated: false
severity: Violation

Switch-nonseasonalOperatingLimitSparql
type: SPARQLConstraint
message: Switch subtype has a limit which is seasonal.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:OperationalLimitSet.Terminal/cim:Terminal.ConductingEquipment/rdf:type ?ceType. $this ^cim:OperationalLimit.OperationalLimitSet ?value. ?value rdf:type cim:CurrentLimit . BIND(EXISTS{?value gb:CurrentLimit.CurrentLimitSeries ?ols} AS ?hasCLS). FILTER ((?ceType IN (cim:Disconnector, cim:Fuse, cim:Breaker, cim:LoadBreakSwitch, cim:DisconnectingCircuitBreaker)) && ?hasCLS=true). }

PowerTransformer-onlyApparentPowerLimit
type: PropertyShape
sparql: PowerTransformer-onlyApparentPowerLimitSparql
description: OperationalLimit.OperationalLimitSet associations related to Power Transformer Terminals must be from type ApparentPowerLimit.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PowerTransformer:onlyApparentPowerLimit
order: 6
path: type
deactivated: false
severity: Violation

PowerTransformer-onlyApparentPowerLimitSparql
type: SPARQLConstraint
message: PowerTransformer has limit other than ApparentPowerLimit.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:OperationalLimitSet.Terminal/cim:Terminal.ConductingEquipment/rdf:type cim:PowerTransformer. $this ^cim:OperationalLimit.OperationalLimitSet/rdf:type ?value. FILTER (?value!=cim:ApparentPowerLimit). }

OperationalLimitSet.Terminal-valueTypeForConductingEquipment
type: PropertyShape
sparql: OperationalLimitSet.Terminal-valueTypeForConductingEquipmentSparql
description: The OperationalLimitSet.Terminal association must be to a Terminal of an ACLineSegment, Switch subtype or PowerTransformer.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:OperationalLimitSet.Terminal:valueTypeForConductingEquipment
order: 6
path: type
deactivated: false
severity: Violation

OperationalLimitSet.Terminal-valueTypeForConductingEquipmentSparql
type: SPARQLConstraint
message: OperationalLimitSet is not associated to Terminal of appropriate ConductingEquipment subtype.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:OperationalLimitSet.Terminal/cim:Terminal.ConductingEquipment/rdf:type ?value. FILTER (?value NOT IN (cim:ACLineSegment, cim:PowerTransformer, cim:Switch, cim:Disconnector, cim:Fuse, cim:Breaker, cim:LoadBreakSwitch, cim:DisconnectingCircuitBreaker, cim:SeriesCompensator)). }

PowerTransformerEnd-cardinalityOperatingLimitHighWindingSeasonal
type: PropertyShape
sparql: PowerTransformerEnd-cardinalityOperatingLimitHighWindingSeasonalSparql
description: The high-winding PowerTransformerEnd (.endNumber=1) of a PowerTransformer must have one ApparentPowerLimit, which has an association to ApparentPowerLimitSeries, associated with it.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PowerTransformerEnd:cardinalityOperatingLimitHighWindingSeasonal
order: 6
path: type
deactivated: false
severity: Violation

PowerTransformerEnd-cardinalityOperatingLimitHighWindingSeasonalSparql
type: SPARQLConstraint
message: PowerTransformer high winding rdf:id {?st} is missing normal flow direction seasonal apparent power limit.
prefixes: CIM100#
select: SELECT $this ?value WHERE { ?st rdf:type cim:PowerTransformerEnd . ?st cim:PowerTransformerEnd.PowerTransformer/cim:TransformerEnd.endNumber 1. BIND(EXISTS{?st ^cim:Terminal.ConductingEquipment/^cim:OperationalLimitSet.Terminal/^cim:OperationalLimit.OperationalLimitSet/gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls} AS ?hasAPLS). FILTER (?hasAPLS=false). }

PowerTransformerEnd-cardinalityOperatingLimitHighWindingReverseFlow
type: PropertyShape
sparql: PowerTransformerEnd-cardinalityOperatingLimitHighWindingReverseFlowSparql
description: The high-winding PowerTransformerEnd (.endNumber=1) of a PowerTransformer, which has PowerTransformer.reverseFlowCapability=differentFromNormal, must have one additional ApparentPowerLimit, which does not have an association to ApparentPowerLimitSeries, associated with it.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PowerTransformerEnd:cardinalityOperatingLimitHighWindingReverseFlow
order: 6
path: type
deactivated: false
severity: Violation

PowerTransformerEnd-cardinalityOperatingLimitHighWindingReverseFlowSparql
type: SPARQLConstraint
message: PowerTransformer with reverse flow limit different from normal flow limit is missing non-seasonal reverse flow apparent power limit on high winding.
prefixes: CIM100#
select: SELECT $this WHERE { $this gb:PowerTransformer.reverseFlowCapability gb:ReverseFlowCapabilityKind.differentFromNormal . ?end1 cim:PowerTransformerEnd.PowerTransformer $this. ?end1 cim:TransformerEnd.endNumber 1. ?ol1 cim:OperationalLimit.OperationalLimitSet/cim:OperationalLimitSet.Terminal/^cim:TransformerEnd.Terminal ?end1. #?ol1 cim:OperationalLimit.OperationalLimitSet $this. ?ol1 rdf:type cim:ApparentPowerLimit . #?ol2 cim:OperationalLimit.OperationalLimitSet $this. ?ol2 cim:OperationalLimit.OperationalLimitSet/cim:OperationalLimitSet.Terminal/^cim:TransformerEnd.Terminal ?end1. ?ol2 rdf:type cim:ApparentPowerLimit . BIND(EXISTS{?ol1 gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls1} AS ?hasAPLS1). BIND(EXISTS{?ol2 gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls2} AS ?hasAPLS2). FILTER (?ol1!=?ol2 && ((?hasAPL1=false && ?hasAPLS2=false) || (?hasAPL1=true && ?hasAPLS2=true))). }

http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complex/Manual/Constraints#PowerTransformerEnd-seasonalOperatingLimitLowWinding2winding
type: PropertyShape
description: The low-winding PowerTransformerEnd (.endNumber=2) of a 2-winding PowerTransformer must not have any OperationalLimitSet associated with it.
group: LTDS EQ Complex Constraints
order: 6
path: type
deactivated: false
severity: Violation

http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complex/Manual/Constraints#PowerTransformerEnd-seasonalOperatingLimitLowWinding2windingSparql
type: SPARQLConstraint
message: Low winding of 2-winding PowerTransformer has operational limit.
prefixes: CIM100#
select: SELECT $this ?value WHERE { BIND(EXISTS{$this ^cim:PowerTransformerEnd.PowerTransformer/cim:TransformerEnd.Terminal/^cim:Terminal.ConductingEquipment/^cim:OperationalLimitSet.Terminal ?ols} AS ?hasOLS). FILTER (?hasOLS=true). }

ApparentPowerLimit.normalValue-required
type: PropertyShape
sparql: ApparentPowerLimit.normalValue-requiredSparql
description: An ApparentPowerLimit which does not have an association to ApparentPowerLimitSeries must have ApparentPowerLimit.normalValue.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ApparentPowerLimit.normalValue:required
order: 6
path: type
deactivated: false
severity: Violation

ApparentPowerLimit.normalValue-requiredSparql
type: SPARQLConstraint
message: ApparentPowerLimit has neither an associated ApparentPowerLimitSeries nor a normalValue.
prefixes: CIM100#
select: SELECT $this ?value WHERE { BIND(EXISTS{$this gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls} AS ?hasAPLS). BIND(EXISTS{$this cim:ApparentPowerLimit.normalValue ?aplnv} AS ?hasAPLnv). FILTER (?hasAPLS=false && ?hasAPLnv=false). }

ApparentPowerLimit.normalValue-notUsed
type: PropertyShape
sparql: ApparentPowerLimit.normalValue-notUsedSparql
description: An ApparentPowerLimit which has an association to ApparentPowerLimitSeries must not have ApparentPowerLimit.normalValue.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ApparentPowerLimit.normalValue:notUsed
order: 6
path: type
deactivated: false
severity: Violation

ApparentPowerLimit.normalValue-notUsedSparql
type: SPARQLConstraint
message: ApparentPowerLimit has both an associated ApparentPowerLimitSeries and a normalValue.
prefixes: CIM100#
select: SELECT $this ?value WHERE { BIND(EXISTS{$this gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls} AS ?hasAPLS). BIND(EXISTS{$this cim:ApparentPowerLimit.normalValue ?aplnv} AS ?hasAPLnv). FILTER (?hasAPLS=true && ?hasAPLnv=true). }

CurrentLimit.normalValue-required
type: PropertyShape
sparql: CurrentLimit.normalValue-requiredSparql
description: A CurrentLimit which does not have an association to CurrentLimitSeries must have CurrentLimit.normalValue.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:CurrentLimit.normalValue:required
order: 6
path: type
deactivated: false
severity: Violation

CurrentLimit.normalValue-requiredSparql
type: SPARQLConstraint
message: CurrentLimit has neither an associated CurrentLimitSeries nor a normalValue.
prefixes: CIM100#
select: SELECT $this ?value WHERE { BIND(EXISTS{$this gb:CurrentLimit.CurrentLimitSeries ?apls} AS ?hasAPLS). BIND(EXISTS{$this cim:CurrentLimit.normalValue ?aplnv} AS ?hasAPLnv). FILTER (?hasAPLS=false && ?hasAPLnv=false). }

CurrentLimit.normalValue-notUsed
type: PropertyShape
sparql: CurrentLimit.normalValue-notUsedSparql
description: A CurrentLimit which has an association to CurrentLimitSeries must not have CurrentLimit.normalValue.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:CurrentLimit.normalValue:notUsed
order: 6
path: type
deactivated: false
severity: Violation

CurrentLimit.normalValue-notUsedSparql
type: SPARQLConstraint
message: CurrentLimit has both an associated CurrentLimitSeries and a normalValue.
prefixes: CIM100#
select: SELECT $this ?value WHERE { BIND(EXISTS{$this gb:CurrentLimit.CurrentLimitSeries ?apls} AS ?hasAPLS). BIND(EXISTS{$this cim:CurrentLimit.normalValue ?aplnv} AS ?hasAPLnv). FILTER (?hasAPLS=true && ?hasAPLnv=true). }

CurrentLimitDataPoint.intervalNumber-numbering
type: PropertyShape
sparql: CurrentLimitDataPoint.intervalNumber-numberingSparql
description: A CurrentLimitSeries shall have a set of CurrentLimitDataPoints which have a sequence of integer CurrentLimitDataPoint.intervalNumber values starting from 1.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:CurrentLimitDataPoint.intervalNumber:numbering
order: 22
path: type
deactivated: false
severity: Violation

CurrentLimitDataPoint.intervalNumber-numberingSparql
type: SPARQLConstraint
message: The numbering of CurrentLimitDataPoints associated with this CurrentLimitSeries is not sequential starting with 1.
prefixes: CIM100#
select: SELECT $this (COUNT(?in) AS ?countin) (COUNT(DISTINCT ?in) AS ?countdin) (MIN(?in) AS ?minin) (SUM(?in) AS ?sumin) (COUNT(?points) AS ?countpoints) WHERE { $this ^gb:CurrentLimitDataPoint.CurrentLimitSeries ?points. ?points rdf:type ?type . ?points gb:CurrentLimitDataPoint.intervalNumber ?in . } GROUP BY $this ?type HAVING(?countin!=?countdin || ?minin!=1 || (?countpoints=1 && ?sumin!=1) || (?countpoints=2 && (?sumin/2)!=1.5) || (?countpoints=3 && (?sumin/3)!=2) || (?countpoints=4 && (?sumin/4)!=2.5))

ApparentPowerLimitDataPoint.intervalNumber-numbering
type: PropertyShape
sparql: ApparentPowerLimitDataPoint.intervalNumber-numberingSparql
description: A ApparentPowerLimitSeries shall have a set of ApparentPowerLimitDataPoints which have a sequence of integer ApparentPowerLimitDataPoint.intervalNumber values starting from 1.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ApparentPowerLimitDataPoint.intervalNumber:numbering
order: 22
path: type
deactivated: false
severity: Violation

ApparentPowerLimitDataPoint.intervalNumber-numberingSparql
type: SPARQLConstraint
message: The numbering of ApparentPowerLimitDataPoints associated with this ApparentPowerLimitSeries is not sequential starting with 1.
prefixes: CIM100#
select: SELECT $this (COUNT(?in) AS ?countin) (COUNT(DISTINCT ?in) AS ?countdin) (MIN(?in) AS ?minin) (SUM(?in) AS ?sumin) (COUNT(?terms) AS ?countpoints) WHERE { $this ^gb:ApparentPowerLimitDataPoint.ApparentPowerLimitSeries ?points. ?points rdf:type ?type . ?points gb:ApparentPowerLimitDataPoint.intervalNumber ?in . } GROUP BY $this ?type HAVING(?countin!=?countdin || ?minin!=1 || (?countpoints=1 && ?sumin!=1) || (?countpoints=2 && (?sumin/2)!=1.5) || (?countpoints=3 && (?sumin/3)!=2) || (?countpoints=4 && (?sumin/4)!=2.5))

Series.dataPointInterpretation-value
type: PropertyShape
description: Series.dataPointInterpretation must have value of stepwise.
group: LTDS EQ Complex Constraints
in: DataPointInterpretationKind.stepwise
message: The value is not stepwise.
name: C:LTDS:EQ:Series.dataPointInterpretation:value
node kind: IRI
order: 352
path: Series.dataPointInterpretation
severity: Violation

OperationalLimitType.isInfiniteDuration-value
type: PropertyShape
sparql: OperationalLimitType.isInfiniteDuration-valueSparql
description: OperationalLimitType.isInfiniteDuration must have a value of true.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:OperationalLimitType.isInfiniteDuration:value
order: 352
path: OperationalLimitType.isInfiniteDuration
deactivated: false
severity: Violation

OperationalLimitType.isInfiniteDuration-valueSparql
type: SPARQLConstraint
message: Value is not true.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . FILTER(?value=false). }

OperationalLimitType.kind-value
type: PropertyShape
description: OperationalLimitType.kind must have a value of patl.
group: LTDS EQ Complex Constraints
in: LimitKind.patl
message: Value is not patl.
name: C:LTDS:EQ:OperationalLimitType.kind:value
node kind: IRI
order: 352
path: OperationalLimitType.kind
severity: Violation

PowerTransformer-threeWinding
type: NodeShape
property: PowerTransformerEnd-impedances3Winding
target: SPARQLTarget
  prefixes: CIM100#
  select: SELECT DISTINCT ?this WHERE { ?this rdf:type cim:PowerTransformer . FILTER EXISTS {?this ^cim:PowerTransformerEnd.PowerTransformer/cim:TransformerEnd.endNumber 3}. }

PowerTransformerEnd-impedances3Winding
type: PropertyShape
description: A three winding PowerTransformer must have a non-zero PowerTransformerEnd.r at the high voltage winding (TransformerEnd.endNumber=1) and a non-zero PowerTransformerEnd.r and .x at each of the two low voltage windings (TransformerEnd.endNumber=2 and =3).
group: LTDS EQ Complex Constraints
order: 23
path: type
deactivated: false
severity: Violation

http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complex/Manual/Constraints#PowerTransformerEnd-impedances3WindingSparql
type: SPARQLConstraint
message: For a three winding PowerTransformer, .r value is zero on the high voltage winding (PowerTransformerEnd with rdf:id {?end1}) or .x or .r value is zero on one of the low voltage windings (PowerTransformerEnd with rdf:id {?end2} or {?end3}).
prefixes: CIM100#
select: SELECT $this ?end1 ?end2 ?end3 WHERE { ?end1 cim:PowerTransformerEnd.PowerTransformer $this . ?end1 cim:TransformerEnd.endNumber 1 . ?end1 cim:PowerTransformerEnd.r ?r1 . ?end2 cim:PowerTransformerEnd.PowerTransformer $this . ?end2 cim:TransformerEnd.endNumber 2 . ?end2 cim:PowerTransformerEnd.r ?r2 . ?end2 cim:PowerTransformerEnd.x ?x2 . ?end2 cim:PowerTransformerEnd.PowerTransformer $this . ?end2 cim:TransformerEnd.endNumber 3 . ?end2 cim:PowerTransformerEnd.r ?r3 . ?end2 cim:PowerTransformerEnd.x ?x3 . FILTER (?r1=0 || ?r2=0 || ?r3=0 || ?x2=0 || ?x3=0). }

Curve.curveStyle-value
type: PropertyShape
description: Curve.curveStyle must have a value of straightLineYValues for ReactiveCapabilityCurve.
group: LTDS EQ Complex Constraints
in: CurveStyle.straightLineYValues
message: Attribute has unallowed value.
name: C:LTDS:EQ:Curve.curveStyle:value
node kind: IRI
order: 352
path: Curve.curveStyle
severity: Violation

Curve.xUnit-value
type: PropertyShape
description: Curve.xUnit must have a value of W for ReactiveCapabilityCurve.
group: LTDS EQ Complex Constraints
in: UnitSymbol.W
message: The value is not W.
name: C:LTDS:EQ:Curve.xUnit:value
node kind: IRI
order: 352
path: Curve.xUnit
severity: Violation

Curve.y1Unit-value
type: PropertyShape
description: Curve.y1Unit must have a value of VAr for ReactiveCapabilityCurve.
group: LTDS EQ Complex Constraints
in: UnitSymbol.VAr
message: The value is not VAr.
name: C:LTDS:EQ:Curve.y1Unit:value
node kind: IRI
order: 352
path: Curve.y1Unit
severity: Violation

Curve.y2Unit-value
type: PropertyShape
description: Curve.y2Unit must have a value of VAr for ReactiveCapabilityCurve.
group: LTDS EQ Complex Constraints
in: UnitSymbol.VAr
message: The value is not VAr.
name: C:LTDS:EQ:Curve.y2Unit:value
node kind: IRI
order: 352
path: Curve.y2Unit
severity: Violation

Switch.ratedCurrent-requiredForSwitchSubtype
type: PropertyShape
description: Switch.ratedCurrent is required on all Switch subtypes (Disconnector, Fuse, Breaker, DisconnectingCircuitBreaker, LoadBreakSwitch).
group: LTDS EQ Complex Constraints
message: Required attribute is missing.
min count: 1
name: C:LTDS:EQ:Switch.ratedCurrent:requiredForSwitchSubtype
order: 7
path: Switch.ratedCurrent
severity: Violation

RegulatingCondEq.RegulatingControl-required
type: PropertyShape
description: A StaticVarCompensator, LinearShuntCompensator or NonlinearShuntCompensator must have an association to RegulatingControl.
group: LTDS EQ Complex Constraints
message: Association to RegulatingControl is missing.
min count: 1
name: C:LTDS:EQ:RegulatingCondEq.RegulatingControl:required
order: 7
path: RegulatingCondEq.RegulatingControl
severity: Violation

RegulatingCondEq.RegulatingControl-notUsed
type: PropertyShape
description: RegulatingCondEq.RegulatingControl is not allowed on RegulatingCondEq subtypes other than StaticVarCompensator, LinearShuntCompensator and NonlinearShuntCompensator. Specifically, a PowerElectronicsConnection, SynchronousMachine, or AsynchronousMachine must not have an association to RegulatingControl.
group: LTDS EQ Complex Constraints
max count: 0
message: RegulatingCondEq.RegulatingControl association is present.
name: C:LTDS:EQ:RegulatingCondEq.RegulatingControl:notUsed
order: 7
path: RegulatingCondEq.RegulatingControl
severity: Violation

PowerTransformerEnd-cardinalityOperatingLimitHighWindingNormalFlow
type: PropertyShape
sparql: PowerTransformerEnd-cardinalityOperatingLimitHighWindingNormalFlowSparql
description: The high-winding PowerTransformerEnd (.endNumber=1) of a PowerTransformer, which has PowerTransformer.reverseFlowCapability=sameAsNormal or =unknown, must have only one ApparentPowerLimit with an association to its OperationalLimitSet.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:PowerTransformerEnd:cardinalityOperatingLimitHighWindingNormalFlow
order: 6
path: type
deactivated: false
severity: Violation

PowerTransformerEnd-cardinalityOperatingLimitHighWindingNormalFlowSparql
type: SPARQLConstraint
message: PowerTransformer without reverse flow limit different from normal flow limit has two apparent power limits on high winding.
prefixes: CIM100#
select: SELECT $this ?olt (COUNT (DISTINCT ?ol) AS ?olc) WHERE { $this gb:PowerTransformer.reverseFlowCapability ?rf. $this ^cim:PowerTransformerEnd.PowerTransformer ?end1. ?end1 cim:TransformerEnd.endNumber 1. ?ol cim:OperationalLimit.OperationalLimitSet/cim:OperationalLimitSet.Terminal/^cim:TransformerEnd.Terminal ?end1. ?ol rdf:type ?olt . FILTER (?rf IN (gb:ReverseFlowCapabilityKind.sameAsNormal, gb:ReverseFlowCapabilityKind.unknown) && ?olt=cim:ApparentPowerLimit). } GROUP BY $this ?olt HAVING(?olc>1)

http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complex/Manual/Constraints#PowerTransformerEnd-seasonalOperatingLimitLowWinding3winding
type: PropertyShape
description: Each of the 2 low-winding PowerTransformerEnds (.endNumber=2 and 3) of a 3-winding PowerTransformer must have exactly one ApparentPowerLimit, which has an association to ApparentPowerLimitSeries, associated with it.
group: LTDS EQ Complex Constraints
order: 6
path: type
deactivated: false
severity: Violation

http://ofgem.gov.uk/ns/CIM/LTDS/Equipment/Complex/Manual/Constraints#PowerTransformerEnd-seasonalOperatingLimitLowWinding3windingSparql
type: SPARQLConstraint
message: 3-winding PowerTransformer does not have a seasonal apparent power limit associated with each of its low windings.
prefixes: CIM100#
select: SELECT $this WHERE { ?end2 cim:PowerTransformerEnd.PowerTransformer $this. ?end3 cim:PowerTransformerEnd.PowerTransformer $this. ?end2 cim:TransformerEnd.endNumber 2. ?end3 cim:TransformerEnd.endNumber 3. BIND(EXISTS{?end2 cim:TransformerEnd.Terminal/^cim:OperationalLimitSet.Terminal/^cim:OperationalLimit.OperationalLimitSet/gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls1} AS ?hasAPLS1). BIND(EXISTS{?end3 cim:TransformerEnd.Terminal/^cim:OperationalLimitSet.Terminal/^cim:OperationalLimit.OperationalLimitSet/gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls2} AS ?hasAPLS2). FILTER (!(?hasAPL1=true && ?hasAPLS2=true)). }

OperationalLimitType-presenceForCurrentLimit
type: PropertyShape
sparql: OperationalLimitType-presenceForCurrentLimitSparql
description: One OperationalLimitType of a CurrentLimit must have OperationalLimitType.direction=absoluteValue and OperationalLimitType.transformerReverseFlow not populated.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:OperationalLimitType:presenceForCurrentLimit
order: 6
path: type
deactivated: false
severity: Violation

OperationalLimitType-presenceForCurrentLimitSparql
type: SPARQLConstraint
message: OperationalLimitType for CurrentLimit is not properly defined.
prefixes: CIM100#
select: SELECT $this WHERE { BIND(EXISTS{$this cim:OperationalLimit.OperationalLimitType/cim:OperationalLimitType.direction cim:OperationalLimitDirectionKind.absoluteValue} AS ?hasAV). BIND(EXISTS{$this cim:OperationalLimit.OperationalLimitType/gb:OperationalLimitType.transformerReverseFlow ?trf} AS ?hastrf). FILTER (!(?hasAV=true && ?hastrf=false)). }

OperationalLimitType-presenceForApparentPowerLimit
type: PropertyShape
sparql: OperationalLimitType-presenceForApparentPowerLimitSparql
description: OperationalLimitType of an ApparentPowerLimit must have OperationalLimitType.direction=high. OperationalLimitType of an ApparentPowerLimit with ApparentPowerLimitSeries must have OperationalLimitType.transformerReverseFlow=false. OperationalLimitType of an ApparentPowerLimit without ApparentPowerLimitSeries must have OperationalLimitType.transformerReverseFlow=true.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:OperationalLimitType:presenceForApparentPowerLimit
order: 6
path: type
deactivated: false
severity: Violation

OperationalLimitType-presenceForApparentPowerLimitSparql
type: SPARQLConstraint
message: OperationalLimitType for ApparentPowerLimit does not satisfy either 1) OperationalLimitType.direction=high is {?hasDirHigh} 2) has ApparentPowerLimitSeries and OperationalLimitType.transformerReverseFlow is false (has series = {?hasSeries}; has reverse flow = false is {?hasRevFlowFalse}) 3) does not have ApparentPowerLimitSeries and OperationalLimitType.transformerReverseFlow is true (has series = {?hasSeries}; has reverse flow = true is {?hasRevFlowTrue}).
prefixes: CIM100#
select: SELECT $this ?hasDirHigh ?hasSeries ?hasRevFlowTrue ?hasRevFlowFalse WHERE { BIND(EXISTS{$this cim:OperationalLimit.OperationalLimitType/cim:OperationalLimitType.direction cim:OperationalLimitDirectionKind.high} AS ?hasDirHigh). BIND(EXISTS{$this gb:ApparentPowerLimit.ApparentPowerLimitSeries ?apls1} AS ?hasSeries). BIND(EXISTS{$this cim:OperationalLimit.OperationalLimitType/gb:OperationalLimitType.transformerReverseFlow true} AS ?hasRevFlowTrue). BIND(EXISTS{$this cim:OperationalLimit.OperationalLimitType/gb:OperationalLimitType.transformerReverseFlow false} AS ?hasRevFlowFalse). FILTER (?hasDirHigh=false || (!(?hasSeries=true && ?hasRevFlowFalse=true) && !(?hasSeries=false && ?hasRevFlowTrue=true))). }

Equipment-containmentAndAdditionalContainment
type: PropertyShape
sparql: Equipment-containmentAndAdditionalContainmentSparql
description: An Equipment must not have an Equipment.EquipmentContainer and Equipment.AdditionalEquipmentContainer association to the same EquipmentContainer.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:Equipment:containmentAndAdditionalContainment
order: 6
path: Equipment.EquipmentContainer
deactivated: false
severity: Violation

Equipment-containmentAndAdditionalContainmentSparql
type: SPARQLConstraint
message: Two associations to same EquipmentContainer.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value. $this cim:Equipment.AdditionalEquipmentContainer ?addi . FILTER (?value=?addi). }

TapChangerControl.Terminal-relatedTapChanger
type: PropertyShape
sparql: TapChangerControl.Terminal-relatedTapChangerSparql
description: A TapChangerControl must have an association to the Terminal of the TransformerEnd to which its TapChanger is associated.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:TapChangerControl.Terminal:relatedTapChanger
order: 6
path: type
deactivated: true
severity: Warning

TapChangerControl.Terminal-relatedTapChangerSparql
type: SPARQLConstraint
message: TapChangerControl is associated to Terminal of PowerTransformerEnd to which its TapChanger is not connected.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:RegulatingControl.Terminal ?value. $this (^cim:TapChanger.TapChangerControl/cim:RatioTapChanger.TransformerEnd/cim:TransformerEnd.Terminal)|(^cim:TapChanger.TapChangerControl/cim:PhaseTapChanger.TransformerEnd/cim:TransformerEnd.Terminal) ?t1 . FILTER (?value!=?t1). }

RegulatingControl.RegulatingCondEq-cardinality
type: PropertyShape
description: RegulatingControl must not have more than one RegulatingCondEq subtype associated to it.
group: LTDS EQ Complex Constraints
max count: 1
message: RegulatingControl has more than one RegulatingCondEq subtype associated to it.
name: C:LTDS:EQ:RegulatingControl.RegulatingCondEq:cardinality
order: 7
path:
  inverse path: RegulatingCondEq.RegulatingControl
severity: Violation

Switch-dummyOrNot
type: PropertyShape
sparql: Switch-dummyOrNotSparql
description: If Switch represents a dummy switch in an external grid (and has Equipment.aggregate=true), Switch.ratedCurrent is not allowed. If Switch isn't a dummy switch (and has Equipment.aggregate=false), Switch.ratedCurrent is required.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:Switch:dummyOrNot
order: 6
path: Equipment.aggregate
deactivated: false
severity: Violation

Switch-dummyOrNotSparql
type: SPARQLConstraint
message: Either a dummy Switch has Switch.ratedCurrent or a non-dummy Switch is missing Switch.ratedCurrent.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . BIND(EXISTS{$this cim:Switch.ratedCurrent ?src} AS ?hassrc). FILTER ((?value=true && ?hassrc=true) || (?value=false && ?hassrc=false)) . }

OperationalLimitType-presence
type: PropertyShape
description: An EQ Full Model must contain three OperationalLimitTypes.
group: LTDS EQ Complex Constraints
max count: 3
message: There are fewer than or more than three OperationalLimitTypes.
min count: 2
name: C:LTDS:EQ:OperationalLimitType:presence
order: 5
path:
  inverse path: type
severity: Violation

Equipment.EquipmentContainer-requiredToVoltageLevelOrLine
type: PropertyShape
description: An EquivalentInjection, SeriesCompensator, Switch, Disconnector, or Fuse must have an Equipment.EquipmentContainer association to either VoltageLevel or Line.
group: LTDS EQ Complex Constraints
in: VoltageLevel
in: Line
message: The containment either is missing or is not to VoltageLevel or Line.
min count: 1
name: C:LTDS:EQ:Equipment.EquipmentContainer:requiredToVoltageLevelOrLine
order: 4
path: Equipment.EquipmentContainer
path: type
severity: Violation

Equipment.AdditionalEquipmentContainer-allowedToVoltageLevelOrLine
type: PropertyShape
description: An EquivalentInjection, SeriesCompensator, Switch, Disconnector, or Fuse may have an a Equipment.AdditionalEquipmentContainer association to either VoltageLevel or Line.
group: LTDS EQ Complex Constraints
in: VoltageLevel
in: Line
message: The additional containment is not to VoltageLevel or Line.
name: C:LTDS:EQ:Equipment.AdditionalEquipmentContainer:allowedToVoltageLevelOrLine
order: 4
path: Equipment.AdditionalEquipmentContainer
path: type
severity: Violation

DanglingReferences-inBaseProfile
type: PropertyShape
sparql: DanglingReferences-inBaseProfileSparql
description: LTDS EQ models must have fulfilled references (no dangling references are allowed).
name: C:LTDS:EQ:DanglingReferences:inEQ
group: LTDS EQ Complex Constraints
order: 1
path: type
deactivated: false
severity: Violation

DanglingReferences-inBaseProfileSparql
type: SPARQLConstraint
message: Dangling reference is present in the model. The ID of the class having a dangling reference is: {?s} and the dangling reference is: {?value}.
prefixes: CIM100#
select: SELECT DISTINCT $this ?value ?s WHERE { ?s !rdf:type ?value . BIND (str(?value) AS ?strvalue). FILTER(isIRI(?value) && (CONTAINS(?strvalue,"#_") || STRSTARTS(?strvalue,"urn:uuid:") || STRENDS(?strvalue,"#"))). FILTER NOT EXISTS {?value rdf:type ?v }. }

ConductingEquipment.BaseVoltage-conditionallyRequired
type: PropertyShape
sparql: ConductingEquipment.BaseVoltage-conditionallyRequiredSparql
description: An EquivalentInjection, SeriesCompensator, Switch, Disconnector, or Fuse must have either an association to BaseVoltage or an Equipment.EquipmentContainer association to VoltageLevel, but not both.
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:ConductingEquipment.BaseVoltage:conditionallyRequired
order: 6
path: type
deactivated: false
severity: Violation

ConductingEquipment.BaseVoltage-conditionallyRequiredSparql
type: SPARQLConstraint
message: Either there is an association to BaseVoltage and an association to a VoltageLevel or there is an association to neither.
prefixes: CIM100#
select: SELECT $this WHERE { BIND(EXISTS{$this cim:ConductingEquipment.BaseVoltage ?bv} AS ?hasBV). BIND(EXISTS{$this cim:Equipment.EquipmentContainer/rdf:type cim:VoltageLevel} AS ?hasVL). FILTER ((?hasBV=true && ?hasVL=true) || (?hasBV=false && ?hasVL=false)) . }

ThermalGeneratingUnitFuelType
type: NodeShape
target class: ThermalGeneratingUnit
description: A ThermalGeneratingUnit must have exactly one of the following associations: an association to CAESPlant or an association from BioFuel, FossilFuel, or OtherFuel.
group: LTDS EQ Complex Constraints
message: ThermalGeneratingUnit does not have exactly one of the required associations.
name: C:LTDS:EQ:ThermalGeneratingUnit:fuelTypeAssociations
xone:
  property:
    max count: 1
    min count: 1
    path:
      inverse path: BioFuel.ThermalGeneratingUnit
xone:
  property:
    max count: 1
    min count: 1
    path:
      inverse path: FossilFuel.ThermalGeneratingUnit
xone:
  property:
    max count: 1
    min count: 1
    path:
      inverse path: OtherFuel.ThermalGeneratingUnit
xone:
  property:
    max count: 1
    min count: 1
    path: ThermalGeneratingUnit.CAESPlant
order: 7
deactivated: false
severity: Violation

RepeatingScheduleInterval-uniqueProperties
type: PropertyShape
sparql: RepeatingScheduleInterval-uniquePropertiesSparql
description: The RepeatingScheduleIntervals of a RepeatingSchedule must have unique RepeatingScheduleInterval.startAt dates and unique and valid season names (IdentifiedObject.name equal to Spring, Summer, Autumn or Winter).
group: LTDS EQ Complex Constraints
name: C:LTDS:EQ:RepeatingScheduleInterval:uniqueProperties
order: 22
path: type
deactivated: false
severity: Violation

RepeatingScheduleInterval-uniquePropertiesSparql
type: SPARQLConstraint
message: RepeatingScheduleIntervals do not have unique or correct properties.
prefixes: CIM100#
select: SELECT $this (COUNT(DISTINCT ?startAt) AS ?countdstartAt) WHERE { $this ^gb:RepeatingScheduleInterval.RepeatingSchedule ?rsi. ?rsi rdf:type ?type . ?rsi gb:RepeatingScheduleInterval.startAt ?startAt . BIND(EXISTS{?rsi cim:IdentifiedObject.name "Spring"} AS ?hasSpring). BIND(EXISTS{?rsi cim:IdentifiedObject.name "Summer"} AS ?hasSummer). BIND(EXISTS{?rsi cim:IdentifiedObject.name "Autumn"} AS ?hasAutumn). BIND(EXISTS{?rsi cim:IdentifiedObject.name "Winter"} AS ?hasWinter). FILTER (!(?hasSpring=true && ?hasSummer=true && ?hasAutumn=true && ?hasWinter=true)) . } GROUP BY $this ?type HAVING(?countdstartAt!=4)

PowerElectronicsConnection.PowerElectronicsUnit-cardinality
type: PropertyShape
description: A PowerElectronicsConnection must have one association to a PowerElectronicsUnit subtype.
group: LTDS EQ Complex Constraints
message: PowerElectronicsConnection is missing association to PowerElectronicsUnit subtype.
min count: 1
name: C:LTDS:EQ:PowerElectronicsConnection.PowerElectronicsUnit:cardinality
order: 4
path: PowerElectronicsConnection.PowerElectronicsUnit
severity: Violation

RotatingMachine.GeneratingUnit-cardinality
type: PropertyShape
description: A RotatingMachine subtype must have one association to a GeneratingUnit subtype.
group: LTDS EQ Complex Constraints
message: RotatingMachine subtype is missing association to GeneratingUnit subtype.
min count: 1
name: C:LTDS:EQ:RotatingMachine.GeneratingUnit:cardinality
order: 4
path: RotatingMachine.GeneratingUnit
severity: Violation

HydroGeneratingUnit.HydroPowerPlant-cardinality
type: PropertyShape
description: A HydroGeneratingUnit must have an association to HydroPowerPlant.
group: LTDS EQ Complex Constraints
message: HydroGeneratingUnit is missing association to HydroPowerPlant.
min count: 1
name: C:LTDS:EQ:HydroGeneratingUnit.HydroPowerPlant:cardinality
order: 4
path: HydroGeneratingUnit.HydroPowerPlant
severity: Violation

Equipment.EquipmentContainer-requiredEquivalentBranch
type: PropertyShape
description: An EquivalentBranch must have an Equipment.EquipmentContainer association.
group: LTDS EQ Complex Constraints
message: The containment is missing.
min count: 1
name: C:LTDS:EQ:Equipment.EquipmentContainer:requiredEquivalentBranch
order: 4
path: Equipment.EquipmentContainer
severity: Violation

OperationalLimitType.acceptableDuration-notUsed
type: PropertyShape
description: OperationalLimitType.acceptableDuration is not a defined attribute.
group: ValueConstraints
message: Attribute is not allowed.
name: C:LTDS:EQ:OperationalLimitType.acceptableDuration:notUsed
order: 17
path: OperationalLimitType.acceptableDuration
severity: Violation

ApparentPowerLimitDataPoint.normalValue-valueRange
type: PropertyShape
description: ApparentPowerLimitDataPoint.normalValue must be positive or zero.
group: ValueConstraints
message: The value is negative.
min inclusive: 0.0
name: C:LTDS:EQ:ApparentPowerLimitDataPoint.normalValue:valueRange
order: 16
path: ApparentPowerLimitDataPoint.normalValue
severity: Violation

CurrentLimitDataPoint.normalValue-valueRange
type: PropertyShape
description: CurrentLimitDataPoint.normalValue must be positive or zero.
group: ValueConstraints
message: The value is negative.
min inclusive: 0.0
name: C:LTDS:EQ:CurrentLimitDataPoint.normalValue:valueRange
order: 15
path: CurrentLimitDataPoint.normalValue
severity: Violation

ShuntCompensator.nomU-valueRange
type: PropertyShape
description: ShuntCompensator.nomU must be positive.
group: ValueConstraints
message: The value is negative or zero.
min exclusive: 0.0
name: C:LTDS:EQ:ShuntCompensator.nomU:valueRange
order: 14
path: ShuntCompensator.nomU
severity: Violation

ShuntCompensator.aVRDelay-valueRange
type: PropertyShape
description: ShuntCompensator.aVRDelay must be positive.
group: ValueConstraints
message: The value is negative or zero.
min exclusive: 0.0
name: C:LTDS:EQ:ShuntCompensator.aVRDelay:valueRange
order: 13
path: ShuntCompensator.aVRDelay
severity: Violation

PowerElectronicsUnit.maxP-valueRange
type: PropertyShape
description: PowerElectronicsUnit.maxP must be positive.
group: ValueConstraints
message: The value is negative or zero.
min exclusive: 0.0
name: C:LTDS:EQ:PowerElectronicsUnit.maxP:valueRange
order: 12
path: PowerElectronicsUnit.maxP
severity: Violation

CAESPlant.energyStorageCapacity-valueRange
type: PropertyShape
description: CAESPlant.energyStorageCapacity must be positive.
group: ValueConstraints
message: The value is negative or zero.
min exclusive: 0.0
name: C:LTDS:EQ:CAESPlant.energyStorageCapacity:valueRange
order: 11
path: CAESPlant.energyStorageCapacity
severity: Violation

FlywheelUnit.energyStorageCapacity-valueRange
type: PropertyShape
description: FlywheelUnit.energyStorageCapacity must be positive.
group: ValueConstraints
message: The value is negative or zero.
min exclusive: 0.0
name: C:LTDS:EQ:FlywheelUnit.energyStorageCapacity:valueRange
order: 10
path: FlywheelUnit.energyStorageCapacity
severity: Violation

RotatingMachine.maxImportP-valueRange
type: PropertyShape
description: RotatingMachine.maxImportP must be positive or zero.
group: ValueConstraints
message: The value is negative.
min inclusive: 0.0
name: C:LTDS:EQ:RotatingMachine.maxImportP:valueRange
order: 8
path: RotatingMachine.maxImportP
severity: Violation

RotatingMachine.maxExportP-valueRange
type: PropertyShape
description: RotatingMachine.maxExportP must be positive or zero.
group: ValueConstraints
message: The value is negative.
min inclusive: 0.0
name: C:LTDS:EQ:RotatingMachine.maxExportP:valueRange
order: 7
path: RotatingMachine.maxExportP
severity: Violation

PowerElectronicsConnection.maxImportP-valueRange
type: PropertyShape
description: PowerElectronicsConnection.maxImportP must be positive or zero.
group: ValueConstraints
message: The value is negative.
min inclusive: 0.0
name: C:LTDS:EQ:PowerElectronicsConnection.maxImportP:valueRange
order: 6
path: PowerElectronicsConnection.maxImportP
severity: Violation

PowerElectronicsConnection.maxExportP-valueRange
type: PropertyShape
description: PowerElectronicsConnection.maxExportP must be positive or zero.
group: ValueConstraints
message: The value is negative.
min inclusive: 0.0
name: C:LTDS:EQ:PowerElectronicsConnection.maxExportP:valueRange
order: 5
path: PowerElectronicsConnection.maxExportP
severity: Violation

ValueConstraints
type: PropertyGroup
order: 0

LTDS complex constraints applicable to all profiles
type: PropertyGroup
order: 1

IDuuid-stringPattern
type: PropertyShape
description: Resource identifier (rdf:ID or rdf:about) must be a UUID.
group: LTDS complex constraints applicable to all profiles
name: C:LTDS:ALL:IDuuid:stringPattern
order: 13
path: type
severity: Violation
sparql: IDuuid-stringPatternSparql

IDuuid-stringPatternSparql
type: SPARQLConstraint
message: Invalid syntax of resource identifier (rdf:ID or rdf:about).
prefixes: CIM100#
select: SELECT $this ?value WHERE { ?value rdf:type ?o. BIND(str(?value) AS ?uuid) . BIND(STRAFTER(?uuid,"#_") AS ?secondpart) . FILTER(!REGEX(?secondpart, "^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$", "i") && !REGEX(STR(?uuid), "^urn:uuid:[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$", "i")). }

IdentifiedObject.name-stringPattern
type: PropertyShape
description: IdentifiedObject.name must be more than one and fewer than 128 characters.
group: LTDS complex constraints applicable to all profiles
name: C:LTDS:ALL:IdentifiedObject.name:stringPattern
order: 14
path: IdentifiedObject.name
severity: Violation
sparql: IdentifiedObject.nameSparql

IdentifiedObject.nameSparql
type: SPARQLConstraint
message: IdentifiedObject.name is empty, starts with space, or is longer than 128 characters.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . FILTER(STRLEN(str(?value))=0 || strStarts(?value, " ") || STRLEN(str(?value))>128). }

IdentifiedObject.description-stringPattern
type: PropertyShape
description: IdentifiedObject.description must be more than one and fewer than 256 characters.
group: LTDS complex constraints applicable to all profiles
name: C:LTDS:ALL:IdentifiedObject.description:stringPattern
order: 16
path: IdentifiedObject.description
severity: Warning
sparql: IdentifiedObject.descriptionSparql

IdentifiedObject.descriptionSparql
type: SPARQLConstraint
message: IdentifiedObject.description is empty, starts with space, or is longer than 256 characters.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . FILTER(STRLEN(str(?value))=0 || strStarts(?value, " ") || STRLEN(str(?value))>256). }

IdentifiedObject.mrid-uuid
type: PropertyShape
description: IdentifiedObject.mRID must be the same as resource identifier (rdf:ID or rdf:about).
group: LTDS complex constraints applicable to all profiles
name: C:LTDS:ALL:IdentifiedObject.mRID:uuid
order: 16
path: IdentifiedObject.mRID
severity: Violation
sparql: IdentifiedObject.mrid-uuidSparql

IdentifiedObject.mrid-uuidSparql
type: SPARQLConstraint
message: IdentifiedObject.mRID is different from resource identifier. Only first 10 occurences are reported.
prefixes: CIM100#
select: SELECT $this ?value ?secondpart WHERE { ?s $PATH ?value . #$this $PATH ?value . #BIND(str($this) AS ?rdfid) . BIND(str(?s) AS ?rdfid) . BIND(STRAFTER(?rdfid,"#_") AS ?secondpart) . FILTER(lcase(?value)!=lcase(?secondpart)). } LIMIT 10

PowerElectronicsConnection.PowerElectronicsUnit-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: PowerElectricalChemicalUnit
in: PhotoVoltaicUnit
in: PowerElectronicsWindUnit
in: BatteryUnit
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: PowerElectronicsConnection.PowerElectronicsUnit-valueType
node kind: IRI
order: 180
path: PowerElectronicsConnection.PowerElectronicsUnit
path: type
severity: Violation

PowerElectronicsConnection.PowerElectronicsUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: PowerElectronicsConnection.PowerElectronicsUnit-cardinality
order: 658
path: PowerElectronicsConnection.PowerElectronicsUnit
severity: Violation

PowerElectronicsConnection.maxExportP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerElectronicsConnection.maxExportP-datatype
node kind: Literal
order: 398
path: PowerElectronicsConnection.maxExportP
severity: Violation

PowerElectronicsConnection.maxExportP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerElectronicsConnection.maxExportP-cardinality
order: 657
path: PowerElectronicsConnection.maxExportP
severity: Violation

PowerElectronicsConnection.maxImportP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerElectronicsConnection.maxImportP-datatype
node kind: Literal
order: 397
path: PowerElectronicsConnection.maxImportP
severity: Violation

PowerElectronicsConnection.maxImportP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerElectronicsConnection.maxImportP-cardinality
order: 656
path: PowerElectronicsConnection.maxImportP
deactivated: true
severity: Violation

PowerElectronicsConnection-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 72
property:
  path: PowerElectronicsConnection.maxImportP
property:
  path: PowerElectronicsConnection.maxExportP
property:
  path: PowerElectronicsConnection.PowerElectronicsUnit
property:
  path: RegulatingCondEq.RegulatingControl
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PowerElectronicsConnection

NuclearGeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 71
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: NuclearGeneratingUnit

StandaloneSchedule.Series-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: StandaloneSchedule.Series-cardinality
order: 643
path:
  inverse path: Series.StandaloneSchedule
severity: Violation

StandaloneSchedule.Series-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 77
path: StandaloneSchedule.Series
severity: Violation

RepeatingSchedule.RepeatingScheduleInterval-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: RepeatingSchedule.RepeatingScheduleInterval-cardinality
order: 642
path:
  inverse path: RepeatingScheduleInterval.RepeatingSchedule
severity: Violation

RepeatingSchedule.RepeatingScheduleInterval-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 76
path: RepeatingSchedule.RepeatingScheduleInterval
severity: Violation

RepeatingSchedule-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 70
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
severity: Info
target class: RepeatingSchedule

PhaseTapChangerAsymmetrical.windingConnectionAngle-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PhaseTapChangerAsymmetrical.windingConnectionAngle-datatype
node kind: Literal
order: 377
path: PhaseTapChangerAsymmetrical.windingConnectionAngle
severity: Violation

PhaseTapChangerAsymmetrical.windingConnectionAngle-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PhaseTapChangerAsymmetrical.windingConnectionAngle-cardinality
order: 627
path: PhaseTapChangerAsymmetrical.windingConnectionAngle
severity: Violation

PhaseTapChangerAsymmetrical-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 69
property:
  path: IdentifiedObject.name
property:
  path: PhaseTapChangerAsymmetrical.windingConnectionAngle
property:
  path: PhaseTapChangerNonLinear.xMax
property:
  path: PhaseTapChangerNonLinear.voltageStepIncrement
property:
  path: PhaseTapChanger.TransformerEnd
property:
  path: TapChanger.normalStep
property:
  path: TapChanger.neutralU
property:
  path: TapChanger.TapChangerControl
property:
  path: TapChanger.lowStep
property:
  path: TapChanger.neutralStep
property:
  path: TapChanger.highStep
property:
  path: TapChanger.ltcFlag
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
severity: Info
target class: PhaseTapChangerAsymmetrical

DisconnectingCircuitBreaker-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 68
property:
  path: Switch.ratedCurrent
property:
  path: Switch.normalOpen
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: DisconnectingCircuitBreaker

Line.Region-valueType
type: PropertyShape
class: SubGeographicalRegion
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:SubGeographicalRegion
name: Line.Region-valueType
node kind: IRI
order: 168
path: Line.Region
severity: Violation

Line.Region-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: Line.Region-cardinality
order: 608
path: Line.Region
severity: Violation

Line-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 67
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: Line.Region
severity: Info
target class: Line

Conductor.length-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Conductor.length-datatype
node kind: Literal
order: 363
path: Conductor.length
severity: Violation

Conductor.length-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Conductor.length-cardinality
order: 598
path: Conductor.length
severity: Violation

ACLineSegment.bch-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ACLineSegment.bch-datatype
node kind: Literal
order: 362
path: ACLineSegment.bch
severity: Violation

ACLineSegment.bch-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ACLineSegment.bch-cardinality
order: 597
path: ACLineSegment.bch
severity: Violation

ACLineSegment.gch-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ACLineSegment.gch-datatype
node kind: Literal
order: 361
path: ACLineSegment.gch
severity: Violation

ACLineSegment.gch-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ACLineSegment.gch-cardinality
order: 596
path: ACLineSegment.gch
severity: Violation

ACLineSegment.r-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ACLineSegment.r-datatype
node kind: Literal
order: 360
path: ACLineSegment.r
severity: Violation

ACLineSegment.r-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ACLineSegment.r-cardinality
order: 595
path: ACLineSegment.r
severity: Violation

ACLineSegment.x-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ACLineSegment.x-datatype
node kind: Literal
order: 359
path: ACLineSegment.x
severity: Violation

ACLineSegment.x-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ACLineSegment.x-cardinality
order: 594
path: ACLineSegment.x
severity: Violation

ACLineSegment-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 66
property:
  path: ACLineSegment.x
property:
  path: ACLineSegment.r
property:
  path: ACLineSegment.gch
property:
  path: ACLineSegment.bch
property:
  path: Conductor.length
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: ACLineSegment

SynchronousMachine.type-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: SynchronousMachineKind.generatorOrMotor
in: SynchronousMachineKind.motorOrCondenser
in: SynchronousMachineKind.generator
in: SynchronousMachineKind.generatorOrCondenserOrMotor
in: SynchronousMachineKind.condenser
in: SynchronousMachineKind.motor
in: SynchronousMachineKind.generatorOrCondenser
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: SynchronousMachine.type-datatype
node kind: IRI
order: 352
path: SynchronousMachine.type
severity: Violation

SynchronousMachine.type-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: SynchronousMachine.type-cardinality
order: 580
path: SynchronousMachine.type
severity: Violation

SynchronousMachine-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 65
property:
  path: SynchronousMachine.type
property:
  path: RotatingMachine.maxImportP
property:
  path: RotatingMachine.maxExportP
property:
  path: RotatingMachine.GeneratingUnit
property:
  path: RegulatingCondEq.RegulatingControl
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: SynchronousMachine

LinearShuntCompensator.bPerSection-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: LinearShuntCompensator.bPerSection-datatype
node kind: Literal
order: 341
path: LinearShuntCompensator.bPerSection
severity: Violation

LinearShuntCompensator.bPerSection-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: LinearShuntCompensator.bPerSection-cardinality
order: 563
path: LinearShuntCompensator.bPerSection
severity: Violation

LinearShuntCompensator.gPerSection-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: LinearShuntCompensator.gPerSection-datatype
node kind: Literal
order: 340
path: LinearShuntCompensator.gPerSection
severity: Violation

LinearShuntCompensator.gPerSection-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: LinearShuntCompensator.gPerSection-cardinality
order: 562
path: LinearShuntCompensator.gPerSection
severity: Violation

LinearShuntCompensator-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 64
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: LinearShuntCompensator.gPerSection
property:
  path: LinearShuntCompensator.bPerSection
property:
  path: ShuntCompensator.voltageSensitivity
property:
  path: ShuntCompensator.normalSections
property:
  path: ShuntCompensator.nomU
property:
  path: ShuntCompensator.maximumSections
property:
  path: ShuntCompensator.grounded
property:
  path: ShuntCompensator.aVRDelay
property:
  path: RegulatingCondEq.RegulatingControl
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
severity: Info
target class: LinearShuntCompensator

VoltageLevel.BaseVoltage-valueType
type: PropertyShape
class: BaseVoltage
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:BaseVoltage
name: VoltageLevel.BaseVoltage-valueType
node kind: IRI
order: 151
path: VoltageLevel.BaseVoltage
severity: Violation

VoltageLevel.BaseVoltage-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: VoltageLevel.BaseVoltage-cardinality
order: 554
path: VoltageLevel.BaseVoltage
severity: Violation

VoltageLevel.Substation-valueType
type: PropertyShape
class: Substation
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:Substation
name: VoltageLevel.Substation-valueType
node kind: IRI
order: 150
path: VoltageLevel.Substation
severity: Violation

VoltageLevel.Substation-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: VoltageLevel.Substation-cardinality
order: 553
path: VoltageLevel.Substation
severity: Violation

VoltageLevel-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 63
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: VoltageLevel.BaseVoltage
property:
  path: VoltageLevel.Substation
severity: Info
target class: VoltageLevel

LoadBreakSwitch-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 62
property:
  path: Switch.ratedCurrent
property:
  path: Switch.normalOpen
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: LoadBreakSwitch

RatioTapChangerTable.RatioTapChanger-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 64
path: RatioTapChangerTable.RatioTapChanger
severity: Violation

RatioTapChangerTable.RatioTapChangerTablePoint-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: RatioTapChangerTable.RatioTapChangerTablePoint-cardinality
order: 537
path:
  inverse path: RatioTapChangerTablePoint.RatioTapChangerTable
severity: Violation

RatioTapChangerTable.RatioTapChangerTablePoint-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 63
path: RatioTapChangerTable.RatioTapChangerTablePoint
severity: Violation

RatioTapChangerTable-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 61
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
severity: Info
target class: RatioTapChangerTable

HydroGeneratingUnit.HydroPowerPlant-valueType
type: PropertyShape
class: HydroPowerPlant
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:HydroPowerPlant
name: HydroGeneratingUnit.HydroPowerPlant-valueType
node kind: IRI
order: 142
path: HydroGeneratingUnit.HydroPowerPlant
severity: Violation

HydroGeneratingUnit.HydroPowerPlant-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: HydroGeneratingUnit.HydroPowerPlant-cardinality
order: 527
path: HydroGeneratingUnit.HydroPowerPlant
severity: Violation

HydroGeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 60
property:
  path: HydroGeneratingUnit.HydroPowerPlant
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: HydroGeneratingUnit

GeographicalRegion.Regions-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 61
path: GeographicalRegion.Regions
severity: Violation

GeographicalRegion-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 59
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
severity: Info
target class: GeographicalRegion

PhaseTapChangerTable.PhaseTapChangerTablePoint-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: PhaseTapChangerTable.PhaseTapChangerTablePoint-cardinality
order: 519
path:
  inverse path: PhaseTapChangerTablePoint.PhaseTapChangerTable
severity: Violation

PhaseTapChangerTable.PhaseTapChangerTablePoint-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 60
path: PhaseTapChangerTable.PhaseTapChangerTablePoint
severity: Violation

PhaseTapChangerTable.PhaseTapChangerTabular-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 59
path: PhaseTapChangerTable.PhaseTapChangerTabular
severity: Violation

PhaseTapChangerTable-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 58
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
severity: Info
target class: PhaseTapChangerTable

RotatingMachine.GeneratingUnit-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: GeneratingUnit
in: FlywheelUnit
in: HydroGeneratingUnit
in: WindGeneratingUnit
in: ThermalGeneratingUnit
in: GeothermalGeneratingUnit
in: NuclearGeneratingUnit
in: SolarGeneratingUnit
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: RotatingMachine.GeneratingUnit-valueType
node kind: IRI
order: 136
path: RotatingMachine.GeneratingUnit
path: type
severity: Violation

RotatingMachine.GeneratingUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: RotatingMachine.GeneratingUnit-cardinality
order: 507
path: RotatingMachine.GeneratingUnit
severity: Violation

RotatingMachine.maxExportP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: RotatingMachine.maxExportP-datatype
node kind: Literal
order: 312
path: RotatingMachine.maxExportP
severity: Violation

RotatingMachine.maxExportP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: RotatingMachine.maxExportP-cardinality
order: 506
path: RotatingMachine.maxExportP
severity: Violation

RotatingMachine.maxImportP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: RotatingMachine.maxImportP-datatype
node kind: Literal
order: 311
path: RotatingMachine.maxImportP
severity: Violation

RotatingMachine.maxImportP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: RotatingMachine.maxImportP-cardinality
order: 505
path: RotatingMachine.maxImportP
deactivated: true
severity: Violation

AsynchronousMachine-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 57
property:
  path: RotatingMachine.maxImportP
property:
  path: RotatingMachine.maxExportP
property:
  path: RotatingMachine.GeneratingUnit
property:
  path: RegulatingCondEq.RegulatingControl
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: AsynchronousMachine

CurrentLimitDataPoint.CurrentLimitSeries-valueType
type: PropertyShape
class: CurrentLimitSeries
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: gb:CurrentLimitSeries
name: CurrentLimitDataPoint.CurrentLimitSeries-valueType
node kind: IRI
order: 135
path: CurrentLimitDataPoint.CurrentLimitSeries
severity: Violation

CurrentLimitDataPoint.CurrentLimitSeries-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: CurrentLimitDataPoint.CurrentLimitSeries-cardinality
order: 501
path: CurrentLimitDataPoint.CurrentLimitSeries
severity: Violation

CurrentLimitDataPoint.intervalNumber-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CurrentLimitDataPoint.intervalNumber-datatype
node kind: Literal
order: 307
path: CurrentLimitDataPoint.intervalNumber
severity: Violation

CurrentLimitDataPoint.intervalNumber-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: CurrentLimitDataPoint.intervalNumber-cardinality
order: 500
path: CurrentLimitDataPoint.intervalNumber
severity: Violation

CurrentLimitDataPoint.normalValue-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CurrentLimitDataPoint.normalValue-datatype
node kind: Literal
order: 306
path: CurrentLimitDataPoint.normalValue
severity: Violation

CurrentLimitDataPoint.normalValue-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: CurrentLimitDataPoint.normalValue-cardinality
order: 499
path: CurrentLimitDataPoint.normalValue
severity: Violation

CurrentLimitDataPoint-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 56
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: CurrentLimitDataPoint.CurrentLimitSeries
property:
  path: CurrentLimitDataPoint.intervalNumber
property:
  path: CurrentLimitDataPoint.normalValue
severity: Info
target class: CurrentLimitDataPoint

ApparentPowerLimit.ApparentPowerLimitSeries-valueType
type: PropertyShape
class: ApparentPowerLimitSeries
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: gb:ApparentPowerLimitSeries
name: ApparentPowerLimit.ApparentPowerLimitSeries-valueType
node kind: IRI
order: 132
path: ApparentPowerLimit.ApparentPowerLimitSeries
severity: Violation

ApparentPowerLimit.ApparentPowerLimitSeries-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ApparentPowerLimit.ApparentPowerLimitSeries-cardinality
order: 493
path: ApparentPowerLimit.ApparentPowerLimitSeries
severity: Violation

ApparentPowerLimit.normalValue-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ApparentPowerLimit.normalValue-datatype
node kind: Literal
order: 302
path: ApparentPowerLimit.normalValue
severity: Violation

ApparentPowerLimit.normalValue-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ApparentPowerLimit.normalValue-cardinality
order: 492
path: ApparentPowerLimit.normalValue
severity: Violation

ApparentPowerLimit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 55
property:
  path: ApparentPowerLimit.normalValue
property:
  path: ApparentPowerLimit.ApparentPowerLimitSeries
property:
  path: OperationalLimit.OperationalLimitType
property:
  path: OperationalLimit.OperationalLimitSet
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: ApparentPowerLimit

OperationalLimitType.OperationalLimit-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 57
path: OperationalLimitType.OperationalLimit
severity: Violation

OperationalLimitType.acceptableDuration-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: OperationalLimitType.acceptableDuration-datatype
node kind: Literal
order: 298
path: OperationalLimitType.acceptableDuration
severity: Violation

OperationalLimitType.acceptableDuration-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: OperationalLimitType.acceptableDuration-cardinality
order: 487
path: OperationalLimitType.acceptableDuration
severity: Violation

OperationalLimitType.direction-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: OperationalLimitDirectionKind.high
in: OperationalLimitDirectionKind.low
in: OperationalLimitDirectionKind.absoluteValue
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: OperationalLimitType.direction-datatype
node kind: IRI
order: 297
path: OperationalLimitType.direction
severity: Violation

OperationalLimitType.direction-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: OperationalLimitType.direction-cardinality
order: 486
path: OperationalLimitType.direction
severity: Violation

OperationalLimitType.isInfiniteDuration-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: OperationalLimitType.isInfiniteDuration-datatype
node kind: Literal
order: 296
path: OperationalLimitType.isInfiniteDuration
severity: Violation

OperationalLimitType.isInfiniteDuration-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: OperationalLimitType.isInfiniteDuration-cardinality
order: 485
path: OperationalLimitType.isInfiniteDuration
severity: Violation

OperationalLimitType.kind-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: LimitKind.stability
in: LimitKind.highVoltage
in: LimitKind.patl
in: LimitKind.alarmVoltage
in: LimitKind.lowVoltage
in: LimitKind.tc
in: LimitKind.patlt
in: LimitKind.tatl
in: LimitKind.warningVoltage
in: LimitKind.operationalVoltageLimit
in: LimitKind.tct
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: OperationalLimitType.kind-datatype
node kind: IRI
order: 295
path: OperationalLimitType.kind
severity: Violation

OperationalLimitType.kind-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: OperationalLimitType.kind-cardinality
order: 484
path: OperationalLimitType.kind
severity: Violation

OperationalLimitType.transformerReverseFlow-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: OperationalLimitType.transformerReverseFlow-datatype
node kind: Literal
order: 294
path: OperationalLimitType.transformerReverseFlow
severity: Violation

OperationalLimitType.transformerReverseFlow-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: OperationalLimitType.transformerReverseFlow-cardinality
order: 483
path: OperationalLimitType.transformerReverseFlow
severity: Violation

OperationalLimitType-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 54
property:
  path: OperationalLimitType.transformerReverseFlow
property:
  path: OperationalLimitType.kind
property:
  path: OperationalLimitType.isInfiniteDuration
property:
  path: OperationalLimitType.direction
property:
  path: OperationalLimitType.acceptableDuration
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: OperationalLimitType

PhotoVoltaicUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 53
property:
  path: PowerElectronicsUnit.maxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PhotoVoltaicUnit

FossilFuel.ThermalGeneratingUnit-valueType
type: PropertyShape
class: ThermalGeneratingUnit
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ThermalGeneratingUnit
name: FossilFuel.ThermalGeneratingUnit-valueType
node kind: IRI
order: 128
path: FossilFuel.ThermalGeneratingUnit
severity: Violation

FossilFuel.ThermalGeneratingUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: FossilFuel.ThermalGeneratingUnit-cardinality
order: 470
path: FossilFuel.ThermalGeneratingUnit
severity: Violation

FossilFuel.fossilFuelType-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: FuelType.hardCoal
in: FuelType.coal
in: FuelType.peat
in: FuelType.oilShale
in: FuelType.gas
in: FuelType.other
in: FuelType.brownCoalLignite
in: FuelType.coalDerivedGas
in: FuelType.lignite
in: FuelType.oil
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: FossilFuel.fossilFuelType-datatype
node kind: IRI
order: 285
path: FossilFuel.fossilFuelType
severity: Violation

FossilFuel.fossilFuelType-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: FossilFuel.fossilFuelType-cardinality
order: 469
path: FossilFuel.fossilFuelType
severity: Violation

FossilFuel-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 52
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: FossilFuel.ThermalGeneratingUnit
property:
  path: FossilFuel.fossilFuelType
severity: Info
target class: FossilFuel

RepeatingScheduleInterval.RepeatingSchedule-valueType
type: PropertyShape
class: RepeatingSchedule
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: gb:RepeatingSchedule
name: RepeatingScheduleInterval.RepeatingSchedule-valueType
node kind: IRI
order: 127
path: RepeatingScheduleInterval.RepeatingSchedule
severity: Violation

RepeatingScheduleInterval.RepeatingSchedule-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: RepeatingScheduleInterval.RepeatingSchedule-cardinality
order: 465
path: RepeatingScheduleInterval.RepeatingSchedule
severity: Violation

RepeatingScheduleInterval.startAt-datatype
type: PropertyShape
datatype: gMonthDay
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: RepeatingScheduleInterval.startAt-datatype
node kind: Literal
order: 281
path: RepeatingScheduleInterval.startAt
severity: Violation

RepeatingScheduleInterval.startAt-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: RepeatingScheduleInterval.startAt-cardinality
order: 464
path: RepeatingScheduleInterval.startAt
severity: Violation

RepeatingScheduleInterval-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 51
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: RepeatingScheduleInterval.RepeatingSchedule
property:
  path: RepeatingScheduleInterval.startAt
severity: Info
target class: RepeatingScheduleInterval

PowerTransformer.PowerTransformerEnd-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 54
path: PowerTransformer.PowerTransformerEnd
severity: Violation

PowerTransformer.reverseFlowCapability-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: ReverseFlowCapabilityKind.differentFromNormal
in: ReverseFlowCapabilityKind.notYetDetermined
in: ReverseFlowCapabilityKind.sameAsNormal
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: PowerTransformer.reverseFlowCapability-datatype
node kind: IRI
order: 276
path: PowerTransformer.reverseFlowCapability
severity: Violation

PowerTransformer.reverseFlowCapability-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformer.reverseFlowCapability-cardinality
order: 453
path: PowerTransformer.reverseFlowCapability
severity: Violation

PowerTransformer-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 50
property:
  path: PowerTransformer.reverseFlowCapability
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PowerTransformer

EquivalentBranch.r-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentBranch.r-datatype
node kind: Literal
order: 271
path: EquivalentBranch.r
severity: Violation

EquivalentBranch.r-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: EquivalentBranch.r-cardinality
order: 443
path: EquivalentBranch.r
severity: Violation

EquivalentBranch.r21-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentBranch.r21-datatype
node kind: Literal
order: 270
path: EquivalentBranch.r21
severity: Violation

EquivalentBranch.r21-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentBranch.r21-cardinality
order: 442
path: EquivalentBranch.r21
severity: Violation

EquivalentBranch.x-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentBranch.x-datatype
node kind: Literal
order: 269
path: EquivalentBranch.x
severity: Violation

EquivalentBranch.x-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: EquivalentBranch.x-cardinality
order: 441
path: EquivalentBranch.x
severity: Violation

EquivalentBranch.x21-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentBranch.x21-datatype
node kind: Literal
order: 268
path: EquivalentBranch.x21
severity: Violation

EquivalentBranch.x21-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentBranch.x21-cardinality
order: 440
path: EquivalentBranch.x21
severity: Violation

EquivalentBranch-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 49
property:
  path: EquivalentBranch.x21
property:
  path: EquivalentBranch.x
property:
  path: EquivalentBranch.r21
property:
  path: EquivalentBranch.r
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: EquivalentBranch

CurveData.Curve-valueType
type: PropertyShape
class: ReactiveCapabilityCurve
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ReactiveCapabilityCurve
name: CurveData.Curve-valueType
node kind: IRI
order: 118
path: CurveData.Curve
severity: Violation

CurveData.Curve-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: CurveData.Curve-cardinality
order: 439
path: CurveData.Curve
severity: Violation

CurveData.xvalue-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CurveData.xvalue-datatype
node kind: Literal
order: 267
path: CurveData.xvalue
severity: Violation

CurveData.xvalue-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: CurveData.xvalue-cardinality
order: 438
path: CurveData.xvalue
severity: Violation

CurveData.y1value-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CurveData.y1value-datatype
node kind: Literal
order: 266
path: CurveData.y1value
severity: Violation

CurveData.y1value-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: CurveData.y1value-cardinality
order: 437
path: CurveData.y1value
severity: Violation

CurveData.y2value-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CurveData.y2value-datatype
node kind: Literal
order: 265
path: CurveData.y2value
severity: Violation

CurveData.y2value-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: CurveData.y2value-cardinality
order: 436
path: CurveData.y2value
severity: Violation

CurveData-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 48
property:
  path: CurveData.Curve
property:
  path: CurveData.xvalue
property:
  path: CurveData.y1value
property:
  path: CurveData.y2value
severity: Info
target class: CurveData

ACDCTerminal.OperationalLimitSet-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 52
path: ACDCTerminal.OperationalLimitSet
severity: Violation

ACDCTerminal.sequenceNumber-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ACDCTerminal.sequenceNumber-datatype
node kind: Literal
order: 261
path: ACDCTerminal.sequenceNumber
severity: Violation

ACDCTerminal.sequenceNumber-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ACDCTerminal.sequenceNumber-cardinality
order: 431
path: ACDCTerminal.sequenceNumber
severity: Violation

Terminal.ConductingEquipment-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: ACLineSegment
in: Switch
in: Breaker
in: DisconnectingCircuitBreaker
in: LoadBreakSwitch
in: Disconnector
in: Fuse
in: BusbarSection
in: EquivalentInjection
in: EquivalentBranch
in: EnergyConsumer
in: AsynchronousMachine
in: SynchronousMachine
in: LinearShuntCompensator
in: NonlinearShuntCompensator
in: StaticVarCompensator
in: PowerElectronicsConnection
in: SeriesCompensator
in: PowerTransformer
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: Terminal.ConductingEquipment-valueType
node kind: IRI
order: 117
path: Terminal.ConductingEquipment
path: type
severity: Violation

Terminal.ConductingEquipment-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: Terminal.ConductingEquipment-cardinality
order: 430
path: Terminal.ConductingEquipment
severity: Violation

Terminal.ConnectivityNode-valueType
type: PropertyShape
class: ConnectivityNode
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ConnectivityNode
name: Terminal.ConnectivityNode-valueType
node kind: IRI
order: 116
path: Terminal.ConnectivityNode
severity: Violation

Terminal.ConnectivityNode-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: Terminal.ConnectivityNode-cardinality
order: 429
path: Terminal.ConnectivityNode
severity: Violation

Terminal.RegulatingControl-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 51
path: Terminal.RegulatingControl
severity: Violation

Terminal.TransformerEnd-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 50
path: Terminal.TransformerEnd
severity: Violation

Terminal-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 47
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: ACDCTerminal.sequenceNumber
property:
  path: Terminal.ConductingEquipment
property:
  path: Terminal.ConnectivityNode
severity: Info
target class: Terminal

TransformerEnd.PhaseTapChanger-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TransformerEnd.PhaseTapChanger-cardinality
order: 423
path:
  inverse path: PhaseTapChanger.TransformerEnd
severity: Violation

TransformerEnd.PhaseTapChanger-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 49
path: TransformerEnd.PhaseTapChanger
severity: Violation

TransformerEnd.Terminal-valueType
type: PropertyShape
class: Terminal
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:Terminal
name: TransformerEnd.Terminal-valueType
node kind: IRI
order: 115
path: TransformerEnd.Terminal
severity: Violation

TransformerEnd.Terminal-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: TransformerEnd.Terminal-cardinality
order: 422
path: TransformerEnd.Terminal
severity: Violation

TransformerEnd.BaseVoltage-valueType
type: PropertyShape
class: BaseVoltage
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:BaseVoltage
name: TransformerEnd.BaseVoltage-valueType
node kind: IRI
order: 114
path: TransformerEnd.BaseVoltage
severity: Violation

TransformerEnd.BaseVoltage-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: TransformerEnd.BaseVoltage-cardinality
order: 421
path: TransformerEnd.BaseVoltage
severity: Violation

TransformerEnd.RatioTapChanger-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TransformerEnd.RatioTapChanger-cardinality
order: 420
path:
  inverse path: RatioTapChanger.TransformerEnd
severity: Violation

TransformerEnd.RatioTapChanger-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 48
path: TransformerEnd.RatioTapChanger
severity: Violation

TransformerEnd.endNumber-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TransformerEnd.endNumber-datatype
node kind: Literal
order: 257
path: TransformerEnd.endNumber
severity: Violation

TransformerEnd.endNumber-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TransformerEnd.endNumber-cardinality
order: 419
path: TransformerEnd.endNumber
severity: Violation

TransformerEnd.earthingMethod-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: EarthingMethodKind.notApplicable
in: EarthingMethodKind.solid
in: EarthingMethodKind.throughEarthTransformer
in: EarthingMethodKind.resistance
in: EarthingMethodKind.reactance
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: TransformerEnd.earthingMethod-datatype
node kind: IRI
order: 256
path: TransformerEnd.earthingMethod
severity: Violation

TransformerEnd.earthingMethod-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TransformerEnd.earthingMethod-cardinality
order: 418
path: TransformerEnd.earthingMethod
severity: Violation

PowerTransformerEnd.PowerTransformer-valueType
type: PropertyShape
class: PowerTransformer
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:PowerTransformer
name: PowerTransformerEnd.PowerTransformer-valueType
node kind: IRI
order: 113
path: PowerTransformerEnd.PowerTransformer
severity: Violation

PowerTransformerEnd.PowerTransformer-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: PowerTransformerEnd.PowerTransformer-cardinality
order: 417
path: PowerTransformerEnd.PowerTransformer
severity: Violation

PowerTransformerEnd.b-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerTransformerEnd.b-datatype
node kind: Literal
order: 255
path: PowerTransformerEnd.b
severity: Violation

PowerTransformerEnd.b-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformerEnd.b-cardinality
order: 416
path: PowerTransformerEnd.b
severity: Violation

PowerTransformerEnd.connectionKind-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: WindingConnection.Yn
in: WindingConnection.D
in: WindingConnection.Zn
in: WindingConnection.Z
in: WindingConnection.Y
in: WindingConnection.I
in: WindingConnection.A
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: PowerTransformerEnd.connectionKind-datatype
node kind: IRI
order: 254
path: PowerTransformerEnd.connectionKind
severity: Violation

PowerTransformerEnd.connectionKind-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformerEnd.connectionKind-cardinality
order: 415
path: PowerTransformerEnd.connectionKind
severity: Violation

PowerTransformerEnd.g-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerTransformerEnd.g-datatype
node kind: Literal
order: 253
path: PowerTransformerEnd.g
severity: Violation

PowerTransformerEnd.g-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: PowerTransformerEnd.g-cardinality
order: 414
path: PowerTransformerEnd.g
severity: Violation

PowerTransformerEnd.r-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerTransformerEnd.r-datatype
node kind: Literal
order: 252
path: PowerTransformerEnd.r
severity: Violation

PowerTransformerEnd.r-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformerEnd.r-cardinality
order: 413
path: PowerTransformerEnd.r
severity: Violation

PowerTransformerEnd.ratedS-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerTransformerEnd.ratedS-datatype
node kind: Literal
order: 251
path: PowerTransformerEnd.ratedS
severity: Violation

PowerTransformerEnd.ratedS-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformerEnd.ratedS-cardinality
order: 412
path: PowerTransformerEnd.ratedS
severity: Violation

PowerTransformerEnd.ratedU-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerTransformerEnd.ratedU-datatype
node kind: Literal
order: 250
path: PowerTransformerEnd.ratedU
severity: Violation

PowerTransformerEnd.ratedU-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformerEnd.ratedU-cardinality
order: 411
path: PowerTransformerEnd.ratedU
severity: Violation

PowerTransformerEnd.x-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerTransformerEnd.x-datatype
node kind: Literal
order: 249
path: PowerTransformerEnd.x
severity: Violation

PowerTransformerEnd.x-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerTransformerEnd.x-cardinality
order: 410
path: PowerTransformerEnd.x
severity: Violation

PowerTransformerEnd-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 46
property:
  path: IdentifiedObject.name
property:
  path: PowerTransformerEnd.x
property:
  path: PowerTransformerEnd.ratedU
property:
  path: PowerTransformerEnd.ratedS
property:
  path: PowerTransformerEnd.r
property:
  path: PowerTransformerEnd.g
property:
  path: PowerTransformerEnd.connectionKind
property:
  path: PowerTransformerEnd.b
property:
  path: PowerTransformerEnd.PowerTransformer
property:
  path: TransformerEnd.earthingMethod
property:
  path: TransformerEnd.endNumber
property:
  path: TransformerEnd.BaseVoltage
property:
  path: TransformerEnd.Terminal
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
severity: Info
target class: PowerTransformerEnd

SubGeographicalRegion.Lines-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 47
path: SubGeographicalRegion.Lines
severity: Violation

SubGeographicalRegion.Region-valueType
type: PropertyShape
class: GeographicalRegion
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:GeographicalRegion
name: SubGeographicalRegion.Region-valueType
node kind: IRI
order: 112
path: SubGeographicalRegion.Region
severity: Violation

SubGeographicalRegion.Region-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: SubGeographicalRegion.Region-cardinality
order: 405
path: SubGeographicalRegion.Region
severity: Violation

SubGeographicalRegion.Substations-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 46
path: SubGeographicalRegion.Substations
severity: Violation

SubGeographicalRegion-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 45
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: SubGeographicalRegion.Region
severity: Info
target class: SubGeographicalRegion

GeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 44
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: GeneratingUnit

PowerElectronicsWindUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 43
property:
  path: PowerElectronicsUnit.maxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PowerElectronicsWindUnit

CAESPlant.ThermalGeneratingUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: CAESPlant.ThermalGeneratingUnit-cardinality
order: 381
path:
  inverse path: ThermalGeneratingUnit.CAESPlant
severity: Violation

CAESPlant.ThermalGeneratingUnit-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 43
path: CAESPlant.ThermalGeneratingUnit
severity: Violation

CAESPlant.energyStorageCapacity-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CAESPlant.energyStorageCapacity-datatype
node kind: Literal
order: 232
path: CAESPlant.energyStorageCapacity
severity: Violation

CAESPlant.energyStorageCapacity-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: CAESPlant.energyStorageCapacity-cardinality
order: 380
path: CAESPlant.energyStorageCapacity
deactivated: true
severity: Violation

CAESPlant-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 42
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: CAESPlant.energyStorageCapacity
severity: Info
target class: CAESPlant

StaticVarCompensator.capacitiveRating-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: StaticVarCompensator.capacitiveRating-datatype
node kind: Literal
order: 227
path: StaticVarCompensator.capacitiveRating
severity: Violation

StaticVarCompensator.capacitiveRating-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: StaticVarCompensator.capacitiveRating-cardinality
order: 369
path: StaticVarCompensator.capacitiveRating
severity: Violation

StaticVarCompensator.inductiveRating-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: StaticVarCompensator.inductiveRating-datatype
node kind: Literal
order: 226
path: StaticVarCompensator.inductiveRating
severity: Violation

StaticVarCompensator.inductiveRating-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: StaticVarCompensator.inductiveRating-cardinality
order: 368
path: StaticVarCompensator.inductiveRating
severity: Violation

StaticVarCompensator.slope-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: StaticVarCompensator.slope-datatype
node kind: Literal
order: 225
path: StaticVarCompensator.slope
severity: Violation

StaticVarCompensator.slope-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: StaticVarCompensator.slope-cardinality
order: 367
path: StaticVarCompensator.slope
severity: Violation

StaticVarCompensator-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 41
property:
  path: StaticVarCompensator.slope
property:
  path: StaticVarCompensator.inductiveRating
property:
  path: StaticVarCompensator.capacitiveRating
property:
  path: RegulatingCondEq.RegulatingControl
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: StaticVarCompensator

Curve.CurveDatas-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: Curve.CurveDatas-cardinality
order: 363
path:
  inverse path: CurveData.Curve
severity: Violation

Curve.CurveDatas-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 41
path: Curve.CurveDatas
severity: Violation

Curve.curveStyle-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: CurveStyle.constantYValue
in: CurveStyle.straightLineYValues
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: Curve.curveStyle-datatype
node kind: IRI
order: 221
path: Curve.curveStyle
severity: Violation

Curve.curveStyle-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Curve.curveStyle-cardinality
order: 362
path: Curve.curveStyle
severity: Violation

Curve.xUnit-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: UnitSymbol.As
in: UnitSymbol.degC
in: UnitSymbol.m2Pers
in: UnitSymbol.A2s
in: UnitSymbol.JPerK
in: UnitSymbol.Pas
in: UnitSymbol.molPermol
in: UnitSymbol.WPersr
in: UnitSymbol.kgm
in: UnitSymbol.WPers
in: UnitSymbol.WPerm2
in: UnitSymbol.A2h
in: UnitSymbol.rev
in: UnitSymbol.Ah
in: UnitSymbol.kgPerm3
in: UnitSymbol.gPerg
in: UnitSymbol.Bq
in: UnitSymbol.WPerW
in: UnitSymbol.GyPers
in: UnitSymbol.APerA
in: UnitSymbol.ohm
in: UnitSymbol.VPerHz
in: UnitSymbol.kgPerJ
in: UnitSymbol.kn
in: UnitSymbol.cd
in: UnitSymbol.dB
in: UnitSymbol.onePerHz
in: UnitSymbol.sr
in: UnitSymbol.kg
in: UnitSymbol.none
in: UnitSymbol.ohmm
in: UnitSymbol.cosPhi
in: UnitSymbol.V2h
in: UnitSymbol.NPerm
in: UnitSymbol.m3
in: UnitSymbol.m2
in: UnitSymbol.mPers2
in: UnitSymbol.CPerm2
in: UnitSymbol.CPerm3
in: UnitSymbol.lx
in: UnitSymbol.F
in: UnitSymbol.G
in: UnitSymbol.min
in: UnitSymbol.mmHg
in: UnitSymbol.kgm2
in: UnitSymbol.C
in: UnitSymbol.A
in: UnitSymbol.Sv
in: UnitSymbol.tonne
in: UnitSymbol.molPerm3
in: UnitSymbol.lm
in: UnitSymbol.katPerm3
in: UnitSymbol.mPers
in: UnitSymbol.VArh
in: UnitSymbol.molPerkg
in: UnitSymbol.JPerkg
in: UnitSymbol.ppm
in: UnitSymbol.JPerm2
in: UnitSymbol.JPerm3
in: UnitSymbol.VPerVAr
in: UnitSymbol.JPermol
in: UnitSymbol.therm
in: UnitSymbol.V2
in: UnitSymbol.charPers
in: UnitSymbol.VA
in: UnitSymbol.HzPerHz
in: UnitSymbol.Vh
in: UnitSymbol.VPerm
in: UnitSymbol.mol
in: UnitSymbol.HzPers
in: UnitSymbol.m3Pers
in: UnitSymbol.WPerm2sr
in: UnitSymbol.m3Uncompensated
in: UnitSymbol.bar
in: UnitSymbol.rad
in: UnitSymbol.l
in: UnitSymbol.m

Curve.xUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Curve.xUnit-cardinality
order: 361
path: Curve.xUnit
severity: Violation

Curve.y1Unit-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: UnitSymbol.As
in: UnitSymbol.degC
in: UnitSymbol.m2Pers
in: UnitSymbol.A2s
in: UnitSymbol.JPerK
in: UnitSymbol.Pas
in: UnitSymbol.molPermol
in: UnitSymbol.WPersr
in: UnitSymbol.kgm
in: UnitSymbol.WPers
in: UnitSymbol.WPerm2
in: UnitSymbol.A2h
in: UnitSymbol.rev
in: UnitSymbol.Ah
in: UnitSymbol.kgPerm3
in: UnitSymbol.gPerg
in: UnitSymbol.Bq
in: UnitSymbol.WPerW
in: UnitSymbol.GyPers
in: UnitSymbol.APerA
in: UnitSymbol.ohm
in: UnitSymbol.VPerHz
in: UnitSymbol.kgPerJ
in: UnitSymbol.kn
in: UnitSymbol.cd
in: UnitSymbol.dB
in: UnitSymbol.onePerHz
in: UnitSymbol.sr
in: UnitSymbol.kg
in: UnitSymbol.none
in: UnitSymbol.ohmm
in: UnitSymbol.cosPhi
in: UnitSymbol.V2h
in: UnitSymbol.NPerm
in: UnitSymbol.m3
in: UnitSymbol.m2
in: UnitSymbol.mPers2
in: UnitSymbol.CPerm2
in: UnitSymbol.CPerm3
in: UnitSymbol.lx
in: UnitSymbol.F
in: UnitSymbol.G
in: UnitSymbol.min
in: UnitSymbol.mmHg
in: UnitSymbol.kgm2
in: UnitSymbol.C
in: UnitSymbol.A
in: UnitSymbol.Sv
in: UnitSymbol.tonne
in: UnitSymbol.molPerm3
in: UnitSymbol.lm
in: UnitSymbol.katPerm3
in: UnitSymbol.mPers
in: UnitSymbol.VArh
in: UnitSymbol.molPerkg
in: UnitSymbol.JPerkg
in: UnitSymbol.ppm
in: UnitSymbol.JPerm2
in: UnitSymbol.JPerm3
in: UnitSymbol.VPerVAr
in: UnitSymbol.JPermol
in: UnitSymbol.therm
in: UnitSymbol.V2
in: UnitSymbol.charPers
in: UnitSymbol.VA
in: UnitSymbol.HzPerHz
in: UnitSymbol.Vh
in: UnitSymbol.VPerm
in: UnitSymbol.mol
in: UnitSymbol.HzPers
in: UnitSymbol.m3Pers
in: UnitSymbol.WPerm2sr
in: UnitSymbol.m3Uncompensated
in: UnitSymbol.bar
in: UnitSymbol.rad
in: UnitSymbol.l
in: UnitSymbol.m

Curve.y1Unit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Curve.y1Unit-cardinality
order: 360
path: Curve.y1Unit
severity: Violation

Curve.y2Unit-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: UnitSymbol.As
in: UnitSymbol.degC
in: UnitSymbol.m2Pers
in: UnitSymbol.A2s
in: UnitSymbol.JPerK
in: UnitSymbol.Pas
in: UnitSymbol.molPermol
in: UnitSymbol.WPersr
in: UnitSymbol.kgm
in: UnitSymbol.WPers
in: UnitSymbol.WPerm2
in: UnitSymbol.A2h
in: UnitSymbol.rev
in: UnitSymbol.Ah
in: UnitSymbol.kgPerm3
in: UnitSymbol.gPerg
in: UnitSymbol.Bq
in: UnitSymbol.WPerW
in: UnitSymbol.GyPers
in: UnitSymbol.APerA
in: UnitSymbol.ohm
in: UnitSymbol.VPerHz
in: UnitSymbol.kgPerJ
in: UnitSymbol.kn
in: UnitSymbol.cd
in: UnitSymbol.dB
in: UnitSymbol.onePerHz
in: UnitSymbol.sr
in: UnitSymbol.kg
in: UnitSymbol.none
in: UnitSymbol.ohmm
in: UnitSymbol.cosPhi
in: UnitSymbol.V2h
in: UnitSymbol.NPerm
in: UnitSymbol.m3
in: UnitSymbol.m2
in: UnitSymbol.mPers2
in: UnitSymbol.CPerm2
in: UnitSymbol.CPerm3
in: UnitSymbol.lx
in: UnitSymbol.F
in: UnitSymbol.G
in: UnitSymbol.min
in: UnitSymbol.mmHg
in: UnitSymbol.kgm2
in: UnitSymbol.C
in: UnitSymbol.A
in: UnitSymbol.Sv
in: UnitSymbol.tonne
in: UnitSymbol.molPerm3
in: UnitSymbol.lm
in: UnitSymbol.katPerm3
in: UnitSymbol.mPers
in: UnitSymbol.VArh
in: UnitSymbol.molPerkg
in: UnitSymbol.JPerkg
in: UnitSymbol.ppm
in: UnitSymbol.JPerm2
in: UnitSymbol.JPerm3
in: UnitSymbol.VPerVAr
in: UnitSymbol.JPermol
in: UnitSymbol.therm
in: UnitSymbol.V2
in: UnitSymbol.charPers
in: UnitSymbol.VA
in: UnitSymbol.HzPerHz
in: UnitSymbol.Vh
in: UnitSymbol.VPerm
in: UnitSymbol.mol
in: UnitSymbol.HzPers
in: UnitSymbol.m3Pers
in: UnitSymbol.WPerm2sr
in: UnitSymbol.m3Uncompensated
in: UnitSymbol.bar
in: UnitSymbol.rad
in: UnitSymbol.l
in: UnitSymbol.m

Curve.y2Unit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: Curve.y2Unit-cardinality
order: 359
path: Curve.y2Unit
severity: Violation

ReactiveCapabilityCurve.EquivalentInjection-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 40
path: ReactiveCapabilityCurve.EquivalentInjection
severity: Violation

ReactiveCapabilityCurve-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 40
property:
  path: Curve.y2Unit
property:
  path: Curve.y1Unit
property:
  path: Curve.xUnit
property:
  path: Curve.curveStyle
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: ReactiveCapabilityCurve

PhaseTapChangerLinear.stepPhaseShiftIncrement-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PhaseTapChangerLinear.stepPhaseShiftIncrement-datatype
node kind: Literal
order: 208
path: PhaseTapChangerLinear.stepPhaseShiftIncrement
severity: Violation

PhaseTapChangerLinear.stepPhaseShiftIncrement-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PhaseTapChangerLinear.stepPhaseShiftIncrement-cardinality
order: 345
path: PhaseTapChangerLinear.stepPhaseShiftIncrement
severity: Violation

PhaseTapChangerLinear.xMax-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PhaseTapChangerLinear.xMax-datatype
node kind: Literal
order: 207
path: PhaseTapChangerLinear.xMax
severity: Violation

PhaseTapChangerLinear.xMax-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PhaseTapChangerLinear.xMax-cardinality
order: 344
path: PhaseTapChangerLinear.xMax
severity: Violation

PhaseTapChangerLinear-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 39
property:
  path: PhaseTapChangerLinear.xMax
property:
  path: PhaseTapChangerLinear.stepPhaseShiftIncrement
property:
  path: PhaseTapChanger.TransformerEnd
property:
  path: TapChanger.normalStep
property:
  path: TapChanger.neutralU
property:
  path: TapChanger.TapChangerControl
property:
  path: TapChanger.lowStep
property:
  path: TapChanger.neutralStep
property:
  path: TapChanger.highStep
property:
  path: TapChanger.ltcFlag
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PhaseTapChangerLinear

BioFuel.ThermalGeneratingUnit-valueType
type: PropertyShape
class: ThermalGeneratingUnit
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ThermalGeneratingUnit
name: BioFuel.ThermalGeneratingUnit-valueType
node kind: IRI
order: 96
path: BioFuel.ThermalGeneratingUnit
severity: Violation

BioFuel.ThermalGeneratingUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: BioFuel.ThermalGeneratingUnit-cardinality
order: 340
path: BioFuel.ThermalGeneratingUnit
severity: Violation

BioFuel.bioFuelType-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: BioFuelKind.anaerobicGas
in: BioFuelKind.landfillGas
in: BioFuelKind.other
in: BioFuelKind.sewageGas
in: BioFuelKind.biomass
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: BioFuel.bioFuelType-datatype
node kind: IRI
order: 203
path: BioFuel.bioFuelType
severity: Violation

BioFuel.bioFuelType-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: BioFuel.bioFuelType-cardinality
order: 339
path: BioFuel.bioFuelType
severity: Violation

BioFuel-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 38
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: BioFuel.ThermalGeneratingUnit
property:
  path: BioFuel.bioFuelType
severity: Info
target class: BioFuel

ThermalGeneratingUnit.BioFuel-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 38
path: ThermalGeneratingUnit.BioFuel
severity: Violation

ThermalGeneratingUnit.CAESPlant-valueType
type: PropertyShape
class: CAESPlant
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:CAESPlant
name: ThermalGeneratingUnit.CAESPlant-valueType
node kind: IRI
order: 92
path: ThermalGeneratingUnit.CAESPlant
severity: Violation

ThermalGeneratingUnit.CAESPlant-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ThermalGeneratingUnit.CAESPlant-cardinality
order: 328
path: ThermalGeneratingUnit.CAESPlant
severity: Violation

ThermalGeneratingUnit.FossilFuels-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 37
path: ThermalGeneratingUnit.FossilFuels
severity: Violation

ThermalGeneratingUnit.OtherFuel-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 36
path: ThermalGeneratingUnit.OtherFuel
severity: Violation

ThermalGeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 37
property:
  path: ThermalGeneratingUnit.CAESPlant
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: ThermalGeneratingUnit

OperationalLimit.OperationalLimitSet-valueType
type: PropertyShape
class: OperationalLimitSet
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:OperationalLimitSet
name: OperationalLimit.OperationalLimitSet-valueType
node kind: IRI
order: 91
path: OperationalLimit.OperationalLimitSet
severity: Violation

OperationalLimit.OperationalLimitSet-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: OperationalLimit.OperationalLimitSet-cardinality
order: 322
path: OperationalLimit.OperationalLimitSet
severity: Violation

OperationalLimit.OperationalLimitType-valueType
type: PropertyShape
class: OperationalLimitType
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:OperationalLimitType
name: OperationalLimit.OperationalLimitType-valueType
node kind: IRI
order: 90
path: OperationalLimit.OperationalLimitType
severity: Violation

OperationalLimit.OperationalLimitType-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: OperationalLimit.OperationalLimitType-cardinality
order: 321
path: OperationalLimit.OperationalLimitType
severity: Violation

CurrentLimit.CurrentLimitSeries-valueType
type: PropertyShape
class: CurrentLimitSeries
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: gb:CurrentLimitSeries
name: CurrentLimit.CurrentLimitSeries-valueType
node kind: IRI
order: 89
path: CurrentLimit.CurrentLimitSeries
severity: Violation

CurrentLimit.CurrentLimitSeries-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: CurrentLimit.CurrentLimitSeries-cardinality
order: 320
path: CurrentLimit.CurrentLimitSeries
severity: Violation

CurrentLimit.normalValue-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: CurrentLimit.normalValue-datatype
node kind: Literal
order: 194
path: CurrentLimit.normalValue
severity: Violation

CurrentLimit.normalValue-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: CurrentLimit.normalValue-cardinality
order: 319
path: CurrentLimit.normalValue
severity: Violation

CurrentLimit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 36
property:
  path: CurrentLimit.normalValue
property:
  path: CurrentLimit.CurrentLimitSeries
property:
  path: OperationalLimit.OperationalLimitType
property:
  path: OperationalLimit.OperationalLimitSet
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: CurrentLimit

RatioTapChanger.RatioTapChangerTable-valueType
type: PropertyShape
class: RatioTapChangerTable
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:RatioTapChangerTable
name: RatioTapChanger.RatioTapChangerTable-valueType
node kind: IRI
order: 86
path: RatioTapChanger.RatioTapChangerTable
severity: Violation

RatioTapChanger.RatioTapChangerTable-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: RatioTapChanger.RatioTapChangerTable-cardinality
order: 307
path: RatioTapChanger.RatioTapChangerTable
severity: Violation

RatioTapChanger.TransformerEnd-valueType
type: PropertyShape
class: PowerTransformerEnd
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:PowerTransformerEnd
name: RatioTapChanger.TransformerEnd-valueType
node kind: IRI
order: 85
path: RatioTapChanger.TransformerEnd
severity: Violation

RatioTapChanger.TransformerEnd-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: RatioTapChanger.TransformerEnd-cardinality
order: 306
path: RatioTapChanger.TransformerEnd
severity: Violation

RatioTapChanger.stepVoltageIncrement-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: RatioTapChanger.stepVoltageIncrement-datatype
node kind: Literal
order: 184
path: RatioTapChanger.stepVoltageIncrement
severity: Violation

RatioTapChanger.stepVoltageIncrement-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: RatioTapChanger.stepVoltageIncrement-cardinality
order: 305
path: RatioTapChanger.stepVoltageIncrement
severity: Violation

RatioTapChanger-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 35
property:
  path: RatioTapChanger.stepVoltageIncrement
property:
  path: RatioTapChanger.TransformerEnd
property:
  path: RatioTapChanger.RatioTapChangerTable
property:
  path: TapChanger.normalStep
property:
  path: TapChanger.neutralU
property:
  path: TapChanger.TapChangerControl
property:
  path: TapChanger.lowStep
property:
  path: TapChanger.neutralStep
property:
  path: TapChanger.highStep
property:
  path: TapChanger.ltcFlag
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: RatioTapChanger

TapChangerControl.TapChanger-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: TapChangerControl.TapChanger-cardinality
order: 297
path:
  inverse path: TapChanger.TapChangerControl
severity: Violation

TapChangerControl.TapChanger-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 34
path: TapChangerControl.TapChanger
severity: Violation

TapChangerControl-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 34
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: RegulatingControl.Terminal
property:
  path: RegulatingControl.mode
severity: Info
target class: TapChangerControl

PhaseTapChangerTabular.PhaseTapChangerTable-valueType
type: PropertyShape
class: PhaseTapChangerTable
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:PhaseTapChangerTable
name: PhaseTapChangerTabular.PhaseTapChangerTable-valueType
node kind: IRI
order: 79
path: PhaseTapChangerTabular.PhaseTapChangerTable
severity: Violation

PhaseTapChangerTabular.PhaseTapChangerTable-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: PhaseTapChangerTabular.PhaseTapChangerTable-cardinality
order: 284
path: PhaseTapChangerTabular.PhaseTapChangerTable
severity: Violation

PhaseTapChangerTabular-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 33
property:
  path: PhaseTapChangerTabular.PhaseTapChangerTable
property:
  path: PhaseTapChanger.TransformerEnd
property:
  path: TapChanger.normalStep
property:
  path: TapChanger.neutralU
property:
  path: TapChanger.TapChangerControl
property:
  path: TapChanger.lowStep
property:
  path: TapChanger.neutralStep
property:
  path: TapChanger.highStep
property:
  path: TapChanger.ltcFlag
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PhaseTapChangerTabular

GeothermalGeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 32
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: GeothermalGeneratingUnit

OperationalLimitSet.OperationalLimitValue-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 32
path: OperationalLimitSet.OperationalLimitValue
severity: Violation

OperationalLimitSet.Terminal-valueType
type: PropertyShape
class: Terminal
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:Terminal
name: OperationalLimitSet.Terminal-valueType
node kind: IRI
order: 75
path: OperationalLimitSet.Terminal
severity: Violation

OperationalLimitSet.Terminal-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: OperationalLimitSet.Terminal-cardinality
order: 270
path: OperationalLimitSet.Terminal
severity: Violation

OperationalLimitSet-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 31
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: OperationalLimitSet.Terminal
severity: Info
target class: OperationalLimitSet

PhaseTapChangerTablePoint.PhaseTapChangerTable-valueType
type: PropertyShape
class: PhaseTapChangerTable
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:PhaseTapChangerTable
name: PhaseTapChangerTablePoint.PhaseTapChangerTable-valueType
node kind: IRI
order: 74
path: PhaseTapChangerTablePoint.PhaseTapChangerTable
severity: Violation

PhaseTapChangerTablePoint.PhaseTapChangerTable-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: PhaseTapChangerTablePoint.PhaseTapChangerTable-cardinality
order: 263
path: PhaseTapChangerTablePoint.PhaseTapChangerTable
severity: Violation

PhaseTapChangerTablePoint.angle-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PhaseTapChangerTablePoint.angle-datatype
node kind: Literal
order: 156
path: PhaseTapChangerTablePoint.angle
severity: Violation

PhaseTapChangerTablePoint.angle-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PhaseTapChangerTablePoint.angle-cardinality
order: 262
path: PhaseTapChangerTablePoint.angle
severity: Violation

PhaseTapChangerTablePoint-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 30
property:
  path: PhaseTapChangerTablePoint.angle
property:
  path: PhaseTapChangerTablePoint.PhaseTapChangerTable
property:
  path: TapChangerTablePoint.x
property:
  path: TapChangerTablePoint.step
property:
  path: TapChangerTablePoint.ratio
property:
  path: TapChangerTablePoint.r
property:
  path: TapChangerTablePoint.g
property:
  path: TapChangerTablePoint.b
severity: Info
target class: PhaseTapChangerTablePoint

Fuse-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 29
property:
  path: Switch.ratedCurrent
property:
  path: Switch.normalOpen
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: Fuse

CurrentLimitSeries.CurrentLimit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: CurrentLimitSeries.CurrentLimit-cardinality
order: 245
path:
  inverse path: CurrentLimit.CurrentLimitSeries
severity: Violation

CurrentLimitSeries.CurrentLimit-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 30
path: CurrentLimitSeries.CurrentLimit
severity: Violation

CurrentLimitSeries.CurrentLimitDataPoint-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 4
message: Cardinality violation. Cardinality shall be 4..4
min count: 4
name: CurrentLimitSeries.CurrentLimitDataPoint-cardinality
order: 244
path:
  inverse path: CurrentLimitDataPoint.CurrentLimitSeries
severity: Violation

CurrentLimitSeries.CurrentLimitDataPoint-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 29
path: CurrentLimitSeries.CurrentLimitDataPoint
severity: Violation

CurrentLimitSeries-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 28
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: Series.StandaloneSchedule
property:
  path: Series.dataPointInterpretation
severity: Info
target class: CurrentLimitSeries

SeriesCompensator.r-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: SeriesCompensator.r-datatype
node kind: Literal
order: 141
path: SeriesCompensator.r
severity: Violation

SeriesCompensator.r-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: SeriesCompensator.r-cardinality
order: 234
path: SeriesCompensator.r
severity: Violation

SeriesCompensator.x-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: SeriesCompensator.x-datatype
node kind: Literal
order: 140
path: SeriesCompensator.x
severity: Violation

SeriesCompensator.x-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: SeriesCompensator.x-cardinality
order: 233
path: SeriesCompensator.x
severity: Violation

SeriesCompensator-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 27
property:
  path: SeriesCompensator.x
property:
  path: SeriesCompensator.r
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: SeriesCompensator

HydroPowerPlant.HydroGeneratingUnits-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 27
path: HydroPowerPlant.HydroGeneratingUnits
severity: Violation

HydroPowerPlant.energyStorageCapacity-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: HydroPowerPlant.energyStorageCapacity-datatype
node kind: Literal
order: 136
path: HydroPowerPlant.energyStorageCapacity
severity: Violation

HydroPowerPlant.energyStorageCapacity-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: HydroPowerPlant.energyStorageCapacity-cardinality
order: 227
path: HydroPowerPlant.energyStorageCapacity
deactivated: true
severity: Violation

HydroPowerPlant.hydroPlantStorageType-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: HydroPlantStorageKind.storage
in: HydroPlantStorageKind.runOfRiver
in: HydroPlantStorageKind.pumpedStorage
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: HydroPowerPlant.hydroPlantStorageType-datatype
node kind: IRI
order: 135
path: HydroPowerPlant.hydroPlantStorageType
severity: Violation

HydroPowerPlant.hydroPlantStorageType-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: HydroPowerPlant.hydroPlantStorageType-cardinality
order: 226
path: HydroPowerPlant.hydroPlantStorageType
severity: Violation

HydroPowerPlant-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 26
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: HydroPowerPlant.energyStorageCapacity
property:
  path: HydroPowerPlant.hydroPlantStorageType
severity: Info
target class: HydroPowerPlant

BaseVoltage.ConductingEquipment-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 26
path: BaseVoltage.ConductingEquipment
severity: Violation

BaseVoltage.TransformerEnds-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 25
path: BaseVoltage.TransformerEnds
severity: Violation

BaseVoltage.VoltageLevel-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 24
path: BaseVoltage.VoltageLevel
severity: Violation

BaseVoltage.nominalVoltage-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: BaseVoltage.nominalVoltage-datatype
node kind: Literal
order: 131
path: BaseVoltage.nominalVoltage
severity: Violation

BaseVoltage.nominalVoltage-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: BaseVoltage.nominalVoltage-cardinality
order: 219
path: BaseVoltage.nominalVoltage
severity: Violation

BaseVoltage-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 25
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: BaseVoltage.nominalVoltage
severity: Info
target class: BaseVoltage

Switch-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 24
property:
  path: Switch.ratedCurrent
property:
  path: Switch.normalOpen
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: Switch

Series.StandaloneSchedule-valueType
type: PropertyShape
class: RepeatingSchedule
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: gb:RepeatingSchedule
name: Series.StandaloneSchedule-valueType
node kind: IRI
order: 59
path: Series.StandaloneSchedule
severity: Violation

Series.StandaloneSchedule-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: Series.StandaloneSchedule-cardinality
order: 204
path: Series.StandaloneSchedule
severity: Violation

Series.dataPointInterpretation-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: DataPointInterpretationKind.linearInterpolation
in: DataPointInterpretationKind.none
in: DataPointInterpretationKind.stepwise
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: Series.dataPointInterpretation-datatype
node kind: IRI
order: 121
path: Series.dataPointInterpretation
severity: Violation

Series.dataPointInterpretation-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Series.dataPointInterpretation-cardinality
order: 203
path: Series.dataPointInterpretation
severity: Violation

ApparentPowerLimitSeries.ApparentPowerLimit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: ApparentPowerLimitSeries.ApparentPowerLimit-cardinality
order: 202
path:
  inverse path: ApparentPowerLimit.ApparentPowerLimitSeries
severity: Violation

ApparentPowerLimitSeries.ApparentPowerLimit-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 22
path: ApparentPowerLimitSeries.ApparentPowerLimit
severity: Violation

ApparentPowerLimitSeries.ApparentPowerLimitDataPoint-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 4
message: Cardinality violation. Cardinality shall be 4..4
min count: 4
name: ApparentPowerLimitSeries.ApparentPowerLimitDataPoint-cardinality
order: 201
path:
  inverse path: ApparentPowerLimitDataPoint.ApparentPowerLimitSeries
severity: Violation

ApparentPowerLimitSeries.ApparentPowerLimitDataPoint-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 21
path: ApparentPowerLimitSeries.ApparentPowerLimitDataPoint
severity: Violation

ApparentPowerLimitSeries-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 23
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: Series.StandaloneSchedule
property:
  path: Series.dataPointInterpretation
severity: Info
target class: ApparentPowerLimitSeries

PowerElectricalChemicalUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 22
property:
  path: PowerElectronicsUnit.maxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PowerElectricalChemicalUnit

WindGeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 21
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: WindGeneratingUnit

ConnectivityNode.BoundaryPoint-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ConnectivityNode.BoundaryPoint-cardinality
order: 179
path:
  inverse path: BoundaryPoint.ConnectivityNode
severity: Violation

ConnectivityNode.BoundaryPoint-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 18
path: ConnectivityNode.BoundaryPoint
severity: Violation

ConnectivityNode.ConnectivityNodeContainer-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: VoltageLevel
in: Substation
in: Line
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: ConnectivityNode.ConnectivityNodeContainer-valueType
node kind: IRI
order: 52
path: ConnectivityNode.ConnectivityNodeContainer
path: type
severity: Violation

ConnectivityNode.ConnectivityNodeContainer-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: ConnectivityNode.ConnectivityNodeContainer-cardinality
order: 178
path: ConnectivityNode.ConnectivityNodeContainer
severity: Violation

ConnectivityNode.Terminals-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 17
path: ConnectivityNode.Terminals
severity: Violation

ConnectivityNode-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 20
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: ConnectivityNode.ConnectivityNodeContainer
severity: Info
target class: ConnectivityNode

PhaseTapChangerSymmetrical-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 19
property:
  path: PhaseTapChangerNonLinear.xMax
property:
  path: PhaseTapChangerNonLinear.voltageStepIncrement
property:
  path: PhaseTapChanger.TransformerEnd
property:
  path: TapChanger.normalStep
property:
  path: TapChanger.neutralU
property:
  path: TapChanger.TapChangerControl
property:
  path: TapChanger.lowStep
property:
  path: TapChanger.neutralStep
property:
  path: TapChanger.highStep
property:
  path: TapChanger.ltcFlag
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PhaseTapChangerSymmetrical

Disconnector-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 18
property:
  path: Switch.ratedCurrent
property:
  path: Switch.normalOpen
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: Disconnector

PSRType.PowerSystemResources-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 15
path: PSRType.PowerSystemResources
severity: Violation

PSRType-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 17
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
severity: Info
target class: PSRType

TapChangerTablePoint.b-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChangerTablePoint.b-datatype
node kind: Literal
order: 87
path: TapChangerTablePoint.b
severity: Violation

TapChangerTablePoint.b-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TapChangerTablePoint.b-cardinality
order: 147
path: TapChangerTablePoint.b
severity: Violation

TapChangerTablePoint.g-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChangerTablePoint.g-datatype
node kind: Literal
order: 86
path: TapChangerTablePoint.g
severity: Violation

TapChangerTablePoint.g-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TapChangerTablePoint.g-cardinality
order: 146
path: TapChangerTablePoint.g
severity: Violation

TapChangerTablePoint.r-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChangerTablePoint.r-datatype
node kind: Literal
order: 85
path: TapChangerTablePoint.r
severity: Violation

TapChangerTablePoint.r-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TapChangerTablePoint.r-cardinality
order: 145
path: TapChangerTablePoint.r
severity: Violation

TapChangerTablePoint.ratio-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChangerTablePoint.ratio-datatype
node kind: Literal
order: 84
path: TapChangerTablePoint.ratio
severity: Violation

TapChangerTablePoint.ratio-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TapChangerTablePoint.ratio-cardinality
order: 144
path: TapChangerTablePoint.ratio
severity: Violation

TapChangerTablePoint.step-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChangerTablePoint.step-datatype
node kind: Literal
order: 83
path: TapChangerTablePoint.step
severity: Violation

TapChangerTablePoint.step-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChangerTablePoint.step-cardinality
order: 143
path: TapChangerTablePoint.step
severity: Violation

TapChangerTablePoint.x-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChangerTablePoint.x-datatype
node kind: Literal
order: 82
path: TapChangerTablePoint.x
severity: Violation

TapChangerTablePoint.x-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TapChangerTablePoint.x-cardinality
order: 142
path: TapChangerTablePoint.x
severity: Violation

RatioTapChangerTablePoint.RatioTapChangerTable-valueType
type: PropertyShape
class: RatioTapChangerTable
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:RatioTapChangerTable
name: RatioTapChangerTablePoint.RatioTapChangerTable-valueType
node kind: IRI
order: 44
path: RatioTapChangerTablePoint.RatioTapChangerTable
severity: Violation

RatioTapChangerTablePoint.RatioTapChangerTable-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: RatioTapChangerTablePoint.RatioTapChangerTable-cardinality
order: 141
path: RatioTapChangerTablePoint.RatioTapChangerTable
severity: Violation

RatioTapChangerTablePoint-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 16
property:
  path: RatioTapChangerTablePoint.RatioTapChangerTable
property:
  path: TapChangerTablePoint.x
property:
  path: TapChangerTablePoint.step
property:
  path: TapChangerTablePoint.ratio
property:
  path: TapChangerTablePoint.r
property:
  path: TapChangerTablePoint.g
property:
  path: TapChangerTablePoint.b
severity: Info
target class: RatioTapChangerTablePoint

ApparentPowerLimitDataPoint.ApparentPowerLimitSeries-valueType
type: PropertyShape
class: ApparentPowerLimitSeries
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: gb:ApparentPowerLimitSeries
name: ApparentPowerLimitDataPoint.ApparentPowerLimitSeries-valueType
node kind: IRI
order: 43
path: ApparentPowerLimitDataPoint.ApparentPowerLimitSeries
severity: Violation

ApparentPowerLimitDataPoint.ApparentPowerLimitSeries-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: ApparentPowerLimitDataPoint.ApparentPowerLimitSeries-cardinality
order: 137
path: ApparentPowerLimitDataPoint.ApparentPowerLimitSeries
severity: Violation

ApparentPowerLimitDataPoint.intervalNumber-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ApparentPowerLimitDataPoint.intervalNumber-datatype
node kind: Literal
order: 78
path: ApparentPowerLimitDataPoint.intervalNumber
severity: Violation

ApparentPowerLimitDataPoint.intervalNumber-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ApparentPowerLimitDataPoint.intervalNumber-cardinality
order: 136
path: ApparentPowerLimitDataPoint.intervalNumber
severity: Violation

ApparentPowerLimitDataPoint.normalValue-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ApparentPowerLimitDataPoint.normalValue-datatype
node kind: Literal
order: 77
path: ApparentPowerLimitDataPoint.normalValue
severity: Violation

ApparentPowerLimitDataPoint.normalValue-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ApparentPowerLimitDataPoint.normalValue-cardinality
order: 135
path: ApparentPowerLimitDataPoint.normalValue
severity: Violation

ApparentPowerLimitDataPoint-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 15
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: ApparentPowerLimitDataPoint.ApparentPowerLimitSeries
property:
  path: ApparentPowerLimitDataPoint.intervalNumber
property:
  path: ApparentPowerLimitDataPoint.normalValue
severity: Info
target class: ApparentPowerLimitDataPoint

NonlinearShuntCompensatorPoint.NonlinearShuntCompensator-valueType
type: PropertyShape
class: NonlinearShuntCompensator
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:NonlinearShuntCompensator
name: NonlinearShuntCompensatorPoint.NonlinearShuntCompensator-valueType
node kind: IRI
order: 42
path: NonlinearShuntCompensatorPoint.NonlinearShuntCompensator
severity: Violation

NonlinearShuntCompensatorPoint.NonlinearShuntCompensator-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: NonlinearShuntCompensatorPoint.NonlinearShuntCompensator-cardinality
order: 134
path: NonlinearShuntCompensatorPoint.NonlinearShuntCompensator
severity: Violation

NonlinearShuntCompensatorPoint.b-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: NonlinearShuntCompensatorPoint.b-datatype
node kind: Literal
order: 76
path: NonlinearShuntCompensatorPoint.b
severity: Violation

NonlinearShuntCompensatorPoint.b-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: NonlinearShuntCompensatorPoint.b-cardinality
order: 133
path: NonlinearShuntCompensatorPoint.b
severity: Violation

NonlinearShuntCompensatorPoint.g-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: NonlinearShuntCompensatorPoint.g-datatype
node kind: Literal
order: 75
path: NonlinearShuntCompensatorPoint.g
severity: Violation

NonlinearShuntCompensatorPoint.g-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: NonlinearShuntCompensatorPoint.g-cardinality
order: 132
path: NonlinearShuntCompensatorPoint.g
severity: Violation

NonlinearShuntCompensatorPoint.sectionNumber-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: NonlinearShuntCompensatorPoint.sectionNumber-datatype
node kind: Literal
order: 74
path: NonlinearShuntCompensatorPoint.sectionNumber
severity: Violation

NonlinearShuntCompensatorPoint.sectionNumber-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: NonlinearShuntCompensatorPoint.sectionNumber-cardinality
order: 131
path: NonlinearShuntCompensatorPoint.sectionNumber
severity: Violation

NonlinearShuntCompensatorPoint-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 14
property:
  path: NonlinearShuntCompensatorPoint.NonlinearShuntCompensator
property:
  path: NonlinearShuntCompensatorPoint.b
property:
  path: NonlinearShuntCompensatorPoint.g
property:
  path: NonlinearShuntCompensatorPoint.sectionNumber
severity: Info
target class: NonlinearShuntCompensatorPoint

RegulatingCondEq.RegulatingControl-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: RegulatingControl
in: TapChangerControl
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: RegulatingCondEq.RegulatingControl-valueType
node kind: IRI
order: 37
path: RegulatingCondEq.RegulatingControl
path: type
severity: Violation

RegulatingCondEq.RegulatingControl-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: RegulatingCondEq.RegulatingControl-cardinality
order: 121
path: RegulatingCondEq.RegulatingControl
severity: Violation

ShuntCompensator.aVRDelay-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ShuntCompensator.aVRDelay-datatype
node kind: Literal
order: 69
path: ShuntCompensator.aVRDelay
severity: Violation

ShuntCompensator.aVRDelay-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ShuntCompensator.aVRDelay-cardinality
order: 120
path: ShuntCompensator.aVRDelay
severity: Violation

ShuntCompensator.grounded-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ShuntCompensator.grounded-datatype
node kind: Literal
order: 68
path: ShuntCompensator.grounded
severity: Violation

ShuntCompensator.grounded-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ShuntCompensator.grounded-cardinality
order: 119
path: ShuntCompensator.grounded
severity: Violation

ShuntCompensator.maximumSections-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ShuntCompensator.maximumSections-datatype
node kind: Literal
order: 67
path: ShuntCompensator.maximumSections
severity: Violation

ShuntCompensator.maximumSections-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ShuntCompensator.maximumSections-cardinality
order: 118
path: ShuntCompensator.maximumSections
severity: Violation

ShuntCompensator.nomU-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ShuntCompensator.nomU-datatype
node kind: Literal
order: 66
path: ShuntCompensator.nomU
severity: Violation

ShuntCompensator.nomU-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ShuntCompensator.nomU-cardinality
order: 117
path: ShuntCompensator.nomU
severity: Violation

ShuntCompensator.normalSections-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ShuntCompensator.normalSections-datatype
node kind: Literal
order: 65
path: ShuntCompensator.normalSections
severity: Violation

ShuntCompensator.normalSections-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: ShuntCompensator.normalSections-cardinality
order: 116
path: ShuntCompensator.normalSections
severity: Violation

ShuntCompensator.voltageSensitivity-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: ShuntCompensator.voltageSensitivity-datatype
node kind: Literal
order: 64
path: ShuntCompensator.voltageSensitivity
severity: Violation

ShuntCompensator.voltageSensitivity-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ShuntCompensator.voltageSensitivity-cardinality
order: 115
path: ShuntCompensator.voltageSensitivity
severity: Violation

NonlinearShuntCompensator.NonlinearShuntCompensatorPoints-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: NonlinearShuntCompensator.NonlinearShuntCompensatorPoints-cardinality
order: 114
path:
  inverse path: NonlinearShuntCompensatorPoint.NonlinearShuntCompensator
severity: Violation

NonlinearShuntCompensator.NonlinearShuntCompensatorPoints-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 13
path: NonlinearShuntCompensator.NonlinearShuntCompensatorPoints
severity: Violation

NonlinearShuntCompensator-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 13
property:
  path: IdentifiedObject.name
property:
  path: ShuntCompensator.voltageSensitivity
property:
  path: ShuntCompensator.normalSections
property:
  path: ShuntCompensator.nomU
property:
  path: ShuntCompensator.maximumSections
property:
  path: ShuntCompensator.grounded
property:
  path: ShuntCompensator.aVRDelay
property:
  path: RegulatingCondEq.RegulatingControl
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
severity: Info
target class: NonlinearShuntCompensator

EquivalentInjection.ReactiveCapabilityCurve-valueType
type: PropertyShape
class: ReactiveCapabilityCurve
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ReactiveCapabilityCurve
name: EquivalentInjection.ReactiveCapabilityCurve-valueType
node kind: IRI
order: 32
path: EquivalentInjection.ReactiveCapabilityCurve
severity: Violation

EquivalentInjection.ReactiveCapabilityCurve-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentInjection.ReactiveCapabilityCurve-cardinality
order: 104
path: EquivalentInjection.ReactiveCapabilityCurve
severity: Violation

EquivalentInjection.maxP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentInjection.maxP-datatype
node kind: Literal
order: 59
path: EquivalentInjection.maxP
severity: Violation

EquivalentInjection.maxP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentInjection.maxP-cardinality
order: 103
path: EquivalentInjection.maxP
severity: Violation

EquivalentInjection.maxQ-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentInjection.maxQ-datatype
node kind: Literal
order: 58
path: EquivalentInjection.maxQ
severity: Violation

EquivalentInjection.maxQ-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentInjection.maxQ-cardinality
order: 102
path: EquivalentInjection.maxQ
severity: Violation

EquivalentInjection.minP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentInjection.minP-datatype
node kind: Literal
order: 57
path: EquivalentInjection.minP
severity: Violation

EquivalentInjection.minP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentInjection.minP-cardinality
order: 101
path: EquivalentInjection.minP
severity: Violation

EquivalentInjection.minQ-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentInjection.minQ-datatype
node kind: Literal
order: 56
path: EquivalentInjection.minQ
severity: Violation

EquivalentInjection.minQ-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: EquivalentInjection.minQ-cardinality
order: 100
path: EquivalentInjection.minQ
severity: Violation

EquivalentInjection.regulationCapability-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: EquivalentInjection.regulationCapability-datatype
node kind: Literal
order: 55
path: EquivalentInjection.regulationCapability
severity: Violation

EquivalentInjection.regulationCapability-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: EquivalentInjection.regulationCapability-cardinality
order: 99
path: EquivalentInjection.regulationCapability
severity: Violation

EquivalentInjection-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 12
property:
  path: EquivalentInjection.regulationCapability
property:
  path: EquivalentInjection.minQ
property:
  path: EquivalentInjection.minP
property:
  path: EquivalentInjection.maxQ
property:
  path: EquivalentInjection.maxP
property:
  path: EquivalentInjection.ReactiveCapabilityCurve
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: EquivalentInjection

RegulatingControl.RegulatingCondEq-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 11
path: RegulatingControl.RegulatingCondEq
severity: Violation

RegulatingControl.Terminal-valueType
type: PropertyShape
class: Terminal
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:Terminal
name: RegulatingControl.Terminal-valueType
node kind: IRI
order: 30
path: RegulatingControl.Terminal
severity: Violation

RegulatingControl.Terminal-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: RegulatingControl.Terminal-cardinality
order: 93
path: RegulatingControl.Terminal
severity: Violation

RegulatingControl.mode-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: RegulatingControlModeKind.activePower
in: RegulatingControlModeKind.timeScheduled
in: RegulatingControlModeKind.reactivePower
in: RegulatingControlModeKind.admittance
in: RegulatingControlModeKind.voltage
in: RegulatingControlModeKind.powerFactor
in: RegulatingControlModeKind.temperature
in: RegulatingControlModeKind.currentFlow
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: RegulatingControl.mode-datatype
node kind: IRI
order: 51
path: RegulatingControl.mode
severity: Violation

RegulatingControl.mode-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: RegulatingControl.mode-cardinality
order: 92
path: RegulatingControl.mode
severity: Violation

RegulatingControl-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 11
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: RegulatingControl.Terminal
property:
  path: RegulatingControl.mode
severity: Info
target class: RegulatingControl

ConnectivityNodeContainer.ConnectivityNodes-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 10
path: ConnectivityNodeContainer.ConnectivityNodes
severity: Violation

EquipmentContainer.AdditionalGroupedEquipment-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 9
path: EquipmentContainer.AdditionalGroupedEquipment
severity: Violation

EquipmentContainer.Equipments-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 8
path: EquipmentContainer.Equipments
severity: Violation

Substation.Region-valueType
type: PropertyShape
class: SubGeographicalRegion
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:SubGeographicalRegion
name: Substation.Region-valueType
node kind: IRI
order: 28
path: Substation.Region
severity: Violation

Substation.Region-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: Substation.Region-cardinality
order: 84
path: Substation.Region
severity: Violation

Substation.VoltageLevels-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 7
path: Substation.VoltageLevels
severity: Violation

Substation-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 10
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: Substation.Region
severity: Info
target class: Substation

BoundaryPoint.ConnectivityNode-valueType
type: PropertyShape
class: ConnectivityNode
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ConnectivityNode
name: BoundaryPoint.ConnectivityNode-valueType
node kind: IRI
order: 26
path: BoundaryPoint.ConnectivityNode
severity: Violation

BoundaryPoint.ConnectivityNode-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: BoundaryPoint.ConnectivityNode-cardinality
order: 78
path: BoundaryPoint.ConnectivityNode
severity: Violation

BoundaryPoint-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 9
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: PowerSystemResource.PSRType
property:
  path: BoundaryPoint.ConnectivityNode
severity: Info
target class: BoundaryPoint

EnergyConsumer-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 8
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: EnergyConsumer

Switch.normalOpen-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Switch.normalOpen-datatype
node kind: Literal
order: 36
path: Switch.normalOpen
severity: Violation

Switch.normalOpen-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Switch.normalOpen-cardinality
order: 59
path: Switch.normalOpen
severity: Violation

Switch.ratedCurrent-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Switch.ratedCurrent-datatype
node kind: Literal
order: 35
path: Switch.ratedCurrent
severity: Violation

Switch.ratedCurrent-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: Switch.ratedCurrent-cardinality
order: 58
path: Switch.ratedCurrent
severity: Violation

Breaker-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 7
property:
  path: Switch.ratedCurrent
property:
  path: Switch.normalOpen
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: Breaker

ConductingEquipment.Terminals-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 4
path: ConductingEquipment.Terminals
severity: Violation

ConductingEquipment.BaseVoltage-valueType
type: PropertyShape
class: BaseVoltage
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:BaseVoltage
name: ConductingEquipment.BaseVoltage-valueType
node kind: IRI
order: 14
path: ConductingEquipment.BaseVoltage
severity: Violation

ConductingEquipment.BaseVoltage-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: ConductingEquipment.BaseVoltage-cardinality
order: 49
path: ConductingEquipment.BaseVoltage
severity: Violation

BusbarSection-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 6
property:
  path: ConductingEquipment.BaseVoltage
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: BusbarSection

PowerElectronicsUnit.PowerElectronicsConnection-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the inverse direction.
min count: 1
name: PowerElectronicsUnit.PowerElectronicsConnection-cardinality
order: 41
path:
  inverse path: PowerElectronicsConnection.PowerElectronicsUnit
severity: Violation

PowerElectronicsUnit.PowerElectronicsConnection-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 3
path: PowerElectronicsUnit.PowerElectronicsConnection
severity: Violation

PowerElectronicsUnit.maxP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PowerElectronicsUnit.maxP-datatype
node kind: Literal
order: 26
path: PowerElectronicsUnit.maxP
severity: Violation

PowerElectronicsUnit.maxP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PowerElectronicsUnit.maxP-cardinality
order: 40
path: PowerElectronicsUnit.maxP
severity: Violation

BatteryUnit.ratedE-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: BatteryUnit.ratedE-datatype
node kind: Literal
order: 25
path: BatteryUnit.ratedE
severity: Violation

BatteryUnit.ratedE-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: BatteryUnit.ratedE-cardinality
order: 39
path: BatteryUnit.ratedE
deactivated: true
severity: Violation

BatteryUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 5
property:
  path: BatteryUnit.ratedE
property:
  path: PowerElectronicsUnit.maxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: BatteryUnit

OtherFuel.ThermalGeneratingUnit-valueType
type: PropertyShape
class: ThermalGeneratingUnit
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:ThermalGeneratingUnit
name: OtherFuel.ThermalGeneratingUnit-valueType
node kind: IRI
order: 10
path: OtherFuel.ThermalGeneratingUnit
severity: Violation

OtherFuel.ThermalGeneratingUnit-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: OtherFuel.ThermalGeneratingUnit-cardinality
order: 35
path: OtherFuel.ThermalGeneratingUnit
severity: Violation

OtherFuel.otherFuelType-datatype
type: PropertyShape
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
in: OtherFuelKind.advanced
in: OtherFuelKind.waste
message: The datatype is not IRI (Internationalized Resource Identifier) or it is enumerated value not part of the profile.
name: OtherFuel.otherFuelType-datatype
node kind: IRI
order: 21
path: OtherFuel.otherFuelType
severity: Violation

OtherFuel.otherFuelType-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: OtherFuel.otherFuelType-cardinality
order: 34
path: OtherFuel.otherFuelType
severity: Violation

OtherFuel-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 4
property:
  path: IdentifiedObject.name
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.mRID
property:
  path: OtherFuel.ThermalGeneratingUnit
property:
  path: OtherFuel.otherFuelType
severity: Info
target class: OtherFuel

FlywheelUnit.energyStorageCapacity-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: FlywheelUnit.energyStorageCapacity-datatype
node kind: Literal
order: 15
path: FlywheelUnit.energyStorageCapacity
severity: Violation

FlywheelUnit.energyStorageCapacity-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: FlywheelUnit.energyStorageCapacity-cardinality
order: 24
path: FlywheelUnit.energyStorageCapacity
deactivated: true
severity: Violation

FlywheelUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 3
property:
  path: FlywheelUnit.energyStorageCapacity
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: FlywheelUnit

Equipment.AdditionalEquipmentContainer-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: VoltageLevel
in: Substation
in: Line
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: Equipment.AdditionalEquipmentContainer-valueType
node kind: IRI
order: 5
path: Equipment.AdditionalEquipmentContainer
path: type
severity: Violation

Equipment.AdditionalEquipmentContainer-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: Equipment.AdditionalEquipmentContainer-cardinality
order: 19
path: Equipment.AdditionalEquipmentContainer
severity: Violation

Equipment.EquipmentContainer-valueType
type: PropertyShape
description: This constraint validates the value of the association at the used direction.
group: Associations
in: VoltageLevel
in: Substation
in: Line
message: One of the following occurs: 1) The value is not IRI; 2) The value is not the right class.
name: Equipment.EquipmentContainer-valueType
node kind: IRI
order: 4
path: Equipment.EquipmentContainer
path: type
severity: Violation

Equipment.EquipmentContainer-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: Equipment.EquipmentContainer-cardinality
order: 18
path: Equipment.EquipmentContainer
severity: Violation

Equipment.aggregate-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Equipment.aggregate-datatype
node kind: Literal
order: 11
path: Equipment.aggregate
severity: Violation

Equipment.aggregate-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: Equipment.aggregate-cardinality
order: 17
path: Equipment.aggregate
severity: Violation

GeneratingUnit.ratedNetMaxP-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: GeneratingUnit.ratedNetMaxP-datatype
node kind: Literal
order: 10
path: GeneratingUnit.ratedNetMaxP
severity: Violation

GeneratingUnit.ratedNetMaxP-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: GeneratingUnit.ratedNetMaxP-cardinality
order: 16
path: GeneratingUnit.ratedNetMaxP
severity: Violation

GeneratingUnit.RotatingMachine-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the inverse direction.
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: GeneratingUnit.RotatingMachine-cardinality
order: 15
path:
  inverse path: RotatingMachine.GeneratingUnit
severity: Violation

GeneratingUnit.RotatingMachine-propertyInverse
type: PropertyShape
description: Inverse associations shall not be instantiated.
group: InverseAssociations
max count: 0
message: Inverse association is present.
name: InverseAssociationPresent
order: 1
path: GeneratingUnit.RotatingMachine
severity: Violation

SolarGeneratingUnit-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 2
property:
  path: GeneratingUnit.ratedNetMaxP
property:
  path: Equipment.aggregate
property:
  path: Equipment.EquipmentContainer
property:
  path: Equipment.AdditionalEquipmentContainer
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: SolarGeneratingUnit

IdentifiedObject.name-datatype
type: PropertyShape
datatype: string
description: This constraint validates the datatype of the property (attribute).
group: DatatypesIO
message: The datatype is not literal or it violates the xsd datatype.
name: IdentifiedObject.name-datatype
node kind: Literal
order: 0.1
path: IdentifiedObject.name
severity: Violation

IdentifiedObject.name-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: CardinalityIO
max count: 1
message: Missing required property (attribute).
min count: 1
name: IdentifiedObject.name-cardinality
order: 0.1
path: IdentifiedObject.name
severity: Violation

IdentifiedObject.description-datatype
type: PropertyShape
datatype: string
description: This constraint validates the datatype of the property (attribute).
group: DatatypesIO
message: The datatype is not literal or it violates the xsd datatype.
name: IdentifiedObject.description-datatype
node kind: Literal
order: 0.1
path: IdentifiedObject.description
severity: Violation

IdentifiedObject.description-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: CardinalityIO
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: IdentifiedObject.description-cardinality
order: 0.1
path: IdentifiedObject.description
severity: Violation

IdentifiedObject.mRID-datatype
type: PropertyShape
datatype: string
description: This constraint validates the datatype of the property (attribute).
group: DatatypesIO
message: The datatype is not literal or it violates the xsd datatype.
name: IdentifiedObject.mRID-datatype
node kind: Literal
order: 0.1
path: IdentifiedObject.mRID
severity: Violation

IdentifiedObject.mRID-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: CardinalityIO
max count: 1
message: Missing required property (attribute).
min count: 1
name: IdentifiedObject.mRID-cardinality
order: 0.1
path: IdentifiedObject.mRID
severity: Violation

PowerSystemResource.PSRType-valueType
type: PropertyShape
class: PSRType
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:PSRType
name: PowerSystemResource.PSRType-valueType
node kind: IRI
order: 3
path: PowerSystemResource.PSRType
severity: Violation

PowerSystemResource.PSRType-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: PowerSystemResource.PSRType-cardinality
order: 11
path: PowerSystemResource.PSRType
severity: Violation

TapChanger.ltcFlag-datatype
type: PropertyShape
datatype: boolean
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChanger.ltcFlag-datatype
node kind: Literal
order: 6
path: TapChanger.ltcFlag
severity: Violation

TapChanger.ltcFlag-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChanger.ltcFlag-cardinality
order: 10
path: TapChanger.ltcFlag
severity: Violation

TapChanger.highStep-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChanger.highStep-datatype
node kind: Literal
order: 5
path: TapChanger.highStep
severity: Violation

TapChanger.highStep-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChanger.highStep-cardinality
order: 9
path: TapChanger.highStep
severity: Violation

TapChanger.neutralStep-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChanger.neutralStep-datatype
node kind: Literal
order: 4
path: TapChanger.neutralStep
severity: Violation

TapChanger.neutralStep-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChanger.neutralStep-cardinality
order: 8
path: TapChanger.neutralStep
severity: Violation

TapChanger.lowStep-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChanger.lowStep-datatype
node kind: Literal
order: 3
path: TapChanger.lowStep
severity: Violation

TapChanger.lowStep-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChanger.lowStep-cardinality
order: 7
path: TapChanger.lowStep
severity: Violation

TapChanger.TapChangerControl-valueType
type: PropertyShape
class: TapChangerControl
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:TapChangerControl
name: TapChanger.TapChangerControl-valueType
node kind: IRI
order: 2
path: TapChanger.TapChangerControl
severity: Violation

TapChanger.TapChangerControl-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Cardinality violation. Upper bound shall be 1
name: TapChanger.TapChangerControl-cardinality
order: 6
path: TapChanger.TapChangerControl
severity: Violation

TapChanger.neutralU-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChanger.neutralU-datatype
node kind: Literal
order: 2
path: TapChanger.neutralU
severity: Violation

TapChanger.neutralU-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChanger.neutralU-cardinality
order: 5
path: TapChanger.neutralU
severity: Violation

TapChanger.normalStep-datatype
type: PropertyShape
datatype: integer
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: TapChanger.normalStep-datatype
node kind: Literal
order: 1
path: TapChanger.normalStep
severity: Violation

TapChanger.normalStep-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: TapChanger.normalStep-cardinality
order: 4
path: TapChanger.normalStep
severity: Violation

PhaseTapChanger.TransformerEnd-valueType
type: PropertyShape
class: PowerTransformerEnd
description: This constraint validates the value of the association at the used direction.
group: Associations
message: One of the following does not conform: 1) The value shall be IRI; 2) The value shall be an instance of the class: cim:PowerTransformerEnd
name: PhaseTapChanger.TransformerEnd-valueType
node kind: IRI
order: 1
path: PhaseTapChanger.TransformerEnd
severity: Violation

PhaseTapChanger.TransformerEnd-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the association at the used direction.
group: Cardinality
max count: 1
message: Association with cardinality violation at the used direction.
min count: 1
name: PhaseTapChanger.TransformerEnd-cardinality
order: 3
path: PhaseTapChanger.TransformerEnd
severity: Violation

PhaseTapChangerNonLinear.voltageStepIncrement-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PhaseTapChangerNonLinear.voltageStepIncrement-datatype
node kind: Literal
order: 0
path: PhaseTapChangerNonLinear.voltageStepIncrement
severity: Violation

PhaseTapChangerNonLinear.voltageStepIncrement-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PhaseTapChangerNonLinear.voltageStepIncrement-cardinality
order: 2
path: PhaseTapChangerNonLinear.voltageStepIncrement
severity: Violation

PhaseTapChangerNonLinear.xMax-datatype
type: PropertyShape
datatype: float
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: PhaseTapChangerNonLinear.xMax-datatype
node kind: Literal
order: -1
path: PhaseTapChangerNonLinear.xMax
severity: Violation

PhaseTapChangerNonLinear.xMax-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: PhaseTapChangerNonLinear.xMax-cardinality
order: 1
path: PhaseTapChangerNonLinear.xMax
severity: Violation

PhaseTapChangerNonLinear-AllowedProperties
type: NodeShape
closed: true
description: Checks if the dataset contains properties which are not defined in the profile to which this dataset conforms to.
group: ProfileProperties
ignored properties: type
message: This property is not part of the profile to which this dataset conforms to.
name: PropertyNotInProfile
order: 1
property:
  path: PhaseTapChangerNonLinear.xMax
property:
  path: PhaseTapChangerNonLinear.voltageStepIncrement
property:
  path: PhaseTapChanger.TransformerEnd
property:
  path: TapChanger.normalStep
property:
  path: TapChanger.neutralU
property:
  path: TapChanger.TapChangerControl
property:
  path: TapChanger.lowStep
property:
  path: TapChanger.neutralStep
property:
  path: TapChanger.highStep
property:
  path: TapChanger.ltcFlag
property:
  path: PowerSystemResource.PSRType
property:
  path: IdentifiedObject.mRID
property:
  path: IdentifiedObject.description
property:
  path: IdentifiedObject.name
severity: Info
target class: PhaseTapChangerNonLinear

common-constraints.eu
type: Ontology
imports: shacl#
declare: PrefixDeclaration
  namespace: http://www.w3.org/1999/02/22-rdf-syntax-ns#
  prefix: rdf

ClassCount-propertySparql
type: SPARQLConstraint
message: The class {?class} appears {?value} times in the data graph.
prefixes: common-constraints.eu
select: SELECT $this ?class (COUNT(?instance) AS ?value) WHERE { ?instance rdf:type ?class . } GROUP BY $this ?class

ClassCount-property
type: PropertyShape
description: Counts instance of classes present in the data graph.
group: ClassesCount
name: ClassCount
order: 1
path: type
severity: Info
sparql: ClassCount-propertySparql

ClassesCount
type: PropertyGroup
order: 1

AllowedClasses-property
type: PropertyShape
description: Checks if the dataset contains classes which are not defined in the profile to which this dataset conforms to.
group: ProfileClasses
in: PhaseTapChangerNonLinear
in: SolarGeneratingUnit
in: FlywheelUnit
in: OtherFuel
in: BatteryUnit
in: BusbarSection
in: Breaker
in: EnergyConsumer
in: BoundaryPoint
in: Substation
in: RegulatingControl
in: EquivalentInjection
in: NonlinearShuntCompensator
in: NonlinearShuntCompensatorPoint
in: ApparentPowerLimitDataPoint
in: RatioTapChangerTablePoint
in: PSRType
in: Disconnector
in: PhaseTapChangerSymmetrical
in: ConnectivityNode
in: WindGeneratingUnit
in: PowerElectricalChemicalUnit
in: ApparentPowerLimitSeries
in: Switch
in: BaseVoltage
in: HydroPowerPlant
in: SeriesCompensator
in: CurrentLimitSeries
in: Fuse
in: PhaseTapChangerTablePoint
in: OperationalLimitSet
in: GeothermalGeneratingUnit
in: PhaseTapChangerTabular
in: TapChangerControl
in: RatioTapChanger
in: CurrentLimit
in: ThermalGeneratingUnit
in: BioFuel
in: PhaseTapChangerLinear
in: ReactiveCapabilityCurve
in: StaticVarCompensator
in: CAESPlant
in: PowerElectronicsWindUnit
in: GeneratingUnit
in: SubGeographicalRegion
in: PowerTransformerEnd
in: Terminal
in: CurveData
in: EquivalentBranch
in: PowerTransformer
in: RepeatingScheduleInterval
in: FossilFuel
in: PhotoVoltaicUnit
in: OperationalLimitType
in: ApparentPowerLimit
in: CurrentLimitDataPoint
in: AsynchronousMachine
in: PhaseTapChangerTable
in: GeographicalRegion
in: HydroGeneratingUnit
in: RatioTapChangerTable
in: LoadBreakSwitch
in: VoltageLevel
in: LinearShuntCompensator
in: SynchronousMachine
in: ACLineSegment
in: Line
in: DisconnectingCircuitBreaker
in: PhaseTapChangerAsymmetrical
in: RepeatingSchedule
in: NuclearGeneratingUnit
in: PowerElectronicsConnection
in: FullModel
in: DifferenceModel
in: Dataset
message: This class is not part of the profile to which this dataset conforms to.
name: ClassNotInProfile

ProfileProperties
type: PropertyGroup
order: 1

Associations
type: PropertyGroup
order: 2

DatatypesIO
type: PropertyGroup
order: 1

ProfileClasses
type: PropertyGroup
order: 1

InverseAssociations
type: PropertyGroup
order: 1

Datatypes
type: PropertyGroup
order: 1

CardinalityIO
type: PropertyGroup
order: 0

Cardinality
type: PropertyGroup
order: 0

Substation-count
type: PropertyShape
description: The number of Substation-s shall reflect the design of the power system. Cases of a single Substation in a power system model or having a Substation per VoltageLevel are reported as warnings.
group: 600-2EQ
name: C:600:EQ:Substation:count
order: 3
path: type
severity: Warning
sparql: Substation-countSparql

TapChanger.neutralU-valueRangePairSparql
type: SPARQLConstraint
message: The value is not the same as the PowerTransformerEnd.ratedU.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . OPTIONAL {$this cim:RatioTapChanger.TransformerEnd/cim:PowerTransformerEnd.ratedU ?rratedu } . OPTIONAL {$this cim:PhaseTapChanger.TransformerEnd/cim:PowerTransformerEnd.ratedU ?pratedu } . FILTER ((bound(?rratedu) && ?value!=?rratedu) || (bound(?pratedu) && ?value!=?pratedu)). }

TapChanger.neutralU-valueRangePair
type: PropertyShape
description: The TapChanger.neutralU shall be the same as PowerTransformerEnd.ratedU.
group: 600-2EQ
name: C:600:EQ:TapChanger.neutralU:ValueRangePair
order: 2
path: TapChanger.neutralU
severity: Violation
sparql: TapChanger.neutralU-valueRangePairSparql

600-2EQ
type: PropertyGroup
order: 0

Substation-countSparql
type: SPARQLConstraint
message: The model has either one Substation or a Substation per VoltageLevel. Number of Substation-s: {?substations}. Number of VoltageLevel-s: {?voltagelevels}.
prefixes: CIM100#
select: SELECT $this ?substations ?voltagelevels WHERE { { SELECT $this (COUNT(?ss) AS ?substations) WHERE { ?ss rdf:type cim:Substation . } GROUP BY $this } { SELECT $this (COUNT(?vl) AS ?voltagelevels) WHERE { ?vl rdf:type cim:VoltageLevel . } GROUP BY $this } FILTER (?substations=1 || ?substations=?voltagelevels). }

Model.modelingAuthoritySet-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Model.modelingAuthoritySet-cardinality
order: 12
path: Model.modelingAuthoritySet
severity: Violation

Model.profile-datatype
type: PropertyShape
datatype: anyURI
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Model.profile-datatype
node kind: Literal
order: 3
path: Model.profile
severity: Violation

Model.created-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Model.created-cardinality
order: 8
path: Model.created
severity: Violation

Model.modelingAuthoritySet-datatype
type: PropertyShape
datatype: anyURI
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Model.modelingAuthoritySet-datatype
node kind: Literal
order: 12
path: Model.modelingAuthoritySet
severity: Violation

Cardinality
type: PropertyGroup
order: 0

Datatypes
type: PropertyGroup
order: 1

Model.profile-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
message: Cardinality violation. Lower bound shall be 1
min count: 1
name: Model.profile-cardinality
order: 3
path: Model.profile
severity: Violation

Model.description-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Model.description-cardinality
order: 4
path: Model.description
severity: Violation

Model.scenarioTime-datatype
type: PropertyShape
datatype: dateTime
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Model.scenarioTime-datatype
node kind: Literal
order: 5
path: Model.scenarioTime
severity: Violation

Associations
type: PropertyGroup
order: 2

Model.created-datatype
type: PropertyShape
datatype: dateTime
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Model.created-datatype
node kind: Literal
order: 8
path: Model.created
severity: Violation

Model.DependentOn-valueType
type: PropertyShape
description: This constraint validates the value type of the association at the used direction.
group: Associations
in: DifferenceModel
in: FullModel
message: One of the following occurs: 1) The value type is not IRI; 2) The value type is not the right class.
name: Model.DependentOn-valueType
node kind: IRI
order: 6
path: Model.DependentOn
path: type
severity: Violation

Model.scenarioTime-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Model.scenarioTime-cardinality
order: 5
path: Model.scenarioTime
severity: Violation

Model.description-datatype
type: PropertyShape
datatype: string
description: This constraint validates the datatype of the property (attribute).
group: Datatypes
message: The datatype is not literal or it violates the xsd datatype.
name: Model.description-datatype
node kind: Literal
order: 4
path: Model.description
severity: Violation

Model.version-cardinality
type: PropertyShape
description: This constraint validates the cardinality of the property (attribute).
group: Cardinality
max count: 1
message: Missing required property (attribute).
min count: 1
name: Model.version-cardinality
order: 10
path: Model.version
severity: Violation

RatioTapChanger-controlMode
type: PropertyShape
description: The association TapChanger.TapChangerControl for RatioTapChanger-s shall only point to a TapChangerControl the has the following control modes for RegulatingControl.mode: voltage, reactivePower and powerFactor.
group: IEC61970-452-EQ
name: C:452:EQ:RatioTapChanger:controlMode
order: 16
path: type
severity: Violation
sparql: RatioTapChanger-controlModeSparql

IEC61970-452-EQ
type: PropertyGroup
order: 0

PowerTransformerEnd.x-valueSparql
type: SPARQLConstraint
message: One of of the following occurs: 1) The value is negative or zero for winding one a two-winding transformer. 2) The value is zero for a three-winding transformer.
prefixes: CIM100#
select: SELECT DISTINCT $this WHERE { $this ^cim:PowerTransformerEnd.PowerTransformer ?end1 ; ^cim:PowerTransformerEnd.PowerTransformer ?end2 ; ^cim:PowerTransformerEnd.PowerTransformer ?end3 . #?end1 cim:PowerTransformerEnd.PowerTransformer $this . #?end2 cim:PowerTransformerEnd.PowerTransformer $this . #?end3 cim:PowerTransformerEnd.PowerTransformer $this . ?end1 cim:TransformerEnd.endNumber 1. ?end2 cim:TransformerEnd.endNumber 2. ?end1 cim:PowerTransformerEnd.x ?x1 . ?end2 cim:PowerTransformerEnd.x ?x2 . #?end3 cim:TransformerEnd.endNumber 3 . #?end3 cim:PowerTransformerEnd.x ?x3 . OPTIONAL{?end3 cim:TransformerEnd.endNumber 3 . ?end3 cim:PowerTransformerEnd.x ?x3 } . BIND(EXISTS{$this ^cim:PowerTransformerEnd.PowerTransformer/cim:TransformerEnd.endNumber 3 } AS ?threewin) . #FILTER ((!(?x1>0 && ?x2=0) && ?threewin=false )|| (?threewin=true && !(?x1!=0 && ?x2!=0 && ?x3!=0)) ). FILTER ((!(?x1>0 && ?x2=0) && ?threewin=false )|| (?threewin=true && !(?x1!=0 && ?x2!=0 && ?x3!=0)) ). }

Conductor-containment
type: PropertyShape
description: For Conductor (ACLineSegment) the association Equipment.EquipmentContainer is required and shall point to EquipmentContainer of type Line.
group: IEC61970-452-EQ-containment
in: Line
max count: 1
message: The containment is either missing or it is not Line.
min count: 1
name: C:452:EQ:Conductor:containment
order: 5
path: Equipment.EquipmentContainer
path: type
severity: Violation

ReactiveCapabilityCurve-xvalue
type: PropertyShape
description: All CurveData.xvalue for a given ReactiveCapabilityCurve shall be unique, e.g. it is not allowed for two or more .xvalue to have the same float value for a given ReactiveCapabilityCurve.
group: IEC61970-452-EQ
name: C:452:EQ:ReactiveCapabiltyCurve.CurveData:xvalue
order: 36
path: type
severity: Violation
sparql: ReactiveCapabilityCurve-xvalueSparql

ShuntCompensator.voltageSensitivity-valueRange
type: PropertyShape
description: The ShuntCompensator.voltageSensitivity attribute shall be greater than zero.
group: IEC61970-452-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:452:EQ:ShuntCompensator.voltageSensitivity:valueRange
order: 31
path: ShuntCompensator.voltageSensitivity
severity: Violation

IEC61970-452-EQ-containment
type: PropertyGroup
order: 0

BusbarSection-containment
type: PropertyShape
description: For BusbarSection the association Equipment.EquipmentContainer is required and shall point to EquipmentContainer of type VoltageLevel or Bay (when a disconnector is splitting a busbar section in two).
group: IEC61970-452-EQ-containment
in: Bay
in: VoltageLevel
max count: 1
message: The containment is either missing or it is not Bay or VoltageLevel.
min count: 1
name: C:452:EQ:BusbarSection:containment
order: 7
path: Equipment.EquipmentContainer
path: type
severity: Violation

PowerTransformerEnd.b-valueRange
type: PropertyShape
description: PowerTransformerEnd.b shall be negative value or zero. Negative magnetising branch susceptance (PowerTransformerEnd.b) means inductive reactive power losses in no load.
group: IEC61970-452-EQ
max inclusive: 0.0
message: The value is positive.
name: C:452:EQ:PowerTransformerEnd.b:valueRange
order: 9
path: PowerTransformerEnd.b
severity: Violation

ShuntCompensator-controlMode
type: PropertyShape
description: For ShuntCompensator, the association RegulatingCondEq.RequlatingControl shall only point to a RequlatingControl that has the following control modes for RegulatingControl.mode: voltage, reactivePower and powerFactor.
group: IEC61970-452-EQ
name: C:452:EQ:ShuntCompensator:controlMode
order: 17
path: type
severity: Violation
sparql: ShuntCompensator-controlModeSparql

StaticVarCompensator-controlMode
type: PropertyShape
description: For StaticVarCompensator, the association RegulatingCondEq.RequlatingControl is required and shall only point to a RequlatingControl that has the following control modes for RegulatingControl.mode: voltage and reactivePower.
group: IEC61970-452-EQ
name: C:452:EQ:StaticVarCompensator:controlMode
order: 19
path: type
severity: Violation
sparql: StaticVarCompensator-controlModeSparql

ShuntCompensator-controlModeSparql
type: SPARQLConstraint
message: Unallowed regulating control mode for a ShuntCompensator.
prefixes: CIM100#
select: SELECT $this ?value WHERE { #?rcontrol ^cim:RegulatingCondEq.RegulatingControl $this . #?rcontrol cim:RegulatingControl.mode ?value . $this cim:RegulatingCondEq.RegulatingControl/cim:RegulatingControl.mode ?value . FILTER (?value!=cim:RegulatingControlModeKind.reactivePower && ?value!=cim:RegulatingControlModeKind.voltage && ?value!=cim:RegulatingControlModeKind.powerFactor). }

PowerTransformerEnd.x-value
type: PropertyShape
description: Transformers with zero series reactance do not exist. PowerTransformerEnd.x of high voltage end in case of a two winding transformer shall be a positive value. In case of a three winding transformer the PowerTransformerEnd.x shall not be zero.
group: IEC61970-452-EQ
name: C:452:EQ:PowerTransformerEnd.x:value
order: 37
path: type
severity: Violation
sparql: PowerTransformerEnd.x-valueSparql

PhaseTapChanger-controlModePSparql
type: SPARQLConstraint
message: Unallowed regulating control mode for a PhaseTapChanger.
prefixes: CIM100#
select: SELECT $this ?value WHERE { #?rcontrol ^cim:TapChanger.TapChangerControl $this . #?rcontrol cim:RegulatingControl.mode ?value . $this cim:TapChanger.TapChangerControl/cim:RegulatingControl.mode ?value . FILTER (?value!=cim:RegulatingControlModeKind.activePower && ?value!=cim:RegulatingControlModeKind.voltage). }

TapChangerControl-remoteQcontrolSparql
type: SPARQLConstraint
message: TapChangerControl with RegulatingControl.mode equals reactivePower controls a Terminal which is not associated with PowerTransformerEnd-s of the PowerTransformer where the TapChanger is located.
prefixes: CIM100#
select: SELECT $this WHERE { $this cim:RegulatingControl.mode ?mode . $this cim:RegulatingControl.Terminal ?rcterm . OPTIONAL {$this ^cim:TapChanger.TapChangerControl/cim:RatioTapChanger.TransformerEnd/cim:TransformerEnd.Terminal ?tcterm1 }. OPTIONAL {$this ^cim:TapChanger.TapChangerControl/cim:PhaseTapChanger.TransformerEnd/cim:TransformerEnd.Terminal ?tcterm2 }. FILTER (?mode=cim:RegulatingControlModeKind.reactivePower && ((?rcterm!=?tcterm1 && !bound(?tcterm2) && bound(?tcterm1)) || (?rcterm!=?tcterm2 && !bound(?tcterm1) && bound(?tcterm2)))). }

ACLineSegment.x-valueRange
type: PropertyShape
description: The attribute shall be a positive value. As negative reactance values are not allowed for ACLineSegment-s it is recommended to model series compensators explicitly.
group: IEC61970-452-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:452:EQ:ACLineSegment.x:valueRange
order: 2
path: ACLineSegment.x
severity: Warning

LinearShuntCompensator.gPerSection-valueRange
type: PropertyShape
description: LinearShuntCompensator.gPerSection shall be a positive value or zero.
group: IEC61970-452-EQ
message: The value is negative.
min inclusive: 0.0
name: C:452:EQ:LinearShuntCompensator.gPerSection:valueRange
order: 7
path: LinearShuntCompensator.gPerSection
severity: Violation

StaticVarCompensator-controlModeSparql
type: SPARQLConstraint
message: Unallowed regulating control mode for a StaticVarCompensator or not allowed usage of StaticVarCompensator.sVCControlMode or StaticVarCompensator.voltageSetPoint.
prefixes: CIM100#
select: SELECT $this ?value WHERE { #?rcontrol ^cim:RegulatingCondEq.RegulatingControl $this . #?rcontrol cim:RegulatingControl.mode ?value . $this cim:RegulatingCondEq.RegulatingControl/cim:RegulatingControl.mode ?value . BIND(EXISTS{$this cim:StaticVarCompensator.sVCControlMode ?a} AS ?hassvcmode). BIND(EXISTS{$this cim:StaticVarCompensator.voltageSetPoint ?b} AS ?hasvsetpoint). #OPTIONAL {$this cim:StaticVarCompensator.sVCControlMode ?svcmode }. #OPTIONAL {$this cim:StaticVarCompensator.voltageSetPoint ?vsetpoint }. FILTER ((?value!=cim:RegulatingControlModeKind.reactivePower && ?value!=cim:RegulatingControlModeKind.voltage) || ?hassvcmode=true || ?hasvsetpoint=true). }

Terminal-connectionSparql
type: SPARQLConstraint
message: Terminal-s of a two-terminal ConductingEquipment (or any of its subclasses) connect to the same ConnectivityNode.
prefixes: CIM100#
select: SELECT $this ?value WHERE { ?term1 cim:Terminal.ConductingEquipment $this . ?term2 cim:Terminal.ConductingEquipment $this . ?term1 cim:ACDCTerminal.sequenceNumber 1 . ?term2 cim:ACDCTerminal.sequenceNumber 2 . ?term1 cim:Terminal.ConnectivityNode ?cn1 . ?term2 cim:Terminal.ConnectivityNode ?cn2 . FILTER (?cn1=?cn2). }

PhaseTapChanger-controlModeP
type: PropertyShape
description: The association TapChanger.TapChangerControl for PhaseTapChanger-s shall only point to a TapChangerControl that has the following control modes for RegulatingControl.mode: activePower or voltage.
group: IEC61970-452-EQ
name: C:452:EQ:PhaseTapChanger:controlModeP
order: 15
path: type
severity: Violation
sparql: PhaseTapChanger-controlModePSparql

Terminal-connection
type: PropertyShape
description: Terminal-s of the two sides of a two-terminal ConductingEquipment (or any of its subclasses) shall not be connected to the same ConnectivityNode.
group: IEC61970-452-EQ
name: C:452:EQ:Terminal:connection
order: 40
path: type
severity: Violation
sparql: Terminal-connectionSparql

ProtectedSwitch-containment
type: PropertyShape
description: For ProtectedSwitch (Breaker, DisconnectingCircuitBreaker, LoadBreakSwitch) the association Equipment.EquipmentContainer is required and shall point to EquipmentContainer of type Bay, VoltageLevel or DCConverterUnit.
group: IEC61970-452-EQ-containment
in: Bay
in: VoltageLevel
in: DCConverterUnit
max count: 1
message: The containment is either missing or it is not Bay, VoltageLevel or DCConverterUnit.
min count: 1
name: C:452:EQ:ProtectedSwitch:containment
order: 2
path: Equipment.EquipmentContainer
path: type
severity: Violation

RegulatingControl-RegulatingEquipment
type: PropertyShape
description: A RegulatingControl that is not a TapChangerControl must have at least one regulating equipment associated through the RegulatingCondEq.RegulatingControl. That is, a RegulatingControl cannot exist without some equipment using it for regulating.
group: IEC61970-452-EQ
message: The RegulatingControl is not associated with an Equpment via RegulatingCondEq.RegulatingControl.
min count: 1
name: C:452:EQ:RegulatingControl:RegulatingEquipment
order: 30
path:
  inverse path: RegulatingCondEq.RegulatingControl
severity: Violation

NonlinearShuntCompensatorPoint.g-valueRange
type: PropertyShape
description: NonlinearShuntCompensatorPoint.g shall be a positive value or zero.
group: IEC61970-452-EQ
message: The value is negative.
min inclusive: 0.0
name: C:452:EQ:NonlinearShuntCompensatorPoint.g:valueRange
order: 8
path: NonlinearShuntCompensatorPoint.g
severity: Violation

ACLineSegment.r-valueRange
type: PropertyShape
description: ACLineSegment.r shall be a positive value or zero.
group: IEC61970-452-EQ
message: The value is negative.
min inclusive: 0.0
name: C:452:EQ:ACLineSegment.r:valueRange
order: 1
path: ACLineSegment.r
severity: Warning

PowerTransformerEnd.g-valueRange
type: PropertyShape
description: PowerTransformerEnd.g shall be positive value or zero. Positive magnetising branch conductance (PowerTransformerEnd.g) means positive active power losses in no load.
group: IEC61970-452-EQ
message: The value is negative.
min inclusive: 0.0
name: C:452:EQ:PowerTransformerEnd.g:valueRange
order: 10
path: PowerTransformerEnd.g
severity: Violation

RatioTapChanger-controlModeSparql
type: SPARQLConstraint
message: Unallowed regulating control mode for a RatioTapChanger.
prefixes: CIM100#
select: SELECT $this ?value WHERE { #?rcontrol ^cim:TapChanger.TapChangerControl $this . #?rcontrol cim:RegulatingControl.mode ?value . $this cim:TapChanger.TapChangerControl/cim:RegulatingControl.mode ?value . FILTER (?value!=cim:RegulatingControlModeKind.reactivePower && ?value!=cim:RegulatingControlModeKind.voltage && ?value!=cim:RegulatingControlModeKind.powerFactor). }

PowerTransformer-containment
type: PropertyShape
description: For PowerTransformer the association Equipment.EquipmentContainer is required and shall point to EquipmentContainer of type Substation or DCConverterUnit. For the case of a transformer that connects two substations, the terminal of one of the PowerTransformerEnd-s can be connected to a ConnectivityNode defined in another substation.
group: IEC61970-452-EQ-containment
in: Substation
in: DCConverterUnit
max count: 1
message: The containment is either missing or it is not Substation or DCConverterUnit.
min count: 1
name: C:452:EQ:PowerTransformer:containment
order: 9
path: Equipment.EquipmentContainer
path: type
severity: Violation

TapChangerControl-remoteQcontrol
type: PropertyShape
description: A power transformer cannot efficiently control reactive power flow on remote terminals. Therefore, a TapChangerControl controlling reactive power flow shall only control the flow at one of the Terminal-s associated with PowerTransformerEnd-s of the PowerTransformer where the TapChanger is located. Control of a remote Terminal not associated with the PowerTransformer that has the TapChanger is not allowed. This constraint defines that multiple TapChanger-s cannot be controlled by the same TapChangerControl.
group: IEC61970-452-EQ
name: C:452:EQ:TapChangerControl:remoteQcontrol
order: 35
path: type
severity: Violation
sparql: TapChangerControl-remoteQcontrolSparql

ReactiveCapabilityCurve-xvalueSparql
type: SPARQLConstraint
message: CurveData.xvalue for a given ReactiveCapabilityCurve are not unique.
prefixes: CIM100#
select: SELECT $this WHERE { { SELECT $this (COUNT(?xvalue1) AS ?c1) WHERE { $this ^cim:CurveData.Curve/cim:CurveData.xvalue ?xvalue1. } GROUP BY $this ?xvalue1 } { SELECT DISTINCT $this (COUNT(?xvalue2) AS ?c2) WHERE { $this ^cim:CurveData.Curve/cim:CurveData.xvalue ?xvalue2. } GROUP BY $this ?xvalue2 } FILTER (?c1!=?c2). } LIMIT 1

IEC61970-301-EQvarious
type: PropertyGroup
order: 0

ConductingEquipment-twoTerminals
type: NodeShape
description: The following ConductingEquipment classes have two terminals: ACLineSegment, DCLineSegment, DCSeriesDevice, DCSwitch (and its specializations), DCChopper, Switch and all its specializations (including Jumper, Fuse, Breaker, Disconnector, LoadBreakSwitch, and Cut), SeriesCompensator, and EquivalentBranch. The PowerTransformer class typically has two terminals, but may also have one or more terminals. For example a zig-zag connected grounding transformer may have one terminal. Three terminal transformers are commonly used in transmission systems and in special cases transformers may have four, five, or more terminals.
group: IEC61970-301-EQvarious
message: The ConductingEquipment does not have the required number of Terminal-s.
name: C:301:EQ:ConductingEquipment:twoTerminals
or:
  max count: 2
  min count: 2
  path:
    inverse path: Terminal.ConductingEquipment
or:
  max count: 2
  min count: 2
  path:
    inverse path: DCTerminal.DCConductingEquipment
order: 6
severity: Violation
target class: DCSwitch
target class: GroundDisconnector
target class: DCSeriesDevice
target class: DisconnectingCircuitBreaker
target class: ACLineSegment
target class: Cut
target class: EquivalentBranch
target class: SeriesCompensator
target class: DCDisconnector
target class: Jumper
target class: DCLineSegment
target class: Disconnector
target class: DCChopper
target class: Fuse
target class: DCBreaker
target class: Breaker
target class: Switch
target class: LoadBreakSwitch

ApparentPowerLimit.normalValue-valueRange
type: PropertyShape
description: The attribute shall be a positive value or zero.
group: IEC61970-301-EQ
message: The value is negative.
min inclusive: 0.0
name: C:301:EQ:ApparentPowerLimit.normalValue:valueRange
order: 9
path: ApparentPowerLimit.normalValue
severity: Violation

StaticVarCompensator.slope-valueRange
type: PropertyShape
description: The attribute shall be a positive value or zero.
group: IEC61970-301-EQ
message: The value is negative.
min inclusive: 0.0
name: C:301:EQ:StaticVarCompensator.slope:valueRange
order: 46
path: StaticVarCompensator.slope
severity: Warning

StaticVarCompensator.inductiveRating-valueRange
type: PropertyShape
description: Shall always be negative.
group: IEC61970-301-EQ
max exclusive: 0.0
message: The value is positive or zero.
name: C:301:EQ:StaticVarCompensator.inductiveRating:valueRange
order: 45
path: StaticVarCompensator.inductiveRating
severity: Warning

ShuntCompensator.nomU-nominalVoltageDifferenceSparql
type: SPARQLConstraint
message: The value differs with more than 10% of the nominal voltage abtained via the containment to VoltageLevel.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this cim:ShuntCompensator.nomU ?value . $this cim:Equipment.EquipmentContainer/cim:VoltageLevel.BaseVoltage/cim:BaseVoltage.nominalVoltage ?nomv . FILTER (?value<0.9*?nomv && ?value>1.1*?nomv) . }

ACDCTerminal.sequenceNumber-numberingSparql
type: SPARQLConstraint
message: There is no terminal with sequenceNumber=1 or the numbering is not unique.
prefixes: CIM100#
select: SELECT $this (COUNT(?sn) AS ?countsn) (COUNT(DISTINCT ?sn) AS ?countdsn) (MIN(?sn) AS ?minsn) (SUM(?sn) AS ?sumsn) (COUNT(?terms) AS ?countterms) WHERE { $this (^cim:Terminal.ConductingEquipment)|(^cim:DCTerminal.DCConductingEquipment) ?terms. ?terms rdf:type ?type . ?terms cim:ACDCTerminal.sequenceNumber ?sn . } GROUP BY $this ?type HAVING(?countsn!=?countdsn || ?minsn!=1 || (?countterms=1 && ?sumsn!=1) || (?countterms=2 && (?sumsn/2)!=1.5) || (?countterms=3 && (?sumsn/3)!=2))

TapChanger.highStep-valueRangePair
type: PropertyShape
description: The attribute shall be greater than lowStep.
group: IEC61970-301-EQ
less than: TapChanger.highStep
message: The value of TapChanger.lowStep is greater than or equal to the value of TapChanger.highStep.
name: C:301:EQ:TapChanger.highStep:valueRangePair
order: 48
path: TapChanger.lowStep
severity: Violation

GeneratingUnit.ratedNetMaxP-valueRange
type: PropertyShape
description: The attribute shall be a positive value.
group: IEC61970-301-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:301:EQ:GeneratingUnit.ratedNetMaxP:valueRange
order: 33
path: GeneratingUnit.ratedNetMaxP
severity: Violation

BaseVoltage.nominalVoltage-valueRange
type: PropertyShape
description: Shall be a positive value and not zero.
group: IEC61970-301-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:301:EQ:BaseVoltage.nominalVoltage:valueRange
order: 10
path: BaseVoltage.nominalVoltage
severity: Violation

IEC61970-301-EQ
type: PropertyGroup
order: 0

PhaseTapChangerAsymmetrical.windingConnectionAngle-valueRange
type: PropertyShape
description: The attribute can only be multiples of 30 degrees. The allowed range is -150 degrees to 150 degrees excluding 0.
group: IEC61970-301-EQ
name: C:301:EQ:PhaseTapChangerAsymmetrical.windingConnectionAngle:valueRange
order: 70
path: PhaseTapChangerAsymmetrical.windingConnectionAngle
severity: Violation
sparql: PhaseTapChangerAsymmetrical.windingConnectionAngle-valueRangeSparql

ShuntCompensator.maximumSections-numberOfInstancesSparql
type: SPARQLConstraint
message: The number of NonlinearShuntCompenstorPoint instances associated with a NonlinearShuntCompensator does not equal to ShuntCompensator.maximumSections.
prefixes: CIM100#
select: SELECT $this ?value ?typesall WHERE { { SELECT $this (COUNT(?typeall) AS ?typesall) WHERE { $this ^cim:NonlinearShuntCompensatorPoint.NonlinearShuntCompensator/rdf:type ?typeall . #?nscpointsall cim:NonlinearShuntCompensatorPoint.NonlinearShuntCompensator $this . #?nscpointsall rdf:type ?typeall . } GROUP BY $this ?typesall } $this $PATH ?value . FILTER (?value!=?typesall) . }

TapChanger.neutralStep-valueRangePairFrom
type: PropertyShape
description: The attribute shall be equal to or greater than lowStep and equal or less than highStep.
group: IEC61970-301-EQ
less than or equals: TapChanger.neutralStep
message: The value of TapChanger.lowStep is greater than the value of TapChanger.neutralStep.
name: C:301:EQ:TapChanger.neutralStep:valueRangePairFrom
order: 49
path: TapChanger.lowStep
severity: Violation

TapChanger.ltcFlag-tapChangerControl
type: PropertyShape
description: When TapChanger.ltcFlag=false and TapChanger.TapChangerControl is present an artificial tap changer can be used to simulate control behaviour in power flow.
group: IEC61970-301-EQvarious
name: C:301:EQ:TapChanger.ltcFlag:tapChangerControl
order: 16
path: TapChanger.ltcFlag
severity: Violation
sparql: TapChanger.ltcFlag-tapChangerControlSparql

TransformerEnd.endNumber-uniqueSparql
type: SPARQLConstraint
message: The PowerTransformer has TransformerEnd.endNumber which is not unique or the PowerTransformerEnd with endNumber 1 is not the highest voltage winding.
prefixes: CIM100#
select: SELECT $this ?value WHERE { { SELECT $this (COUNT(DISTINCT ?endnumber) as ?countd) (COUNT(?endnumber) as ?count) (MIN(?endnumber) as ?minendnumber) (MAX(?ratedu) as ?maxratedu) WHERE { $this ^cim:PowerTransformerEnd.PowerTransformer ?ends . ?ends rdf:type ?endtype . ?ends cim:TransformerEnd.endNumber ?endnumber . ?ends cim:PowerTransformerEnd.ratedU ?ratedu . } GROUP BY $this ?endtype } ?end1 cim:PowerTransformerEnd.PowerTransformer $this . ?end1 cim:TransformerEnd.endNumber ?minendnumber. ?end1 cim:PowerTransformerEnd.ratedU ?end1ratedu . ?end2 cim:PowerTransformerEnd.PowerTransformer $this . ?end2 cim:PowerTransformerEnd.ratedU ?maxratedu . BIND("" as ?value). FILTER(?countd!=?count || (?countd=?count && ?end1ratedu!=?maxratedu && ?end1!=?end2) ). }

ShuntCompensator.maximumSections-numberOfInstances
type: PropertyShape
description: The number of NonlinearShuntCompenstorPoint instances associated with a NonlinearShuntCompensator shall be equal to ShuntCompensator.maximumSections.
group: IEC61970-301-EQvarious
name: C:301:EQ:NonlinearShuntCompensatorPoint:numberOfInstances
order: 4
path: ShuntCompensator.maximumSections
severity: Violation
sparql: ShuntCompensator.maximumSections-numberOfInstancesSparql

TransformerEnd.endNumber-unique
type: PropertyShape
description: Highest voltage winding should be 1. Each end within a power transformer should have a unique subsequent end number.
group: IEC61970-301-EQ
name: C:301:EQ:TransformerEnd.endNumber:unique
order: 24
path: type
severity: Violation
sparql: TransformerEnd.endNumber-uniqueSparql

TapChanger.neutralStep-valueRangePairTo
type: PropertyShape
description: The attribute shall be equal to or greater than lowStep and equal or less than highStep.
group: IEC61970-301-EQ
less than or equals: TapChanger.highStep
message: The value of TapChanger.neutralStep is greater than the value of TapChanger.highStep.
name: C:301:EQ:TapChanger.neutralStep:valueRangePairTo
order: 50
path: TapChanger.neutralStep
severity: Violation

BatteryUnit.ratedE-valueRange
type: PropertyShape
description: The attribute shall be a positive value.
group: IEC61970-301-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:301:EQ:BatteryUnit.ratedE:valueRange
order: 11
path: BatteryUnit.ratedE
severity: Violation

ShuntCompensator.normalSections-valueRangePair
type: PropertyShape
description: The value shall be between zero and ShuntCompensator.maximumSections.
group: IEC61970-301-EQ
less than or equals: ShuntCompensator.maximumSections
message: The value is either negative or greater than ShuntCompensator.maximumSections.
min inclusive: 0.0
name: C:301:EQ:ShuntCompensator.normalSections:valueRangePair
order: 43
path: ShuntCompensator.normalSections
severity: Warning

TapChanger.ltcFlag-tapChangerControlSparql
type: SPARQLConstraint
message: An artificial tap changer is used to simulate control behaviour in power flow.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . BIND(EXISTS{$this cim:TapChanger.TapChangerControl ?tcc } AS ?hastcc). FILTER (?hastcc=true && ?value=false) . }

ShuntCompensator.nomU-nominalVoltageDifference
type: PropertyShape
description: This should normally be within 10% of the voltage at which the capacitor is connected to the network.
group: IEC61970-301-EQvarious
name: C:301:EQ:ShuntCompensator.nomU:nominalVoltageDifference
order: 20
path: type
severity: Warning
sparql: ShuntCompensator.nomU-nominalVoltageDifferenceSparql

ACDCTerminal.sequenceNumber-numbering
type: PropertyShape
description: The sequence numbering starts with 1 and additional terminals should follow in increasing order. The first terminal is the starting point for a two terminal branch.
group: IEC61970-301-EQ
name: C:301:EQ:ACDCTerminal.sequenceNumber:numbering
order: 22
path: type
severity: Violation
sparql: ACDCTerminal.sequenceNumber-numberingSparql

CurrentLimit.normalValue-valueRange
type: PropertyShape
description: The attribute shall be a positive value or zero.
group: IEC61970-301-EQ
message: The value is negative.
min inclusive: 0.0
name: C:301:EQ:CurrentLimit.normalValue:valueRange
order: 29
path: CurrentLimit.normalValue
severity: Violation

TapChanger.normalStep-valueRangePairFrom
type: PropertyShape
description: The attribute shall be equal to or greater than lowStep and equal to or less than highStep.
group: IEC61970-301-EQ
less than or equals: TapChanger.normalStep
message: The value of TapChanger.lowStep is greater than the value of TapChanger.normalStep.
name: C:301:EQ:TapChanger.normalStep:valueRangePairFrom
order: 51
path: TapChanger.lowStep
severity: Violation

PowerTransformerEnd-terminalConsistencySparql
type: SPARQLConstraint
message: The Terminal referenced by TransformerEnd.Terminal points to a PowerTransformer which is different than the referenced element via PowerTransformerEnd.PowerTransformer.
prefixes: CIM100#
select: SELECT $this WHERE { $this cim:TransformerEnd.Terminal/cim:Terminal.ConductingEquipment ?endtermpt . $this cim:PowerTransformerEnd.PowerTransformer ?pendpt . FILTER (?endtermpt!=?pendpt) . }

StaticVarCompensator.capacitiveRating-valueRange
type: PropertyShape
description: Shall always be positive.
group: IEC61970-301-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:301:EQ:StaticVarCompensator.capacitiveRating:valueRange
order: 44
path: StaticVarCompensator.capacitiveRating
severity: Warning

PowerTransformerEnd.ratedU-valueRange
type: PropertyShape
description: A high voltage side, as given by TransformerEnd.endNumber, shall have a ratedU that is greater than or equal to ratedU for the lower voltage sides. The attribute shall be a positive value.
group: IEC61970-301-EQ
name: C:301:EQ:PowerTransformerEnd.ratedU:valueRange
order: 81
path: type
severity: Violation
sparql: PowerTransformerEnd.ratedU-valueRangeSparql

ReactiveCapabilityCurve-curveYvalues
type: NodeShape
and:
  max count: 1
  min count: 1
  path: CurveData.y1value
and:
  max count: 1
  min count: 1
  path: CurveData.y2value
description: For each active power value there is a corresponding high and low reactive power limit value. Typically there will be a separate curve for each coolant condition, such as hydrogen pressure.
group: IEC61970-301-EQvarious
message: CurveData associated with a ReactiveCapabilityCurve does not have both .y1value and .y2value defined.
name: C:301:EQ:ReactiveCapabilityCurve:yvalues
order: 12
severity: Violation
target class: CurveData

TapChanger.normalStep-valueRangePairTo
type: PropertyShape
description: The attribute shall be equal to or greater than lowStep and equal to or less than highStep.
group: IEC61970-301-EQ
less than or equals: TapChanger.highStep
message: The value of TapChanger.normalStep is greater than the value of TapChanger.highStep.
name: C:301:EQ:TapChanger.normalStep:valueRangePairTo
order: 52
path: TapChanger.normalStep
severity: Violation

PowerTransformerEnd-terminalConsistency
type: PropertyShape
description: In all cases a PowerTransformer models a group of physical devices acting together to transform power among terminals and in one physical location.
group: IEC61970-301-EQvarious
name: C:301:EQ:PowerTransformerEnd:terminalConsistency
order: 19
path: type
severity: Violation
sparql: PowerTransformerEnd-terminalConsistencySparql

http://iec.ch/TC57/ns/CIM/Equipment-EU/constraints/IEC61970-301/3.0#PowerTransformerEnd.ratedS-valueRange2windingSparql
type: SPARQLConstraint
message: The value is different for a two-winding transformer.
prefixes: CIM100#
select: SELECT $this ?value ?ends WHERE { { SELECT $this (COUNT(?typeend) AS ?ends) WHERE { $this ^cim:PowerTransformerEnd.PowerTransformer/rdf:type ?typeend . } GROUP BY $this ?typeend } ?end1 cim:PowerTransformerEnd.PowerTransformer $this . ?end1 cim:TransformerEnd.endNumber 1. ?end1 cim:PowerTransformerEnd.ratedS ?value . #OPTIONAL {?end1 cim:PowerTransformerEnd.ratedS ?value }. BIND(EXISTS{?end1 cim:PowerTransformerEnd.ratedS ?v} AS ?hasvalue). ?end2 cim:PowerTransformerEnd.PowerTransformer $this . ?end2 cim:TransformerEnd.endNumber 2 . ?end2 cim:PowerTransformerEnd.ratedS ?ratedsend2 . BIND(EXISTS{?end2 cim:PowerTransformerEnd.ratedS ?r} AS ?hasratedsend2). #OPTIONAL {?end2 cim:PowerTransformerEnd.ratedS ?ratedsend2 }. FILTER (?hasvalue=true && ?hasratedsend2=true && ?end1!=?end2 && ?value!=?ratedsend2) . } HAVING(?ends=2)

Switch.ratedCurrent-valueRange
type: PropertyShape
description: The attribute shall be a positive value.
group: IEC61970-301-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:301:EQ:Switch.ratedCurrent:valueRange
order: 47
path: Switch.ratedCurrent
severity: Warning

PhaseTapChangerAsymmetrical.windingConnectionAngle-valueRangeSparql
type: SPARQLConstraint
message: The value is not an integer, multiples of 30 degrees in the range of -150 degrees to 150 degrees excluding 0.
prefixes: CIM100#
select: SELECT $this ?value WHERE { $this $PATH ?value . FILTER (contains(str(?value), ".") || (?value!=-150 && ?value!=-120 && ?value!=-90 && ?value!=-60 && ?value!=-30 && ?value!=150 && ?value!=120 && ?value!=90 && ?value!=60 && ?value!=30)) . }

PowerTransformerEnd.ratedU-valueRangeSparql
type: SPARQLConstraint
message: The PowerTransformerEnd.ratedU does not fuifil one of the following: 1) it is not a positive value; 2) the value of the high voltage side shall be greater than or equal to ratedU for the lower voltage sides.
prefixes: CIM100#
select: SELECT $this ?value ?ends WHERE { { SELECT $this (COUNT(?typeend) AS ?ends) WHERE { $this ^cim:PowerTransformerEnd.PowerTransformer/rdf:type ?typeend . } GROUP BY $this ?typeend } ?end1 cim:PowerTransformerEnd.PowerTransformer $this . ?end1 cim:TransformerEnd.endNumber 1. ?end1 cim:PowerTransformerEnd.ratedU ?value . ?end2 cim:PowerTransformerEnd.PowerTransformer $this . ?end2 cim:TransformerEnd.endNumber 2 . ?end2 cim:PowerTransformerEnd.ratedU ?rateduend2 . #BIND(EXISTS{$this cim:PowerTransformerEnd.PowerTransformer/cim:TransformerEnd.endNumber 3} AS ?isthreew). #?end3 cim:PowerTransformerEnd.PowerTransformer $this . #?end3 cim:TransformerEnd.endNumber 3 . #?end3 cim:PowerTransformerEnd.ratedU ?rateduend3 . OPTIONAL {?end3 cim:PowerTransformerEnd.PowerTransformer $this } . OPTIONAL {?end3 cim:TransformerEnd.endNumber 3 }. OPTIONAL {?end3 cim:PowerTransformerEnd.ratedU ?rateduend3 }. FILTER (((?value<?rateduend2 || ?value<=0 || ?rateduend2<=0) && ?ends=2 && ?end1!=?end2 && ?end3=?end1) || (?ends=3 && ?end1!=?end2 && ?end1!=?end3 && ?end2!=?end3 && (?value<?rateduend2 || ?rateduend2<?rateduend3 || ?value<=0 || ?rateduend2<=0 || ?rateduend3<=0))) . }

http://iec.ch/TC57/ns/CIM/Equipment-EU/constraints/IEC61970-301/3.0#PowerTransformerEnd.ratedS-valueRange2winding
type: PropertyShape
description: For a two-winding transformer the values for the high and low voltage sides shall be identical.
group: IEC61970-301-EQ
order: 80
path: type
severity: Violation

PowerTransformerEnd.ratedS-valueRange
type: PropertyShape
description: The attribute shall be a positive value.
group: IEC61970-301-EQ
message: The value is negative or zero.
min exclusive: 0.0
name: C:301:EQ:PowerTransformerEnd.ratedS:valueRange
order: 38
path: PowerTransformerEnd.ratedS
severity: Violation

All600
type: PropertyGroup
order: 0

All-HGEN2
type: PropertyShape
description: Each type of instance file (full or difference) shall have a file header. (IEC 61970-552:2016, Subclause 5.1)
group: All600
min count: 1
max count: 1
message: File header is missing.
name: C:600:ALL:NA:HGEN2
order: 1
path:
  inverse path: type
severity: Violation

All-GENC1
type: PropertyShape
sparql: All-GENC1Sparql
path: type
description: All IdentifiedObject-s shall have a persistent and globally unique identifier (Master Resource Identifier - mRID).
name: C:600:ALL:NA:GENC1
group: All600
order: 2
severity: Violation

All-GENC1Sparql
type: SPARQLConstraint
message: Not an unique identifier.
prefixes: CIM100#
select: SELECT $this (COUNT(?value) AS ?counts) ?value WHERE { ?value rdf:type ?o. FILTER(?o!=cim:Equipment). } GROUP BY $this ?value HAVING(?counts>1)

Float-specialValues
type: PropertyShape
sparql: Float-specialValuesSparql
path: type
description: W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes allows use of the following special values: INF, NaN to express quantities such as positive infinity, negative infinity, and not a number. CIM data types in general and the primitive Float are restricted not to use INF and NaN, if not explicitly allowed in a description of an attribute.
name: C:301:ALL:Float:specialValues
group: All600
order: 8
severity: Violation

Float-specialValuesSparql
type: SPARQLConstraint
message: INF or NaN used in an attributes defined as float or the values is not a numeric value.
prefixes: CIM100#
select: SELECT $this ?value WHERE { ?s ?p ?value . #BIND(str($this) AS ?value). FILTER(isLiteral(?this) && DATATYPE(?value)=xsd:float && (!isNumeric($this) || CONTAINS(?value, "NaN") || CONTAINS(?value, "INF"))). #FILTER(!isNumeric($this) || CONTAINS(?value, "NaN") || CONTAINS(?value, "INF")). }