I’d like to access/index columns by non-positional indices (in my case integer identifiers, but could include strings in the general case).
Sounds like I’m looking for “Axes Labels” , which are mentioned briefly in the data model.
In this comment @stavros says,
Today you can manually add axes labels in TileDB and mimic what NetCDF does by creating a 1D sparse array per dimension, where the dimension values are the labels (even of string type) and the attribute values (in the TileDB terminology) are the positional indices along that dimension.
Also in May 2020 I see:
We just announced TileDB 2.0 that adds support for string and heterogeneous dimensions to sparse arrays. Axes labels can now be implemented by “attaching” any sparse array (acting practically as any dataframe) by mapping coordinates (e.g., string labels) to positional indices. Currently, the user must do it manually.
It looks like this ticket is tracking Axes Labels, but it’s been “in progress” since Apr 2020.
So my question is, have Axes Labels been implemented, and if so how can they be used?
I’m not worried about adding/accessing the Axes Labels manually. Ultimately I just want a quick way to look up identifiers and map them to column (or row) numbers (some kind B-tree lookup perhaps?)
NB I’m working in Python if that makes a difference!
Thanks!