News for hackers. Stuff that matters.
Re:How to build a graph visualization engine by mbuda on Friday September 16, 2022 @01:31PM (#32869374)
Check out the Github repo https://github.com/memgraph/orb, it's Apache-2, with a lot of thinking around the software design :D
Re:How to build a graph visualization engine by stuntkite on Friday September 16, 2022 @01:44PM (#32869553)
This looks pretty clunky. Is this what Neo4j uses in their viewer? It feels like it's related.
Re:How to build a graph visualization engine by taubek on Friday September 16, 2022 @01:57PM (#32869726)
No, Neo4j doesn't use Orb. Orb was released just recently.
Re:How to build a graph visualization engine by mbuda on Friday September 16, 2022 @02:04PM (#32869823)
It's not, it's also based on d3 (like Neo4j viewer I think), but build from from 0
Re:How to build a graph visualization engine by stuntkite on Friday September 16, 2022 @02:26PM (#32870113)
The code giving a "lot of thought to software design" must be pretty good, because this looks like Java Graybeard garbage to me. Yeah, that's a caustic statement. I'm not trying to say that people who made it didn't do a good job, but the display is just.... Not good enough. They need to find a team member to help them get out of 20 years ago with this stuff. If anyone that is working on this reads this. That's my thought. I am not taking shots at your work. It does look well organized, but I cannot see a reason I would choose this.
Re:How to build a graph visualization engine by justtoni on Friday September 16, 2022 @03:16PM (#32870734)
What would you expect from a display to be good enough?

Just as a note, Orb is not there to compete with high volume graph visualizations like Cosmograph, Graphistry, Linkurious. It is more as a child from d3 and vis.js, which are great libraries, that uses d3 simulation and vis-like canvas rendering. We really liked what vis.js team did with the styling of the graph and how you can customize it - this is often a limitation for high volume graph visualizations.

We could also discuss about the analytics usability of seeing a graph with 1 billion nodes. It is definitely awesome, but it is too much data to grasp on as a user seeing it. Clustering or other graph algorithms would help. I think the question is: What is the maximum graph size (number of nodes/edges) when it becomes hard to get any useful visual information expect the graph global state? (e.g. seeing a bar chart with 365 columns (days) is harder to read than a bar chart with a smaller sampling, e.g. per week or month).

I don't know the answer to this, but maybe you will have due to your experience with graph visualizations.

Re:How to build a graph visualization engine by stuntkite on Friday September 16, 2022 @05:16PM (#32872100)
You are right. This is a fine rendering layer for datasets of the right size. The space I exist in and am interested in demands a bit more. I think it's just a difference in scale. I do think the article is wrong though. I think we need more graph vis engines of all scales. I think the marketplace for them is just starting to be cracked and there is plenty of room.
Re:How to build a graph visualization engine by kasupe on Friday September 16, 2022 @02:10PM (#32869916)
What does Neo4j use?
Re:How to build a graph visualization engine by cizl on Friday September 16, 2022 @02:33PM (#32870224)
Neo4j uses a fork of VisJS. They call it NeoVis. We didn't go that route because vis-network is tightly coupled and has a lot of calls to the browser window reference which doesn't work in a WebWorker environment. So simulations end up blocking the main thread.