Taming the Expressiveness and Programmability of Graph Analytical Queries
Abstract
Graph database has enjoyed a boom in the last decade, and graph queries accordingly gain a lot of attentions from both the academia and industry. We focus on analytical queries in this paper. While analyzing existing domain-specific languages (DSLs) for analytical queries regarding the perspectives of completeness, expressiveness and programmability, we find out that none of existing work has achieved a satisfactory coverage of these perspectives. Motivated by this, we propose the \flash DSL, which is named after the three primitive operators Filter, LocAl and PuSH. We prove that \flash is Turing complete (completeness), and show that it achieves both good expressiveness and programmability for analytical queries. We provide an implementation of \flash based on code generation, and compare it with native C++ codes and existing DSL using representative queries. The experiment results demonstrate \flash's expressiveness, and its capability of programming complex algorithms that achieve satisfactory runtime.
Cite
@article{arxiv.2004.09045,
title = {Taming the Expressiveness and Programmability of Graph Analytical Queries},
author = {Lu Qin and Longbin Lai and Kongzhang Hao and Zhongxin Zhou and Yiwei Zhao and Yuxing Han and Xuemin Lin and Zhengping Qian and Jingren Zhou},
journal= {arXiv preprint arXiv:2004.09045},
year = {2020}
}
Comments
22 pages