Table of Contents
Fetching ...

Native Execution of GraphQL Queries over RDF Graphs Using Multi-way Joins

Nikolaos Karalis, Alexander Bigerl, Axel-Cyrille Ngonga Ngomo

TL;DR

This work implements a multi-way left-join algorithm inspired by worst-case optimal multi-way join algorithms that enables the native execution of GraphQL queries over RDF knowledge graphs and suggests that this solution outperforms the state-of-the-art graph storage solution for GraphQL with respect to both query runtimes and scalability.

Abstract

Purpose: The query language GraphQL has gained significant traction in recent years. In particular, it has recently gained the attention of the semantic web and graph database communities and is now often used as a means to query knowledge graphs. Most of the storage solutions that support GraphQL rely on a translation layer to map the said language to another query language that they support natively, for example SPARQL. Methodology: Our main innovation is a multi-way left-join algorithm inspired by worst-case optimal multi-way join algorithms. This novel algorithm enables the native execution of GraphQL queries over RDF knowledge graphs. We evaluate our approach in two settings using the LinGBM benchmark generator. Findings: The experimental results suggest that our solution outperforms the state-of-the-art graph storage solution for GraphQL with respect to both query runtimes and scalability. Value: Our solution is implemented in an open-sourced triple store, and is intended to advance the development of representation-agnostic storage solutions for knowledge graphs.

Native Execution of GraphQL Queries over RDF Graphs Using Multi-way Joins

TL;DR

This work implements a multi-way left-join algorithm inspired by worst-case optimal multi-way join algorithms that enables the native execution of GraphQL queries over RDF knowledge graphs and suggests that this solution outperforms the state-of-the-art graph storage solution for GraphQL with respect to both query runtimes and scalability.

Abstract

Purpose: The query language GraphQL has gained significant traction in recent years. In particular, it has recently gained the attention of the semantic web and graph database communities and is now often used as a means to query knowledge graphs. Most of the storage solutions that support GraphQL rely on a translation layer to map the said language to another query language that they support natively, for example SPARQL. Methodology: Our main innovation is a multi-way left-join algorithm inspired by worst-case optimal multi-way join algorithms. This novel algorithm enables the native execution of GraphQL queries over RDF knowledge graphs. We evaluate our approach in two settings using the LinGBM benchmark generator. Findings: The experimental results suggest that our solution outperforms the state-of-the-art graph storage solution for GraphQL with respect to both query runtimes and scalability. Value: Our solution is implemented in an open-sourced triple store, and is intended to advance the development of representation-agnostic storage solutions for knowledge graphs.
Paper Structure (17 sections, 1 equation, 3 figures, 3 tables, 1 algorithm)

This paper contains 17 sections, 1 equation, 3 figures, 3 tables, 1 algorithm.

Figures (3)

  • Figure 1: Performance of the systems in the first configuration w.r.t. their pAvgQPS. The black lines denote the values reported in the warmup run.
  • Figure 2: Performance of the systems in the first configuration w.r.t. their QPS.
  • Figure 3: Scalability of the systems in the second configuration w.r.t. their pAvgQPS.

Theorems & Definitions (10)

  • Definition 2.1: GraphQL schema DBLP:conf/www/Hartig018
  • Example 2.1
  • Definition 2.2: GraphQL graph DBLP:conf/www/Hartig018
  • Definition 2.3: GraphQL query DBLP:conf/www/Hartig018
  • Example 2.2
  • Definition 2.4: GraphQL semantics DBLP:conf/www/Hartig018
  • Example 3.1
  • Definition 3.1: Operand dependency graph
  • Example 3.2
  • Example 3.3