/ldbc_snb_docs

Specification of the LDBC Social Network Benchmark

Primary LanguageTeXGNU General Public License v3.0GPL-3.0

LDBC_LOGO

LDBC SNB Documentation

Build Status

[Latest stable build (PDF)] [Latest snapshot build (PDF)]

Benchmark specification

For an architectural overview and guide on how to develop benchmark implementations, please visit the wiki of this repository.

Related repositories

The documentation of the LDBC Graphalytics benchmark is maintained in a separate repository.

How to cite LDBC benchmarks

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.

  1. 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
  2. To generate the TeX files for query cards, run the following command:

    make generate_query_cards

Building the document

To build the document, run make or 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

Naming conventions

  • If an attribute exists in the graph as part of an entity (node/edge) and is returned unchanged, name it entity.attributeName.
  • If it is computed or aggregated, use camelCase notation.