-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect language tagging #66
Comments
This looks like a data problem. These elements should not be repeatable according to the eForms SDK. The mappings were written and work correctly according to those definitions. Note: This triggers a known upstream tooling/technological (RMLMapper) limitation, regarding undefined and non-deterministic behaviour for non-standard mappings of multiple values at child elements (e.g. functions like this for language tags, advanced template/reference conditions). |
I'm afraid is a misinterpretation. I did some inquiry and I can confirm that when the field is defined with a type of "text-multilingual" and is not repeatable, means it can only appear once per language, with different values for each language. For example, the following is valid because each value is in a different language:
However, the following is not accepted because both entries are in French (same
The same language cannot have two different values for the field. I'm not familiar with the upstream RMLMapper limitation, Do you foresee any workaround to include multilingual fields? |
Extract languageMaps into their own TriplesMaps as RML is "underspecified" for multi-valued properties, leading to odd behaviour in beyond-basic use cases (in this case language code transformation via CSV lookup function). Effectively fixes gh-66 but implements an unintuitive mapping approach (predicate at its own iterator). See also RMLio/rmlmapper-java#235. Affects: - Contract - Procedure CAN - BT-554-Tender versioned
You are right that we should be interpreting the repeatability with the context that that's the only way multilingual fields can be expressed in the source. It is unfortunate, however, that (i) the SDK did not have that information explicitly encoded in some way (e.g. marking the language attribute itself as repeatable) -- which might've resulted in rules implemented for this differently -- and that (ii) at the same time, the RML language itself is underspecified for mapping multi-valued properties that go beyond the basics (language-tagged values in eForms being one case requiring advanced transformation with lookup tables). It is not helpful to have different values with an incorrect language tag, but thankfully this affects only notices where content is expressed in more than one language. The workaround basically requires extracting all language-related fields and putting them into their own mappings, which in the upstream ticket we refer to as the "unintuitive" approach, and is what we have finally chosen to implement. |
Instance: 127294-2024
The RDF includes langstrings with incorrect language identifiers—specifically, the Dutch and French labels are swapped.
The correct language information can be found in the languageID attribute, as shown below:
The text was updated successfully, but these errors were encountered: