Data name as HDF5 like path
We could support the path like approach to data names. This is used in the HDF5 and we could support it exactly the same way.
Data would be in groups
/directories
/namespaces
. For example:
data:
/sim_data/array: {type: array, subtype: int, size: 32} # the `/' at beginning is optional
/sim_data/matrix: {type: array, subtype: int, size: [32, 32]}
/vis_data/matrix: {type: array, subtype: int, size: [32, 32]}
This could be also written as:
data:
sim_data:
array: {type: array, subtype: int, size: 32}
matrix: {type: array, subtype: int, size: [32, 32]}
vis_data:
matrix: {type: array, subtype: int, size: [32, 32]}
This would be perfect for yaml include mechanism. If there is a lot of data in one group, each group can be defined in separate yaml file. Going with #80 issue it would look like this:
data:
sim_data:
!include "sim_data.yml"
vis_data:
!include "vis_data.yml"
Then for example in decl_hdf5
it could be used as follows:
decl_hdf5:
file: example.yaml
write: ["/sim_data/array", "/sim_data/matrix", "/vis_data/matrix"]
and it would create array
and matrix
datasets in sim_data
group and matrix
dataset in vis_data
group.
Then maybe we can support writing whole groups (all available data from group will be written) :
decl_hdf5:
file: example.yaml
write: ["/sim_data", "/vis_data"]