A function describes a relation between well-defined inputs and outputs. The mapping cells contained in an Alignment each reference a function, the assignment of schema elements as inputs and outputs and eventual additional configuration of functions via function parameters.
The Functions view lists all available functions. Also, the functions reference in this help holds a detailed description of each function, listing inputs, outputs and parameters.
Note: The functions available in HALE represent only a small subset of possible relations - if you find that you are not able to express a relation through the given functions, HALE offers an extension point to integrate additional functions.
There are two basic types of functions, functions that represent class/type relations and functions that represent property relations.
A type relation describes how types from the source schema are to be translated to a type in the target schema.
The most simple type relation in HALE is represented by the Retype function, which expresses that a source and target type are semantically equal. For the transformation this means that for each instance of the source type, an instance of the target type is created. Then, the transformation functions of the associated property relations are applied to populate the target instance.
See Identify type relations for some guidelines how to choose and create type relations.
Property relations describe how properties in a target schema type can be derived from properties from the source schema types. They only take effect in the context of a type relation.
Similar to the Retype function there is a property function that expresses a source and target property being semantically equal. This function is called Rename.
Other examples of property functions are the Mathematical Expression function, which can take multiple variables and evaluate them in a mathematical expression, or the Classification function, which maps values from one classification system to another one.