GraphStore is an in-memory graph structure implementation written in Java. It's 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
- Spatial indexing based on a quadtree
Stable releases can be found on Maven central.
Development builds can be found on Sonatype's Snapshot Repository.
API Documentation is available here.
Follow this QuickStart to get started.
<dependency> <groupId>org.gephi</groupId> <artifactId>graphstore</artifactId> <version>0.8.1</version> </dependency>compile 'org.gephi:graphstore:0.8.1' GraphStore is built for JRE 17+ and depends on FastUtil.
For a complete list of dependencies, consult the pom.xml file.
GraphStore uses Maven for building.
> mvn clean install Note that code formatting is automatically applied at that time.
> mvn test > mvn jacoco:report The source code is available under the Apache 2.0 license. Contributions are welcome.