{"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/a-net-a-scalable-path-based-reasoning-1","title":"A*Net: A Scalable Path-based Reasoning Approach for Knowledge Graphs","arxiv_id":"2206.04798","date":"2022-06-07","proceeding":"NeurIPS 2023 11","authors":["Zhaocheng Zhu","Xinyu Yuan","Mikhail Galkin","Sophie Xhonneux","Ming Zhang","Maxime Gazeau","Jian Tang"],"abstract":"Reasoning on large-scale knowledge graphs has been long dominated by embedding methods. While path-based methods possess the inductive capacity that embeddings lack, their scalability is limited by the exponential number of paths. Here we present A*Net, a scalable path-based method for knowledge graph reasoning. Inspired by the A* algorithm for shortest path problems, our A*Net learns a priority function to select important nodes and edges at each iteration, to reduce time and memory footprint for both training and inference. The ratio of selected nodes and edges can be specified to trade off between performance and efficiency. Experiments on both transductive and inductive knowledge graph reasoning benchmarks show that A*Net achieves competitive performance with existing state-of-the-art path-based methods, while merely visiting 10% nodes and 10% edges at each iteration. On a million-scale dataset ogbl-wikikg2, A*Net not only achieves a new state-of-the-art result, but also converges faster than embedding methods. A*Net is the first path-based method for knowledge graph reasoning at such scale.","url_abs":"https://arxiv.org/abs/2206.04798v5","url_pdf":"https://arxiv.org/pdf/2206.04798v5.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":"a-net-a-scalable-path-based-reasoning-1","repo_url":"https://github.com/deepgraphlearning/astarnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"a-net-a-scalable-path-based-reasoning-1","repo_url":"https://github.com/DeepGraphLearning/AStarNet/","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"knowledge-graphs","task_name":"Knowledge Graphs"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/link-property-prediction-on-ogbl-wikikg2","task":"Link Property Prediction","dataset":"ogbl-wikikg2","model":"A*Net","rank_in_archive_order":11,"of":30,"metrics":{"Ext. data":"No","Number of params":"6831201","Test MRR":"0.6711 ± 0.0045","Validation MRR":"0.6796 ± 0.0070"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2206.04798","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2206.04798"}},"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/DeepGraphLearning/AStarNet/","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/deepgraphlearning/astarnet","reach":{"status":"ok","spdx":"MIT"}}],"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":0,"samples":[{"code_sha256_prefix":"4efd55e35064eee0","entry":"bincount","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"reasoning/functional.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/reasoning/functional.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4efd55e35064eee0"}},{"code_sha256_prefix":"087b2ca22ed58ea1","entry":"get_entity_types","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"script/chat.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/script/chat.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"087b2ca22ed58ea1"}},{"code_sha256_prefix":"70a68fd646c6e4a7","entry":"get_root_logger","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"reasoning/util.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/reasoning/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"70a68fd646c6e4a7"}},{"code_sha256_prefix":"469d65c572e7ba76","entry":"get_wikidata_id","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"script/chat.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/script/chat.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"469d65c572e7ba76"}},{"code_sha256_prefix":"30326895d5ac5a09","entry":"load_config","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"reasoning/util.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/reasoning/util.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30326895d5ac5a09"}},{"code_sha256_prefix":"3e66de0bc577cdf1","entry":"multikey_argsort","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"reasoning/functional.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/reasoning/functional.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3e66de0bc577cdf1"}},{"code_sha256_prefix":"ad69c1e9f5dc269f","entry":"variadic_topks","repo":"DeepGraphLearning/AStarNet","repo_kind":"official","path":"reasoning/functional.py","file_url":"https://github.com/DeepGraphLearning/AStarNet/blob/HEAD/reasoning/functional.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ad69c1e9f5dc269f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}