By Theofilos Ioannidis (tioannid [at] di [dot] uoa [dot] gr), created on , last updated on
In this section, we provide information about the installation layout which can improve the user's understanding of the platform.
The various parts of GeoRDFBench (see High Level Diagram of GeoRDFBench Framework) can be seen in color (Runtime=red, RDF Modules=yellow, JSON Specs Lib=lightblue) in the following listing:
/data/GeoRDFBench$ tree -L 1
├── generators
├── generator.sh
├── GraphDBSUT
├── JenaGeoSPARQLSUT
├── json_defs
├── pom.xml
├── RDF4JSUT
├── runtime
├── scripts
├── StardogSUT
├── StrabonSUT
├── target
├── tools
└── VirtuosoSUT
The runtime part which is located under the runtime folder, contains the Runtime API, the JSON Spec Generator and the Experiment Executor.
This library part, is located under json_defs folder and contains pregenerated JSON definitions of: (i) experiment components for the Geographica 2 benchmark and (ii) experiment environment components where this benchmark was or will be run. The first level of the directory structure reveals, through color (Experiment benchmark component=blueviolet, Experiment environment=greenyellow), the category of the modeled components:
/data/GeoRDFBench$ tree -L 1 json_defs/
json_defs/
├── datasets
├── executionspecs
├── hosts
├── querysets
├── reportsources
├── reportspecs
└── workloads
The Experiment benchmark components are the medium through which we declaratively describe an experiment. We have two different ways or forms to achieve that and each one has a different serialization: a compact or a detailed one. The compact representation, which is the preferred one, comes in the form of workload specification files located under the workloads directory. Each workload specification file contains a dataset specification and a queryset specification with an embedded execution specification. The detailed representation comprises 3 independent specification files: a dataset, a queryset and an execution located under the respective datasets, querysets and executionspecs directories. The detailed representation allows more flexibility to the user while in the initial phases of experimentation, while the compact representation can more easily guarantee a consistent representation of an experiment, therefore it is a less error prone approach leading to easier reproducibility. All RDF module experiment run scripts support both experiment benchmark components' representations.
The Experiment environment helps us declaratively describe the environment of an experiment. It comprises 3 independent specification files: a host, a reportspec and a reportsource located under the respective hosts, reportspecs and reportsources directories. A host specification file describes the basic properties of the host where the GeoRDFBench Framework is installed and where experiments will be performed. A reportspec specification file describes the number of records from the answer resultset of each query that will be included in the experiment log. A reportsource specification file describes the connection properties of the sink where custom results will be stored.
The specification files under the json_defs folder are the pool where the majority of the arguments for the experiment run scripts are retrieved. For example the "Development Host" ubuntu-vma-tioa and "Baseline Benchmarking Host" NUC8i7BEH can be found in:
/data/GeoRDFBench$ tree -L 1 json_defs/hosts/
json_defs/hosts/
├── nuc8i7behHOSToriginal.json
├── teleios3HOSToriginal.json
├── tioa-paviliondv7HOSToriginal.json
├── ubuntu_vma_tioaHOSToriginal_1.json
└── ubuntu_vma_tioaHOSToriginal.json
However, each file can be independently stored in other locations if the user desires to do so.
This part comprises the scripts folder and all folders that implement specific RDF stores, such as, StardogSUT. The following filtered output shows the directory structure which hosts the RDF Modules part:
/data/GeoRDFBench$ tree -L 2
├── scripts
│ ├── geographica3.sql
│ ├── prepareRunEnvironment.sh
│ ├── printRunEnvironment.sh
├── GraphDBSUT
│ ├── pom.xml
│ ├── scripts
│ ├── src
│ └── target
├── JenaGeoSPARQLSUT
│ ├── pom.xml
│ ├── scripts
│ ├── src
│ └── target
├── RDF4JSUT
│ ├── pom.xml
│ ├── scripts
│ ├── src
│ └── target
├── StardogSUT
│ ├── pom.xml
│ ├── scripts
│ ├── src
│ └── target
├── StrabonSUT
│ ├── pom.xml
│ ├── scripts
│ ├── src
│ └── target
└── VirtuosoSUT
├── pom.xml
├── scripts
├── src
└── target