Closed yarikoptic closed 1 year ago
BTW, message says to look at nwb-schema/core/nwb.namespace.yaml
but there we have all those versions under https://github.com/NeurodataWithoutBorders/matnwb/tree/master/nwb-schema, not core/
(per each version). So what should be checked -- just availability of such a version folder under nwb-schema/
?
FWIW
(base) dandi@drogon:/mnt/backup/tmp/dandi/matnwb-fS6cSkk/matnwb/nwb-schema$ MATLABPATH=/mnt/backup/tmp/dandi/matnwb-fS6cSkk/matnwb:/mnt/backup/tmp/dandi/matnwb-fS6cSkk/matnwb/../out matlab -nodesktop -batch "util.getSchemaVersion('../../000004/sub-P10HMH/sub-P10HMH_ses-20060901_ecephys+image.nwb')"
ans =
'2.1.0'
so there is https://github.com/NeurodataWithoutBorders/matnwb/blob/master/nwb-schema/2.1.0/core/nwb.namespace.yaml
Hi @yarikoptic, Can you actually remove the generateCore
from the read script and rerun? Sometime after version 2.1.0
, the ElementIdentifiers
class was moved from core
to the hdmf-common
namespace. This error is usually an indicator of a namespace version conflict which is probably what's happening here.
FWIW, the run is ongoing but so far I see following similar issue(s) in following dandisets:
(dandisets-2) dandi@drogon:~/cronlib/dandisets-healthstatus$ grep -h 'cannot be converted to type' results/*/2023.02.0[2-9]*.log | sort | uniq -c
224 Value of type `types.core.ElementIdentifiers` cannot be converted to type
100 Value of type `types.hdmf_common.VectorData` cannot be converted to type
(dandisets-2) dandi@drogon:~/cronlib/dandisets-healthstatus$ grep -l 'cannot be converted to type' results/*/2023.02.0[2-9]*.log
results/000004/2023.02.02.16.56.48_matnwb_nwbRead_errors.log
results/000010/2023.02.02.16.56.50_matnwb_nwbRead_errors.log
results/000011/2023.02.02.16.56.51_matnwb_nwbRead_errors.log
results/000039/2023.02.07.14.33.09_matnwb_nwbRead_errors.log
are such errors of the same "type/cause"?
Cannot define property 'strain' in class
'types.ndx_aibs_ecephys.EcephysSpecimen' because the property has already been
defined in the superclass 'types.core.Subject'.
(dandisets-2) dandi@drogon:~/cronlib/dandisets-healthstatus$ grep -l 'because the property has already been' results/*/2023.02.0[2-9]*.log
results/000021/2023.02.05.11.32.02_matnwb_nwbRead_errors.log
results/000022/2023.02.05.19.19.37_matnwb_nwbRead_errors.log
(dandisets-2) dandi@drogon:~/cronlib/dandisets-healthstatus$ grep -h 'because the property has already been' results/*/2023.02.0[2-9]*.log | sort | uniq -c
8 'types.ndx_aibs_ecephys.EcephysProbe' because the property has already been
371 'types.ndx_aibs_ecephys.EcephysSpecimen' because the property has already been
?
are such errors of the same "type/cause"?
Cannot define property 'strain' in class 'types.ndx_aibs_ecephys.EcephysSpecimen' because the property has already been defined in the superclass 'types.core.Subject'.
(dandisets-2) dandi@drogon:~/cronlib/dandisets-healthstatus$ grep -l 'because the property has already been' results/*/2023.02.0[2-9]*.log results/000021/2023.02.05.11.32.02_matnwb_nwbRead_errors.log results/000022/2023.02.05.19.19.37_matnwb_nwbRead_errors.log
(dandisets-2) dandi@drogon:~/cronlib/dandisets-healthstatus$ grep -h 'because the property has already been' results/*/2023.02.0[2-9]*.log | sort | uniq -c 8 'types.ndx_aibs_ecephys.EcephysProbe' because the property has already been 371 'types.ndx_aibs_ecephys.EcephysSpecimen' because the property has already been
?
No this looks like either a schema error or something that requires a workaround in MATLAB.
Please let me know if I should file them as a separate issue
Hi, sorry for missing this yesterday. Yes, this looks like a separate issue, please submit a new one for this issue.
On 2023-02-08 19:57, Yaroslav Halchenko wrote:
Please let me know if I should file them as a separate issue
What happened?
in the fresh run of https://github.com/dandi/dandisets-healthstatus saw in the logs
following error
```shell Asset: sub-P10HMH/sub-P10HMH_ses-20060901_ecephys+image.nwb Output: Error using assert Unexpected properties {help}. Your schema version may be incompatible with the file. Consider checking the schema version of the file with `util.getSchemaVersion(filename)` and comparing with the YAML namespace version present in nwb-schema/core/nwb.namespace.yaml Error in types.util.checkUnset (line 13) assert(isempty(dropped),... ... ```but when I reproduced "from scratch" using https://github.com/dandi/dandisets-healthstatus/blob/main/code/checknwb.sh got for both released and master version:
Does initial message state that we have something outdated while doing healthcheck sweep? (attn @jwodder)?
How to open such a file using matnwb?
Steps to Reproduce
get the script and datalad
Error Message
No response
Operating System
Linux
Matlab Version
R2022b Update 1 (9.13.0.2080170) 64-bit (glnxa64)
Code of Conduct