Stream-in data and visualize them in Gephi
Posted: 31 Oct 2013 20:39
Hi, all,
I'm new to Gephi and not familiar with JAVA programming (but I'm learning).
My project is like this:
I have a dynamic large graph (a friendship network on facebook, a retweet network on Twitter, a paper-paper citation network in Computer Science, etc.). All are dynamic in nature. Given the stream-in edges (or nodes) of these network, visualize them and then people can see how the network structure evolves.
But some requirements here:
Low-level communication with Gephi, which means I would not double-click gephi.exe to start gephi, or create a new project and new workspace by manually clicking those buttons in Gephi software. I want to use Gephi's API to do that automatically.
Ideally, when I start run my own project, my program will communication with Gephi in a low-level programming way, and create a new project, a new workspace in Gephi automatically. Then my program will read the stream-in edges (nodes) from a certain source (it could be a data file). Since Gephi provides the Graph Streaming API https://marketplace.gephi.org/plugin/graph-streaming/, then I'm gonna use that API to initiate a server (Gephi is the master server). The server will receive those come-in edges and display them in a dynamic fashion (using ForceAtlas layout algorithm) in an Applet.
I've done a lot of survey job, regarding Gephi's API, Graph Streaming API, toolkit, and so on.
And I've found some interesting examples from GitHub and :
https://github.com/panisson/pygephi_graphstreaming
https://gephi.org/2012/gsoc-interconnec ... aphstream/
https://github.com/graphstream/gs-gephi
And I can do all the stuff by using Gephi software and mouse clicking on the related buttons. But I wanna do those without explicitly double-clicking and running my Gephi.exe.
But I still cannot figure out how to conduct my own project. Or is it possible to complete the task as I described?
I've tried Gephi's toolkit using Jython (since I'm quite familiar with Python language), but the fact is that Gephi's toolkit doesn't provide the functions of Gephi's Graph Streaming API. I also tried to find Gephi's Graph Streaming API, but I cannot find the source code. Even though Gephi provides the API for Preview, I'm not sure if I can display a dynamic graph using this preview API.
So I cannot find my way towards that thing right now. Could anybody please give me some hints, or suggestions? I'd appreciate that.
I'm new to Gephi and not familiar with JAVA programming (but I'm learning).
My project is like this:
I have a dynamic large graph (a friendship network on facebook, a retweet network on Twitter, a paper-paper citation network in Computer Science, etc.). All are dynamic in nature. Given the stream-in edges (or nodes) of these network, visualize them and then people can see how the network structure evolves.
But some requirements here:
Low-level communication with Gephi, which means I would not double-click gephi.exe to start gephi, or create a new project and new workspace by manually clicking those buttons in Gephi software. I want to use Gephi's API to do that automatically.
Ideally, when I start run my own project, my program will communication with Gephi in a low-level programming way, and create a new project, a new workspace in Gephi automatically. Then my program will read the stream-in edges (nodes) from a certain source (it could be a data file). Since Gephi provides the Graph Streaming API https://marketplace.gephi.org/plugin/graph-streaming/, then I'm gonna use that API to initiate a server (Gephi is the master server). The server will receive those come-in edges and display them in a dynamic fashion (using ForceAtlas layout algorithm) in an Applet.
I've done a lot of survey job, regarding Gephi's API, Graph Streaming API, toolkit, and so on.
And I've found some interesting examples from GitHub and :
https://github.com/panisson/pygephi_graphstreaming
https://gephi.org/2012/gsoc-interconnec ... aphstream/
https://github.com/graphstream/gs-gephi
And I can do all the stuff by using Gephi software and mouse clicking on the related buttons. But I wanna do those without explicitly double-clicking and running my Gephi.exe.
But I still cannot figure out how to conduct my own project. Or is it possible to complete the task as I described?
I've tried Gephi's toolkit using Jython (since I'm quite familiar with Python language), but the fact is that Gephi's toolkit doesn't provide the functions of Gephi's Graph Streaming API. I also tried to find Gephi's Graph Streaming API, but I cannot find the source code. Even though Gephi provides the API for Preview, I'm not sure if I can display a dynamic graph using this preview API.
So I cannot find my way towards that thing right now. Could anybody please give me some hints, or suggestions? I'd appreciate that.