hdmf icon indicating copy to clipboard operation
hdmf copied to clipboard

Validating links across extensions can fail

Open rly opened this issue 4 years ago • 3 comments

Description

An IndexSeries type links to an ImageSeries. If an extension defines a new type ExtImageSeries that extends ImageSeries, then it should be valid for the IndexSeries to link to ExtImageSeries. However, validation fails.

This seems to be because the validator looks only at the current namespace and validates the types within that namespace, so ExtImageSeries is not known to the nwb.core namespace validator.

This is blocking correct validation of NWB files from the Allen Institute.

Environment

Python Executable: Conda
Python Version: Python 3.8
Operating System: Windows
HDMF Version: dev

Checklist

  • [x] Have you ensured the bug was not already reported ?
  • [x] Have you included a brief and descriptive title?
  • [x] Have you included a clear description of the problem you are trying to solve?
  • [x] Have you included a minimal code snippet that reproduces the issue you are encountering?
  • [x] Have you checked our Contributing document?

rly avatar Feb 24 '21 18:02 rly

@rly

This is blocking correct validation of NWB files from the Allen Institute.

My turf (icephys data)?

t-b avatar Feb 24 '21 18:02 t-b

@t-b This is actually for non-icephys data.

Further investigation reveals that the validator is correctly not validating against the nwb.core namespace directly. Instead, what happens is that the file contains four extensions which include the nwb.core namespace and only one of them knows about ExtImageSeries. So when validating the file against any of the other three namespaces that do not know about ExtImageSeries, validation of the IndexSeries fails.

rly avatar Feb 24 '21 19:02 rly

Hey @rly is this something I can mark for the next release on June 11?

mavaylon1 avatar May 13 '24 13:05 mavaylon1