Rhyme: A Data-Centric Expressive Query Language for Nested Data Structures

被引:1
作者
Abeysinghe, Supun [1 ]
Rompf, Tiark [1 ]
机构
[1] Purdue Univ, W Lafayette, IN 47906 USA
来源
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PADL 2024 | 2023年 / 14512卷
关键词
Declarative query languages; Logic programming; Tensor expressions; Multi-paradigm languages; Rhyme;
D O I
10.1007/978-3-031-52038-9_5
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present Rhyme, an expressive language designed for high-level data manipulation, with a primary focus on querying and transforming nested structures such as JSON and tensors, while yielding nested structures as output. Rhyme draws inspiration from a diverse range of declarative languages, including Datalog, JQ, JSONiq, Einstein summation (Einsum), GraphQL, and more recent functional logic programming languages like Verse. It has a syntax that closely resembles existing object notation, is compositional, and has the ability to perform query optimization and code generation through the construction of an intermediate representation (IR). Our IR comprises loop-free and branch-free code with program structure implicitly captured via dependencies. To demonstrate Rhyme's versatility, we implement Rhyme in JavaScript (as an embedded DSL) and illustrate its application across various domains, showcasing its ability to express common data manipulation queries, tensor expressions (a la Einsum), and more.
引用
收藏
页码:64 / 81
页数:18
相关论文
共 37 条
  • [1] Abeysinghe S., 2023, CoRR abs/2311.02781
  • [2] Efficient Incrementialization of Correlated Nested Aggregate Queries using Relative Partial Aggregate Indexes (RPAI)
    Abeysinghe, Supun
    He, Qiyang
    Rompf, Tiark
    [J]. PROCEEDINGS OF THE 2022 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA (SIGMOD '22), 2022, : 136 - 149
  • [3] Lightweight Functional Logic Meta-Programming
    Amin, Nada
    Byrd, William E.
    Rompf, Tiark
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2019, 2019, 11893 : 225 - 243
  • [4] [Anonymous], 2017, Xquery 3.1: an xml query language
  • [5] [Anonymous], 1990, The New Technologies
  • [6] [Anonymous], 2022, Advent of code
  • [7] [Anonymous], 2017, CIDR
  • [8] apache, The asterix query language (aql)
  • [9] The Verse Calculus: A Core Calculus for Deterministic Functional Logic Programming
    Augustsson, Lennart
    Breitner, Joachim
    Claessen, Koen
    Jhala, Ranjit
    Jones, Simon Peyton
    Shivers, Olin
    Steele, Guy L., Jr.
    Sweeney, Tim
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (ICFP): : 417 - 447
  • [10] Bracevac O., 2023, CoRR abs/2309.08118