Samuel Thiriot

Monday 14 November 2016
English français

How to generate, analyze, manipulate networks in Java ? Here is a panorama (not exhustive) of the existing libraries.


The JUNG framework ( manages the storage of networks as Java objects, basic statistical analysis, generation of classic examples, 2D and 3D displays (but this part is outstanded by the prefuse library). The classes for network storage and manipulation are well designed.


The prefuse library ( displays networks up to thousands of nodes in a quiet fuid way with minimal sourcecode. Nice dynamic force-directed layout. High CPU use. Uses Java2D layer, thus requires OpenGL or Direct2D compatibility for fluidity. The prefuse lib is unchanged since several years but remains operational. The flare library corresponds to a Flash release of Prefuse.


GraphStream ( is the most recent, and probably efficient, Java library for creating interactive networks displays. Also includes basic network generators and statistical analysis.


Gephi ( also publishes its graphical capabilities as libraries.

All the bookmarks shared in this website.
Networks: software
Software for networks analysis The igraph package ( is a must-have. It includes basic network generators, efficient and (...)
Networks: persist them
How, where to save graphs and networks ? The classical solution is to store graphs into files using formats as interoperable as possible; yet more and more (...)
Simple Interconnected Islands network generator
Overview The Simple Interconnect Islands (SII) network generator creates networks made of nb.islands islands. Each island is made of a random network of (...)
YANG - plausible networks generation
YANG (Yet Another Network Generator) is a laboratory devoted to the reconstruction of plausible networks from local rules. It was applied to the (...)
Networks: public data
Network data is sometimes freely available online. Here are some examples. Real networks and data many sources in the KONECT site web map as a graph DOMES (...)
Growing Interconnected Islands network generator
Overview In this variation of Simple Interconnected Islands, each island is made of a growing network instead of a random network. Leads to a skewed (...)

(c) Samuel Thiriot 2012-2018
This is a personal website. The views, research interests or opinions expressed here represent my own and not necessarily those of my employer.