The Graph Analysis Toolbox is a generic software for the management and processing of a interrelated collection of multiple graphs.
It can be used to process multiple graphs. Functionality include (but it is not limited to):
- Similarity graphs: generated from node attributes, based on different similarity measures (Jensen-Shannon, Hellinger, L1, L2).
- General implementations based on the
neighbors
module from scikit-learn. - Specific implementation for fast computation of Hellinger distances using Numba and cuda.
- General implementations based on the
- Community detection algorithms (Louvain, Walktrap, FastGreeedy, Label Propagation)
- Bipartite graphs from attributes
- Transductive graphs: Graphs generated by connecting target nodes from a bipartite graph. Link weights are computed from the links of a graph connecting the source nodes.
- Transitive graphs, computed as the composition of two bipartite graphs.
- Analysis of graph partitions.
- Analysis of graph nodes (centrality measures, PageRank).
- Implementations based on Networkx.
- Edicion tools for the collection of graphs:
- Create, add, remove graphs
- Subsampling
- Reduction to graphs of equivalence classes
- Tools for visualization:
- Graph layout algorithms.
- Exportation to GEXF format
- Visualization of bipartite graphs (requires Halo, not included)
The software includes two applications that can be used to generate and manipulate graphs through an interactive menu:
mainRDIgraphs.py
: Provides accces to the sofware functionality through an interative menu. It reads the links to the source data from a configuration file (parameters.yaml
). You would need to edit this file to use other data.mainRDIlab.py
: It uses the software functionality to carry out experiments for analysing RDI corpus collections.
Write
python mainRDIgraphs.py --h
python mainRDIlab.py --h
to see the available options.
The software include several class packages that can be used independently. Classes include (and are not limited to):
SimGraph
: Generation of similarity graphsCommunityPlus
: Wrapper to community detection algorithmsDataGraph
(requiresSimGraph
andCommunityPlus
): provides tools for graph processing and analysis.SuperGraph
(requiresDataGraph
): provides tools for handling collections of DataGraph objects, including tools for the generation of new datagraphs.