Java framework for working with different types of graphs