Context
MIxS pins linkml = "^1.9" (resolves to 1.9.4). Recent linkml PRs add configurable list formatting for CSV/TSV (linkml#3134) and boolean handling (linkml#3144). These are on linkml main heading toward v1.10.
MIxS has 463 multivalued slots and 6 boolean slots but zero list/boolean annotations — all guidance is informal ("can be separated by pipes").
What this issue covers
Phase 1: Build compatibility (done)
- Upgrade to linkml main (
1.10.0.post78.dev0) + linkml-runtime 1.10.0
make clean all all-contrib test passes — no regressions
Phase 2: TSV list normalization demo (done)
- Messy TSV example showing 3 real-world list formatting styles (bracketed pipes, bare pipes, spaced pipes)
- Schema-aware normalization script using SchemaView to identify multivalued slots
- Makefile targets:
normalize-tsv-demo and normalize-tsv-roundtrip
- Documents that
--list-wrapper/--list-delimiter CLI flags exist but json_flattener plumbing isn't connected yet (linkml#3147)
Future phases
- Add schema-level list annotations (
list_wrapper, inner_delimiter, list_strip_whitespace)
- Create valid/invalid CSV/TSV example data files
- Tighten slot descriptions to be unambiguous about list formatting
Related issues
Context
MIxS pins
linkml = "^1.9"(resolves to 1.9.4). Recent linkml PRs add configurable list formatting for CSV/TSV (linkml#3134) and boolean handling (linkml#3144). These are on linkml main heading toward v1.10.MIxS has 463 multivalued slots and 6 boolean slots but zero list/boolean annotations — all guidance is informal ("can be separated by pipes").
What this issue covers
Phase 1: Build compatibility (done)
1.10.0.post78.dev0) + linkml-runtime 1.10.0make clean all all-contrib testpasses — no regressionsPhase 2: TSV list normalization demo (done)
normalize-tsv-demoandnormalize-tsv-roundtrip--list-wrapper/--list-delimiterCLI flags exist but json_flattener plumbing isn't connected yet (linkml#3147)Future phases
list_wrapper,inner_delimiter,list_strip_whitespace)Related issues
multivaluedmetaslot should be used with MIxS terms #952 — Specify howmultivaluedmetaslot should be used with MIxS terms