You are viewing the documentation for Blueriq 17. Documentation for other versions is available in our documentation directory.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

In the Studio a data mapping essentially consists of a collection of instance mappings. Structurally each instance mapping has a target entity and a single source expression. The source expression is used to determine which source instances must be mapped to instances of the target entity. When starting with an empty target profile, each source instance will result in the creation of one new instance of the target entity. Additionally it is also possible to define additional context expressions, which can be used to activate an additional source instance when determining attribute and relation values.

With these 3 concepts (target entity, source expression, additional context), and even combining them across multiple instance mappings, it is possible to solve a wide range of mapping scenarios. Which combination of instance mappings to use and how to combine them exactly can be a difficult task however. The Model Mapper introduces mapping rules and mapping rule types, with each rule type solving one of 4 basic mapping scenarios: Direct, Join, Split, Full.

In the Model Mapper it will be possible to see a data mapping as a collection of mapping rules, with each rule conforming to a specific rule type. For backwards compatibility, the Model Mapper will analyze existing instance mappings to determine their rule types and transform them into the corresponding mapping rules. What these rule types are, and how they are detected is explained for each rule type in the following sections.

Rule Type Definitions

The basic mapping scenarios (Direct, Join, Split, Full) are defined by the number of source instances and target instances that are mapped together when executing a mapping rule.

For example a given source profile has 5 instances of type Person, which must be mapped to 5 instances of type Customer in a given empty target profile. There are in total 5 source instances, but they will each be mapped independently from each other to a Customer instance. In this case we consider the mapping rule to have 1 source instance and 1 target instance. 


Single sourceMultiple sources
Single targetDirectJoin
Multiple targetsSplitFull

Direct

The Direct rule type is most simple rule type. It is used in scenarios where a single instance in the source profile must be mapped to a single instance in the target profile.

In the Studio it consists of a single instance mapping without additional contexts, and it's source expression/label combination is unique over all instance mappings. Alternatively, any instance mapping that is not recognized as (being part of) a Join, Split or Full mapping rule is considered a Direct mapping rule.

Key properties

  • consists of a single instance mapping
  • has no additional contexts defined
  • source expression/label is unique over all instance mappings

Join

The Join rule type is used in scenarios where data from multiple instances in the source profile must be mapped to a single instance in the target profile.

In the Studio this is modeled as a single instance mapping with additional contexts. Like the Direct mapping, the source expression/label is unique over all instance mappings, but additionally, the list of additional context expressions/labels is also unique over all instance mappings.

Key properties

  • consists of a single instance mapping
  • has with additional contexts defined
  • source expression/label and list of additional contexts/labels are unique over all instance mappings

Split

The Split rule is used when a single source instance must be mapped to multiple target instances.

In the Studio this can only be achieved by using multiple instance mappings, each with the same source expression/label, and one instance mapping for each target instance which must be created.

In the Model Mapper all instance mappings with the same source expression/label will be combined in a single mapping rule, with each target entity of each instance mapping becoming a target of the new mapping rule.

Key properties

  • consists of multiple instance mappings
  • no additional contexts defined for all instance mappings in the Split mapping rule
  • source expression and label is identical for all instance mappings in the Split mapping rule

Full

The Full rule is used when multiple source instances must be mapped to multiple target instances.

In the Studio this can only be achieved by using multiple instance mappings, each with the same source expression/label and the same additional context expressions/labels, and one instance mapping for each target instance which must be created.

Key properties

  • consists of multiple instance mappings
  • additional contexts defined for all instance mappings in the Full mapping rule
  • source expression/label and list of additional contexts/labels are identical for all instance mappings in the Full mapping rule

Transformation Summary

The following table defines how we determine to which rule type an instance mapping will be transformed from the Studio to the Model Mapper.


Without additional contextsWith additional contexts
Unique source/contextsDirectJoin
Duplicate source/contextsSplitFull



  • No labels