JGraphT—A Java Library for Graph Data Structures and Algorithms

@article{Michail2020JGraphTAJL,
  title={JGraphT—A Java Library for Graph Data Structures and Algorithms},
  author={Dimitrios Michail and Joris Kinable and Barak Naveh and John V. Sichi},
  journal={ACM Transactions on Mathematical Software (TOMS)},
  year={2020},
  volume={46},
  pages={1 - 29}
}
Mathematical software and graph-theoretical algorithmic packages to efficiently model, analyze, and query graphs are crucial in an era where large-scale spatial, societal, and economic network data are abundantly available. One such package is JGraphT, a programming library that contains very efficient and generic graph data structures along with a large collection of state-of-the-art algorithms. The library is written in Java with stability, interoperability, and performance in mind. A… 

Figures and Tables from this paper

A GraphBLAS implementation in pure Java
TLDR
This paper extends the linear algebra library Efficient Java Matrix Library (EJML) and presents the implementation of essential GraphBLAS concepts in the Java programming language, comparing us against existing graph algorithm libraries in Java using real world graphs and three graph algorithms.
HyperBench: A Benchmark and Tool for Hypergraphs and Empirical Findings
TLDR
This work provides concrete implementations of hypergraph decompositions (including new practical algorithms), a new, comprehensive benchmark ofhypergraphs stemming from disparate CQ and CSP collections, and a new web-interface for accessing the benchmark and the results of the authors' analyses.
Online Landmark-Based Batch Processing of Shortest Path Queries
TLDR
It is shown how preprocessing can be avoided entirely by integrating the computation of landmark distances into query processing and the techniques outperform the state of the art on both spatial and non-spatial graphs.
Computing Diverse Shortest Paths Efficiently: A Theoretical and Experimental Study
TLDR
A polynomial-time algorithm for finding diverse shortest st-paths in weighted directed graphs and the diverse version of other classical combinatorial problems such as diverse weighted matroid bases, diverse weighted arborescences, and diverse bipartite matchings are studied.
HyperBench
TLDR
This work provides concrete implementations of hypergraph decompositions (including new practical algorithms), a new, comprehensive benchmark ofhypergraphs stemming from disparate CQ and CSP collections, and a new web-interface for accessing the benchmark and the results of the authors' analyses.
Graph generation with preserved properties
TLDR
A deeper look in how well state-of-the-art graph generators preserve real-world graphs and their properties is taken, focusing on Darwini, which is only the second approach making an effort to concomitantly match the explicitly provided degree and clustering properties.
A Reachability Index for Recursive Label-Concatenated Graph Queries
TLDR
Comprehensive experiments on real-world graphs show that the RLC index can significantly reduce both the offline processing cost and the memory overhead of transitive closure, while improving query processing up to six orders of magnitude over online traversals.
Clustering of RCE Workflow Graphs
TLDR
This work examines three different hierarchical clustering algorithms: edge betweenness, spectral bisection and agglomerative clustering, and examines different mappings of edge weights in combination with the mentioned algorithms and metrics.
Preprocessing Rules for Target Set Selection in Complex Networks
TLDR
This work introduces preprocessing rules that allow reducing the size of the input without losing the optimality of the solution when the input graph is a complex network.
Effective and Efficient Core Computation in Signed Networks
TLDR
It is formally proved that finding an exact ( 𝑝,𝑛 ) -core is NP-hard, and three efficient and effective algorithms are proposed to find a solution.
...
...

References

SHOWING 1-10 OF 117 REFERENCES
Exploring Network Structure, Dynamics, and Function using NetworkX
TLDR
Some of the recent work studying synchronization of coupled oscillators is discussed to demonstrate how NetworkX enables research in the field of computational networks.
Navigating the maze of graph analytics frameworks using massive graph datasets
TLDR
A quantitative roadmap for improving the performance of all these frameworks and bridging the "ninja gap" is offered, and changes to alleviate bottlenecks arising from the algorithms themselves vs. programming model abstractions vs. the framework implementations are recommended.
Ligra: a lightweight graph processing framework for shared memory
TLDR
This paper presents a lightweight graph processing framework that is specific for shared-memory parallel/multicore machines, which makes graph traversal algorithms easy to write and significantly more efficient than previously reported results using graph frameworks on machines with many more cores.
A (sub)graph isomorphism algorithm for matching large graphs
TLDR
The algorithm is improved here to reduce its spatial complexity and to achieve a better performance on large graphs; its features are analyzed in detail with special reference to time and memory requirements.
The Parallel BGL : A Generic Library for Distributed Graph Computations
TLDR
The generic programming approach simultaneously stresses flexibility and efficiency, resulting in a parallel graph library that can adapt to various data structures and communication models while retaining the efficiency of equivalent hand-coded programs.
NetworKit: A tool suite for large-scale complex network analysis
TLDR
The methodology applied to develop scalable solutions to network analysis problems, including techniques like parallelization, heuristics for computationally expensive problems, efficient data structures, and modular software architecture are described.
Mathematical foundations of the GraphBLAS
TLDR
This paper provides an introduction to the mathematics of the GraphBLAS, a core set of matrix-based graph operations that can be used to implement a wide class of graph algorithms in a wide range of programming environments.
Network flows - theory, algorithms and applications
TLDR
In-depth, self-contained treatments of shortest path, maximum flow, and minimum cost flow problems, including descriptions of polynomial-time algorithms for these core models are presented.
Very Simple Methods for All Pairs Network Flow Analysis
TLDR
A very simple version of the Gomory–Hu cut tree method that finds one minimum cut for every pair of nodes is derived, and it is shown that the seemingly fundamental operation of that method, node contraction, is not needed, nor must crossing cuts be avoided.
GraphBLAST: A High-Performance Linear Algebra-based Graph Framework on the GPU
TLDR
The design principles described in this paper have been implemented in “GraphBLAST”, the first high-performance linear algebra-based graph framework on NVIDIA GPUs that is open-source, and show that on a single GPU, GraphBLAST has on average at least an order of magnitude speedup over previous GraphBLAS implementations SuiteSparse and GBTL.
...
...