# usage
# python run.py DATASET_DIR OUTPUT_DIR [args_name=args_code]*

# with emb
python run.py ./dataset/fb15k237 ./output RotatE=RotatE_500 max_rule_len=4
python run.py ./dataset/wn18rr ./output RotatE=RotatE_200 max_rule_len=5
python run.py ./dataset/kinship_325 ./output RotatE=RotatE_1000 max_rule_len=3
python run.py ./dataset/umls_325 ./output RotatE=RotatE_1000 max_rule_len=3

# without emb (without optimization)
python run.py ./dataset/fb15k237 ./output RotatE=None max_rule_len=4 max_rules=3000 pgnd_num=0 pgnd_use_gamma=False use_negative_rules=True
python run.py ./dataset/wn18rr ./output RotatE=None max_rule_len=5 max_rules=3000 pgnd_num=0 pgnd_use_gamma=False use_negative_rules=True
python run.py ./dataset/kinship_325 ./output RotatE=None max_rule_len=3 max_rules=3000 pgnd_num=0 pgnd_use_gamma=False use_negative_rules=True
python run.py ./dataset/umls_325 ./output RotatE=None max_rule_len=3 max_rules=3000 pgnd_num=0 pgnd_use_gamma=False use_negative_rules=True

# arguments explain
# RotatE=ROTATE_DIR: use RotatE locates in DATASET_DIR/ROTATE_DIR

# other useful arguments
# start=a hop=b: train for relations in range(a, R, b)
# cuda_mem=m: set cuda memory to avoid OOM