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

. 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.

[1]  O. Hartig,et al.  LinGBM: A Performance Benchmark for Approaches to Build GraphQL Servers (Extended Version) , 2022, WISE.

[2]  A. Hogan,et al.  Exploration of Knowledge Graphs via Online Aggregation , 2022, 2022 IEEE 38th International Conference on Data Engineering (ICDE).

[3]  Gonzalo Navarro,et al.  Worst-Case Optimal Graph Joins in Almost No Space , 2021, SIGMOD Conference.

[4]  Fabian M. Suchanek,et al.  Machine Knowledge: Creation and Curation of Comprehensive Knowledge Bases , 2020, Found. Trends Databases.

[5]  Alfons Kemper,et al.  Adopting worst-case optimal joins in relational database systems , 2020, Proc. VLDB Endow..

[6]  Freddy Priyatna,et al.  Exploiting Declarative Mapping Rules for Generating GraphQL Servers with Morph-GraphQL , 2020, Int. J. Softw. Eng. Knowl. Eng..

[7]  Gerard de Melo,et al.  Knowledge Graphs , 2020, ACM Comput. Surv..

[8]  Aidan Hogan,et al.  A Worst-Case Optimal Join Algorithm for SPARQL , 2019, SEMWEB.

[9]  Jan Hidders,et al.  Defining Schemas for Property Graphs by using the GraphQL Schema Definition Language , 2019, GRADES/NDA@SIGMOD/PODS.

[10]  George H. L. Fletcher,et al.  Querying Graphs , 2018, Querying Graphs.

[11]  Stefan Plantikow,et al.  Cypher: An Evolving Query Language for Property Graphs , 2018, SIGMOD Conference.

[12]  Jorge Pérez,et al.  Semantics and Complexity of GraphQL , 2018, WWW.

[13]  Hung Q. Ngo,et al.  Worst-Case Optimal Join Algorithms: Techniques, Results, and Open Problems , 2018, PODS.

[14]  Jens Lehmann,et al.  Iguana: A Generic Framework for Benchmarking the Read-Write Performance of Triple Stores , 2017, SEMWEB.

[15]  Marko A. Rodriguez,et al.  The Gremlin graph traversal machine and language (invited talk) , 2015, DBPL.

[16]  Lei Zou,et al.  gStore: a graph-based SPARQL query engine , 2014, The VLDB Journal.

[17]  Hai Jin,et al.  TripleBit: a Fast and Compact System for Large Scale RDF Data , 2013, Proc. VLDB Endow..

[18]  Jorge Pérez,et al.  Static analysis and optimization of semantic web queries , 2012, PODS '12.

[19]  Dániel Marx,et al.  Size Bounds and Query Plans for Relational Joins , 2008, 2008 49th Annual IEEE Symposium on Foundations of Computer Science.

[20]  Gerhard Weikum,et al.  RDF-3X: a RISC-style engine for RDF , 2008, Proc. VLDB Endow..

[21]  Jeff Heflin,et al.  LUBM: A benchmark for OWL knowledge base systems , 2005, J. Web Semant..

[22]  Mohammad Saleem,et al.  Hashing the Hypertrie: Space- and Time-Efficient Indexing for SPARQL in Tensors , 2022, SEMWEB.

[23]  Felix Conrads,et al.  Tentris - A Tensor-Based Triple Store , 2020, SEMWEB.

[24]  Stefan Decker,et al.  Automatic Bootstrapping of GraphQL Endpoints for RDF Triple Stores , 2020, ASLD@ISWC.

[25]  Proceedings of the 2nd Joint International Workshop on Graph Data Management Experiences & Systems (GRADES) and Network Data Analytics (NDA) , 2019, GRADES/NDA@SIGMOD/PODS.

[26]  Ruben Verborgh,et al.  GraphQL-LD: Linked Data Querying with GraphQL , 2018, International Workshop on the Semantic Web.

[27]  Todd L. Veldhuizen,et al.  Leapfrog Triejoin: A Simple, Worst-Case Optimal Join Algorithm , 2012, 1210.0481.