LDBC SNB Documentation
For an architectural overview and guide on how to develop benchmark implementations, please visit the wiki of this repository.
How to cite LDBC benchmarks
- Social Network Benchmark
- Detailed specification: The LDBC Social Network Benchmark (version 0.3.1) by the LDBC Social Network Benchmark task force, 2019. [bib]
- BI workload: An early look at the LDBC Social Network Benchmark's Business Intelligence workload, GRADES-NDA at SIGMOD 2018 by G. Szárnyas et al. [bib]
- Interactive workload: The LDBC Social Network Benchmark: Interactive Workload, SIGMOD 2015 by O. Erling et al. [bib]
- Other LDBC benchmarks
- LDBC Graphalytics: LDBC Graphalytics: A Benchmark for Large-Scale Graph Analysis on Parallel and Distributed Platforms VLDB 2016 by A. Iosup et al. [bib]
- LDBC Semantic Publishing Benchmark: Benchmarking RDF Query Engines: The LDBC Semantic Publishing Benchmark, BLINK at ISWC 2016 by V. Kotsev et al. [bib]
How to build the this document
This repository contains the LaTeX source for the specification of the LDBC Social Network Benchmark. This README discusses how to build the specification PDF from source.
Generating query cards
To get consistent formatting, query cards are generated from query specifications defined in YAML format. To regenerate them, follow these steps.
Install Pandoc and Python3 following dependencies:
sudo apt-get install -y pandoc sudo apt-get install -y python3 python3-pip python3-setuptools sudo pip3 install -r requirements.txt
To generate the TeX files for query cards, run the following command:
Building the document
To build the document, run
make texfot. The latter requires Perl but gives you a cleaner output.
We also provide an image on Docker Hub for building the document. To use it, run:
docker run -v `pwd`/:/mnt/ ldbc/docs /bin/bash -c \ "cd /mnt/ && ./generate-tex.py && make generate_query_cards texfot compile_query_cards"; \ sudo chown -R $USER:$USER .
You can also compile the image manually by issuing:
docker build . --tag ldbc/docs
Notations and conventions
- If an attribute exists in the graph as part of an entity (node/edge) and is returned unchanged, name it
- If it is computed or aggregated, use