Implementations for the Workload components of the LDBC Social Network Benchmark.
📜 If you wish to cite the LDBC SNB, please refer to the documentation repository.
The LDBC Social Network Benchmark suite is continuously maintained with improvements in the specification, the data generator, the driver, and the reference implementation. To ensure that you are using compatible LDBC repositories, use the following table:
project | v0.3.x | v0.4.x |
---|---|---|
Documentation | v0.3.3 |
dev |
Datagen | v0.3.3 |
dev |
Driver | v0.3.3 |
dev |
Implementations | stable |
dev |
The stable
branches of the repositories correspond to the v0.3.x
, and the dev
branches correspond to the v0.4.x
releases.
Multiple configuration files and scripts use relative paths to address the data generator's directory. Hence, it is recommended to clone the LDBC Data Generator and the LDBC implementations repositories next to each other and keep their original directory names. For example:
Each project has its own README:
The Sparksee implementation is maintained in a separate repository.
The queries in this repository are work-in-progress. If possible, please cross-validate your queries against multiple implementations.
query | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Neo4j (Cypher) | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 |
PostgreSQL | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 |
query | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
---|---|---|---|---|---|---|---|
Neo4j (Cypher) | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
PostgreSQL | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
query | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 |
---|---|---|---|---|---|---|---|---|
Neo4j (Cypher) | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 |
PostgreSQL | 01/p 01/c 01/e 01/l 01/t 01/u | 02 | 03 | 04/f 04/t | 05 | 06/p 06/t | 07/c 07/t | 08 |
query | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Neo4j (Cypher) | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 |
PostgreSQL | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 |
query | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
---|---|---|---|---|---|---|---|---|---|---|
Neo4j (Cypher) | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
PostgreSQL | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
-
If you are on the
dev
branch or any other unstable branch, first build and install the driver from source.-
Grab the driver source code from: https://github.com/ldbc/ldbc_snb_driver.
-
Install the driver artifact to the local Maven repository:
mvn clean install -DskipTests
-
-
Navigate to the root of this repository and build it to generate the JAR files for the implementations:
./build.sh
-
For each implementation, it is possible to (1) create validation parameters, (2) validate against an existing validation parameters, and (3) run the benchmark. Set the parameters according to your system configuration in the appropriate
.properties
file and run the driver with one of the following scripts in thedriver
directory:# BI workload driver/bi-create-validation-parameters.sh driver/bi-validate.sh driver/bi-benchmark.sh # Interactive workload - note that if the workload contains updates, the database needs to be re-loaded between steps driver/interactive-create-validation-parameters.sh driver/interactive-validate.sh driver/interactive-benchmark.sh
For more details, on validating and benchmarking, visit the driver wiki.
To generate small data sets for smoke tests, use scale factor 0.003 (generator.scaleFactor:0.003
).