Unify and manage your data

Additional Examples of matchOvOnly

The matchOvOnly is the optional nested attribute configuration property, which helps to define whether the OV values of sub-attributes will be considered when different values of the nested attributes are merged.

For more information, see Attributes configuration.

Example #1:

matchOvOnly : true, when nested attributes are at the first level, and one of the nested attributes is ignored.

Precondition

Meta-configuration


"matchFieldURIs": [
"configuration/entityTypes/HCP/attributes/L1/attributes/EmailAddress"
],
"matchOvOnly": true

Steps

Create entity 1


[
  {
    "type": "configuration/entityTypes/HCP",
    "attributes": {
      "L1": [
        {
          "value": {
            "MdmID": [
              {
                "ov": false,
                "value": "v001"
              }
            ],
            "EmailAddress": [
              {
                "ov": false,
                "value": "id@host.com"
              }
            ]
          },
          "ignored": true,
          "ov": false
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/FB",
        "sourceTable": "HCP",
        "value": "v003"
      }
    ]
  }
]

The nested attribute L1 is ignored = true.

As a result, the nested value has OV = false. So, all the sub-nested-attributes of L1 (MdmID, EmailAddress) are OV = false.

# Create entity 2
[
  {
    "type": "configuration/entityTypes/HCP",
    "attributes": {
      "L1": [
        {
          "value": {
            "MdmID": [
              {
                "value": "v001"
              }
            ],
            "EmailAddress": [
              {
                "value": "id@host.com"
              }
            ]
          }
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/FB",
        "sourceTable": "HCP",
        "value": "v002"
      }
    ]
  }
]

Nested attribute L1 has OV = true. All sub-nested-attributes of L1 (MdmID, EmailAddress) are OV = true.

# Merge entity 1 and entity 2

Result

The resulting entity after the merge has two nested attribute values. One value is nested from first entity. The other value is nested from the second entity. Due to matchOvOnly: true, they will not be merged even if they have the same values for EmailAddress.

Example #2:

matchOvOnly : true when the nested attributes at the first level, and both nested values are OV = true.

Precondition

Meta-configuration


"matchFieldURIs": [
    "configuration/entityTypes/HCP/attributes/L1/attributes/EmailAddress"
],
"matchOvOnly": true

Steps

Create entity 1


[
  {
    "type": "configuration/entityTypes/HCP",
    "attributes": {
      "L1": [
        {
          "value": {
            "MdmID": [
              {
                "ov": false,
                "value": "v001"
              }
            ],
            "EmailAddress": [
              {
                "ov": false,
                "value": "id@host.com"
              }
            ]
          },
          "ov": false
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/FB",
        "sourceTable": "HCP",
        "value": "v003"
      }
    ]
  }
]

Nested attribute L1 is OV = true. All sub-nested attributes of L1 (MdmID, EmailAddress) are OV = true.

# Create entity 2
[
  {
    "type": "configuration/entityTypes/HCP",
    "attributes": {
      "L1": [
        {
          "value": {
            "MdmID": [
              {
                "value": "v001"
              }
            ],
            "EmailAddress": [
              {
                "value": "id@host.com"
              }
            ]
          }
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/FB",
        "sourceTable": "HCP",
        "value": "v002"
      }
    ]
  }
]

Nested attribute L1 is OV = true. All sub-nested attributes of L1 (MdmID, EmailAddress) are OV = true.

# Merge entity 1 and entity 2

Result

After the merge of the entities, two nested attributes from source entities were merged and became one nested attribute in the resulting entity.

Example #3:

The matchOvOnly : true when nested attributes are at the second level and one of the nested attributes is ignored.

Precondition

Meta-configuration


configuration/entityTypes/HCP/attributes/L1

"matchFieldURIs": [
 "configuration/entityTypes/HCP/attributes/L1/attributes/Email",
 "configuration/entityTypes/HCP/attributes/L1/attributes/Type"
]
"matchOvOnly": true

configuration/entityTypes/HCP/attributes/L1/attributes/L2:

"matchFieldURIs": [
 "configuration/entityTypes/HCP/attributes/L1/attributes/L2/attributes/Email",
 "configuration/entityTypes/HCP/attributes/L1/attributes/L2/attributes/Type"
]
"matchOvOnly": true

Steps

Create entity 1


[
  {
    "type": "configuration/entityTypes/HCP",
    "attributes": {
      "L1": [
        {
          "value": {
            "MdmID": [
              {
                "value": "v001"
              }
            ],
            "Type": [
              {
                "value": "Office"
              }
            ],
            "Email": [
              {
                "value": "id@host.com"
              }
            ],
            "L2": [
              {
                "value": {
                  "MdmID": [
                    {
                      "value": "v001_inner"
                    }
                  ],
                  "Type": [
                    {
                      "value": "Office_inner"
                    }
                  ],
                  "Email": [
                    {
                      "value": "id@host.com_inner"
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/FB",
        "sourceTable": "HCP",
        "value": "v003"
      }
    ]
  }
]

The nested attribute Email and L2 are OV = true. All sub-nested attributes of L2 are OV = true.

# Create entity 2
[
  {
    "type": "configuration/entityTypes/HCP",
    "attributes": {
      "L1": [
        {
          "value": {
            "MdmID": [
              {
                "value": "v001"
              }
            ],
            "Type": [
              {
                "value": "Office"
              }
            ],
            "Email": [
              {
                "value": "id@host.com"
              }
            ],
            "L2": [
              {
                "value": {
                  "MdmID": [
                    {
                      "value": "v001_inner"
                    }
                  ],
                  "Type": [
                    {
                      "value": "Office_inner"
                    }
                  ],
                  "Email": [
                    {
                      "value": "id@host.com_inner"
                    }
                  ]
                },
                "ignored": true,
                "ov": false
              }
            ]
          }
        }
      ]
    },
    "crosswalks": [
      {
        "type": "configuration/sources/FB",
        "sourceTable": "HCP",
        "value": "v002"
      }
    ]
  }
]

Nested attribute L1 is OV = true, L2 is OV = false. All sub-nested attributes of L2 is OV = false since their upper nested are OV = false.

# Merge entity 1 and entity 2

Result

After marge the resulting entity has one nested attribute L1. There are two sub-nested L2 attributes inside L1 attribute, one with OV = true and one with OV = false.

Example #4:

The matchOvOnly is true when the nested attributes are at the second level. Both nested values are true.

Precondition

Meta-configuration

configuration/entityTypes/HCP/attributes/L1

"matchFieldURIs": [
 "configuration/entityTypes/HCP/attributes/L1/attributes/Email",
 "configuration/entityTypes/HCP/attributes/L1/attributes/Type"
]
"matchOvOnly": true

configuration/entityTypes/HCP/attributes/L1/attributes/L2:

"matchFieldURIs": [
 "configuration/entityTypes/HCP/attributes/L1/attributes/L2/attributes/Email",
 "configuration/entityTypes/HCP/attributes/L1/attributes/L2/attributes/Type"
]
"matchOvOnly": true

Steps

Create entity 1


[
 {
   "type": "configuration/entityTypes/HCP",
   "attributes": {
     "L1": [
       {
         "value": {
           "MdmID": [
             {
               "value": "v001"
             }
           ],
           "Type": [
             {
               "value": "Office"
             }
           ],
           "Email": [
             {
               "value": "id@host.com"
             }
           ],
           "L2": [
             {
               "value": {
                 "MdmID": [
                   {
                     "value": "v001_inner"
                   }
                 ],
                 "Type": [
                   {
                     "value": "Office_inner"
                   }
                 ],
                 "Email": [
                   {
                     "value": "id@host.com_inner"
                   }
                 ]
               }
             }
           ]
         }
       }
     ]
   },
   "crosswalks": [
     {
       "type": "configuration/sources/FB",
       "sourceTable": "HCP",
       "value": "v003"
     }
   ]
 }
]

Nested attribute Email and L2 are OV = true. All sub-nested attributes of L2 are OV = true.

# Create entity 2
[

 {
   "type": "configuration/entityTypes/HCP",
   "attributes": {
     "L1": [
       {
         "value": {
           "MdmID": [
             {
               "value": "v001"
             }
           ],
           "Type": [
             {
               "value": "Office"
             }
           ],
           "Email": [
             {
               "value": "id@host.com"
             }
           ],
           "L2": [
             {
               "value": {
                 "MdmID": [
                   {
                     "value": "v001_inner"
                   }
                 ],
                 "Type": [
                   {
                     "value": "Office_inner"
                   }
                 ],
                 "Email": [
                   {
                     "value": "id@host.com_inner"
                   }
                 ]
               }
             }
           ]
         }
       }
     ]
   },
   "crosswalks": [
     {
       "type": "configuration/sources/FB",
       "sourceTable": "HCP",
       "value": "v002"
     }
   ]
 }
]

Nested attribute email has OV = true. Also, L2 has OV = true.

# Merge entity 1 and entity 2

Result

The resulting entity after the merge will have one nested attribute Email. If there is one sub-nested L2 inside Email attribute, then the sub-nested attributes are merged.

Example #5:

The matchOvOnly : true when the nested attributes are at the second level and one of the nested at the first level is ignored.

Precondition

Meta-configuration

configuration/entityTypes/HCP/attributes/L1

"matchFieldURIs": [
 "configuration/entityTypes/HCP/attributes/L1/attributes/Email",
 "configuration/entityTypes/HCP/attributes/L1/attributes/Type"
]
"matchOvOnly": true

configuration/entityTypes/HCP/attributes/L1/attributes/L2:

"matchFieldURIs": [
 "configuration/entityTypes/HCP/attributes/L1/attributes/L2/attributes/Email",
 "configuration/entityTypes/HCP/attributes/L1/attributes/L2/attributes/Type"
]
"matchOvOnly": true

Steps

Create entity 1


[
 {
   "type": "configuration/entityTypes/HCP",
   "attributes": {
     "L1": [
       {
         "value": {
           "MdmID": [
             {
               "value": "v001"
             }
           ],
           "Type": [
             {
               "value": "Office"
             }
           ],
           "Email": [
             {
               "value": "id@host.com"
             }
           ],
           "L2": [
             {
               "value": {
                 "MdmID": [
                   {
                     "value": "v001_inner"
                   }
                 ],
                 "Type": [
                   {
                     "value": "Office_inner"
                   }
                 ],
                 "Email": [
                   {
                     "value": "id@host.com_inner"
                   }
                 ]
               }
             }
           ]
         }
       }
     ]
   },
   "crosswalks": [
     {
       "type": "configuration/sources/FB",
       "sourceTable": "HCP",
       "value": "v003"
     }
   ]
 }

]
The nested attribute L1 and L2 both are OV = true. All sub-nested-attributes of L2 have OV = true.

Create entity 2


[
 {
   "type": "configuration/entityTypes/HCP",
   "attributes": {
     "L1": [
       {
         "value": {
           "MdmID": [
             {
               "value": "v001"
             }
          ],
           "Type": [
             {
               "value": "Office"
             }
           ],
           "Email": [
             {
               "value": "id@host.com"
             }
           ],
           "L2": [
             {
               "value": {
                 "MdmID": [
                   {
                     "value": "v001_inner"
                   }
                 ],
                 "Type": [
                   {
                     "value": "Office_inner"
                   }
                 ],
                 "Email": [
                   {
                     "value": "id@host.com_inner"
                   }
                 ]
               }
             }
           ]
         },
         "ignored": true,
         "ov": false
       }
     ]
   },
   "crosswalks": [
     {
       "type": "configuration/sources/FB",
       "sourceTable": "HCP",
       "value": "v002"
     }
    ]
  }
 ]

The nested attribute L1 is OV = false, L2 has OV = true.

# Merge entity 1 and entity 2

Result

The resulting entity after the merge has two nested attributes of Email.