load adjacency list

Dec 29, 2009 at 5:04 PM


I have an adjacency list which is stored within the following structure

List<Tuple> names = new List<Tuple>();

where <tuple> has the following structure

Tuple(string node1, string node2).

The data in the list names is something like





Within the XL version I can load this list as a set of edges and the tool will graph the transitive closure of the two graphs, one with 'alice,bob,john' and the other  with just 'robert,ann'. Assuming we label these two output graphs 1 and 2  I would like to first create a graph which loads the list names within c#, then  secondly (which I think is probably quite easy once the data is loaded) is to then extract a list something like the following containing each verticie and its graph number.






How does one go about doing this in c# once NODEXL is loaded into visual studio. I can't find any simple examples in the notes.





Dec 30, 2009 at 3:50 AM


I believe what you want to do is compute your graph's strongly connected components.  (A definition is at http://en.wikipedia.org/wiki/Strongly_connected_components.)  We have a work item to add an algorithm to the Microsoft.NodeXL.Algorithms namespace to do that, but it is not yet implemented.  If you want to do it yourself, here is an article that outlines one such algorithm:


NodeXL graphs are represented by the Microsoft.NodeXL.Core.Graph class, so that is the object you would have to traverse within your algorithm's implementation.  The Graph class is documented in the NodeXLApi.chm file included in the source code.

-- Tony