Skip to main content
QUICK REVIEW

[Paper Review] Killing Two Birds with One Stone -- Querying Property Graphs using SPARQL via GREMLINATOR

Harsh Thakkar, Dharmen Punjani|arXiv (Cornell University)|Jan 25, 2018
Semantic Web and Ontologies13 references3 citations
TL;DR

Gremlinator is a novel translator that converts SPARQL 1.0 SELECT queries into Gremlin traversals, enabling SPARQL users to query property graph databases without learning a new language. It leverages the Apache TinkerPop framework to execute queries across diverse graph databases, achieving interoperability between RDF and property graph systems while preserving query semantics.

ABSTRACT

Knowledge graphs have become popular over the past decade and frequently rely on the Resource Description Framework (RDF) or Property Graph (PG) databases as data models. However, the query languages for these two data models -- SPARQL for RDF and the PG traversal language Gremlin -- are lacking interoperability. We present Gremlinator, the first translator from SPARQL -- the W3C standardized language for RDF -- and Gremlin -- a popular property graph traversal language. Gremlinator translates SPARQL queries to Gremlin path traversals for executing graph pattern matching queries over graph databases. This allows a user, who is well versed in SPARQL, to access and query a wide variety of Graph Data Management Systems (DMSs) avoiding the steep learning curve for adapting to a new Graph Query Language (GQL). Gremlin is a graph computing system-agnostic traversal language (covering both OLTP graph database or OLAP graph processors), making it a desirable choice for supporting interoperability for querying Graph DMSs. Gremlinator currently supports the translation of a subset of SPARQL 1.0, specifically the SPARQL SELECT queries.

Motivation & Objective

  • To bridge the interoperability gap between SPARQL (RDF) and Gremlin (property graphs), two dominant knowledge graph query languages with disjoint user communities.
  • To allow SPARQL users to query property graph databases without learning Gremlin, reducing the learning curve and enabling non-intrusive migration from RDF triple stores.
  • To support hybrid querying by enabling systems to route SPARQL queries to the most efficient backend—RDF or property graph databases—based on query characteristics.
  • To provide a standardized, open-source, and production-ready tool for executing SPARQL queries over property graph databases using the Apache TinkerPop ecosystem.

Proposed method

  • Mapping SPARQL algebra expressions to Gremlin traversal steps using a rule-based translation engine that preserves SPARQL semantics.
  • Leveraging the Apache TinkerPop framework as an execution layer to support multiple property graph databases (e.g., Neo4j, OrientDB, Sparksee) transparently.
  • Supporting only SPARQL 1.0 SELECT queries with basic graph patterns, basic graph patterns with optional matches, and basic filters.
  • Using a pre-defined mapping for SPARQL variables to Gremlin traversal variables and translating SPARQL graph patterns into Gremlin path traversals.
  • Enabling query execution via a web application, desktop client, and screencast demo, with real-time translation and result execution.
  • Restricting property predicates to known terms (not variables) to ensure static traversal generation, as dynamic property traversal is not feasible without prior knowledge.

Experimental results

Research questions

  • RQ1Can SPARQL queries be semantically preserved when translated into Gremlin traversals for property graph databases?
  • RQ2To what extent can SPARQL users query property graph databases without learning a new query language?
  • RQ3How effective is Gremlinator in enabling interoperability between RDF and property graph systems through query translation?
  • RQ4What are the performance and correctness characteristics of Gremlinator’s translation across diverse property graph databases?
  • RQ5Can Gremlinator support hybrid query execution by routing SPARQL queries to the most efficient backend system?

Key findings

  • Gremlinator successfully translates a subset of SPARQL 1.0 SELECT queries into equivalent Gremlin traversals, enabling execution on property graph databases.
  • The system has been integrated into the Apache TinkerPop framework and is available as an open-source plugin under the Apache 2.0 license.
  • Gremlinator is production-ready and has been cleared by the Apache TinkerPop development team for inclusion in future releases.
  • It has been integrated into the SANSA Stack (v0.3) as an experimental plugin, demonstrating interoperability with big data graph processing pipelines.
  • The system supports execution across multiple property graph databases, including Neo4j, Sparksee, and OrientDB, via the TinkerPop abstraction layer.
  • A live demo with datasets (Northwind and BSBM) and pre-loaded SPARQL queries is publicly available for verification and performance comparison.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.