Konfiguration Local Transforms
The local transform configuration is encoded in a specific yaml serialization format. Currently there are two local transforms. As the local transforms are defined for each record set they are stored on the SFTP-Server within the config folder of the Record Set folder with the other configurations (localTransforms.yml). Local Transforms are optional.
- 1 Split Entities
- 1.1 Configuration
- 1.2 Example
- 2 Normalize Persons
- 2.1 Example
Split Entities
Splitting entities based on a delimiter. Use this if only an entity needs to be split. Copies over all other attached statements. Checks for creation relation and copies it as well.
The splitters are applied in the order that they are defined. Several splitters can be defined for the same rdf:type
if there are different delimiters used. Additional entity splitters are added as list elements.
Configuration
type
:Defines the
rdf:type
of the targeted entity.Accepted Values:
prefix:ClassName
prefix
: One of the following https://ub-basel.atlassian.net/wiki/spaces/MEMOBASE/pages/509968537ClassName
: Should match the used class name. Not validated.
property
:Defines the datatype property on which the splitter is applied to.
Accepted Values:
prefix:propertyName
prefix
: One of the following https://ub-basel.atlassian.net/wiki/spaces/MEMOBASE/pages/509968537propertyName
: The target datatype property name. Not validated.
delimiter
:Defines the delimiter used to split the text value.
Accepted Values:
SPACE
(if the delimiter is just a space), any string
Example
splitEntity:
- type: skos:Concept
property: skos:prefLabel
delimiter: SPACE
- type: rico:CorporateBody
property: rico:name
delimiter: ";"
- type: rico:Place
property: rico:name
delimiter: "/"
- type: rico:Place
property: rico:name
delimiter: ","
Normalize Persons
The person normalization transform applies to any entity with rdf:type rico:Person
. Each record set can have at most one of this transform.
splitEntity
:Used to split values with multiple names inside. Same properties as above.
creationRelationName
:pattern
:A regex pattern which can be used to extract and remove the relation name defined on a name value. If a character has to be escaped use double escape.
Accepted Values: Any valid Regex Expression (Java Style) and requires a named capture group with the name
relation
.
language
:Can be used to define the field language metadata.
Accepted Values:
de
,fr
,it
,NONE
.
nameOrder
:Defines which name part is considered as first name and which name part is the last name.
Accepted Values:
first-to-last
,last-to-first
.
singleNameIsLastName
:Defines what name part is assigned if the
delimiter
does not lead to a split.Accepted Values:
true
,false
nameDelimiter
:Defines the delimiter between the first and last name. Any form of white space is trimmed.
Accepted Values:
SPACE
(for an actual space), any string or character.
Example
normalizePerson:
splitEntity:
type: rico:Person
property: rico:name
delimiter: ";"
creationRelationName:
pattern: "\\((?<relation>.+)\\)"
language: de
nameOrder: "first-to-last"|"last-to-first" # "last-to-first" (i.e. Tester, Thea) or "first-to-last" (i.e. Thea Tester)
singleNameIsLastName: true
nameDelimiter: ","