Cardinalities for Mapping - Integration - Update 44 - Help - Hexagon

Integration Help

Language
English
Product
Integration
Search by Category
Help
Smart 3D Version
12.1 (2019)
Smart Construction Version
2019(7.0)
SmartPlant Foundation / SDx Version
10
Smart Electrical Version
2019 (9.0)
Smart Materials/Smart Reference Data Version
2020 (10.0)
Smart P&ID Version
9 (2019)
Smart Review Version
2020 (15.0)
Smart Engineering Manager Version
10 (2019)
Smart Interop Publisher Version
13.1 (2019 R1)
Smart Isometrics Version
7.0(2019)
Spoolgen Version
9.0(2019)

The MapClassToClass and ClassToMapClass relationship definitions are used to define the mapping between map class definitions and SmartPlant class and/or interface definitions. For publishing, a map class definition can be mapped to either a class definition or the primary interface definition for the class definition. For retrieval, the map class definition can be mapped from class and/or interface definitions. However, we strongly recommend that you define retrieve mapping using SmartPlant interface definitions rather than class definitions because doing so enables plug-and-play behavior.

The definition of the mapping for a class definition involves the mapping of its properties. When the map properties for a map class definition are included, a number of possible map cardinalities can occur: one-to-one (1:1), one-to-many (1:M), many-to-one (M:1), and many-to-many (M:N). The following diagrams describe these map cardinalities using a simple class model with no inheritance and no interfaces.

In one-to-one (1:1) mapping, the properties for one map class definition map to one SmartPlant class (or primary interface) definition.

In one-to-many (1:M) mapping, map properties for one map class definition map to properties on more than one SmartPlant object. In the following example, map properties for map class definition B map to properties on SmartPlant class definitions SmartPlantA and SmartPlantB. The line connecting SmartPlantA and SmartPlantB in this diagram is an edge definition that goes between interface definitions realized by the two class definitions.

In many-to-one (M:1) mapping, map properties on related map class definitions map to one SmartPlant class or interface definition. In the following diagram, the line connecting map class B with map class F is a map edge definition.

In many-to-many (M:N) mapping, map properties on related map class definitions map to property definitions on more than one class and/or interface definition.

Cardinalities for Class Inheritance and Class/Interface Models

The same cardinalities of mapping can be used for class inheritance models and class/interface models. When a class inheritance model is used, an application object is described by a map class definition and all of the map class definitions from which it directly or indirectly inherits. If map class definition E inherits directly or indirectly from map class definitions A, B, C, and D, one-to-one mapping can involve map properties from any of these map class definitions as shown in the following diagram:

Likewise, when a class/interface model is used, an application object is described by a map class definition for the class and a separate map class definition for each interface definition. For a class/interface model, the property mapping is done using map properties on the realized map interfaces (map class definitions with IsInterface=True).

See Also

Tool Map Schemas