GraphSharp to represent twitter data

Jun 20, 2013 at 9:58 PM
I am working on a project which deals with grouping the twitter users based on hash-tags. I am storing the tweets in a local database . I want to know if GraphSharp can be used to represent high volumes of twitter data. Also, is it possible to apply some group detection algorithms using GraphSharp. Thanks.
Jun 21, 2013 at 5:53 AM
Hi! Let me advice you to look at my project: http://graphx.codeplex.com as it is based on Graph# and provides musch more extensibility and features. Surely you can use Graph# too if you want, but i think GraphX will provide more performance in rendering.
  1. High volumes of data still depends on numbers. While performance still can be good with numbers around 3000 it can greatly degrade for higher numbers. Also you can make special tweaks that depends on the features you want to have with the displayed graph, for ex. you can use DrawVisual rendering for faster drawing but this will decline all autofeatures such as templates, dragging and highlighting (you have to tweak it manually then).
  2. I'll advice you to use the LinLog algorithm for object grouping. It uses edge weights to decide which vertices will be grouped and how close they are will be to each other so with a large graph you can surely see how they are grouped together.
Jun 26, 2013 at 2:44 PM
Hi Panthernet,

I am looking for a tool that can visualize tweets similar to http://mentionmapp.com/. Can Graphx achieve similar functionality ?
Jun 26, 2013 at 3:16 PM
Well, with GraphX you can do everything. But not out of the box ofcause. Mentionmapp implementation have very dynamic layout that is recalculated in real-time (i suppose some physics algorithms are used there) opposing to GraphX that support static layout with the ability to manually drag vertices.
All other visual stuff can be implemented using XAML templates along with the highlighting.

I think Mentionapp layout style can be implemented in GraphX using CompoundFDP layout that has been added to sources recently (not in the release yet).

Dynamic layouting is cool feature but IMHO it is more effecient to work with the good static layout as nothing is moving, overlapping and blinking :) I think dynamic layout can be implemented in GraphX but it must be coded manualy. It is interesting task to join graph layout with some phys engine.
Jun 26, 2013 at 4:34 PM
Thanks.

Is the drill down functionality available ? For instance, let A be the parent vertex. In the initial load, I just want to load a graph with the parent vertex and its first level children. When I click on any of the children , I should get a new graph with the clicked vertex as the current parent and the children surrounding it.
Jun 26, 2013 at 6:10 PM
Can you provide a sample application which shows the graph control data binding ?
Jun 26, 2013 at 9:30 PM
Edited Jun 26, 2013 at 9:30 PM
Can you provide a sample application which shows the graph control data binding ?
You can look at Showcase app in the sources: there are a lot of examples. Source files are stable and contains latest version till i assemble many features for the next release.
Is the drill down functionality available ?
I've done smth like that for my own needs. All you need to do is to bind to VertexSelected (or VertexDoubleClick or smth) event of the GraphArea and regenerate graph (Optionaly clear old info and add new vertices and edges). You can find how to do it in the Showcase app.