Skip to main content
QUICK 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 Ontologies参考文献 13被引用数 3
ひとこと要約

Gremlinator は、SPARQL 1.0 の SELECT クエリを Gremlin トランザクションに変換する新規のトランスレーターであり、RDF とプロパティグラフデータベースを対象とするユーザーが新しい言語を学ぶことなく、プロパティグラフデータベースを照会できるようにする。Apache TinkerPop フレームワークを活用することで、多様なグラフデータベース上でクエリを実行でき、RDF とプロパティグラフシステム間の相互運用性を実現するとともに、クエリの意味を保持する。

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.

研究の動機と目的

  • SPARQL(RDF)と Gremlin(プロパティグラフ)という、ユーザーコミュニティが分離している2つの主要な知識グラフクエリ言語の間の相互運用性のギャップを埋める。
  • SPARQL ユーザーが Gremlin を学ばずにプロパティグラフデータベースを照査できるようにし、学習曲線を軽減し、RDF トリプルストアからの非侵襲的移行を可能にする。
  • クエリの特徴に基づいて、最も効率的なバックエンド(RDF またはプロパティグラフデータベース)に SPARQL クエリをルーティングすることで、ハイブリッドクエリを可能にする。
  • Apache TinkerPop エコシステムを用いて、プロパティグラフデータベース上で SPARQL クエリを実行するための標準的でオープンソースかつプロダクション環境対応のツールを提供する。

提案手法

  • SPARQL アルジュブラ式を、SPARQL の意味を保持するルールベースの翻訳エンジンを用いて Gremlin トランザクションステップにマッピングする。
  • Apache TinkerPop フレームワークを実行レイヤーとして活用し、複数のプロパティグラフデータベース(例:Neo4j、OrientDB、Sparksee)を透過的にサポートする。
  • 基本的なグラフパターン、オプションマッチ付きの基本的グラフパターン、および基本フィルタを含む SPARQL 1.0 SELECT クエリのみをサポートする。
  • SPARQL 変数を Gremlin トランザクション変数に事前定義されたマッピングを用い、SPARQL グラフパターンを Gremlin パth トランザクションに翻訳する。
  • Web アプリケーション、デスクトップクライアント、スクリーンキャストデモを通じてクエリ実行を可能にし、リアルタイムでの翻訳と結果実行を実現する。
  • 動的プロパティトランザクションが事前の知識なしでは実現不可能であるため、プロパティの述語を既知の用語(変数ではない)に制限し、静的トランザクション生成を保証する。

実験結果

リサーチクエスチョン

  • RQ1SPARQL クエリは、プロパティグラフデータベースの Gremlin トランザクションに翻訳される際に、意味が保持されるか。
  • RQ2SPARQL ユーザーは、新しいクエリ言語を学ばずに、どの程度プロパティグラフデータベースを照査できるか。
  • RQ3Gremlinator は、クエリ翻訳を通じて、RDF とプロパティグラフシステム間の相互運用性をどの程度効果的に実現できるか。
  • RQ4Gremlinator の翻訳のパフォーマンスおよび正しさは、多様なプロパティグラフデータベースにおいてどの程度の特性を示すか。
  • RQ5Gremlinator は、最も効率的なバックエンドシステムに SPARQL クエリをルーティングすることで、ハイブリッドクエリ実行をサポートできるか。

主な発見

  • Gremlinator は、SPARQL 1.0 の SELECT クエリのサブセットを、等価な Gremlin トランザクションに成功して翻訳し、プロパティグラフデータベース上で実行可能である。
  • 本システムは Apache TinkerPop フレームワークに統合され、Apache 2.0 ライセンスの下でオープンソースのプラグインとして利用可能である。
  • Gremlinator はプロダクション環境対応であり、Apache TinkerPop 開発チームの承認を経て、将来のリリースへの統合が予定されている。
  • SANSA Stack(v0.3)に実験的プラグインとして統合され、ビッグデータグラフ処理パイプラインとの相互運用性が実証された。
  • TinkerPop の抽象化レイヤーを通じて、Neo4j、Sparksee、OrientDB などの複数のプロパティグラフデータベースで実行が可能である。
  • Northwind および BSBM のデータセットと事前にロードされた SPARQL クエリを備えたライブデモが公開されており、検証およびパフォーマンス比較が可能である。

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

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

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

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