How can I generate a language tag from the source data

73 Views Asked by At

I am using RMLMapper and want to map patterns like

<title>
  <string language="en-US">Golf Explained</string>
  <string language="es">Explicó Golf</string>
</title>

to

<http://ex.org/ex> schema:name "Golf Explained"@en-US, "Explicó Golf"@es

I have (skipping irrelevant chunks of code)

  rr:predicateObjectMap [
  rr:predicate sdo:name;
  rr:objectMap [
    rml:reference "/lom/general/title/string";
    rr:termType rr:Literal;
    rr:language  "en"  
  ]
];

which works, but for english. How can I generate the language tag from /lom/general/title/string@language to replace "en"?

I've tried

  rr:predicateObjectMap [
  rr:predicate sdo:name;
  rr:objectMap [
    rml:reference "/lom/general/title/string";
    rr:termType rr:Literal;
    rr:language  [rml:reference "/lom/general/title/string/@language"]  
  ]
];

without joy "Language tag "node1ef4p39f8x5" does not conform to BCP 47 standards"

0

There are 0 best solutions below