Signed Social networks can be seen as a special case of Social networks, that maps each link with a sign. A link can be positive (+, 1, +1 etc) and that represent that two nodes are friends, on the other hand a negative link (-, -1 etc) represents that the two connected nodes are foes.
All of the code is written using Serbian for naming methods, variables etc. so it can be tricky for non-speakers, the plan is to translate and make it more readable in the future.
In this project, written for an intro in Social networks course at the Faculty of Sciences, Novi Sad, Serbia, the main function that can be seen in klasterabilnost.py. There we check if a given network can be partitioned into clussters where inter links are negative and intro are positive, this is achieved with the method Klasteri.je_klasterabilno. The Klasteri.grane_koje_ruse_klasterabilnost method returns a set of all intro links that are negative. The Klasteri.dobij_sve_klastere and Klasteri.dobij_podeljene_klastere methods return all clusters, where in the second method they are divided in those who have and those who do not have negative intro links.<Klasteri.dobij_mrezu_klastera> method returns a small network where nodes/entities are the clusters and are connected only if there is a inter negative link between them.
Testing was done in two parts. First part hand written test were tested in testiranje.py. The test cases can be seen in the file res/testovi. Second part of the testing was done over large random generated tests in testiranje_random_mreze.py. With the method __oznaceni_Erdos_Renji, I modified the classic ER Model for signed networks. All tests were passed.
Analysis of real world networks was done over: soc-sign-Slashdot090221, wiki-RfA, soc-sign-epinions, soc-sign-bitcoin-alpha, soc-sign-bitcoin-otc. All of the networks can be found here. The results are not public yet, they first have to be translated from Serbian.