I am trying to create a mapping in which I split the full name into a first name and last name using fno in rml. My code is like
<#FunctionSplitName>
fnml:functionValue [
rml:logicalSource <#LogicalSource>;
rr:predicateObjectMap [
rr:predicate fno:executes;
rr:objectMap [
rr:constant grel:string_split
];
];
rr:predicateObjectMap [
rr:predicate grel:valueParameter;
rr:objectMap [
rml:reference "metadata__customer_name"
];
];
rr:predicateObjectMap [
rr:predicate grel:p_string_sep;
rr:objectMap [
rr:constant " ";
];
];
].
<#FunctionGetName>
fnml:functionValue [
rr:predicateObjectMap [
rr:predicate fno:executes ;
rr:objectMap [ rr:constant grel:array_get ]
] ;
rr:predicateObjectMap [
rr:predicate grel:p_array_a ;
rr:objectMap <#FunctionSplitName>
] ;
rr:predicateObjectMap [
rr:predicate grel:param_int_i_from ;
rr:objectMap [
rr:constant 0 ;
rr:datatype xsd:integer ;
]
];
rr:predicateObjectMap [
rr:predicate grel:param_int_i_opt_to ;
rr:objectMap [
rr:constant 1 ;
rr:datatype xsd:integer ;
]
]
].
But I am getting the following error:
17:17:11.969 [main] ERROR be.ugent.rml.cli.Main .main(389) - Declared method "get" does not exist for class "io.fno.grel.ArrayFunctions".
Can someone tell me how to get the nth element of the grel:string_split ?