Skip to main content
QUICK REVIEW

[論文レビュー] A Stitch in Time Saves Nine -- SPARQL querying of Property Graphs using Gremlin Traversals

Harsh Thakkar, Dharmen Punjani|arXiv (Cornell University)|Jan 9, 2018
Graph Theory and Algorithms参考文献 34被引用数 13
ひとこと要約

この論文では、SPARQL基本グラフパターンを宣言的でパターンマッチング可能なGremlinトレバーシャルに変換することで、プロパティグラフデータベース上でSPARQLクエリをGremlinトレバーシャルを使って実行できる新しいSPARQL-to-Gremlin変換器であるGremlinatorを提示する。このアプローチにより、特にスターシェイプ型および複雑なクエリにおいて顕著な性能向上が達成され、Virtuoso や 4Store といったRDFストア上のネイティブSPARQLエンジンと比較して大幅な高速化が実証された。

ABSTRACT

Knowledge graphs have become popular over the past years and frequently rely on the Resource Description Framework (RDF) or Property Graphs (PG) as underlying data models. However, the query languages for these two data models -- SPARQL for RDF and Gremlin for property graph traversal -- are lacking interoperability. We present Gremlinator, a novel SPARQL to Gremlin translator. Gremlinator translates SPARQL queries to Gremlin traversals for executing graph pattern matching queries over graph databases. This allows to access and query a wide variety of Graph Data Management Systems (DMS) using the W3C standardized SPARQL query language and avoid the learning curve of a new Graph Query Language. Gremlin is a system-agnostic traversal language covering both OLTP graph database or OLAP graph processors, thus making it a desirable choice for supporting interoperability wrt. querying Graph DMSs. We present a comprehensive empirical evaluation of Gremlinator and demonstrate its validity and applicability by executing SPARQL queries on top of the leading graph stores Neo4J, Sparksee, and Apache TinkerGraph and compare the performance with the RDF stores Virtuoso, 4Store and JenaTDB. Our evaluation demonstrates the substantial performance gain obtained by the Gremlin counterparts of the SPARQL queries, especially for star-shaped and complex queries.

研究の動機と目的

  • SPARQL(RDF)とGremlin(プロパティグラフ)クエリ言語の間の相互運用性の欠如に対処すること。
  • 新しい言語を学ぶことなく、SPARQLユーザーがプロパティグラフデータベースをクエリできるようにすること。
  • プロパティグラフデータベースのローカリティに配慮したトレバーシャル機能を活用することで、クエリの実行性能を向上させること。
  • 多様なグラフデータ管理システム(DMS)間で統一されたクエリインターフェースを提供すること。
  • SPARQLをGremlinに変換するアプローチが、ハイブリッドグラフクエリ実行において実現可能で、性能上の利点があることを実証すること。

提案手法

  • SPARQL操作をGremlinトレバーシャルステップに段階的に変換することで、SPARQL基本グラフパターン(BGPs)を宣言的でパターンマッチング可能なGremlinトレバーシャルにマッピングする。
  • Apache TinkerPopフレームワークをターゲット実行環境として採用し、複数のプロパティグラフデータベース(例:Neo4j、Sparksee、TinkerGraph)との互換性を確保する。
  • 各SPARQLクエリを、意味的同等性を保ちつつグラフローカリティを最適化した対応するGremlinトレバーシャルに変換する。
  • ベンダーディーラのGremlin方言を避けることで、OLTPおよびOLAPグラフプロセッサの両方でポータブルなシステムにアーキテクチャを設計する。
  • 命令型と宣言型の両方のトレバーシャルスタイルをサポートするように変換器を設計し、公平な性能比較のための焦点を宣言的パターンマッチングに置く。
  • BSBMおよびNorthwindデータセットを用いた実験的評価により、RDFストア(Virtuoso、4Store、JenaTDB)およびプロパティグラフストア(Neo4j、Sparksee、TinkerGraph)を含む複数のDMS上で翻訳の妥当性を検証する。

実験結果

リサーチクエスチョン

  • RQ1RDFとプロパティグラフシステム間の相互運用性を実現するために、SPARQLクエリをGremlinトレバーシャルに効果的に変換できるか?
  • RQ2SPARQLをGremlinに変換することで、RDFストア上でのネイティブSPARQL実行と比較して、測定可能な性能向上が得られるか?
  • RQ3スターシェイプ型および複雑なグラフパターンに対して、SPARQLとGremlinのクエリ実行特性にどのような差が生じるか?
  • RQ4Gremlinatorは、アプリケーションレベルの変更なしに、異種のグラフデータベース間でシームレスなクエリ実行を可能にするか?
  • RQ5さまざまなクエリタイプに対して、ネイティブSPARQLエンジンと比較して、Gremlinトレバーシャルの実行にかかるオーバーヘッドまたは利点は何か?

主な発見

  • Gremlinatorは、SPARQLクエリを同等のGremlinパターンマッチングトレバーシャルに成功して変換し、RDFとプロパティグラフシステム間の相互運用性を実現した。
  • スターシェイプ型および複雑なクエリでは、平均で最大3.5倍の高速化が達成され、一部のクエリでは10倍以上の高速化が観察された。
  • BSBMデータセットでは、TinkerGraph上でのGremlinトレバーシャルの実行時間はインデックスなしで11.49–17.01 ms、Virtuoso上ではインデックスありで36.25–52 msであったため、顕著な性能向上が確認された。
  • Northwindデータセットでは、TinkerGraph上でのL2クエリで最低0.39 ms、4Store上では113 msであったため、特定のパターンに対してGremlinatorが顕著な性能優位性を示した。
  • グラフローカリティに恩恵を受けるクエリでは、Gremlinのマイクロインデックス化とトレバーシャル効率が、SPARQLのジョインベース実行を上回る。
  • 評価結果から、Gremlinatorが、OLTPおよびOLAPシステムを含む多様なグラフデータベース上で、効率的でポータブルかつ高性能なSPARQLクエリを実現できることを確認した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。