Hide menu

Implementing Facebook's GraphQL Interface on top of a Graph Database

This project is designed for 1-2 master students.

Description: After developing and using it internally for three years, in 2016, Facebook released a specification and a reference implementation of a framework, called GraphQL, that introduces a new type of Web-based data access interfaces. This framework has become highly popular and is employed by an increasing number of users including Coursera, Twitter, Github, and Pinterest. In an ongoing research collaboration between the Universidad de Chile and Linköping University we have developed a formalization of GraphQL that resembles concepts of graph databases. The goal of this thesis project is to develop an efficient GraphQL server implementation that connects to an actual graph database as a backend by using the formalization as a blueprint. To access the graph database, the envisioned server may use the Java API of Apache Tinkerpop which is a generic, vendor-agnostic framework for working with graph databases. After an initial version of the GraphQL server has been developed, options for making more efficient the processing of GraphQL requests in the server have to be identified, implemented, and experimentally evaluated.

Prerequisites: Students who want to work on this project should have read a course on Database Technology. Additionally, the course on Advanced Data Models and Databases (TDDD43) is beneficial (but not mandatory), and experience with programming in Java is recommended.

Contact: Olaf Hartig.

Page responsible: Olaf Hartig
Last updated: 2018-10-26