Multi-valued metadata fields
A multi-valued metadata field preserves several entries with an applicable order, role and identity policy instead of treating every value as one punctuation-delimited string.
A field can contain several artists, genres, languages or credits. Its representation needs to retain the entries and the relationships that give them meaning.
Consider the single name Baker, Alex. Splitting every comma would turn one entry into two people.
Lists, sets and qualified records differ
| Representation | Meaning to preserve |
|---|---|
| Ordered credit list | Entry order and join/presentation context |
| Genre set | Membership under the chosen vocabulary |
| Repeated tag values | Several source values for a named field |
| Qualified person credits | Person identity plus role/character/order |
The same person can be both actor and director. Deduplicating by person name alone can erase one valid responsibility.
A creator sequence and a subject-keyword bag can likewise have different ordering semantics. The serialization should not make those choices accidentally.
A punctuation string loses boundaries
An original structured artist list might be:
["Baker, Alex", "North / South"]
A comma- or slash-joined export requires a defined escaping/separator convention if it is meant to be read back. Without one, the reader cannot distinguish real punctuation from a separator.
Vorbis repeated entries, ID3 version-specific value conventions and XML repeated elements provide different representations. A converter must interpret the source's semantics before producing the target.
In Emby, compare the source list with the imported artist/genre/credit field. Several values visibly joined in the app do not prove that they were stored as one indivisible string.
A merge policy changes membership
Take existing genres [Drama, Railway] and incoming values [Drama, Mystery].
| Operation | Result |
|---|---|
| Replace | Drama, Mystery |
| Stable deduplicated union | Drama, Railway, Mystery |
| Blind append | Drama, Railway, Drama, Mystery |
Repeating the union leaves the same membership. Repeating blind append accumulates duplicates. Replacement can remove deliberate local classification; union can retain a stale label.
Precedence develops that decision. The field's purpose and operation decide which result is appropriate.
Filtering uses entries, not display punctuation
A genre filter can test membership in the structured set. A person filter should refer to the intended identity and credit context, rather than find an arbitrary substring in a rendered credit line.
Keep source entries and display formatting separate. That lets a library change its presentation without silently changing which people or categories the item belongs to.