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 property graph traversal language Gremlin -- 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 (DMSs) using the W3C standardized SPARQL and avoid the steep learning curve of 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. We present an empirical evaluation for the validity of our approach by formalizing the graph pattern matching construct of Gremlin and illustrate its mapping to corresponding SPARQL queries. Moreover, we also present a proof-of-concept implementation of our approach, demonstrate its validity and applicability by executing SPARQL queries on top of leading Graph stores (Neo4J, Sparksee, and Apache TinkerGraph) and compare their performances with RDF stores (Openlink Virtuoso, 4Store, and JenaTDB). The results indicate that, for complex queries (such as Star-shaped), Gremlin pattern matching traversals out-perform their corresponding SPARQL queries significantly, including their translation time. Gremlinator currently covers a subset of the SPARQL 1.0 specification, specifically the SELECT queries.
翻译:过去十年来,知识图形变得很流行,并经常依赖资源描述框架或财产图数据库作为数据模型,但这两个数据模型的查询语言 -- -- RDF 的SPARQL 和 属性图表曲文Gremlin -- -- 缺乏互操作性。我们向Gremlin翻译者介绍Gremlinator,这是一个新的SPARQL 的缩略图。Gremlinator将 SPARQL 查询翻译给Gremlin Trateral,用于在图形数据库中执行匹配查询的图形模式。这允许使用 W3C 标准化 SPARQL 标准 SPARQL 来访问和查询各种图表数据管理系统(DMS ), 并使用 W3C 标准格式来访问和查询数据管理系统 QARQML 的标准, 并用SBARML 的当前运行方式, 显示其当前运行的SBARML 。