Carrying out a mapping
Last updated
Last updated
In this example we will show a mapping to the CARARE schema. Before starting it is well worth knowing that you can stop and start, to develop your mapping over several sessions. The mapping is saved each time you close the Mapping window.
Find the element in your input schema to be mapped. You can do this either by expanding the tree or by running a search for the element name.
Next, find the element in the target schema that you want to map the element to. You can do this by either expanding the schema or by using the Navigation.
Once you can see both elements in your window, hover your curser over the element in the input schema. Grab it by right clicking and then drag it across to the box displayed below the element in the target schema. When you see a tick appear you can drop the element into place.
In some cases, you will need to add a constant value to every record in your dataset. For example, the name of the organisation providing the data is needed by Europeana but this information is generally not included in native datasets. To add a constant:
Find the element in the target schema and double click on the unmapped area. You can then type the value needed into the field.
Note: Adding a constant can be very useful when you want the same data to appear in every record. You may wish to do this when the statistics show the provided data is inconsistent.
For some elements, you will be required to pick a value from an enumerated list. If your dataset includes exactly the same value in an element you can use the drag and drop method. If the data is not available in your dataset (and the element is mandatory) you will need to pick a value from the enumerated list.
Find the element in the target schema and then double click on it, you will then be offered a list of values. Select the appropriate value and click on the “Apply” button. The same value will be inserted on each record.
In some cases, you will want to concatenate (or combine) more than one value when creating your mapping. This can be helpful when information is divided between separate elements in your native dataset but can usefully be combined in the mapping to the target schema. It can also be helpful when you wish to add information for users. To concatenate values:
Find the element in the target schema. Complete the initial mapping and then click on to add a new line. Now you can add the new mapping.
Note: When you concatenate values in this way, the data is combined in the same line. To avoid words running together, add a line with a constant to create a space between the elements.
In some cases, you will want to use the mapping editor to modify the value being input from your target source. This can be useful when, for example, an element in your native dataset contains a series of keywords that can usefully be split between separate elements in the mapping.
Function
Description
Substring
You specify from which character in a string to start and how many characters to include in the substring. For example, s is the 5th character (including gaps) of the sentence above, specifying 7 characters going backwards from the f character of the word "from" gives the substring ‘specify’.
Substring after
You specify a value after which a substring in the original string is included in the mapping. For example, if the value is “mapping” substring after “included in the” gives the correct value.
Substring before
You specify a value before which a substring in the original string is included in the mapping. For example, if the value is “You” substring before “specify” gives the correct value.
Substring between
You specify the value before and after the substrings that you wish to include. For example, the value after the character “r the“ and the value before “ that” gives “substrings”.
Replace string
You set a string to be replaced and the replacement
Trim
Trims spaces.
Replace with regex
Replace all occurrences matching the regular expression (first argument) with the second argument (string).
Split
You set the delimiter for tokenization and the start index of the original string.
Tokenize content and generate an element per content
You set the delimiter for tokenization and the start index of the original string. For example, your element contains “castle; fort; tower”. By specifying “;” as the delimiter you can split this string so that one keyword appears in each element (which repeats).
Custom function
You can create a custom XSLT function (this is recommended only for technical expert users).
In the example shown below, a functional mapping has been used to select the substring before the “,”.
Note: Contact the support desk if you need help with functional mappings.
Mappings can be restricted so that they will apply only under certain conditions. This can be very useful when, for example you specify a constant as part of a concatenated mapping. Specifying a condition can make sure that the constant is included only when data is present in a certain element.
Condition
Description
Is equal to
this condition is satisfied when the given element is equal to the given value.
Is not equal to
this condition that is satisfied when the given element is not equal to the value.
Exists
sets a condition that is satisfied if the given element exists in a record. (The presence of an element name in the input tree does not mean that the element exists in every record in the set).
Does not exist
sets a condition that is satisfied if the given element does not exist.
Contains
sets a condition that is satisfied if the given element contains the given value.
Does not contain
sets a condition that is satisfied if the given element does not contain the given value.
Starts with
sets a condition that is satisfied if the given element starts with the given value.
Does not start with
sets a condition that is satisfied if the given element does not start with the given value.
Ends with
sets a condition that is satisfied if the given element ends with the given value.
Does not end with
sets a condition that is satisfied if the given element does not end with the given value.
In the example illustrated above, the input element contains three values. The condition used specifies that only one of these values is mapped to the target element.
In the example shown, the Heritage Asset type element has been repeated to enable a mapping to be added to the UID for a term in the Getty’s Art and Architecture Thesaurus. It is also useful to be able to repeat an element in the target schema if more than one element in your input dataset conforms to its scope.
When elements in the target schema have attributes you will see this icon displayed. If certain of the attributes are mandatory for that element, the icon will be red until they have been completed.
The attributes are used to define certain characteristics of the data. Language is a mandatory attribute for most text elements being provided to Europeana as this improves the multi-lingual support that can be offered.
First find the elements that you want to map, drag and drop the element from the input schema to the target schema. Once this has been completed you will notice the function icon appears. Click on this to open the Functional mapping area on the right-hand side of the screen. This offers you a series of functions to modify the data including:
First find the elements that you want to map, once you have completed the mapping you will notice the condition icon appears. To define the condition, click on this icon and the condition editor will appear. You can use this to specify one or more conditions joined by AND or OR. The conditions include:
In some cases, you will need to repeat an element in the target schema to add a new mapping. You can do this by clicking on the icon displayed on the right-hand side of an element name.
To complete the attribute, double click on the icon. The attributes for the element will then be displayed. Double click on the attribute and you will then be able to enter a constant or a value mapping.