Example 4 - Two Rules, one a Fuzzier Version than the Other

The match rule configuration contains two match rules and both use fuzzy comparison to match.

Please review the example match rule configuration below.

Rule 1 has the following characteristics:

  • The tactic of the rule is exact Zip5 and fuzzy name.
  • The user is confident about the stringency of the rule so she has set it to the automatic type, thus for the candidate pairs that evaluate to true for this rule, a directive will be sent to the engine to merge the profiles.
  • The user has configured ExactOrAllNull for the IsCurrent attribute and has utilized nullValues to set any occurrence of false to (null) for use with the ExactOrAllNull comparison operator.
{
                    "uri": "configuration/entityTypes/Household/matchGroups/HouseholdAddressAndZip",
                    "label": "Exact(AddressLine1, Zip) & Fuzzy(Last)",
                    "type": "automatic",
                    "rule": {
                        "matchTokenClasses": {
                            "mapping": [
                                {
                                    "attribute": "configuration/entityTypes/Household/attributes/Name",
                                    "class": "com.reltio.match.token.ComplexPhoneticNameToken"
                                }
                            ]
                        },
                        "and": {
                            "exact": [
                                "configuration/entityTypes/Household/attributes/Address/attributes/Zip5",
                                "configuration/entityTypes/Household/attributes/Address/attributes/AddressLine1"
                            ],
                            "fuzzy": [
                                "configuration/entityTypes/Household/attributes/Name"
                            ],
                            "and": {
                                "exactOrAllNull": [
                                    "configuration/entityTypes/Household/attributes/IsCurrent"
                                ],
                                "nullValues": [
                                    {
                                        "attribute": "configuration/entityTypes/Household/attributes/IsCurrent",
                                        "value": "false"
                                    }
                                ]
                            }
                        }
                    },
                    "scoreStandalone": 25,
                    "scoreIncremental": 25
                },

Rule 2 has the following characteristics:

  • The tactic of the rule is fuzzy Zip5 and fuzzy name.
  • The user is less confident about the stringency of the rule so she has set it to the suspect type, thus for the candidate pairs that evaluate to true for this rule, a directive will be sent to the engine to queue the candidate pair for review.
  • The user has configured the RangeNumericComparator for the Zip5 attribute and set a threshold of 2 which will tolerate a range of zip codes that are smaller or bigger than each other within the value of 2. For example, 90203 will match to 90201, 90202, 90203, 90204, 90205.
{
                    "uri": "configuration/entityTypes/Household/matchGroups/CloseLastExactAddressCloseZip",
                    "label": "Close Last + Exact Address (Exact Street and Close Postal Code)",
                    "type": "suspect",
                    "rule": {
                        "matchTokenClasses": {
                            "mapping": [
                                {
                                    "attribute": "configuration/entityTypes/Household/attributes/Name",
                                    "class": "com.reltio.match.token.ComplexPhoneticNameToken"
                                }
                            ]
                        },
                        "comparatorClasses": {
                            "mapping": [
                                {
                                    "attribute": "configuration/entityTypes/Household/attributes/Address/attributes/Zip5",
                                    "parameters": [
                                        {
                                            "parameter": "threshold",
                                            "value": "2"
                                        }
                                    ],
                                    "class": "com.reltio.match.comparator.RangeNumericComparator"
                                }
                            ]
                        },
                        "and": {
                            "exact": [
                                "configuration/entityTypes/Household/attributes/Address/attributes/Premise",
                                "configuration/entityTypes/Household/attributes/Address/attributes/Street"
                            ],
                            "exactOrAllNull": [
                                "configuration/entityTypes/Household/attributes/Address/attributes/POBox"
                            ],
                            "fuzzy": [
                                "configuration/entityTypes/Household/attributes/Address/attributes/Zip5",
                                "configuration/entityTypes/Household/attributes/Name"
                            ],
                            "and": {
                                "exactOrAllNull": [
                                    "configuration/entityTypes/Household/attributes/IsCurrent"
                                ],
                                "nullValues": [
                                    {
                                        "attribute": "configuration/entityTypes/Household/attributes/IsCurrent",
                                        "value": "false"
                                    }
                                ]
                            }
                        }
                    },
                    "scoreStandalone": 50,
                    "scoreIncremental": 25
                }