Gaffer is a graph database framework. It allows the storage of very large graphs containing rich properties on the nodes and edges.
Several storage options are available, including Accumulo and an in-memory Java Map Store.
It is designed to be as flexible, scalable and extensible as possible, allowing for rapid prototyping and transition to production systems.
To get going with Gaffer, visit our getting started pages (1.x, 2.x). We also have a demo available to try that is based around a small uk road use dataset. See the example/road-traffic README to try it out.
Gaffer is under active development. Version 1.0 of Gaffer was released in October 2017, version 2.0 was released in May 2023.
To quickly and easily get access to an environment with everything installed and setup correctly you can use GitHub Codespaces, or alternatively GitLab GitPod.
These provide remote coding environments using VS Code with the required plugins, Java version and Maven preinstalled.
Our Javadoc can be found here. Gaffer’s documentation is kept in the gaffer-doc repository and published on GitHub pages (gchq.github.io).
For building Gaffer locally you need Java 8 or 11 and Maven installed locally in a *nix environment.
MS Windows will work for most purposes, but is not recommended because tests utilising Hadoop fail due to limited Hadoop support on Windows.
Gaffer will compile with newer versions of Java, but some tests will fail because of a lack of support for newer Java in certain external dependencies.
To build Gaffer run mvn clean install -Pquick
in the top-level directory. This will build all of Gaffer’s core libraries and some examples of how to load and query data.
Detailed information on our ways of working can be found in our developer docs. In brief:
Gaffer is hosted on Maven Central and can easily be incorporated into your own maven projects.
To use Gaffer from the Java API the only required dependencies are the Gaffer graph module and a store module for the specific database technology used to store the data, e.g. for the Accumulo store:
<dependency>
<groupId>uk.gov.gchq.gaffer</groupId>
<artifactId>graph</artifactId>
<version>${gaffer.version}</version>
</dependency>
<dependency>
<groupId>uk.gov.gchq.gaffer</groupId>
<artifactId>accumulo-store</artifactId>
<version>${gaffer.version}</version>
</dependency>
For more information click here.
Kali Linux 2024.4, the final release of 2024, brings a wide range of updates and…
This Go program applies a lifetime patch to PowerShell to disable ETW (Event Tracing for…
GPOHunter is a comprehensive tool designed to analyze and identify security misconfigurations in Active Directory…
Across small-to-medium enterprises (SMEs) and managed service providers (MSPs), the top priority for cybersecurity leaders…
The free and open-source security platform SecHub, provides a central API to test software with…
Don't worry if there are any bugs in the tool, we will try to fix…