formidablae / Masters_Thesis

Computer Science & Engineering Master's Degree Graduation Thesis. Clustering Graphs - Applying a Label Propagation Algorithm to Detect Communities (in academia) in Graph Databases (ArangoDB). Communities were detected, a GraphQL API with NodeJS and Express and a frontend interface with React, TypeScript and CytoscapeJS were built.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer Science and Engineering Master's Degree Thesis

Title: Clustering Graphs

Subtitle: Applying a Label Propagation Algorithm to Detect Communities in Graph Databases

The thesis is on the detection of collaboration communities in the academia by making use of graph databases such as Neo4j or ArangoDB and a Label Propagation Community Detection Algorithm. To visualize the results, a full webapp was built made of a frontend interface with React, TypeScript and CytoscapeJS consuming a custom built GraphQL API with NodeJS and Express.

The thesis

Pdf file of the thesis: 2021-09-14_masters_thesis_document.pdf

LaTeX source code of the thesis: ./masters_thesis

The presentation

Presentation slides (only): 2021-09-23_thesis_presentation_slides_only

Presentation slides (with notes): 2021-09-23_thesis_presentation_slides_and_notes.pdf

Presentation slides (with notes x4 per page): 2021-09-23_thesis_presentation_slides_and_notes_x4_per_A4_page.pdf

LaTeX source code of the presentation slides: ./thesis_presentation

Project's Source Code

Preliminary data conversion (XML to JSON): ./convert_large_xml_to_json

Dataset import in ArangoDB: ./arangodb_import_json_data

Data manipulations towards obtaining the graph: ./distribute_data_in_arangodb

Source code of the GraphQL API back-end: ./adomainthat-rocks_backend

Source code of the front-end interface: ./adomainthat-rocks_frontend

An overview

The dataset

Data conversion, import and transformations

A sample graph of researchers and their publications, other entities

The Label Propagation Community Detection Algorithm used to detect communities

The results of the detection of communities

Visualization of the results with a full-stack webapp

The front-end interface made with React, TypeScript and CytoscapeJS

in detail

in production

zoomed in graph of collaborations

Note: This thesis was awarded with the Rovelli Award as the best graduation thesis of Computer Science and Engineering Degree of 2021 related to topics of software development. Prize was awarded by the University of Bergamo and WebResults.

About

Computer Science & Engineering Master's Degree Graduation Thesis. Clustering Graphs - Applying a Label Propagation Algorithm to Detect Communities (in academia) in Graph Databases (ArangoDB). Communities were detected, a GraphQL API with NodeJS and Express and a frontend interface with React, TypeScript and CytoscapeJS were built.


Languages

Language:TeX 88.4%Language:TypeScript 8.5%Language:JavaScript 1.6%Language:Python 0.7%Language:CSS 0.5%Language:Shell 0.2%Language:HTML 0.1%Language:Java 0.0%