Unify and manage your data

Configure ordered match method execution

Learn how to configure an execution dependency between match methods.

Ordered match method execution uses prerequisites to create dependencies between match methods. A prerequisite determines whether a match method evaluates a candidate pair based on the result of another match method for that pair.

The following role can configure ordered match method execution:

For role definitions, see About roles.

Prerequisites

Before you begin, confirm the following requirements:

  • You must be assigned the ROLE_ADMIN_TENANT role to update the tenant metadata configuration.

  • The prerequisite and dependent match methods belong to the same entity type.

  • You must know the URI of each match group.

  • You must use the Configuration API. Match method prerequisites are not available in the Data Modeler match rule editor.

To configure ordered match method execution
  1. Use the Configuration API to retrieve the match group for the dependent match method.

    For information about retrieving and updating match groups, see Match groups for entity types.

  2. Add matchPrerequisites to the dependent match group at the same level as uri, type, and rule.
  3. Set onMatch to evaluate to run the dependent match method when the prerequisite condition is met, or to skip to run it only when the condition isn't met.
  4. Set scoreThreshold to the relevance score range that counts as a match for the prerequisite, in minimum-maximum format. For example,0.8-1.
  5. Add the prerequisite match group URI to the filters array.

    The following example makes PhoneNumberMatch match group a prerequisite for the IdentifierMatch match group. The dependent match method evaluates a pair only when the prerequisite produces a score from 0.8 through 1.

    {
      "uri": "configuration/entityTypes/Individual/matchGroups/IdentifierMatch",
      "label": "IdentifierMatch",
      "type": "relevance_based",
      "rule": {
        "exact": [
          "configuration/entityTypes/Individual/attributes/Identifiers/attributes/Value"
        ],
        "actionThresholds": [
          {
            "type": "auto_merge",
            "threshold": "0.8-1"
          }
        ]
      },
      "matchPrerequisites": {
        "rules": [
          {
            "onMatch": "evaluate",
            "scoreThreshold": "0.8-1",
            "filters": [
              {
                "uri": "configuration/entityTypes/Individual/matchGroups/PhoneNumberMatch"
              }
            ]
          }
        ]
      }
    }

    The following example makes the existing suspect match group NameCandidateRule a prerequisite for MLModelRule. NameCandidateRule is an existing suspect match group. The dependent MLModelRuleevaluates the pair only when NameCandidateRule produces a score from0.3through1..

    {
      "uri": "configuration/entityTypes/Individual/matchGroups/MLModelRule",
      "label": "MLModelRule",
      "type": "relevance_based",
      "matchPrerequisites": {
        "rules": [
          {
            "onMatch": "evaluate",
            "scoreThreshold": "0.3-1",
            "filters": [
              {
                "uri": "configuration/entityTypes/Individual/matchGroups/NameCandidateRule"
              }
            ]
          }
        ]
      }
    }

    The following example makes the PhoneNumberMatch match group a prerequisite for the ContactCoreMatch match group and sets onMatch to skip. ContactCoreMatch is skipped when PhoneNumberMatch produces a score from 0.5 through 1. If PhoneNumberMatch does not produce a score within this range, ContactCoreMatch is evaluated.

    {
      "uri": "configuration/entityTypes/Individual/matchGroups/ContactCoreMatch",
      "label": "ContactCoreMatch",
      "type": "relevance_based",
      "matchPrerequisites": {
        "rules": [
          {
            "onMatch": "skip",
            "scoreThreshold": "0.5-1",
            "filters": [
              {
                "uri": "configuration/entityTypes/Individual/matchGroups/PhoneNumberMatch"
              }
            ]
          }
        ]
      }
    }
  6. Update the dependent match group through the Configuration API.

Result

The dependent match method is evaluated or skipped according to the prerequisite result, scoreThreshold, and configured onMatch behavior. Match methods without prerequisites continue to run independently.