{"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-2606-10284","title":"Revisiting Positive Samples in Graph Contrastive Learning: From the Perspective of Message Passing","arxiv_id":"2606.10284","date":"2026-06-09","proceeding":"ICML","authors":["Lianze Shan","Ningchong Wang","Jitao Zhao","Di Jin","Dongxiao He"],"abstract":"Graph Contrastive Learning (GCL), which trains graph encoders by maximizing similarity between positive samples and minimizing it between negative ones, has emerged as a mainstream graph pre-training paradigm. It is widely recognized that positive samples are essential in GCLs. Ideally, maximizing the similarity of positive samples enables graph encoders to capture intrinsic semantic and patterns of graph data. However, we discover an interesting phenomenon: GCLs can achieve competitive performance even without positive samples. This motivates us to revisit the fundamental mechanism of positive samples in GCLs. From the perspective of Dirichlet energy, we theoretically finds that message passing, a key mechanism in graph encoders, trivializes the maximization of positive samples, preventing GCLs from effectively learning from positive samples. To address this, we propose SPGCL to mitigate the trivialization caused by message passing and restore the learning efficacy of positive samples. Specifically, we find that high Dirichlet energy features help positive samples provide effective learning signals while low Dirichlet energy features contribute little to positive learning signal but is useful for positive sampling. Based on this, SPGCL propagates only high Dirichlet energy features and uses low energy features to construct a probability matrix for reliable positive sampling. Extensive experiments demonstrate the effectiveness of SPGCL.","url_abs":"https://arxiv.org/abs/2606.10284","url_pdf":"https://arxiv.org/pdf/2606.10284","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=2606.10284","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.10284"}},"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/nerdslab/bgrl","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/pyg-team/pytorch_geometric","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/tengxiao1/GraphACL","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/CRIPAC-DIG/GRACE","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/shchur/gnn-benchmark","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/bingzhewei/geom-gcn","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/kimiyoung/planetoid","reach":{"status":"ok","spdx":"MIT"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/CRIPAC-DIG/GCA","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/PetarV-/DGI","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/junxia97/ProGCL","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/Namkyeong/AFGRL","reach":{"status":"ok"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/hedongxiao-tju/SGRL","reach":null},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/HanChen-HUST/CSGCL","reach":{"status":"ok","spdx":"MIT"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/sunisfighting/SIGNA","reach":{"status":"ok","spdx":"Apache-2.0"}},{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/yifanQi98/HGRL","reach":null}],"summary":{"ran":12,"ran_fixture":1,"ran_draft_wrong":3,"unverified":10},"by_repo_kind":{"found_in_text":{"samples":26,"ran":16,"repositories":10}},"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":9,"samples":[{"code_sha256_prefix":"bc9359990ebfb346","entry":"Encoder","repo":"HanChen-HUST/CSGCL","repo_kind":"found_in_text","path":"src/model.py","file_url":"https://github.com/HanChen-HUST/CSGCL/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bc9359990ebfb346"}},{"code_sha256_prefix":"6cdcdf73c5420ef9","entry":"Encoder","repo":"Namkyeong/AFGRL","repo_kind":"found_in_text","path":"models/AFGRL.py","file_url":"https://github.com/Namkyeong/AFGRL/blob/HEAD/models/AFGRL.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6cdcdf73c5420ef9"}},{"code_sha256_prefix":"7a417a5d2e070843","entry":"Model","repo":"CRIPAC-DIG/GRACE","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/CRIPAC-DIG/GRACE/blob/HEAD/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":"7a417a5d2e070843"}},{"code_sha256_prefix":"e2856339ea994286","entry":"Model","repo":"sunisfighting/SIGNA","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/sunisfighting/SIGNA/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e2856339ea994286"}},{"code_sha256_prefix":"ddd828d861a3e447","entry":"Neighbor","repo":"Namkyeong/AFGRL","repo_kind":"found_in_text","path":"models/AFGRL.py","file_url":"https://github.com/Namkyeong/AFGRL/blob/HEAD/models/AFGRL.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddd828d861a3e447"}},{"code_sha256_prefix":"47544660b7aa6e6f","entry":"Online","repo":"hedongxiao-tju/SGRL","repo_kind":"found_in_text","path":"models.py","file_url":"https://github.com/hedongxiao-tju/SGRL/blob/HEAD/models.py","link_basis":"first_harvest_node","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":"47544660b7aa6e6f"}},{"code_sha256_prefix":"88c2733c063d14d3","entry":"compute_representations","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/bgrl.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/bgrl.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":"88c2733c063d14d3"}},{"code_sha256_prefix":"bd248e252b9ee711","entry":"contrastive_loss","repo":"tengxiao1/GraphACL","repo_kind":"found_in_text","path":"hete/model.py","file_url":"https://github.com/tengxiao1/GraphACL/blob/HEAD/hete/model.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bd248e252b9ee711"}},{"code_sha256_prefix":"867c9382144672b7","entry":"drop_feature_weighted","repo":"junxia97/ProGCL","repo_kind":"found_in_text","path":"pGRACE/functional.py","file_url":"https://github.com/junxia97/ProGCL/blob/HEAD/pGRACE/functional.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"867c9382144672b7"}},{"code_sha256_prefix":"2694bcf35c3d7b93","entry":"drop_feature_weighted_2","repo":"CRIPAC-DIG/GCA","repo_kind":"found_in_text","path":"pGRACE/functional.py","file_url":"https://github.com/CRIPAC-DIG/GCA/blob/HEAD/pGRACE/functional.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2694bcf35c3d7b93"}},{"code_sha256_prefix":"92505c19d4aa9cbb","entry":"edgeindex2adj","repo":"sunisfighting/SIGNA","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/sunisfighting/SIGNA/blob/HEAD/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"92505c19d4aa9cbb"}},{"code_sha256_prefix":"524d998681e42414","entry":"get_graph_drop_transform","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/transforms.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/transforms.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":"524d998681e42414"}},{"code_sha256_prefix":"436013cac49fa475","entry":"get_wiki_cs","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/data.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/data.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":"436013cac49fa475"}},{"code_sha256_prefix":"ee2bc565d6f81f12","entry":"load_fixed_splits","repo":"tengxiao1/GraphACL","repo_kind":"found_in_text","path":"hete/dataset.py","file_url":"https://github.com/tengxiao1/GraphACL/blob/HEAD/hete/dataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ee2bc565d6f81f12"}},{"code_sha256_prefix":"87c0bb319e19bf42","entry":"repeat_1d_tensor","repo":"Namkyeong/AFGRL","repo_kind":"found_in_text","path":"models/AFGRL.py","file_url":"https://github.com/Namkyeong/AFGRL/blob/HEAD/models/AFGRL.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"87c0bb319e19bf42"}},{"code_sha256_prefix":"facfb4f3eaf05f2a","entry":"udf_u_add_log_e","repo":"tengxiao1/GraphACL","repo_kind":"found_in_text","path":"homo/model.py","file_url":"https://github.com/tengxiao1/GraphACL/blob/HEAD/homo/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"facfb4f3eaf05f2a"}},{"code_sha256_prefix":"fbe2032783804911","entry":"AFGRL","repo":"Namkyeong/AFGRL","repo_kind":"found_in_text","path":"models/AFGRL.py","file_url":"https://github.com/Namkyeong/AFGRL/blob/HEAD/models/AFGRL.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":"fbe2032783804911"}},{"code_sha256_prefix":"8a429771818c4e7f","entry":"CSGCL","repo":"HanChen-HUST/CSGCL","repo_kind":"found_in_text","path":"src/model.py","file_url":"https://github.com/HanChen-HUST/CSGCL/blob/HEAD/src/model.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":"8a429771818c4e7f"}},{"code_sha256_prefix":"13dfce38efd0ba35","entry":"GCN_prop","repo":"yifanQi98/HGRL","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/yifanQi98/HGRL/blob/HEAD/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":"13dfce38efd0ba35"}},{"code_sha256_prefix":"173f87920e13cfee","entry":"HGRL","repo":"yifanQi98/HGRL","repo_kind":"found_in_text","path":"model.py","file_url":"https://github.com/yifanQi98/HGRL/blob/HEAD/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":"173f87920e13cfee"}},{"code_sha256_prefix":"71c1fef2e56a3dc0","entry":"fit_logistic_regression","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/logistic_regression_eval.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/logistic_regression_eval.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":"71c1fef2e56a3dc0"}},{"code_sha256_prefix":"8e31486466f6ecf4","entry":"fit_logistic_regression_preset_splits","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/logistic_regression_eval.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/logistic_regression_eval.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":"8e31486466f6ecf4"}},{"code_sha256_prefix":"8021d44d3b828d80","entry":"get_dataset","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/data.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/data.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":"8021d44d3b828d80"}},{"code_sha256_prefix":"b4e3e4f19bbd5dd0","entry":"init_weights","repo":"Namkyeong/AFGRL","repo_kind":"found_in_text","path":"models/AFGRL.py","file_url":"https://github.com/Namkyeong/AFGRL/blob/HEAD/models/AFGRL.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":"b4e3e4f19bbd5dd0"}},{"code_sha256_prefix":"d0852bc7decfea66","entry":"load_trained_encoder","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/bgrl.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/bgrl.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":"d0852bc7decfea66"}},{"code_sha256_prefix":"a071438db1f34e7b","entry":"ppi_train_linear_layer","repo":"nerdslab/bgrl","repo_kind":"found_in_text","path":"bgrl/linear_eval_ppi.py","file_url":"https://github.com/nerdslab/bgrl/blob/HEAD/bgrl/linear_eval_ppi.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":"a071438db1f34e7b"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}