Follow-up to #247 (which lands slot-level inline dot-path traversal for scalar leaves).
A multivalued inlined path like populated_from: dataset.dataTable should fan out: each item in the list is mapped through the class_derivation whose target matches the slot's range, EML-style:
class_derivations:
SchemaDefinition:
populated_from: EMLDocument
slot_derivations:
classes:
populated_from: dataset.dataTable # multivalued inline list
ClassDefinition: # should auto-fire per dataTable item
populated_from: DataTable
slot_derivations:
name:
populated_from: entityName
Today no dispatch exists for this. _derive_nested_objects only handles slot derivations that embed class_derivations: directly, and maps once per nested CD on a single (joined) row — it does not iterate a list of source items. This needs new range-matched, per-item fan-out orchestration on top of the slot-level inline traversal from #247.
Slot-level inline traversal (#247) raises a clear diagnostic naming the multivalued segment and pointing here, rather than silently returning None, until this lands.
Follow-up to #247 (which lands slot-level inline dot-path traversal for scalar leaves).
A multivalued inlined path like
populated_from: dataset.dataTableshould fan out: each item in the list is mapped through the class_derivation whose target matches the slot's range, EML-style:Today no dispatch exists for this.
_derive_nested_objectsonly handles slot derivations that embedclass_derivations:directly, and maps once per nested CD on a single (joined) row — it does not iterate a list of source items. This needs new range-matched, per-item fan-out orchestration on top of the slot-level inline traversal from #247.Slot-level inline traversal (#247) raises a clear diagnostic naming the multivalued segment and pointing here, rather than silently returning None, until this lands.