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)|2018. 01. 09.
Graph Theory and Algorithms참고 문헌 34인용 수 13
한 줄 요약

이 논문은 SPARQL 쿼리를 속성 그래프 데이터베이스에서 Gremlin 트래버설을 사용해 실행할 수 있도록 해주는 새로운 SPARQL-to-Gremlin 번역기인 Gremlinator을 제시한다. SPARQL 기본 그래프 패턴(BGPs)을 선언적 Gremlin 패턴 매칭 트래버설로 번역함으로써, 특히 스타형 및 복잡한 쿼리에서 뚜렷한 성능 향상을 달성한다. 이는 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 그래프 프로세서 간의 이식성 확보 방법.
  • 의사결정적 및 선언적 트래버설 스타일을 모두 지원하도록 번역기를 설계하였으며, 공정한 성능 비교를 위해 선언적 패턴 매칭에 중점을 둔 방법.
  • RDF 스토어(Virtuoso, 4Store, JenaTDB)와 속성 그래프 스토어( Neo4j, Sparksee, TinkerGraph)를 포함한 다양한 DMS에서 BSBM 및 Northwind 데이터셋을 대상으로 실증적 평가를 통해 번역의 타당성 검증 방법.

실험 결과

연구 질문

  • RQ1RDF와 속성 그래프 시스템 간의 상호운용성을 위해 SPARQL 쿼리가 효과적으로 Gremlin 트래버설로 번역될 수 있는가?
  • RQ2SPARQL를 Gremlin으로 번역하면 RDF 스토어에서 네이티브 SPARQL 실행 대비 측정 가능한 성능 향상이 이루어지는가?
  • RQ3스타형 및 복잡한 그래프 패턴에 대해 SPARQL와 Gremlin 간의 쿼리 성능 특성이 어떻게 다를까?
  • RQ4Gremlinator은 응용 프로그램 수준의 변경 없이 이질적인 그래프 데이터베이스 간에 원활한 쿼리 실행을 가능하게 할 수 있는가?
  • RQ5다양한 쿼리 유형에 대해 네이티브 SPARQL 엔진 대비 Gremlin 트래버설을 사용할 경우 성능 오버헤드 또는 이점은 무엇인가?

주요 결과

  • Gremlinator은 SPARQL 쿼리를 등가인 Gremlin 패턴 매칭 트래버설로 성공적으로 번역하여 RDF와 속성 그래프 시스템 간의 상호운용성을 실현한다.
  • 스타형 및 복잡한 쿼리에 대해, Gremlin 트래버설은 네이티브 SPARQL 실행 대비 평균 3.5배까지 성능 향상을 보이며, 일부 쿼리에서는 10배 이상의 속도 향상을 기록한다.
  • BSBM 데이터셋에서 TinkerGraph에서는 인덱스 없이도 11.49–17.01ms 내로 트래버설이 실행되었고, Virtuoso에서는 인덱스가 있는 상태에서 36.25–52ms가 소요되어 상당한 성능 향상을 보였다.
  • Northwind 데이터셋에서 Gremlinator은 TinkerGraph에서 L2 쿼리의 경우 최소 0.39ms로 실행된 반면, 4Store에서는 113ms가 소요되어 특정 패턴에 대해 뛰어난 성능을 보였다.
  • 그래프 국소성에 유리한 쿼리에서는 Gremlin의 마이크로 인덱싱과 트래버설 효율성이 SPARQL의 조인 기반 실행 방식을 능가하여 성능 우위를 확보한다.
  • 평가 결과, Gremlinator은 다양한 그래프 데이터베이스, 특히 OLTP 및 OLAP 시스템을 포함해 효율적이고 이식성 있으며 고성능인 SPARQL 쿼리 실행을 가능하게 함을 확인했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.