{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2602-15898","title":"MultiCube-RAG for Multi-hop Question Answering","arxiv_id":"2602.15898","date":"2026-02-11","proceeding":null,"authors":["Jimeng Shi","Wei Hu","Runchu Tian","Bowen Jin","Wonbin Kweon","SeongKu Kang","Yunfan Kang","Dingqi Ye","Sizhe Zhou","Shaowen Wang","Jiawei Han"],"abstract":"Multi-hop question answering (QA) necessitates multi-step reasoning and retrieval across interconnected subjects, attributes, and relations. Existing retrieval-augmented generation (RAG) methods struggle to capture these structural semantics accurately, resulting in suboptimal performance. Graph-based RAGs structure such information in graphs, but the resulting graphs are often noisy and computationally expensive. Moreover, most methods rely on single-step retrieval, neglecting the need for multi-hop reasoning processes. Recent training-based approaches attempt to incentivize the large language models (LLMs) for iterative reasoning and retrieval, but their training processes are prone to unstable convergence and high computational overhead. To address these limitations, we devise an ontology-based cube structure with multiple and orthogonal dimensions to model structural subjects, attributes, and relations. Built on the cube structure, we propose MultiCube-RAG, a training-free method consisting of multiple cubes for multi-step reasoning and retrieval. Each cube specializes in modeling a class of subjects, so that MultiCube-RAG flexibly selects the most suitable cubes to acquire the relevant knowledge precisely. To enhance the query-based reasoning and retrieval, our method decomposes a complex multi-hop query into a set of simple subqueries along cube dimensions and conquers each of them sequentially. Experiments on four multi-hop QA datasets show that MultiCube-RAG improves response accuracy by 8.9% over the average performance of various baselines. Notably, we also demonstrate that our method performs with greater efficiency and inherent explainability.","url_abs":"https://arxiv.org/abs/2602.15898","url_pdf":"https://arxiv.org/pdf/2602.15898","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2602.15898","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.15898"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/OpenBMB/UltraRAG","reach":null}],"summary":{"unverified":10},"by_repo_kind":{"found_in_text":{"samples":10,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"82b55ef05c61a161","entry":"PipelineCall","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"src/ultrarag/api.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/src/ultrarag/api.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"82b55ef05c61a161"}},{"code_sha256_prefix":"4de9e8ee4cbe4329","entry":"clean_text","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"servers/corpus/src/corpus.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/servers/corpus/src/corpus.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4de9e8ee4cbe4329"}},{"code_sha256_prefix":"54ae30263c24b31b","entry":"elem_match","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"src/ultrarag/client.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/src/ultrarag/client.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"54ae30263c24b31b"}},{"code_sha256_prefix":"10e5a6bb74a0eb89","entry":"escape_html","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"script/case_study.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/script/case_study.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"10e5a6bb74a0eb89"}},{"code_sha256_prefix":"9e03092ffc8351c2","entry":"get_logger","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"src/ultrarag/mcp_logging.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/src/ultrarag/mcp_logging.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9e03092ffc8351c2"}},{"code_sha256_prefix":"2fb48b1aafbd7600","entry":"is_wrapped_list","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"src/ultrarag/client.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/src/ultrarag/client.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2fb48b1aafbd7600"}},{"code_sha256_prefix":"8ef4d0e3d5ff2a82","entry":"load_cases","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"script/case_study.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/script/case_study.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8ef4d0e3d5ff2a82"}},{"code_sha256_prefix":"5645318660d069dd","entry":"parse_path","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"src/ultrarag/client.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/src/ultrarag/client.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5645318660d069dd"}},{"code_sha256_prefix":"ab7464e11cc77525","entry":"popen_follow_parent","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"src/ultrarag/utils.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/src/ultrarag/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ab7464e11cc77525"}},{"code_sha256_prefix":"67e431f4417e4cb8","entry":"reflow_paragraphs","repo":"OpenBMB/UltraRAG","repo_kind":"found_in_text","path":"servers/corpus/src/corpus.py","file_url":"https://github.com/OpenBMB/UltraRAG/blob/HEAD/servers/corpus/src/corpus.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"67e431f4417e4cb8"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}