attaching a header/MetaData to a BufferedDataTable

Hi all, I'm back to Knime dev after a few years,

I want to write a plugin that would read a tab-delimited file with a header. Something like this:

##Header
##TAG1=40
##TAG2=40
#COL1  COL2  COL3
1      TAG2   4
1      TAG1   5
1      TAG2   6

 

to get the semantics of the 2nd column (e.g TAG1), I need to have and access to the header (TAG1==40)

It I put my data in a BufferedDataTable, is there a way to 'attach 'the header to the table (as a String  is ok) , the header would follow the workflow + it would be saved when the workbench is closed.

 

What is the best way to achieve this ? Thanks.

 

Hi.

I don't think you can attach headers to a table, but maybe you could implement a custom cell type, with pointers to your internal lookup table? That seems more in line with the principles of the platform, and also more extensible in the future.

Thanks Marlin,

you meant that each CustomCell would carry a copy of the 'Header' ?  Wouldn't it  be a huge resource (with many data duplicated ) to save  ?

As an example the size of one header is  ~10k bytes

 

P.

Every data column spec can carry user-defined DataColumnProperties (essentially a map). There you can store your semantic column information.

@thor,

got it: https://tech.knime.org/docs/api/org/knime/core/data/DataColumnProperties.html

it looks like a nice solution, I will look at this

thanks !