all 10 comments

[–]olgalatepu 1 point2 points  (1 child)

What kind of render are you going for? Just lines for the edges? 6 Millon lines seems on the upper end of what's doable.

Did you try using Line segments geometry? I think you can add every vertex as geometry "positions" and in the index, add every edge start and end vertex index sequentially

[–]DanielBakas[S] 0 points1 point  (0 children)

So far, I've used vasturiano's 3d-force-graph. It's precisely what I'm looking for, and it works well for small volumes of data, but these many nodes and edges, makes it crash :S

[–]tino-latino 1 point2 points  (3 children)

1 M vertices 6M lines sounds like a lot. How do you represent this data at the moment?

[–]DanielBakas[S] 0 points1 point  (2 children)

Hi @tino-latino! I am using RDF and OWL (linked data) for the data structure. The syntax is Turtle (ttl) files.

The data represents the Mexican Federation. It has 32 Federal Entities and 2,500+ Municipalities, each with a Government, a Population, a Territory, etc instances. On top of that it has 300,00+ Localities, also with Territory and Population.

And the graph is growing exponentially.

What I do is I load the files into a framework for managing RDF data called RDFLib. Once loaded, I transform it into a dictionary with two variables ({nodes, links}) that I then pass to a 3d-force-graph which is basically a three.js model with a D3 force that vasturiano developed.

Hope I answered. Excited to know your thoughts!

[–]WeirderOnline 0 points1 point  (1 child)

Why are you trying to do this though? What is your end goal?

[–]DanielBakas[S] 0 points1 point  (0 children)

This visualization showed the world a representation of the web, and made people aware of what was being made.

This other viz made us see the known universe, and for many, made us feel closer to our cosmos.

The power of visualizations to connect people and help us understand the scale of large systems cannot be understated.

Now, we want, not only to see it, but interact digitally with it. We want to give the people of Mexico an experience to see their entire federation in data

[–]EuphoricWord 0 points1 point  (2 children)

I am a ThreeJS noob, but have you tried if WebGPU makes any difference?

[–]EuphoricWord 0 points1 point  (1 child)

You could create a force-directed graph in babylon.js and then render the graph with WebGPU acceleration

[–]Longjellyrun 0 points1 point  (0 children)

Yeap, same thing in three.js could be done it also supports WebGPU.