{"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/balancing-efficiency-and-expressiveness","title":"Balancing Efficiency and Expressiveness: Subgraph GNNs with Walk-Based Centrality","arxiv_id":"2501.03113","date":"2025-01-06","proceeding":null,"authors":["Joshua Southern","Yam Eitan","Guy Bar-Shalom","Michael Bronstein","Haggai Maron","Fabrizio Frasca"],"abstract":"We propose an expressive and efficient approach that combines the strengths of two prominent extensions of Graph Neural Networks (GNNs): Subgraph GNNs and Structural Encodings (SEs). Our approach leverages walk-based centrality measures, both as a powerful form of SE and also as a subgraph selection strategy for Subgraph GNNs. By drawing a connection to perturbation analysis, we highlight the effectiveness of centrality-based sampling, and show it significantly reduces the computational burden associated with Subgraph GNNs. Further, we combine our efficient Subgraph GNN with SEs derived from the calculated centrality and demonstrate this hybrid approach, dubbed HyMN, gains in discriminative power. HyMN effectively addresses the expressiveness limitations of Message Passing Neural Networks (MPNNs) while mitigating the computational costs of Subgraph GNNs. Through a series of experiments on synthetic and real-world tasks, we show it outperforms other subgraph sampling approaches while being competitive with full-bag Subgraph GNNs and other state-of-the-art approaches with a notably reduced runtime.","url_abs":"https://arxiv.org/abs/2501.03113v1","url_pdf":"https://arxiv.org/pdf/2501.03113v1.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":"balancing-efficiency-and-expressiveness","repo_url":"https://github.com/jks17/hymn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2501.03113","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2501.03113"}},"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/jks17/hymn","reach":null}],"summary":{"ran":7,"unverified":3},"by_repo_kind":{"official":{"samples":10,"ran":7,"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":"c57187cb97e16c5e","entry":"ColourCatDSSGINConv","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c57187cb97e16c5e"}},{"code_sha256_prefix":"5b5c7579b1634837","entry":"ColourCatter","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b5c7579b1634837"}},{"code_sha256_prefix":"33fc84111dcbbf84","entry":"DSSGINConv","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"33fc84111dcbbf84"}},{"code_sha256_prefix":"7e9bf75a0899a21a","entry":"GINConv","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7e9bf75a0899a21a"}},{"code_sha256_prefix":"4c18c3efbf6a15cf","entry":"Reshaper","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4c18c3efbf6a15cf"}},{"code_sha256_prefix":"6d2abd2ccec09cfb","entry":"SharedGINConv","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6d2abd2ccec09cfb"}},{"code_sha256_prefix":"92ad417437775dff","entry":"SharedMLP","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"92ad417437775dff"}},{"code_sha256_prefix":"c34bffdf7e8e7f53","entry":"ColourCatSharedGINConv","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.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":"c34bffdf7e8e7f53"}},{"code_sha256_prefix":"aa2c80a08c0f2ec3","entry":"ColourCatSharedGNN","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.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":"aa2c80a08c0f2ec3"}},{"code_sha256_prefix":"5523506924b65182","entry":"reset","repo":"jks17/hymn","repo_kind":"official","path":"counting_substructures/model.py","file_url":"https://github.com/jks17/hymn/blob/HEAD/counting_substructures/model.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":"5523506924b65182"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}