12
views
0
recommends
+1 Recommend
0 collections
    0
    shares
      • Record: found
      • Abstract: found
      • Article: found
      Is Open Access

      Query Combinators

      Preprint
      ,

      Read this article at

      Bookmark
          There is no author summary for this article yet. Authors can add summaries to their articles on ScienceOpen to make them more accessible to a non-specialist audience.

          Abstract

          We introduce Rabbit, a combinator-based query language. Rabbit is designed to let data analysts and other accidental programmers query complex structured data. We combine the functional data model and the categorical semantics of computations to develop denotational semantics of database queries. In Rabbit, a query is modeled as a Kleisli arrow for a monadic container determined by the query cardinality. In this model, monadic composition can be used to navigate the database, while other query combinators can aggregate, filter, sort and paginate data; construct compound data; connect self-referential data; and reorganize data with grouping and data cube operations. A context-aware query model, with the input context represented as a comonadic container, can express query parameters and window functions. Rabbit semantics enables pipeline notation, encouraging its users to construct database queries as a series of distinct steps, each individually crafted and tested. We believe that Rabbit can serve as a practical tool for data analytics.

          Related collections

          Most cited references7

          • Record: found
          • Abstract: not found
          • Article: not found

          Comprehension syntax

            Bookmark
            • Record: found
            • Abstract: not found
            • Book Chapter: not found

            How to replace failure by a list of successes a method for exception handling, backtracking, and pattern matching in lazy functional languages

              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Kleisli, a functional query system

                Bookmark

                Author and article information

                Journal
                2017-02-27
                Article
                1702.08409
                a66d0995-c124-4289-8f63-c49a4b79cb60

                http://arxiv.org/licenses/nonexclusive-distrib/1.0/

                History
                Custom metadata
                cs.DB

                Databases
                Databases

                Comments

                Comment on this article