GraphStore is an in-memory graph structure implementation written in Java. It is designed to be powerful, efficient and robust. It's powering the Gephi software and supports large graphs in intensive applications.
- Blazing fast graph data structure optimized for reading and writing
- Comprehensive APIs to read and modify the graph structure
- Low memory footprint - reduced usage of Java objects and collections optimized for caching
- Supports directed, undirected and mixed graphs
- Supports parallel edges (i.e. edges can have a label)
- Any number of attributes can be associated with nodes or edges
- Thread-safe - Implements read-write locking mechanism to allow multiple reading threads
- Supports dynamic graphs (graphs over time)
- Built-in index on attribute values
- Fast and compact binary serialization
Stable releases can be found on Maven central.
API Documentation is available here.
GraphStore depends on FastUtil >= 6.0, Colt 1.2.0 and Joda-Time 2.2.
For a complete list of dependencies, consult the pom.xml
file.
GraphStore uses Maven for building.
> cd store
> mvn clean install
> mvn test
> mvn jacoco:report
The source code is available under the Apache 2.0 license. Contributions are welcome.