context.entities should be keyed based on the entity long name
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Beginne mit der Prüfung des Datentyp-zu-Modalität-Mappings in context.py und der im Issue erwähnten schema.objects.entities-Daten. Lies den Ansatz von PR #74 mit BIDSSchemaAdapter und untersuche, wie das Dataset-Objekt ihn enthalten könnte. Als erledigt gilt die Änderung, wenn Entity-Schlüssel lange Namen wie "subject" statt kurze Namen wie "sub" verwenden und das Schema-Mapping über die relevanten privaten Funktionen wiederverwendet wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 10
- Forks
- 7
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus bids-standard/python-validator
-
Add a structured issues model and emit findings from the filename validatorEvtl. vergeben @karellopez hat das vor 81 Tagen übernommen. Offenenhancement
bids-standard/python-validator#85 · 1 Kommentar · 1 zugewiesene Person ·
-
Populate associations contextEvtl. wieder frei @ubdbra001 hat das vor 115 Tagen übernommen, und es ist kein Pull Request offen. Offen
bids-standard/python-validator#82 · 1 Kommentar · 1 zugewiesene Person ·
-
performance
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
-
Validate DerivativesEvtl. vergeben @bendhouseart hat das vor 298 Tagen übernommen. Offenenhancement
bids-standard/python-validator#62 · 1 zugewiesene Person ·
-
Populate tiff contextOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
Alle Issues in bids-standard/python-validator
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
NousResearch/hermes-agent#147104 ·
Maintainer antworten meist innerhalb von 1 Tag
-
premises-missing
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
WingedGuardian/GENesis-AGI#3801 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[oblt-aw][autodoc] Document new required `shared-org-key` input for `obs-aw-dependency-review`Evtl. vergeben @github-actions hat das heute übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
Maintainer antworten meist innerhalb von 1 Tag
-
bot-triaged module: inductor oncall: pt2 topic: fuzzer triaged
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 4 Tagen