{"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/rotate-knowledge-graph-embedding-by","title":"RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space","arxiv_id":"1902.10197","date":"2019-02-26","proceeding":"ICLR 2019 5","authors":["Zhiqing Sun","Zhi-Hong Deng","Jian-Yun Nie","Jian Tang"],"abstract":"We study the problem of learning representations of entities and relations in\nknowledge graphs for predicting missing links. The success of such a task\nheavily relies on the ability of modeling and inferring the patterns of (or\nbetween) the relations. In this paper, we present a new approach for knowledge\ngraph embedding called RotatE, which is able to model and infer various\nrelation patterns including: symmetry/antisymmetry, inversion, and composition.\nSpecifically, the RotatE model defines each relation as a rotation from the\nsource entity to the target entity in the complex vector space. In addition, we\npropose a novel self-adversarial negative sampling technique for efficiently\nand effectively training the RotatE model. Experimental results on multiple\nbenchmark knowledge graphs show that the proposed RotatE model is not only\nscalable, but also able to infer and model various relation patterns and\nsignificantly outperform existing state-of-the-art models for link prediction.","url_abs":"http://arxiv.org/abs/1902.10197v1","url_pdf":"http://arxiv.org/pdf/1902.10197v1.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":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/awslabs/dgl-ke","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/davendw49/gakg","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/snap-stanford/ConE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/MS-Mind/MS-Code-01/tree/main/rotate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/MindSpore-paper-code-3/code9/tree/main/rotate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/cui0523/Code6/tree/main/rotate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/jiean001/models_m/tree/main/rotate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/mindspore-ai/models/tree/master/research/nlp/rotate","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"rotate-knowledge-graph-embedding-by","repo_url":"https://github.com/pyg-team/pytorch_geometric/blob/master/torch_geometric/nn/kge/rotate.py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-embedding","task_name":"Graph Embedding"},{"task_slug":"knowledge-graph-embedding","task_name":"Knowledge Graph Embedding"},{"task_slug":"knowledge-graphs","task_name":"Knowledge Graphs"},{"task_slug":"link-prediction","task_name":"Link Prediction"},{"task_slug":null,"task_name":"Relation"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"rotate","method_name":"RotatE"},{"method_slug":"self-adversarial-negative-sampling","method_name":"Self-Adversarial Negative Sampling"}],"datasets_introduced":[],"methods_introduced":[{"slug":"rotate","name":"RotatE","full_name":"RotatE"}],"results":[{"leaderboard":"/sota/link-prediction-on-fb122","task":"Link Prediction","dataset":"FB122","model":"RotatE","rank_in_archive_order":2,"of":5,"metrics":{"HITS@3":"70.8","Hits@10":"77.0","Hits@5":"73.57","MRR":"67.8"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-fb15k","task":"Link Prediction","dataset":"FB15k","model":"pRotatE","rank_in_archive_order":6,"of":23,"metrics":{"Hits@1":"0.750","Hits@10":"0.884","Hits@3":"0.829","MR":"43","MRR":"0.799"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-fb15k","task":"Link Prediction","dataset":"FB15k","model":"RotatE","rank_in_archive_order":7,"of":23,"metrics":{"Hits@1":"0.746","Hits@10":"0.884","Hits@3":"0.830","MR":"40","MRR":"0.797"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-fb15k-237","task":"Link Prediction","dataset":"FB15k-237","model":"RotatE","rank_in_archive_order":43,"of":75,"metrics":{"Hits@1":"0.241","Hits@10":"0.533","Hits@3":"0.375","MR":"177","MRR":"0.338"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-fb15k-237","task":"Link Prediction","dataset":"FB15k-237","model":"pRotatE","rank_in_archive_order":46,"of":75,"metrics":{"Hits@1":"0.23","Hits@10":"0.524","Hits@3":"0.365","MR":"178","MRR":"0.328"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-wn18","task":"Link Prediction","dataset":"WN18","model":"RotatE","rank_in_archive_order":9,"of":37,"metrics":{"Hits@1":"0.944","Hits@10":"0.959","Hits@3":"0.952","MR":"309","MRR":"0.949"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-wn18","task":"Link Prediction","dataset":"WN18","model":"pRotatE","rank_in_archive_order":14,"of":37,"metrics":{"Hits@1":"0.942","Hits@10":"0.957","Hits@3":"0.950","MR":"254","MRR":"0.947"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-wn18rr","task":"Link Prediction","dataset":"WN18RR","model":"RotatE","rank_in_archive_order":36,"of":75,"metrics":{"Hits@1":"0.428","Hits@10":"0.571","Hits@3":"0.492","MR":"3340","MRR":"0.476"},"uses_additional_data":false},{"leaderboard":"/sota/link-prediction-on-wn18rr","task":"Link Prediction","dataset":"WN18RR","model":"pRotatE","rank_in_archive_order":50,"of":75,"metrics":{"Hits@1":"0.417","Hits@10":"0.552","Hits@3":"0.479","MR":"2923","MRR":"0.462"},"uses_additional_data":false},{"leaderboard":"/sota/link-property-prediction-on-ogbl-biokg","task":"Link Property Prediction","dataset":"ogbl-biokg","model":"RotatE","rank_in_archive_order":15,"of":16,"metrics":{"Ext. data":"No","Number of params":"187597000","Test MRR":"0.7989 ± 0.0004","Validation MRR":"0.7997 ± 0.0002"},"uses_additional_data":false},{"leaderboard":"/sota/link-property-prediction-on-ogbl-wikikg2","task":"Link Property Prediction","dataset":"ogbl-wikikg2","model":"RotatE (250dim)","rank_in_archive_order":22,"of":30,"metrics":{"Ext. data":"No","Number of params":"1250435750","Test MRR":"0.4332 ± 0.0025","Validation MRR":"0.4353 ± 0.0028"},"uses_additional_data":false},{"leaderboard":"/sota/link-property-prediction-on-ogbl-wikikg2","task":"Link Property Prediction","dataset":"ogbl-wikikg2","model":"RotatE (50dim)","rank_in_archive_order":30,"of":30,"metrics":{"Ext. data":"No","Number of params":"250087150","Test MRR":"0.2530 ± 0.0034","Validation MRR":"0.2250 ± 0.0035"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1902.10197","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1902.10197"}},"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/jiean001/models_m/tree/main/rotate","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-paper-code-3/code9/tree/main/rotate","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/davendw49/gakg","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pyg-team/pytorch_geometric/blob/master/torch_geometric/nn/kge/rotate.py","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MS-Mind/MS-Code-01/tree/main/rotate","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/snap-stanford/ConE","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cui0523/Code6/tree/main/rotate","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/awslabs/dgl-ke","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mindspore-ai/models/tree/master/research/nlp/rotate","reach":null}],"summary":{"unverified":5},"by_repo_kind":{"listed":{"samples":5,"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":"f103f76a05c11c85","entry":"data_loader","repo":"davendw49/gakg","repo_kind":"listed","path":"code/baselines/transH/TransH.py","file_url":"https://github.com/davendw49/gakg/blob/HEAD/code/baselines/transH/TransH.py","link_basis":"harvester_set","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":"f103f76a05c11c85"}},{"code_sha256_prefix":"0577997988d41269","entry":"dataloader","repo":"davendw49/gakg","repo_kind":"listed","path":"code/baselines/transE/TransE_pytoch.py","file_url":"https://github.com/davendw49/gakg/blob/HEAD/code/baselines/transE/TransE_pytoch.py","link_basis":"harvester_set","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":"0577997988d41269"}},{"code_sha256_prefix":"dbe17b25039229ed","entry":"dataloader","repo":"davendw49/gakg","repo_kind":"listed","path":"code/baselines/transE/transE.py","file_url":"https://github.com/davendw49/gakg/blob/HEAD/code/baselines/transE/transE.py","link_basis":"harvester_set","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":"dbe17b25039229ed"}},{"code_sha256_prefix":"334b60ecd2bd5b68","entry":"norm_l1","repo":"davendw49/gakg","repo_kind":"listed","path":"code/baselines/transE/TransE_pytoch.py","file_url":"https://github.com/davendw49/gakg/blob/HEAD/code/baselines/transE/TransE_pytoch.py","link_basis":"harvester_set","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":"334b60ecd2bd5b68"}},{"code_sha256_prefix":"85ce51631a65b76e","entry":"norm_l2","repo":"davendw49/gakg","repo_kind":"listed","path":"code/baselines/transE/TransE_pytoch.py","file_url":"https://github.com/davendw49/gakg/blob/HEAD/code/baselines/transE/TransE_pytoch.py","link_basis":"harvester_set","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":"85ce51631a65b76e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}