[논문 리뷰] Killing Two Birds with One Stone -- Querying Property Graphs using SPARQL via GREMLINATOR
Gremlinator는 SPARQL 1.0 SELECT 쿼리를 Gremlin 트래버스로 변환하는 신규 번역기로, RDF 기반 쿼리 언어인 SPARQL 사용자가 새로운 언어를 배우지 않고도 프로퍼티 그래프 데이터베이스를 쿼리할 수 있도록 한다. 이는 Apache TinkerPop 프레임워크를 활용하여 다양한 그래프 데이터베이스에서 쿼리를 실행함으로써 RDF 및 프로퍼티 그래프 시스템 간의 상호운용성을 달성하면서도 쿼리 의미를 유지한다.
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(프로퍼티 그래프) 간의 상호운용성 격차를 메우기 위한 것. 이는 사용자 커뮤니티가 분리되어 있는 두 가지 주요 지식 그래프 쿼리 언어 간의 격차를 메운다.
- SPARQL 사용자가 Gremlin을 배우지 않고도 프로퍼티 그래프 데이터베이스를 쿼리할 수 있도록 하여 학습 곡선을 줄이고, RDF 트리플 스토어에서의 비침습적 마이그레이션을 가능하게 한다.
- 쿼리 특성에 따라 가장 효율적인 백엔드(RDF 또는 프로퍼티 그래프 데이터베이스)로 SPARQL 쿼리를 라우팅할 수 있도록 하여 하이브리드 쿼리 기능을 지원한다.
- Apache TinkerPop 생태계를 활용하여 프로퍼티 그래프 데이터베이스에서 SPARQL 쿼리를 실행할 수 있는 표준화되고, 오픈소스이며, 프로덕션 환경에서 사용 가능한 도구를 제공한다.
제안 방법
- SPARQL 알제브라 표현식을 규칙 기반 번역 엔진을 사용해 Gremlin 트래버스 스텝으로 매핑함으로써 SPARQL 의미를 유지한다.
- Apache TinkerPop 프레임워크를 실행 계층으로 활용하여, Neo4j, OrientDB, Sparksee 등의 다양한 프로퍼티 그래프 데이터베이스를 투명하게 지원한다.
- 기본 그래프 패턴, 기본 그래프 패턴에 옵션 매칭이 포함된 경우, 그리고 기본 필터가 포함된 SPARQL 1.0 SELECT 쿼리만 지원한다.
- 사전 정의된 매핑을 통해 SPARQL 변수를 Gremlin 트래버스 변수로 변환하고, SPARQL 그래프 패턴을 Gremlin 경로 트래버스로 변환한다.
- 웹 애플리케이션, 데스크톱 클라이언트, 스크린캐스트 데모를 통해 실시간 번역 및 결과 실행이 가능한 쿼리 실행 기능을 제공한다.
- 동적 프로퍼티 트래버스가 사전 지식 없이 구현될 수 없기 때문에, 프로퍼티 예약어를 알려진 용어로 제한하여 정적 트래버스 생성을 보장한다.
실험 결과
연구 질문
- RQ1SPARQL 쿼리가 프로퍼티 그래프 데이터베이스의 Gremlin 트래버스로 번역될 때 의미가 유지되는가?
- RQ2SPARQL 사용자가 새로운 쿼리 언어를 배우지 않고 프로퍼티 그래프 데이터베이스를 얼마나 잘 쿼리할 수 있는가?
- RQ3Gremlinator는 쿼리 번역을 통해 RDF 및 프로퍼티 그래프 시스템 간의 상호운용성을 얼마나 효과적으로 제공하는가?
- RQ4Gremlinator의 번역 기능이 다양한 프로퍼티 그래프 데이터베이스에서 성능과 정확성 측면에서 어떻게 작동하는가?
- RQ5Gremlinator는 쿼리 특성에 따라 가장 효율적인 백엔드 시스템으로 SPARQL 쿼리를 라우팅함으로써 하이브리드 쿼리 실행을 지원할 수 있는가?
주요 결과
- Gremlinator는 SPARQL 1.0 SELECT 쿼리의 일부를 등가의 Gremlin 트래버스로 성공적으로 번역하여 프로퍼티 그래프 데이터베이스에서 실행할 수 있도록 한다.
- 시스템은 Apache TinkerPop 프레임워크에 통합되었으며, Apache 2.0 라이선스 하에 오픈소스 플러그인으로 제공된다.
- Gremlinator는 프로덕션 환경에서 사용 가능한 상태이며, Apache TinkerPop 개발팀의 승인을 받아 향후 릴리스에 포함될 예정이다.
- SANSA 스택(v0.3)에 실험적 플러그인으로 통합되어 대용량 그래프 처리 파이프라인과의 상호운용성을 입증했다.
- TinkerPop 추상화 계층을 통해 Neo4j, Sparksee, OrientDB 등의 다양한 프로퍼티 그래프 데이터베이스에서 실행이 가능하다.
- 공개된 라이브 데모를 통해 Northwind 및 BSBM 데이터셋과 사전 로드된 SPARQL 쿼리가 제공되어 검증 및 성능 비교가 가능하다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.