Unify and manage your data

Cleanse Container properties

Learn about the properties that you use to define a Cleanse Container and its steps in your cleanse configuration.

To configure Cleanse Containers and each of their steps you need to configure a set of properties. These properties control which cleanse functions run, in what order, and under which conditions. To learn how Cleanse Container works, see Cleanse Container.

Cleanse Container function properties

You add Cleanse Container to the chain section of cleanseConfig, like any other cleanse function. The following table describes the properties of the Cleanse Container function.

PropertyDescription
cleanseFunctionThe name of the cleanse function. Set it to CleanseContainer.
resultingValuesSourceTypeUriThe source type of the single cleanser crosswalk that Cleanse Container creates or updates. You choose this source type.
mappingThe input and output mapping for the container. For more information, see Configuring cleanse function mapping.
stepsThe ordered list of steps. Cleanse Container runs the steps in the order listed.

The following table describes the properties of each step in steps.

PropertyDescription
functionThe name of the cleanse function that the step runs.
paramsAdditional parameters for the cleanse function.
inputsThe attributes that the step reads from the in-memory values.
outputThe attribute where the step stores its result in the in-memory values.
filterAn optional expression that controls whether the step runs. The expression is evaluated against the current in-memory values. If it evaluates to false, the step is skipped. If you don't define a filter, the step always runs. For more information about filters, see Configure filter expressions for cleanse function.

Example of a Cleanse Container configuration

The following example defines a Cleanse Container that trims address values, builds AddressLine1 from PremiseNumber and Street if AddressLine1 is empty, falls back to AddressLine2 if both are missing, and then verifies the address. Reltio saves the combined result in a single write. The mapping details are omitted.

{
  "cleanseFunction": "CleanseContainer",
  "resultingValuesSourceTypeUri": "configuration/sources/ReltioCleanser",
  "mapping": { ... },
  "steps": [
    {
      "function": "StringFunctionCleanser",
      "params": { "trim": true },
      "inputs": ["Organization", "AddressLine1", "AddressLine2", "City", "State", "Country", "PostalCode"]
    },
    {
      "function": "PatternBasedFieldBuilder",
      "params": { "pattern": "{PremiseNumber}, {Street}" },
      "inputs": ["PremiseNumber", "Street"],
      "output": "AddressLine1",
      "filter": "AddressLine1 == null"
    },
    {
      "function": "PatternBasedFieldBuilder",
      "params": { "pattern": "{AddressLine2}" },
      "inputs": ["AddressLine1", "AddressLine2"],
      "output": "AddressLine1",
      "filter": "missing(AddressLine1) AND exists(AddressLine2)"
    },
    {
      "function": "Loqate",
      "inputs": ["Organization", "AddressLine1", "AddressLine2", "City", "State", "Country", "PostalCode"]
    }
  ]
}