You will find information about our group and other projects at ti2.uni-jena.de.
If you are not familiar with einstein summation, good entrypoints are the article Einstein Summation in NumPy or Einsum is all you Need - Einstein Summation in Deep Learning.
.
├── case_study # Stand alone files for some case studies of the paper
│ ├── discussion # Stand alone files for the discussion section
│ ├── graphical_models # Stand alone files for the graphical model experiments
│ └── quantum_circuits # Stand alone files for the quantum circuits experiments
├── experiments # Experimental files to reproduce the results of the paper
└── generate_sql_code # Stand alone file for generating sql-code
See each folder for more information.
For a docker setup see below.
All files were tested using Python version 3.8 and Anaconda version 4.9.2
Further we require the following Python packages.
- numpy (version 1.21.1)
- pandas (version 1.4.2)
- tableauhyperapi (version 0.0.13287)
- psycopg2 (version 2.9.3)
- opt_einsum (version 3.3.0)
- rdflib (version 6.2.0)
- python-sat (version 0.1.7.dev19)
All packages can be installed using Anaconda and the yaml file with
conda env create -f environment.yml
after this the environment is activated with
conda activate sql-einstein
and can be deleted with
conda env remove -n sql-einstein.
The experiments further need a postgres DBMS installation. We used psql version 12.7. You can install postgres on linux using
sudo apt-get install postgresql-12.11 postgresql-contrib-12.11
The postgres installation should have a database with the following configuaration:
- name: 'postgres',
- user: 'postgres',
- password: 'password',
- host: 'localhost'.
We also support a docker setup. A Dockerfile is available and can be build with
docker build -t sql-einstein .
After building you can run the docker container with
docker run --rm -it sql-einstein
This command removes (--rm) the container after execution. Also it runs the script startup.sh as an entrypoint. This script
does start the postgres server.
After running the docker run ... command you will be prompted with an interactive shell
where you can run experiments as described in each subfolder.
For a quickstart you can run
cd experiments
python run_experiments
to start all experiments or
cd case_study/quantum_circuits
python qc_sqlite.py
to start the quantum circuit sqlite experiment.