Skip to content

IntracellularRecordingsTable does not have columns, but the colnames attribute is required from schema #692

Description

@ehennestad

Problem

IntracellularRecordingsTable is an AlignedDynamicTable with three required category sub-tables (electrodes, stimuli,responses). It does not have any column requirements.

However, the colnames attribute is required from the hdmf-schemas DynamicTable.
https://github.com/hdmf-dev/hdmf-common-schema/blob/497bde378749d2e56a30a05d6851885f58e78f75/common/table.yaml#L116-L127

MatNWB currently enforces required attributes, and can therefore not export an NWB file without adding a custom column to the IntracellularRecordingsTable (if colnames is empty, nwbExport fails).

PyNWB allows exporting IntracellularRecordingsTable without any extra columns.

There are some options:

  1. colnames should have required: False in DynamicTable
  2. colnames in IntracellularRecordingsTable can can be overridden to have required: False
  3. patch MatNWB to allow empty colnames if a table does not have any real column.

This is a schema inconsistency, so I lean towards 1 or 2.

@rly @oruebel

Metadata

Metadata

Assignees

No one assigned

    Labels

    category: questionquestions about code or code behavior

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions