Hi Pascal, From your email examples this looks promising. I'll need to spend a bit of time with your repo though to get a better understanding of what is going on here & what I think about it. Thanks!
On Mon, Feb 14, 2022 at 12:27 PM 'Pascal Jasmin' via Programming < programm...@jsoftware.com> wrote: > updated kv to support inverted tables. > > https://github.com/Pascal-J/kv/blob/main/kv.ijs > > > output for these functions are near bottom of > https://raw.githubusercontent.com/Pascal-J/kv/main/README.md > > 'Id Name Job Status' kv ,.&.:>"1 |: maybenum each > ','cut each cutLF 0 : > 0 NB. from your example > > 3,Jerry,Unemployed,Married > 6,Jan,CEO,Married > 5,Frieda,student,Single > 1,Alex,Waiter,Separated > ) > > > A one line dsl version: > > itdsl kvdsL 'Id Name Job Status `3 6 5 1 ; Jerry Jan Frieda Alex > ;Unemployed:CEO:student:Waiter; Married Married Single Separated' > NB. note extra garbage spaces > > In a dictionary, inverted tables are stored as key(fieldname), and > associated boxed table (field value that can be longer than 1 char per > value). > > I have an inverted table display (keys as column headers) too. That can > optionally filter just the fields you wish > > A query that retrieves records where Job is 'CEO' or 'student' then > displays in IT format > > itdisp ('CEO;student' padstrmatch 'Job' kvget ]) kvQ it_kvtest_ > > or partial 3 column display without the special ; parsing > > 'Id Name Job' itdisp1 (('CEO';'student') padstrmatch 'Job' kvget ]) kvQ it > > kvQ is a "query engine" (too simple to call it that) that takes a boolean > function to filter records "on set of properties/fields" > > Basically an inverted table as a dictionary is a dictionary that only > contains the properties corresponding to fields. Because kv can store > other dictionaries, if you have additional information to store, it can be > in "peer" keys to your IT dictionary. > > > > > On Sunday, February 13, 2022, 08:49:02 a.m. EST, Ric Sherlock < > tikk...@gmail.com> wrote: > > > > > > Inspired by recent threads, I've started experimenting with a DataFrame > structure in J. > I began by building off the 'general/misc/inverted' utilities so that a > DataFrame is just a 2-row table, where the first row is a list of labels & > the 2nd is an inverted table. > > It can be installed as 'tables/dataframe' from the following github > repository: https://github.com/tikkanz/jdataframe > > The JArrow bindings that Aaron pointed me at a while back represent a > similar data structure as a 2-column table where the labels are in the > first column and the "columns" are rows in the 2nd column. > (https://github.com/tikkanz/JArrow) > I think I need to play with both for a while to see which works better. > > Obviously there is a lot more to do, but I thought I'd share in case anyone > has any thoughts, suggestions or wants to help take the idea further. > Ric > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm