BlueBrain / BlueBrain/nexus

Preview plugin: JSON Table Viewer

Open
#2,600 0 comments 0 reactions 0 assignees View on GitHub
fusion fusion-plugin investigation
Dominant language
Scala
Stars
301
Forks
76
PR merge metrics
No merged PRs in 30d

Description

**Waiting for requests from scientists and a use case before implementation.**

Follow up on https://github.com/BlueBrain/nexus/issues/2565

It was mentioned by scientists that they might move from XML to JSON files for pipeline results.

The current idea would be to "flatten" the JSON; the columns of the table are all the possible "leaves" of the JSON object.

If there is one JSON, this could be a 2-column table: the first column with the leaves' path, and the second with the values.
If there are multiple JSON files, the header would be the leaves' path, and each row would be one JSON file.

Example:

```jsonld
{
"name": "bbp",
"address": {
"city" : {
"label":"Geneva",
"postcode":"1202"
},
"country": {
"label":"Switzerland",
"code":"CH"
}
}
}
```

| name | address.city.label | address.city.postcode | address.country.label | address.country.code |
|-------|------------------|-----------------------|-----------------------|-----------------------|
| bbp | Geneva | 1202 | Switzerland | CH |

| Property | Value |
|----------|-------|
| name | bbp |
| address.city.label | Geneva |
| address.city.postcode | 1202 |
| address.country.label | Switzerland |
| address.country.code | CH |

Resources:

https://github.com/Growmies/json-to-table

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by reviewing the linked issue 2565 and the json-to-table resource, then confirm a scientist use case and the required flattening behavior for one or multiple JSON files. Done means the requirements and table output are agreed before implementation begins.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.