hdmf_common_table#
- pydantic model ConfiguredBaseModel#
Bases:
BaseModel
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- pydantic model LinkML_Meta#
Bases:
BaseModel
Extra LinkML Metadata stored as a class attribute
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Fields:
- pydantic model Data#
Bases:
ConfiguredBaseModel
An abstract data type for a dataset.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model Index#
Bases:
Data
Pointers that index data values.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model VectorData#
Bases:
Data
An n-dimensional dataset representing a column of a DynamicTable. If used without an accompanying VectorIndex, first dimension is along the rows of the DynamicTable and each step along the first dimension is a cell of the larger table. VectorData can also be used to represent a ragged array if paired with a VectorIndex. This allows for storing arrays of varying length in a single cell of the DynamicTable by indexing into this VectorData. The first vector is at VectorData[0:VectorIndex(0)+1]. The second vector is at VectorData[VectorIndex(0)+1:VectorIndex(1)+1], and so on.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model VectorIndex#
Bases:
Index
Used with VectorData to encode a ragged array. An array of indices into the first dimension of the target VectorData, and forming a map between the rows of a DynamicTable and the indices of the VectorData.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- field target: VectorData | None = None#
Reference to the target dataset that this index applies to.
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model ElementIdentifiers#
Bases:
Data
A list of unique identifiers for values within a dataset, e.g. rows of a DynamicTable.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model DynamicTableRegion#
Bases:
VectorData
DynamicTableRegion provides a link from one table to an index or region of another. The table attribute is a link to another DynamicTable, indicating which table is referenced, and the data is int(s) indicating the row(s) (0-indexed) of the target array. DynamicTableRegion`s can be used to associate rows with repeated meta-data without data duplication. They can also be used to create hierarchical relationships between multiple `DynamicTable`s. `DynamicTableRegion objects may be paired with a VectorIndex object to create ragged references, so a single cell of a DynamicTable can reference many rows of another DynamicTable.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- field table: DynamicTable | None = None#
Reference to the DynamicTable object that this region applies to.
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model Container#
Bases:
ConfiguredBaseModel
An abstract data type for a generic container storing collections of data and metadata. Base type for all data and metadata containers.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#
- pydantic model DynamicTable#
Bases:
Container
A group containing multiple datasets that are aligned on the first dimension (Currently, this requirement if left up to APIs to check and enforce). Apart from a column that contains unique identifiers for each row there are no other required datasets. Users are free to add any number of VectorData objects here. Table functionality is already supported through compound types, which is analogous to storing an array-of-structs. DynamicTable can be thought of as a struct-of-arrays. This provides an alternative structure to choose from when optimizing storage for anticipated access patterns. Additionally, this type provides a way of creating a table without having to define a compound type up front. Although this convenience may be attractive, users should think carefully about how data will be accessed. DynamicTable is more appropriate for column-centric access, whereas a dataset with a compound type would be more appropriate for row-centric access. Finally, data size should also be taken into account. For small tables, performance loss may be an acceptable trade-off for the flexibility of a DynamicTable. For example, DynamicTable was originally developed for storing trial data and spike unit metadata. Both of these use cases are expected to produce relatively small tables, so the spatial locality of multiple datasets present in a DynamicTable is not expected to have a significant performance impact. Additionally, requirements of trial and unit metadata tables are sufficiently diverse that performance implications can be overlooked in favor of usability.
Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
__init__ uses __pydantic_self__ instead of the more common self for the first arg to allow self as a field name.
- Config:
validate_assignment: bool = True
validate_default: bool = True
extra: str = forbid
arbitrary_types_allowed: bool = True
use_enum_values: bool = True
- Fields:
- field colnames: str | None = None#
The names of the columns in this table. This should be used to specify an order to the columns.
- field vector_data: List[VectorData] | None [Optional]#
Vector columns of this dynamic table.
- field vector_index: List[VectorIndex] | None [Optional]#
Indices for the vector columns of this dynamic table.
- linkml_meta: ClassVar[LinkML_Meta] = FieldInfo(annotation=NoneType, required=False, default=LinkML_Meta(tree_root=True), frozen=True)#