File size: 1,437 Bytes
394bc7a
 
 
 
 
 
 
 
 
 
c4ac745
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
---
title: IRG
emoji: "🖥️"
colorFrom: "blue"
colorTo: "green"
sdk: static
sdk_version: "0.0.1"
pinned: false
---

# Incremental Relational Generator (IRG)

## Pre-requisites

1. `Python>=3.10`.
2. Dependencies `pip install -r requirements.txt`.

## Important Notes

The project is now in commercial usage, so the full code is not disclosed. This repository aims to provide
the code skeleton and reproduces the main logic for IRG. It is still executable, but some functions are filled with 
placeholders that do not do the same thing as what is described in the paper, and some core parameters are not exposed.

Methods that are filled by placeholders are annotated with `@placeholder`. 

The evaluation framework is also not exposed for the same reason.

## Quick Start

To train and generate a synthetic database, run the following command:

```shell
python main.py -c CONFIG_FILE -i DATA_DIR -o OUT_DIR
```

where `CONFIG_FILE` is the configuration yaml file, with a sample in `config/sample.yaml`, `DATA_DIR` is the directory
where real data is stored, and each table name mentioned in the config should have the file `TABLE_NAME.csv` found
in this directory, and `OUT_DIR` be the directory where trained results can be found.

The generated synthetic data can be found in `OUT_DIR/generated` csv files.

## Reproduction

Commands and scripts to reproduce the results shown in our paper, the commands are shown in the `Makefile`.