English

Taming the Expressiveness and Programmability of Graph Analytical Queries

Computation and Language 2020-10-01 v2 Databases Programming Languages

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.

Keywords

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

R2 v1 2026-06-23T14:57:24.197Z