hdmf_experimental_resources

class ConfiguredBaseModel(*, hdf5_path: str | None = None, object_id: str | None = None)

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.

self is explicitly positional-only to allow self as a field name.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

hdf5_path: str | None
object_id: str | None
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_fields: ClassVar[dict[str, FieldInfo]] = {'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'object_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Unique UUID for each object')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class LinkMLMeta(root: RootModelRootType = PydanticUndefined)

Bases: RootModel

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.

self is explicitly positional-only to allow self as a field name.

root: Dict[str, Any]
model_config: ClassVar[ConfigDict] = {'frozen': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_fields: ClassVar[dict[str, FieldInfo]] = {'root': FieldInfo(annotation=Dict[str, Any], required=False, default={})}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class ExternalResources(*, hdf5_path: str | None = None, object_id: str | None = None, name: str, keys: ExternalResourcesKeys, entities: ExternalResourcesEntities, resources: ExternalResourcesResources, objects: ExternalResourcesObjects, object_keys: ExternalResourcesObjectKeys)

Bases: Container

A set of four tables for tracking external resource references in a file. NOTE: this data type is in beta testing and is subject to change in a later version.

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.

self is explicitly positional-only to allow self as a field name.

linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta(root={'from_schema': 'hdmf-experimental.resources', 'tree_root': True})
name: str
keys: ExternalResourcesKeys
entities: ExternalResourcesEntities
resources: ExternalResourcesResources
objects: ExternalResourcesObjects
object_keys: ExternalResourcesObjectKeys
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'entities': FieldInfo(annotation=ExternalResourcesEntities, required=True, description='A table for mapping user terms (i.e., keys) to resource entities.'), 'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'keys': FieldInfo(annotation=ExternalResourcesKeys, required=True, description='A table for storing user terms that are used to refer to external resources.'), 'name': FieldInfo(annotation=str, required=True), 'object_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Unique UUID for each object'), 'object_keys': FieldInfo(annotation=ExternalResourcesObjectKeys, required=True, description='A table for identifying which objects use which keys.'), 'objects': FieldInfo(annotation=ExternalResourcesObjects, required=True, description='A table for identifying which objects in a file contain references to external resources.'), 'resources': FieldInfo(annotation=ExternalResourcesResources, required=True, description='A table for mapping user terms (i.e., keys) to resource entities.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class ExternalResourcesKeys(*, hdf5_path: str | None = None, object_id: str | None = None, name: Literal['keys'] = 'keys', key: str)

Bases: Data

A table for storing user terms that are used to refer to external resources.

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.

self is explicitly positional-only to allow self as a field name.

linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta(root={'from_schema': 'hdmf-experimental.resources'})
name: Literal['keys']
key: str
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'key': FieldInfo(annotation=str, required=True, description="The user term that maps to one or more resources in the 'resources' table."), 'name': FieldInfo(annotation=Literal['keys'], required=False, default='keys', json_schema_extra={'linkml_meta': {'equals_string': 'keys', 'ifabsent': 'string(keys)'}}), 'object_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Unique UUID for each object')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class ExternalResourcesEntities(*, hdf5_path: str | None = None, object_id: str | None = None, name: Literal['entities'] = 'entities', keys_idx: uint64, resources_idx: uint64, entity_id: str, entity_uri: str)

Bases: Data

A table for mapping user terms (i.e., keys) to resource entities.

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.

self is explicitly positional-only to allow self as a field name.

linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta(root={'from_schema': 'hdmf-experimental.resources'})
name: Literal['entities']
keys_idx: np.uint64
resources_idx: np.uint64
entity_id: str
entity_uri: str
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'entity_id': FieldInfo(annotation=str, required=True, description='The unique identifier entity.'), 'entity_uri': FieldInfo(annotation=str, required=True, description='The URI for the entity this reference applies to. This can be an empty string.'), 'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'keys_idx': FieldInfo(annotation=uint64, required=True, description="The index to the key in the 'keys' table."), 'name': FieldInfo(annotation=Literal['entities'], required=False, default='entities', json_schema_extra={'linkml_meta': {'equals_string': 'entities', 'ifabsent': 'string(entities)'}}), 'object_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Unique UUID for each object'), 'resources_idx': FieldInfo(annotation=uint64, required=True, description="The index into the 'resources' table")}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class ExternalResourcesResources(*, hdf5_path: str | None = None, object_id: str | None = None, name: Literal['resources'] = 'resources', resource: str, resource_uri: str)

Bases: Data

A table for mapping user terms (i.e., keys) to resource entities.

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.

self is explicitly positional-only to allow self as a field name.

linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta(root={'from_schema': 'hdmf-experimental.resources'})
name: Literal['resources']
resource: str
resource_uri: str
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'name': FieldInfo(annotation=Literal['resources'], required=False, default='resources', json_schema_extra={'linkml_meta': {'equals_string': 'resources', 'ifabsent': 'string(resources)'}}), 'object_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Unique UUID for each object'), 'resource': FieldInfo(annotation=str, required=True, description='The name of the resource.'), 'resource_uri': FieldInfo(annotation=str, required=True, description='The URI for the resource. This can be an empty string.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class ExternalResourcesObjects(*, hdf5_path: str | None = None, object_id: str, name: Literal['objects'] = 'objects', field: str)

Bases: Data

A table for identifying which objects in a file contain references to external resources.

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.

self is explicitly positional-only to allow self as a field name.

linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta(root={'from_schema': 'hdmf-experimental.resources'})
name: Literal['objects']
object_id: str
field: str
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'field': FieldInfo(annotation=str, required=True, description='The field of the object. This can be an empty string if the object is a dataset and the field is the dataset values.'), 'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'name': FieldInfo(annotation=Literal['objects'], required=False, default='objects', json_schema_extra={'linkml_meta': {'equals_string': 'objects', 'ifabsent': 'string(objects)'}}), 'object_id': FieldInfo(annotation=str, required=True, description='The UUID for the object.')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.

class ExternalResourcesObjectKeys(*, hdf5_path: str | None = None, object_id: str | None = None, name: Literal['object_keys'] = 'object_keys', objects_idx: uint64, keys_idx: uint64)

Bases: Data

A table for identifying which objects use which keys.

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.

self is explicitly positional-only to allow self as a field name.

linkml_meta: ClassVar[LinkMLMeta] = LinkMLMeta(root={'from_schema': 'hdmf-experimental.resources'})
name: Literal['object_keys']
objects_idx: np.uint64
keys_idx: np.uint64
model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'strict': False, 'use_enum_values': True, 'validate_assignment': True, 'validate_default': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_fields: ClassVar[dict[str, FieldInfo]] = {'hdf5_path': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='The absolute path that this object is stored in an NWB file'), 'keys_idx': FieldInfo(annotation=uint64, required=True, description="The index to the 'keys' table for the key."), 'name': FieldInfo(annotation=Literal['object_keys'], required=False, default='object_keys', json_schema_extra={'linkml_meta': {'equals_string': 'object_keys', 'ifabsent': 'string(object_keys)'}}), 'object_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='Unique UUID for each object'), 'objects_idx': FieldInfo(annotation=uint64, required=True, description="The index to the 'objects' table for the object that holds the key.")}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

This replaces Model.__fields__ from Pydantic V1.