gitextract_o4kycd_o/ ├── .gitignore ├── README.md ├── gnn/ │ ├── .gitignore │ ├── README.md │ ├── dataset_load.py │ ├── dataset_load_graft.py │ ├── evaluate.py │ ├── main.py │ ├── models/ │ │ ├── GraftNet/ │ │ │ └── graftnet.py │ │ ├── NSM/ │ │ │ └── nsm.py │ │ ├── ReaRev/ │ │ │ └── rearev.py │ │ └── base_model.py │ ├── modules/ │ │ ├── kg_reasoning/ │ │ │ ├── base_gnn.py │ │ │ ├── graft_gnn.py │ │ │ ├── nsm_gnn.py │ │ │ └── reasongnn.py │ │ ├── layer_init.py │ │ ├── query_update.py │ │ └── question_encoding/ │ │ ├── base_encoder.py │ │ ├── bert_encoder.py │ │ ├── lstm_encoder.py │ │ └── tokenizers.py │ ├── parsing.py │ ├── requirements.txt │ ├── scripts/ │ │ └── rearev_cwq.sh │ ├── train_model.py │ └── utils.py └── llm/ ├── .gitignore ├── README.md ├── prompts/ │ ├── alpaca.txt │ ├── general_prompt.txt │ ├── llama2.txt │ └── llama2_predict.txt ├── requirements.txt ├── results/ │ ├── KGQA-GNN-RAG/ │ │ ├── rearev-lmsr/ │ │ │ ├── RoG-cwq/ │ │ │ │ └── RoG/ │ │ │ │ └── test/ │ │ │ │ └── results_gen_rule_path_RoG-cwq_RoG_test_predictions_3_False_jsonl/ │ │ │ │ └── False/ │ │ │ │ ├── args.txt │ │ │ │ ├── detailed_eval_result.jsonl │ │ │ │ ├── eval_result.txt │ │ │ │ └── predictions.jsonl │ │ │ └── RoG-webqsp/ │ │ │ ├── RoG/ │ │ │ │ └── test/ │ │ │ │ └── results_gen_rule_path_RoG-webqsp_RoG_test_predictions_3_False_jsonl/ │ │ │ │ └── False/ │ │ │ │ ├── args.txt │ │ │ │ ├── detailed_eval_result.jsonl │ │ │ │ ├── eval_result.txt │ │ │ │ └── predictions.jsonl │ │ │ └── llama2-chat-hf/ │ │ │ └── test/ │ │ │ └── no_rule/ │ │ │ └── False/ │ │ │ ├── args.txt │ │ │ ├── detailed_eval_result.jsonl │ │ │ ├── eval_result.txt │ │ │ └── predictions.jsonl │ │ └── rearev-sbert/ │ │ ├── RoG-cwq/ │ │ │ └── RoG/ │ │ │ └── test/ │ │ │ └── results_gen_rule_path_RoG-cwq_RoG_test_predictions_3_False_jsonl/ │ │ │ └── False/ │ │ │ ├── args.txt │ │ │ ├── detailed_eval_result.jsonl │ │ │ ├── eval_result.txt │ │ │ └── predictions.jsonl │ │ └── RoG-webqsp/ │ │ └── RoG/ │ │ └── test/ │ │ └── results_gen_rule_path_RoG-webqsp_RoG_test_predictions_3_False_jsonl/ │ │ └── False/ │ │ ├── args.txt │ │ ├── detailed_eval_result.jsonl │ │ ├── eval_result.txt │ │ └── predictions.jsonl │ ├── KGQA-GNN-RAG-RA/ │ │ ├── rearev-lmsr/ │ │ │ ├── RoG-cwq/ │ │ │ │ └── RoG/ │ │ │ │ └── test/ │ │ │ │ └── results_gen_rule_path_RoG-cwq_RoG_test_predictions_3_False_jsonl/ │ │ │ │ └── False/ │ │ │ │ ├── args.txt │ │ │ │ ├── detailed_eval_result.jsonl │ │ │ │ ├── eval_result.txt │ │ │ │ └── predictions.jsonl │ │ │ └── RoG-webqsp/ │ │ │ └── RoG/ │ │ │ └── test/ │ │ │ └── results_gen_rule_path_RoG-webqsp_RoG_test_predictions_3_False_jsonl/ │ │ │ └── False/ │ │ │ ├── args.txt │ │ │ ├── detailed_eval_result.jsonl │ │ │ ├── eval_result.txt │ │ │ └── predictions.jsonl │ │ └── rearev-sbert/ │ │ ├── RoG-cwq/ │ │ │ └── RoG/ │ │ │ └── test/ │ │ │ └── results_gen_rule_path_RoG-cwq_RoG_test_predictions_3_False_jsonl/ │ │ │ └── False/ │ │ │ ├── args.txt │ │ │ ├── detailed_eval_result.jsonl │ │ │ ├── eval_result.txt │ │ │ └── predictions.jsonl │ │ └── RoG-webqsp/ │ │ └── RoG/ │ │ └── test/ │ │ └── results_gen_rule_path_RoG-webqsp_RoG_test_predictions_3_False_jsonl/ │ │ └── False/ │ │ ├── args.txt │ │ ├── detailed_eval_result.jsonl │ │ ├── eval_result.txt │ │ └── predictions.jsonl │ ├── gen_rule_path/ │ │ ├── RoG-cwq/ │ │ │ └── RoG/ │ │ │ └── test/ │ │ │ ├── predictions_2_False.jsonl │ │ │ └── predictions_3_False.jsonl │ │ └── RoG-webqsp/ │ │ └── RoG/ │ │ ├── test/ │ │ │ ├── predictions_1_False.jsonl │ │ │ ├── predictions_2_False.jsonl │ │ │ └── predictions_3_False.jsonl │ │ ├── train/ │ │ │ ├── predictions_1_False.jsonl │ │ │ └── predictions_3_False.jsonl │ │ └── validation/ │ │ └── predictions_3_False.jsonl │ └── gnn/ │ ├── RoG-cwq/ │ │ ├── rearev-lmsr/ │ │ │ └── test.info │ │ └── rearev-sbert/ │ │ └── test.info │ └── RoG-webqsp/ │ ├── rearev-lmsr/ │ │ └── test.info │ └── rearev-sbert/ │ └── test.info ├── scripts/ │ ├── evaluate_multi_hop.sh │ ├── interpretable_example.py │ ├── planning.sh │ ├── plug-and-play.sh │ ├── rag-reasoning.sh │ └── train.sh └── src/ ├── __init__.py ├── align_kg/ │ ├── __init__.py │ ├── build_align_qa_dataset.py │ └── data_loader.py ├── joint_training/ │ ├── generate_explanation_results.py │ ├── joint_finetuning.py │ ├── preprocess_align.py │ └── preprocess_qa.py ├── llms/ │ ├── __init__.py │ ├── language_models/ │ │ ├── __init__.py │ │ ├── alpaca.py │ │ ├── base_language_model.py │ │ ├── chatgpt.py │ │ ├── flan_t5.py │ │ ├── llama.py │ │ └── longchat/ │ │ ├── llama_condense_monkey_patch.py │ │ ├── llama_flash_attn_monkey_patch.py │ │ └── longchat.py │ ├── llm_proxy.py │ └── start_fastchat_api.py ├── qa_prediction/ │ ├── build_qa_input.py │ ├── evaluate_multi_hop.py │ ├── evaluate_results.py │ ├── gen_rule_path.py │ └── predict_answer.py └── utils/ ├── __init__.py ├── graph_utils.py ├── merge_peft.py ├── training_utils.py └── utils.py