context.entities should be keyed based on the entity long name
還沒有人認領這個 Issue。
評估
研究方向
先檢視 context.py 中的資料型別到模態的對映,以及 issue 中提到的 schema.objects.entities 資料。閱讀 PR #74 的 BIDSSchemaAdapter 作法,並檢查 Dataset 物件如何攜帶它。完成的標準是實體鍵使用 "subject" 這類長名稱,而不是 "sub" 這類短名稱,並透過相關的私有函式重複使用 schema 對映。
由索引模型根據 Issue 內容生成。
描述
Noticed while reviewing #71: entities["sub"] is populated, rather than entities["subject"].
The schema consistently uses the long name, not the short name. This means we'll need to look up the mapping from schema.objects.entities, and we should probably do that once per schema.
I recently introduced https://github.com/childmindresearch/bids2table/pull/74 as a method for mapping schema specifiers onto an adapter class that extracts the bits the library actually needs. The basic idea is:
SchemaSpec: ty.TypeAlias = Namespace | os.PathLike[str] | str | None
def load_bids_schema(spec: SchemaSpec = None) -> BIDSSchemaAdapter: ...
def public_function(*args, schema: SchemaSpec = None) -> ReturnType:
return _private_function(*args, adapter=load_bids_schema(schema))
def _private_function(*args, adapter: BIDSSchemaAdapter) -> ReturnType: ...
BIDSSchemaAdapter is never exposed as a public API, but is able to be passed around cheaply throughout private functions.
We can start by replacing the datatype-to-modality map:
And a short-to-long entity name map would be good to have.
Need to consider how to actually thread this through. I suspect we attach the adapter to the Dataset object, so it's always available to the individual context.
- 主要語言
- Python
- 星號
- 10
- 分支
- 7
- PR 合併指標
- 30 天內沒有已合併 PR
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
bids-standard/python-validator 的其他 Issue
-
Add a structured issues model and emit findings from the filename validator可能已有人在做 @karellopez 於 80 天前認領。 未關閉enhancement
bids-standard/python-validator#85 · 1 則留言 · 已指派 1 人 ·
-
Populate associations context可能重新可做 @ubdbra001 於 114 天前認領,目前沒有進行中的 PR。 未關閉
bids-standard/python-validator#82 · 1 則留言 · 已指派 1 人 ·
-
performance
難度 5/5 一週以上 新手友好度 35/100
-
Validate Derivatives可能已有人在做 @bendhouseart 於 297 天前認領。 未關閉enhancement
bids-standard/python-validator#62 · 已指派 1 人 ·
-
難度 3/5 1-2 天 新手友好度 45/100
查看 bids-standard/python-validator 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 86/100
-
Validate finite output clamping limits in StepPredictor.prepare_clamping_params to prevent silent NaN/Inf propagation可能已有人在做 @muskan-creates352 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 84/100
mllam/neural-lam#848 ·
維護者通常 2 天內回覆
-
infra
難度 1/5 1 小時以內 新手友好度 88/100
fab-geocommuns/RNB-coeur#1166 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
deepspeedai/DeepSpeed#8951 ·
維護者通常 2 天內回覆