{"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/graphmore-mitigating-topological","title":"GraphMoRE: Mitigating Topological Heterogeneity via Mixture of Riemannian Experts","arxiv_id":"2412.11085","date":"2024-12-15","proceeding":null,"authors":["Zihao Guo","Qingyun Sun","Haonan Yuan","Xingcheng Fu","Min Zhou","Yisen Gao","JianXin Li"],"abstract":"Real-world graphs have inherently complex and diverse topological patterns, known as topological heterogeneity. Most existing works learn graph representation in a single constant curvature space that is insufficient to match the complex geometric shapes, resulting in low-quality embeddings with high distortion. This also constitutes a critical challenge for graph foundation models, which are expected to uniformly handle a wide variety of diverse graph data. Recent studies have indicated that product manifold gains the possibility to address topological heterogeneity. However, the product manifold is still homogeneous, which is inadequate and inflexible for representing the mixed heterogeneous topology. In this paper, we propose a novel Graph Mixture of Riemannian Experts (GraphMoRE) framework to effectively tackle topological heterogeneity by personalized fine-grained topology geometry pattern preservation. Specifically, to minimize the embedding distortion, we propose a topology-aware gating mechanism to select the optimal embedding space for each node. By fusing the outputs of diverse Riemannian experts with learned gating weights, we construct personalized mixed curvature spaces for nodes, effectively embedding the graph into a heterogeneous manifold with varying curvatures at different points. Furthermore, to fairly measure pairwise distances between different embedding spaces, we present a concise and effective alignment strategy. Extensive experiments on real-world and synthetic datasets demonstrate that our method achieves superior performance with lower distortion, highlighting its potential for modeling complex graphs with topological heterogeneity, and providing a novel architectural perspective for graph foundation models.","url_abs":"https://arxiv.org/abs/2412.11085v1","url_pdf":"https://arxiv.org/pdf/2412.11085v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"graphmore-mitigating-topological","repo_url":"https://github.com/ringbdstack/graphmore","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.11085","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.11085"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ringbdstack/graphmore","reach":{"status":"ok"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"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":7,"samples":[{"code_sha256_prefix":"bfb52d89fac57a1e","entry":"cal_AUC_AP","repo":"ringbdstack/graphmore","repo_kind":"official","path":"utils.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bfb52d89fac57a1e"}},{"code_sha256_prefix":"e5eae6ed444edab0","entry":"cal_F1","repo":"ringbdstack/graphmore","repo_kind":"official","path":"utils.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e5eae6ed444edab0"}},{"code_sha256_prefix":"36dd622d9ccb4792","entry":"cal_accuracy","repo":"ringbdstack/graphmore","repo_kind":"official","path":"utils.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"36dd622d9ccb4792"}},{"code_sha256_prefix":"f5c6682786e66416","entry":"create_logger","repo":"ringbdstack/graphmore","repo_kind":"official","path":"logger.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/logger.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f5c6682786e66416"}},{"code_sha256_prefix":"d76fab2e53f466dd","entry":"get_mask","repo":"ringbdstack/graphmore","repo_kind":"official","path":"data_factory.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/data_factory.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d76fab2e53f466dd"}},{"code_sha256_prefix":"b15ff9fdc27e0653","entry":"load_data","repo":"ringbdstack/graphmore","repo_kind":"official","path":"data_factory.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/data_factory.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b15ff9fdc27e0653"}},{"code_sha256_prefix":"edabaded39961719","entry":"load_synthetic_data","repo":"ringbdstack/graphmore","repo_kind":"official","path":"data_factory.py","file_url":"https://github.com/ringbdstack/graphmore/blob/HEAD/data_factory.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"edabaded39961719"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}