
Hello,
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
alice,bob
bob,john
robert,anne
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.
alice,1
bob,1
john,1
robert,2
anne,2.
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.
Thanks,
John



John:
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:
http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_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

