Fork of https://github.com/oxigraph/oxigraph.git for the purpose of NextGraph project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
oxigraph/bench
Tpt f262df9f53 Improve Oxigraph server CLI API 3 years ago
..
bsbm-tools@59d0a8a605 Makes easier to run benchmarks by adding BSBM as a submodule 5 years ago
README.md Improves BSBM benchmark reports 3 years ago
bsbm-plot.py Adds BSBM update benchmark 4 years ago
bsbm.businessIntelligence.svg Updates the benchmark 5 years ago
bsbm.explore.svg Updates BSBM benchmark 4 years ago
bsbm_blazegraph.sh Adds a native SPARQL query and update benchmark based on BSBM 3 years ago
bsbm_graphdb.sh Adds a native SPARQL query and update benchmark based on BSBM 3 years ago
bsbm_jena.sh Adds a native SPARQL query and update benchmark based on BSBM 3 years ago
bsbm_oxigraph.sh Improve Oxigraph server CLI API 3 years ago
bsbm_virtuoso.sh Adds a native SPARQL query and update benchmark based on BSBM 3 years ago

README.md

BSBM

The Berlin SPARQL Benchmark (BSBM) is a simple SPARQL benchmark.

It provides a dataset generator and multiple set of queries grouped by "use cases".

Results

We compare here Oxigraph with some existing SPARQL implementations (Blazegraph, Virtuoso and GraphDB).

The dataset used in the following charts is generated with 10k "products" (see its spec). It leads to the creation of 3.5M triples. It has been executed on a PrevailPro P3000 with 32GB of RAM. The tests have been executed with a concurrency factor of 5 (i.e. at most 5 queries are send at the same time to the server).

Explore

The explore use case is composed of 11 queries that do simple data retrieval.

Query 6 existed in previous versions of the benchmark but is now removed.

explore use case results

Explore and update

The explore and update use case is composed of the 2 operations of the update use case (INSERT DATA and DELETE WHERE) and the 11 queries of the explore use case and the .

The first two char elements (1 and 2) are the 2 updates and the other (3 to 14) are the 11 queries.

explore use case results

How to reproduce the benchmark

The code of the benchmark is in the bsbm-tools submodule. You should pull it with a git submodule update before running the benchmark.

To run the benchmark for Oxigraph run bash bsbm_oxigraph.sh. It will compile the current Oxigraph code and run the benchmark against it. You could tweak the number of products in the dataset using the environment variables at the beginning of bsbm_oxigraph.sh.

To generate the plots run python3 bsbsm-plot.py.

Scripts are also provided for the other benchmarks (bsbm_blazegraph.sh, bsbm_graphdb.sh and bsbm_virtuoso.sh).