论文标题
驯服图形分析查询的表现力和可编程性
Taming the Expressiveness and Programmability of Graph Analytical Queries
论文作者
论文摘要
在过去的十年中,Graph Database享受了繁荣的兴趣,因此图形查询从学术界和行业中获得了很多关注。我们专注于本文的分析查询。在分析现有特定领域的语言(DSL)时,以查询有关完整性,表现力和可编程性的分析查询,但我们发现,现有工作都没有实现这些观点的令人满意的覆盖范围。在此激励的情况下,我们提出了\ flash DSL,该\ flash DSL以三个原始运算符滤镜命名,即本地和推动。我们证明\ flash已完成(完整性),并证明它可以达到良好的表现力和分析查询的可编程性。我们根据代码生成提供\ flash的实现,并使用代表性查询将其与本机C ++代码和现有DSL进行比较。实验结果证明了\ flash的表现力及其具有令人满意的运行时编程复杂算法的能力。
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.