{"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/graphair-graph-representation-learning-with","title":"GraphAIR: Graph Representation Learning with Neighborhood Aggregation and Interaction","arxiv_id":"1911.01731","date":"2019-11-05","proceeding":null,"authors":["Fenyu Hu","Yanqiao Zhu","Shu Wu","Weiran Huang","Liang Wang","Tieniu Tan"],"abstract":"Graph representation learning is of paramount importance for a variety of graph analytical tasks, ranging from node classification to community detection. Recently, graph convolutional networks (GCNs) have been successfully applied for graph representation learning. These GCNs generate node representation by aggregating features from the neighborhoods, which follows the \"neighborhood aggregation\" scheme. In spite of having achieved promising performance on various tasks, existing GCN-based models have difficulty in well capturing complicated non-linearity of graph data. In this paper, we first theoretically prove that coefficients of the neighborhood interacting terms are relatively small in current models, which explains why GCNs barely outperforms linear models. Then, in order to better capture the complicated non-linearity of graph data, we present a novel GraphAIR framework which models the neighborhood interaction in addition to neighborhood aggregation. Comprehensive experiments conducted on benchmark tasks including node classification and link prediction using public datasets demonstrate the effectiveness of the proposed method.","url_abs":"https://arxiv.org/abs/1911.01731v3","url_pdf":"https://arxiv.org/pdf/1911.01731v3.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":"graphair-graph-representation-learning-with","repo_url":"https://github.com/CRIPAC-DIG/GraphAIR","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"community-detection","task_name":"Community Detection"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"graph-representation-learning","task_name":"Graph Representation Learning"},{"task_slug":"link-prediction","task_name":"Link Prediction"},{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"graph-convolutional-networks","method_name":"Graph Convolutional Networks"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/node-classification-on-citeseer-with-public","task":"Node Classification","dataset":"CiteSeer with Public Split: fixed 20 nodes per class","model":"AIR-GCN","rank_in_archive_order":21,"of":40,"metrics":{"Accuracy":"72.9%"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-cora-with-public-split","task":"Node Classification","dataset":"Cora with Public Split: fixed 20 nodes per class","model":"AIR-GCN","rank_in_archive_order":7,"of":36,"metrics":{"Accuracy":"84.7%"},"uses_additional_data":false},{"leaderboard":"/sota/node-classification-on-pubmed-with-public","task":"Node Classification","dataset":"PubMed with Public Split: fixed 20 nodes per class","model":"AIR-GCN","rank_in_archive_order":17,"of":37,"metrics":{"Accuracy":"80%"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1911.01731","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1911.01731"}},"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/CRIPAC-DIG/GraphAIR","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran_honours":3,"ran_violates":2,"ran":1,"unverified":4},"by_repo_kind":{"official":{"samples":11,"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":"bc3a2072a2a9cca3","entry":"dot","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/layers.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/layers.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc3a2072a2a9cca3"}},{"code_sha256_prefix":"b82968db452628fd","entry":"get_layer_uid","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/layers.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/layers.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b82968db452628fd"}},{"code_sha256_prefix":"b89d4728d3c8578d","entry":"masked_accuracy","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/metrics.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/metrics.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b89d4728d3c8578d"}},{"code_sha256_prefix":"d103f29cc58337a2","entry":"masked_softmax_cross_entropy","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/metrics.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/metrics.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d103f29cc58337a2"}},{"code_sha256_prefix":"c1d6392f89c5e495","entry":"parse_index_file","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/utils.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c1d6392f89c5e495"}},{"code_sha256_prefix":"b32fd748b4bbe3bf","entry":"sample_mask","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/utils.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/utils.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b32fd748b4bbe3bf"}},{"code_sha256_prefix":"b190ef9c60b2629a","entry":"zeros","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/inits.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/inits.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b190ef9c60b2629a"}},{"code_sha256_prefix":"1b491f3f784b7cb0","entry":"glorot","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/inits.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/inits.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":"1b491f3f784b7cb0"}},{"code_sha256_prefix":"3ea5592ec1e93501","entry":"load_data","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/utils.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/utils.py","link_basis":"first_harvest_node","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":"3ea5592ec1e93501"}},{"code_sha256_prefix":"81be8a5f4732fe52","entry":"sparse_dropout","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/layers.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/layers.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":"81be8a5f4732fe52"}},{"code_sha256_prefix":"b0d1b78daecde7e9","entry":"uniform","repo":"CRIPAC-DIG/GraphAIR","repo_kind":"official","path":"tensorflow_code/inits.py","file_url":"https://github.com/CRIPAC-DIG/GraphAIR/blob/HEAD/tensorflow_code/inits.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":"b0d1b78daecde7e9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}