cytoscape / cytoscape.js

Graph theory (network) library for visualisation and analysis
https://js.cytoscape.org
MIT License
10.06k stars 1.64k forks source link

Apache Arrow support #3234

Closed smith closed 5 months ago

smith commented 6 months ago

Description of new feature

Apache Arrow specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for efficient analytic operations on modern hardware.

There are many data analytics and observability platforms using Arrow.

The data format allows for some very efficient client-side rendering capabilities. See the article Efficiently loading massive D3 datasets using Apache Arrow for some examples.

If cytoscape.js supported this format, possibly through an extension, users would have smaller payload sizes for graph data transmitted over the network, and possibly eliminating overhead from JSON parsing.

I'm not sure how beneficial this would be, but would like to hear thoughts from the team about if it would be a useful thing.

I don't use neo4j, but it looks like (see Apache Arrow projection it supports directly importing and exporting graph data structures in this format, and you could imagine being able to export directly to a cytoscape.js graph.

Motivation for new feature

Supporting Apache Arrow could improve performance of rendering large graphs and allow for more interoperability with systems that are already using Arrow.

For reviewers

Reviewers should ensure that the following tasks are carried out for incorporated issues:

stale[bot] commented 6 months ago

This issue has been automatically marked as stale, because it has not had activity within the past 14 days. It will be closed if no further activity occurs within the next 7 days. If a feature request is important to you, please consider making a pull request. Thank you for your contributions.