{"id":16357076,"url":"https://github.com/jacomyal/abcd-gephi-plugin","last_synced_at":"2025-06-27T00:38:07.866Z","repository":{"id":14127982,"uuid":"16833240","full_name":"jacomyal/ABCD-Gephi-Plugin","owner":"jacomyal","description":"Antagonism based Community Detection for Gephi","archived":false,"fork":false,"pushed_at":"2014-07-17T15:47:54.000Z","size":253,"stargazers_count":5,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-31T14:16:29.530Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacomyal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-02-14T09:44:16.000Z","updated_at":"2023-12-06T08:16:50.000Z","dependencies_parsed_at":"2022-08-28T22:40:59.122Z","dependency_job_id":null,"html_url":"https://github.com/jacomyal/ABCD-Gephi-Plugin","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacomyal%2FABCD-Gephi-Plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacomyal%2FABCD-Gephi-Plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacomyal%2FABCD-Gephi-Plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacomyal%2FABCD-Gephi-Plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacomyal","download_url":"https://codeload.github.com/jacomyal/ABCD-Gephi-Plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238254151,"owners_count":19441799,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T01:46:05.964Z","updated_at":"2025-02-11T07:31:17.319Z","avatar_url":"https://github.com/jacomyal.png","language":"Java","readme":"## Antagonism-based community detection\n\nDeveloped by [Alexis Jacomy](https://github.com/jacomyal) for the [Contropedia](http://contropedia.net/) project.\nPlugin released under the [MIT License](https://github.com/jacomyal/FriendshipsPlugin/blob/master/LICENSE.txt).\n\nThis Gephi plugins aims to find communities when edges are connecting enemy nodes.\n\nHere is how it works:\n\n 1. The plugin computes a friendship score between each pair of nodes.\n   - The more common enemies two nodes have, the higher their score will be.\n   - The more connected two nodes are, the lower their score will become.\n 2. All original edges are removed.\n 3. Each pair of nodes that has a score higher than the threshold will become connected.\n 4. The Modularity algorithm is then used to detect communities, on the new graph.\n 5. Finally, unless the `Override edges` flag is set to true, the new edges are removed and the original ones are restored again. Be aware that if you set the `Override edges` flag the orginal network will be lost (unless you reload the orginal data).\n\nFinally, you can represent the communities as colors through the `Partition \u003e Nodes` panel (selecting Modularity).\n\n### Details of the algortihm for calculation the friendship score:\n\n#### Parameters of the Algorithm:\n\n - **pd** = Direct Connection Penalty (should be a value below 0)\n - **ct** = Common neighbours score (transitive node, `A-\u003eC-\u003eB`)\n - **cg** = Common neighbours score (common traget node, `A-\u003eC\u003c-B`)\n - **co** = Common neighbours score (common source node, `A\u003c-C-\u003eB`)\n - **c** = Common neighbours score (undirected network, `A-C-B`). In the case of an undirected network the parameters ct, cg and co have to be set all to the same value (which we refer to as c from now on) otherwise the result of the algorithm will be depending on the internal representation of the undirected nodes in Gephi.\n - **t** = treshold for the establishement of a friendship link\n\n#### Example\nNetwork: A, B, C, D nodes; w1, w2, w3, w4, w5 edge weights\n\n````\n    D\n   / \\\n w4   w5\n /      \\\nA---w1---B\n \\      /\n w2   w3\n   \\ /\n    C\n````\n\nWe calculate the friendship score `s` of A and B with the following formula (we only use an undirected network):\n````\ns(A, B) = pd * w1 + c * (w2 + w3 + w4 + w5)\n````\n\nAnd for A and C it is:\n````\ns(A, C) = pd * w2 + c * (w1 + w3)\n````\n\nAll common neighbours of two nodes are contrasted with the weight multiplied by the penality factor `pd` of the conenctin between these two nodes.\n\nA and B are linked if: `s(A, B) \u003e t`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacomyal%2Fabcd-gephi-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacomyal%2Fabcd-gephi-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacomyal%2Fabcd-gephi-plugin/lists"}