In this project, you will construct a developer network of a Github project and identify influential developers in the netowrk via social network analysis.
We will work with the Eclipse CHE (Java) Github project as the basis for constructing the network. We assume the following.
Important: To retrieve the required information, you can use the Github API or clone the Github repository and write a custom script or program with Git commands.
Now that you know the nodes and edges for the graph, it is time to construct a graph. We will use the Neo4J for that. You can download the community edition of Neo4J for free.
For creating the database, you can either use any of the following.
I recommend using the Java or Python version as opposed to purely Cypher commands as you will need some programming for the last part (note that you can also use Cypher commands from within Java and Python).
Important: All edges in Neo4J must be directed. However, in our case, we have undirected relationships. This is not a problem though. When you create the graph, you can create the edges as directed (does not matter which direction), but when you query the graph, you can ignore the direction. Read more here.
Refer to the Slides titled "Cheliotis+SocialNetworkAnalysis.pdf" in the Google Drive folder for the definitions of the above measures.
Important: You have an intermediate and a final deadline for the project. You submit the above deliverables for each deadline. For the intermediate deadline, you should describe what you have accomplished so far. Of course, you are not expected to complete the project by the intermediate deadline, but you must show some progress.