dandi / dandi/dandi-schema

Establish at least 8 issues for specific groups of problems in converted linkml

Open
#388 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
7
Forks
15
PR merge metrics
No merged PRs in 30d

Description

I see ATM

```
❯ git grep -h -A1 'pydantic2linkml:' dandischema/models.yaml | sed -e 's,^ *,,g' | tr '\n' ' ' | sed -e 's,--,\n,g' | sed -e 's,schemaKey field in the .*,schemaKey field,g' -e 's,fter validation function.*,fter validation function,g' -e 's,Impossible to generate slot usage entry for the.*,Impossible to generate slot usage entry for the,g' | sort | uniq -c | sort -n | nl
1 1 - 'pydantic2linkml: Unable to express the default factory, at 0xADDRESS>, in LinkML.' - 'pydantic2linkml: Unable to translate the logic contained in the after validation function
(subissue created) 2 2 - 'pydantic2linkml: LinkML does not have support for `''+inf''`, `''-inf''`, and `''NaN''` values. Support for these values is not translated.'
3 2 - 'pydantic2linkml: Warning: LinkML does not support multiple inheritance. Publishable is not specified as a parent, through the `is_a` meta slot, but as a mixin.'
(subissue created) 4 4 - 'pydantic2linkml: LinkML does not have direct support for max length constraints. The max length constraint of 150 is incorporated into the pattern of the
(subissue created) 5 7 - 'pydantic2linkml: Unable to express the microseconds precision constraint of truncate. LinkML lacks direct support for this restriction.'
6 11 - 'pydantic2linkml: Unable to translate the logic contained in the after validation function
7 17 - 'pydantic2linkml: Unable to translate the logic contained in the wrap validation function, .wrap_val
(subissue created) 8 54 - 'pydantic2linkml: Impossible to generate slot usage entry for the
```

and we need an issue per each like

- https://github.com/dandi/pydantic2linkml/issues/46

and to be added to https://github.com/orgs/dandi/projects/27/views/1 .

Ultimate goal: could we produce pydantic model such that would allow to load existing manifest files, in particular

those released recently as of 0.7.0 -- but also assets.jsonld not only the dandisets

```shell
dandi@drogon:/mnt/backup/dandi/dandiset-manifests$ for f in */0.*/dandiset.jsonld ; do echo -en "$f:\t"; jq -r -r '"\(.schemaVersion) \(.doi)"' $f; done | grep '0\.7\.0'
001688/0.251231.0329/dandiset.jsonld: 0.7.0 null
001689/0.251225.2239/dandiset.jsonld: 0.7.0 null
001692/0.260303.1724/dandiset.jsonld: 0.7.0 null
001695/0.260319.2023/dandiset.jsonld: 0.7.0 null
001701/0.260120.0303/dandiset.jsonld: 0.7.0 null
001702/0.260216.2323/dandiset.jsonld: 0.7.0 null
001710/0.260212.2225/dandiset.jsonld: 0.7.0 null
001710/0.260213.0329/dandiset.jsonld: 0.7.0 null
001748/0.260217.1916/dandiset.jsonld: 0.7.0 null
001749/0.260311.1727/dandiset.jsonld: 0.7.0 null
001753/0.260220.1838/dandiset.jsonld: 0.7.0 null
001754/0.260227.0029/dandiset.jsonld: 0.7.0 null
001754/0.260227.0031/dandiset.jsonld: 0.7.0 null
001767/0.260318.1448/dandiset.jsonld: 0.7.0 null
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.