In the original mapping specification we decided to create one DataArray for each row of a Neo Signal. This was to make tagging easier: one 1D MultiTag could refer to an arbitrary number of 1D DataArrays. The inconvenience turns out to be not worth the overhead in file size created by having multiple DataArrays, with multiple dimensions, especially if the time dimension is irregularly sampled and requires a large array of time points.
EDIT: The real issue shows up when there's multiple Signals in a Segment that have a different number of channels, but even there, we could probably come up with a better solution.
In the original mapping specification we decided to create one DataArray for each row of a Neo Signal. This was to make tagging easier: one 1D MultiTag could refer to an arbitrary number of 1D DataArrays. The inconvenience turns out to be not worth the overhead in file size created by having multiple DataArrays, with multiple dimensions, especially if the time dimension is irregularly sampled and requires a large array of time points.
EDIT: The real issue shows up when there's multiple Signals in a Segment that have a different number of channels, but even there, we could probably come up with a better solution.