Version: 10.2.1c and 10.2.1c SP3 |
Network Adapter > Network Adapter for DMS v3 (CIM) > Mapping XML > CIM Operators |
The mapping configuration XML is organized in terms of CIM operators identified by the target CIM element.
The name attribute for CIM operators will include a namespace prefix. This namespace identifies source of the element in the CIM profile, that is, whether it is part of the core CIM model or an extension to it. Namespace prefixes are required in the mapping XML if they are included in the CIM profile, which is typically the case.
Below are namespaces that occur in the sample mapping XMLs. Additional namespaces will be necessary if the CIM profile for a project includes project-specific extensions.
Namespace | Description |
cim | Identifies an element from the core CIM model |
tdms | Identifies an extension to the core CIM model for elements required by Schneider Electric DMS |
A class mapping is defined with a CIMClass operator. For example, the following statement maps the CIRCUITSOURCE table in the GIS to the Circuit class in the CIM.
<cimClass name="cim:Circuit" primarySource="CIRCUITSOURCE">
This primarySource attribute defines the primary root object in the GIS for mapping to objects in the CIM.
A CIMClass optionally contains other CIMClasses to define related objects that will also be created in the transformation to CIM. The following example indicates that a TransformerWinding will be created as a child to a PowerTransformer in the CIM.
<cimClass name="cim:PowerTransformer" inherits="cim:Equipment" primarySource="TRANSFORMERUNIT"> <cimClass name="cim:TransformerWinding" inherits="cim:ConductingEquipment" forward="false">
A property mapping is defined with a CIMProperty operator. Therefore, a CIMClass contains one or more CIMProperties to define the mapping of properties within that class. For example, the following statement maps the ID field of a table in the GIS to the IdentifiedObject.mRID property on a class in the CIM.
<cimProperty name="cim:IdentifiedObject.mRID"> <sourceField name="ID" /> </cimProperty>
Some attributes appear frequently on CIM operators to define the mapping of associations between GIS and CIM.
Identifies another core CIM class from which this class inherits characteristics. Note that the NA core CIM model diagram shown previously represents typical inheritence relationships. But actual inheritence in the CIM output depends on the inherits attribute in the mapping XML. The following statement causes TransformerWinding to inherit the characteristics of ConductingEquipment in the output.
<cimClass name="cim:TransformerWinding" inherits="cim:ConductingEquipment" forward="false">
When true (default), the relationship tag appears on the parent class rather than the child class. In the following example, forward = “false” will cause the relationship tag to appear with CoordinateSystem in the output, rather than Location.
<cimClass name="cim:Location" relationshipName="cim:PowerSystemResource.Location"> <cimClass name="cim:CoordinateSystem" relationshipName="cim:PowerSystemResource.Location" forward="false">
So, the output of CoordinateSystem will appear as follows:
<cim:CoordinateSystem rdf:ID="_334.1201.0:L:CS"> <tdms:IdentifiedObject.name>GIS View</tdms:IdentifiedObject.name> <cim:PowerSystemResource.Location rdf:resource="#_334.1201.0:L" /> </cim:CoordinateSystem>
The value for this attribute overrides the relationship name that will appear on the related object. The following statement causes all references from features in the CIM output to a BaseVoltage object to take the name “cim:ConductingEquipment.BaseVoltage”.
<cimClass name="cim:BaseVoltage" relationshipName="cim:ConductingEquipment.BaseVoltage">
So, in the output a reference to a BaseVoltage would appear as:
<cim:ConductingEquipment.BaseVoltage rdf:resource="#_BV:7200" />
When true (default), this operation will be executed. Set evaluate to false for an operation that will not be executed but will be referenced by other operations. For example, evaluate = “false” in the following statement means that the section will not be evaluated, but available to other feature mapping that require a Location component:
<cimClass name="cim:Location" relationshipName="cim:PowerSystemResource.Location" tagReference="LocationClass" evaluate="false">