Quality Rule Sets¶
Creating Set¶
To create a set of rules:
Make sure that draft mode is enabled and a draft is selected.
Make sure that the Set of rules tab is active in the "Data Quality" section.
The action will open a drawer with the settings for the new rule.
Fill in the basic settings:
Name. Logical name of the set.
Display name. Name that will be displayed to users.
Description (optional). Additional information about the set.
Specify the structure of the quality rules in the set:
Rule. Dropdown list with quality rules.
Context. The execution context for the selected rule. Uses an Upath expression that specifies the entities/reference sets, relations, or classifiers for which the selected rule will be applied. For more information about Upath expressions see below.
Incoming quality rule ports. Allows you to select the attribute/record for which the quality rule will be executed. The composition of port parameters depends on the selected quality rule and the function that was specified in that rule.
Select attribute - setting attributes as an Upath expression (see below).
Set constant - specifying a single constant value or in some cases - an array of values.
Outgoing ports of the quality rule. Allows you to choose the attribute/record, where the results of the quality rule will be unloaded. They are filled according to the rules similar to Incoming ports. Outgoing ports are available for editing only if "Enrichment" mode is enabled in the quality rule.
If necessary, add one or more quality rules to the set. Click the "Add" button located on the right side of the settings header.
To change the order of the quality rules, use the up and down arrows. The rule that is at the top will be run first. For convenience, the areas with quality rules can be collapsed by clicking on the header.
If necessary, remove the quality rule from the set. Click the "Delete" button located on the right side of the settings of each rule.
Save the changes. Click the "Save" button located in the upper right corner of the drawer.
To continue, go to the Assignments tab to assign quality rules.
After all the data has been entered and saved, publish the draft.

Figure 1. List of sets

Figure 2. Properties of a new set
Editing Set¶
Editing is available for each tab in the "Quality Rules" section.
To edit a set:
Go to the Set of Rules tab.
Select the required line in the list:
This will open a drawer. Some fields, such as the logical name, will be unavailable for editing.
Make changes.
Save the changes. Click the "Save" button located in the upper right corner of the drawer.
After all the data has been entered and saved, publish the draft.
Deleting Set¶
Deletion is available for each tab in the "Quality Rules" section.
In the "Set of rules" tab:
In the list of rules, select the required rules with a checkbox.
The "Create set" button will change to the "Delete" button. Click this button.
Confirm the action.
After all the data has been entered and saved, publish the draft.
Upath Expressions¶
Upath expressions are used in the following rule set parameters: Context, Incoming and Outgoing ports.
Context. Allows you to set the scope for incoming ports: reference sets, Classifications, Entities, Relations.
Incoming and Outgoing Ports. Allows you to define specific attributes or an entire record. Any nesting depth is possible. For a complex attribute you have to select the attributes nested in it, because selecting a complex attribute in its entirety is not available.
The "Change view" button allows you to switch between 2 display views: Upath view and a human-readable attribute path with display names.
UPath syntax¶
Attribute names are separated by dots: <complex_attribute>.<nested_attribute>
[ ] - filter by record index in the complex attribute
{ } - add to the port the whole record (port type: any or record)
{ attribute_name:attribute_value} - filter by exact value of nested attribute. Only for complex attributes.
Filter values based on attribute type:
String type, Enumeration, Link to reference set with string code attribute: Person_Doc{Doc_Status:'not valid'}.Doc_type
Integer type: Material{Units:12345}.Height
Numeric type: Material{Width:12.345}.Height
Boolean type: Process{Complete:false}.Result
Date: Person_Doc{Issue_Date:2010-01-12}.Doc_type
Time: Service{Start_Time:15:32:54}.Certificate
Date/Time: Service{Last_date:2018-04-28T15:32:54}.Certificate
Attribute values: String, Enumeration, Link to reference set (with string code attribute) are framed in single quotes. For all other attribute value types, quotation marks are not used, for example, person{birthday:yyyyy-mm-ddTHH:mm:ss}
Tip
Example of filtering by attribute value: Contact{Contact_Type:'home'} allows you to select a collection of complex attributes "Contacts" whose sub attribute "Contact Type" has the value "Home" (port type: any or record)
Tip
Example of filtering by record index: Person_Doc[2].Doc_Series allows you to select a collection of "Series" attributes from the "Documents" complex attribute with index 2