Declarative property graph transformations.
- This repository contains the Appendix of our paper.
- This repository contains the datasets and the source code for our experiments.
We made iBench an optional dependency by providing input data for each scenario in the folder output-ibench-data
.
You can install iBench from our fork. (We patched the build process of the official repository.)
We are connecting to a local Neo4j Community Edition instance to perform the experiments.
This instance should be configured with the default settings commonly found in $NEO4J_CONF/neo4j.conf
;
but to access CSV files located anywhere in the local filesystem, we need to make sure that Neo4j is additionally configured this way:
#server.directories.import=import
dbms.security.auth_enabled=false
#dbms.security.allow_csv_import_from_file_urls=true
Hence, no credentials are needed and we can freely use LOAD CSV
to import the data generated by iBench into Neo4j.
Start the server by typing: sudo /opt/neo4j/bin/neo4j start
.
Note: Do this instead of sudo -u neo4j /opt/neo4j/bin/neo4j start
to avoid permission errors when loading files.
This software is configured to connect to localhost
with the default port and with no authentication.
.
├── figures # Source code for figure generation
├── icij # Experiments on the ICIJ database
├── input-ibench-config # Configuration files for iBench
├── output-ibench-data # Input data (CSV format)
├── results # Experimental results
├── scenarios # Cypher scripts implementing the transformations
├── user-study # Materials related to the user study
├── Appendix.pdf # The file containing the Appendix
└── ...
First, uncomment from main.py
the figure(s) that you want to generate.
git clone git@github.com:yannramusat/TPG.git
cd TPG
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.py
...
deactivate
We ran the experiments on the following system:
- HP EliteBook 840 G3 (L3C67AV)
- Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
- 32GiB system memory (2133 MHz)
And used the following toolchain:
- java-openJDK-17
- Neo4j Community Edition 5.9.0
- Neo4j Python Driver 5.9.0