Last Friday, it was high time to release a new SocNetV version. The brand new v0.80, the first after six months, marked what I think the start of a more mature period for this tiny little project of mine.

What started as a personal desire to create a simple drawing tool for social networks has become a quite sophisticated tool for social network analysis (spare me, I am talking about mathematical sociology here, not facebook etc):

  • It can read all major network file formats (GraphML, pajek, GraphViz, UCINET, csv, or adjacency matrix) and save the network in GraphML. In the next version, I plan to even add support for the older GML format.
  • It can swiftly compute centrality measures (closeness, betweeness, eccentricity, etc) and layout the network actors accordingly, in radial or layered style, at least for small to medium sized networks (i.e. < 3000 edges). Moreover, it implements one of the fastest known betweeness centrality calculation algorithms. For the 0.90 release, I want to add a couple or more new centrality algorithms (i.e. power centrality by Gil-Mendieta and Schmid).
  • Since 0.70, it can even crawl a given website and create the network of its outLinks. Later, I plan to add support for mailing list archives crawling…

In the new version, I added some social capital features. The software can compute a ‘triad census’, namely it counts all the different types (classes) of observed triads within a network. The triad types are coded and labeled according to their number of mutual, asymmetric and non-existent (null) dyads (this labeling scheme is called M-A-N). This new feature is complimented by a simple, naive (please note, this is a NP-complete problem) clique counting alrorithm.

Also, the speed of the network parser has been improved somewhat by removing some unnecessary checks and adding a simple control variable. And the GraphViz load method is a lot better now. I think. 🙂

As usual, at least a dozen of bugs have been reported and fixed. Of course, it’s not perfect, and certainly many improvements can be made, but the code is there, and is constantly evolving. I think that it deserves to be named 0.80. I am not sure though how easy will be to reach the other 0.20 to the first 1.0 release… If you have an idea about a possible feature, feel free to submit a blueprint.

As usual, source code and binaries for all major distros are available from the project website at SourceForge.