Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Representation of 1-dimensional value #12

Open
macie opened this issue Mar 23, 2024 · 1 comment
Open

Representation of 1-dimensional value #12

macie opened this issue Mar 23, 2024 · 1 comment

Comments

@macie
Copy link

macie commented Mar 23, 2024

Firstly, thanks for the inspiration, that I can use visible characters for semantic tables.

In example 1-dimensional-as-line the value a␟b␟ is mapped to ["a","b"]. Is that correct mapping?

If I understand well, USV has 4-D nature. And if the a␟b␟ is an implicit record, then it is also a member of an implicit group and file. In that way, the correct mapping should be: [[[["a","b"]]]].

I am asking, because I tried to implement a library and found the problems from the user perspective:

  • dynamic-dimension arrays are difficult to use - you may not know in advance how the data looks like
  • using special data structure isn't change anything.

BTW, I'm starting to understand, why separators for table & schema are not in common use. You can substitute them with plain files and directories. And you've got a better searchability and faster lookup at the small cost of disk usage (usually there are a lot more rows than tables).

@joelparkerhenderson
Copy link
Member

You're welcome, and thank you for the questions and ideas.

In example 1-dimensional-as-line the value a␟b␟ is mapped to ["a","b"]. Is that correct mapping?

Yes that's the intent.

If I understand well, USV has 4-D nature.

Yes the intent is it has any of 1D, 2D, 3D, 4D nature.

And if the a␟b␟ is an implicit record

No implicits. It's a explicit list with 1 dimension, not an implicit record.

dynamic-dimension arrays are difficult to use - you may not know in advance how the data looks like

Yes you're correct. I'm currently working on that in the various converters, such as among ASV, CSV, JSON, XLSX. Luckily there are only 4 options i.e. units as 1D, records as 2D, groups as 3D, files as 4D.

I'm starting to understand, why separators for table & schema are not in common use. You can substitute them with plain files and directories.

Yes and also a computer screen is 2D, which makes respresentations favor 2D data.

The gotcha (for me) is wanting to send data folios (such as XSLX workbook disk files), where each folio has groups (such as worksheet tabs). USV purposefully makes it very convenient to handle the workbooks and worksheets all together.

For example some Comma Separated Values users could have this kind of file system:

workbook-1-worksheet-1.csv
workbook-1-worksheet-2.csv
workbook-1-worksheet-3.csv
workbook-2-worksheet-1.csv
workbook-2-worksheet-2.csv
workbook-3-worksheet-3.csv
workbook-3-worksheet-3.csv
workbook-3-worksheet-3.csv

Or worse, could use a zip file of workbooks, that are each a zip file of the workbook's worksheets.

You say that you're implementing a library. I'm curious about this. Can you say more?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants