diff --git a/docs/intro/translation.md b/docs/intro/translation.md index a7dec83..613b93f 100644 --- a/docs/intro/translation.md +++ b/docs/intro/translation.md @@ -308,7 +308,7 @@ There are several different ways to create references between objects in nwb/hdm - Implicitly, hdmf creates references between objects according to some naming conventions, eg. an attribute/dataset that is a `VectorIndex` named `mydata_index` will be linked to a `VectorData` object `mydata`. -- There is currrently a note in the schema language docs that there will be an additional +- There is currently a note in the schema language docs that there will be an additional [Relationships](https://schema-language.readthedocs.io/en/latest/description.html#relationships) system that explicitly models relationships, but it is unclear how that would be different than references. diff --git a/nwb_linkml/src/nwb_linkml/adapters/adapter.py b/nwb_linkml/src/nwb_linkml/adapters/adapter.py index 6823bb0..72f4248 100644 --- a/nwb_linkml/src/nwb_linkml/adapters/adapter.py +++ b/nwb_linkml/src/nwb_linkml/adapters/adapter.py @@ -26,7 +26,7 @@ from linkml_runtime.linkml_model import ( ) from pydantic import BaseModel -from nwb_schema_language import Attribute, Dataset, Group, Schema, CompoundDtype +from nwb_schema_language import Attribute, CompoundDtype, Dataset, Group, Schema if sys.version_info.minor >= 11: from typing import TypeVarTuple, Unpack diff --git a/nwb_linkml/src/nwb_linkml/adapters/attribute.py b/nwb_linkml/src/nwb_linkml/adapters/attribute.py index c7ebd19..ddf6edb 100644 --- a/nwb_linkml/src/nwb_linkml/adapters/attribute.py +++ b/nwb_linkml/src/nwb_linkml/adapters/attribute.py @@ -3,12 +3,12 @@ Adapters for attribute types """ from abc import abstractmethod -from typing import ClassVar, Optional, TypedDict, Type +from typing import ClassVar, Optional, Type, TypedDict from linkml_runtime.linkml_model.meta import SlotDefinition +from nwb_linkml.adapters.adapter import Adapter, BuildResult, is_1d from nwb_linkml.adapters.array import ArrayAdapter -from nwb_linkml.adapters.adapter import BuildResult, is_1d, Adapter from nwb_linkml.maps import Map from nwb_linkml.maps.dtype import handle_dtype from nwb_schema_language import Attribute @@ -24,16 +24,19 @@ def _make_ifabsent(val: str | int | float | None) -> str | None: elif isinstance(val, float): return f"float({val})" else: - return str(value) + return str(val) class AttrDefaults(TypedDict): + """Default fields for an attribute""" + equals_string: str | None equals_number: float | int | None ifabsent: str | None class AttributeMap(Map): + """Base class for attribute mapping transformations :)""" @classmethod def handle_defaults(cls, attr: Attribute) -> AttrDefaults: diff --git a/nwb_linkml/src/nwb_linkml/adapters/dataset.py b/nwb_linkml/src/nwb_linkml/adapters/dataset.py index bcbd109..824fe84 100644 --- a/nwb_linkml/src/nwb_linkml/adapters/dataset.py +++ b/nwb_linkml/src/nwb_linkml/adapters/dataset.py @@ -7,7 +7,7 @@ from typing import ClassVar, Optional, Type from linkml_runtime.linkml_model.meta import ArrayExpression, SlotDefinition -from nwb_linkml.adapters.adapter import BuildResult, is_1d, is_compound, has_attrs +from nwb_linkml.adapters.adapter import BuildResult, has_attrs, is_1d, is_compound from nwb_linkml.adapters.array import ArrayAdapter from nwb_linkml.adapters.classes import ClassAdapter from nwb_linkml.maps import QUANTITY_MAP, Map diff --git a/nwb_linkml/src/nwb_linkml/adapters/group.py b/nwb_linkml/src/nwb_linkml/adapters/group.py index 451cb4c..13a03b7 100644 --- a/nwb_linkml/src/nwb_linkml/adapters/group.py +++ b/nwb_linkml/src/nwb_linkml/adapters/group.py @@ -2,7 +2,7 @@ Adapter for NWB groups to linkml Classes """ -from typing import Type, List +from typing import List, Type from linkml_runtime.linkml_model import SlotDefinition diff --git a/nwb_linkml/src/nwb_linkml/maps/dtype.py b/nwb_linkml/src/nwb_linkml/maps/dtype.py index 0cc7c79..26d25a6 100644 --- a/nwb_linkml/src/nwb_linkml/maps/dtype.py +++ b/nwb_linkml/src/nwb_linkml/maps/dtype.py @@ -7,6 +7,7 @@ from typing import Any, Type import nptyping import numpy as np + from nwb_schema_language import CompoundDtype, DTypeType, FlatDtype, ReferenceDtype flat_to_linkml = {