Generación automática de resolvers GraphQL a partir de mappings R2RML

Medina Turati, Manuel Ignacio (2020). Generación automática de resolvers GraphQL a partir de mappings R2RML. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S. de Ingenieros Informáticos (UPM), Madrid, España.

Description

Title: Generación automática de resolvers GraphQL a partir de mappings R2RML
Author/s:
  • Medina Turati, Manuel Ignacio
Contributor/s:
Item Type: Final Project
Degree: Grado en Ingeniería Informática
Date: June 2020
Subjects:
Faculty: E.T.S. de Ingenieros Informáticos (UPM)
Department: Inteligencia Artificial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[thumbnail of TFG_MANUEL_IGNACIO_MEDINA_TURATI.pdf]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (1MB) | Preview

Abstract

Hoy en día, las API REST son la principal herramienta para el desarrollo de aplicaciones móviles y web. A partir de esta tecnología, se maneja las consultas de datos requeridas por el cliente a través de varios endpoints. Sin embargo, existen otras opciones para realizar la obtención y tratamiento de la información de una manera más rápida, eficiente y sin sobrecargar el ancho de banda, como por ejemplo GraphQL. Con GraphQL, las consultas se realizan en un único endpoint y se devuelven los resultados correspondientes gracias a un servidor. Este servidor está compuesto por una serie de schemas y resolvers, encargados de inicializar las entidades y consultas existentes, y de desarrollar unas funciones para retornar una serie de valores, respectivamente. Sin embargo, ambos componentes requieren un desarrollo complejo ya que tienen que estar relacionados con los elementos y características principales de una base de datos. Por este motivo, se origina este trabajo para facilitar dicho proceso de desarrollo. El proyecto consiste en implementar un servidor de GraphQL de forma automática a partir del mapping R2RML. Este archivo contiene unas reglas de mapeo encargadas de especificar los diferentes componentes de cada entidad de la base de datos, y las posibles relaciones existentes de cada una de ellas. Para generar este servidor, se desarrolla en el lenguaje JavaScript la traducción de los componentes principales del mapping. A partir de este traductor, se construyen los elementos que conforman al servidor para que, finalmente, se puedan realizar una serie de consultas en su interfaz web.---ABSTRACT---Nowadays, REST APIs are the main tool for the development of mobile and web applications. From this technology, data queries required by the customer are handled through various endpoints. However, there is another option for obtaining and processing information more quickly, efficiently, and without overloading the bandwidth, called GraphQL. With GraphQL, queries are performed on a single endpoint and the corresponding results are return by a server. This server is composed of a series of schemas and resolvers which oversee initializing the existing entities and queries, and of developing some functions to return a series of values, respectively. However, both components require a complex development since they must be related to the main elements and characteristics of a database. For this reason, this work was created to facilitate this development process. The project consists of implementing a GraphQL-Java server automatically from an R2RML mapping composed of the existing relationships within a database. To generate this server, the translation of the main components of the mapping is developed in JavaScript. From this translator, the elements that compose the GraphQL server are built so that, finally, a series of queries can be made on its web interface.

More information

Item ID: 63098
DC Identifier: https://oa.upm.es/63098/
OAI Identifier: oai:oa.upm.es:63098
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 20 Jul 2020 10:59
Last Modified: 20 Jul 2020 10:59
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM