4
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 references 7

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

          Kleisli, a functional query system

           LIMSOON WONG (2000)
            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

             Philip Wadler (1985)
              Bookmark
              • Record: found
              • Abstract: not found
              • Article: not found

              Comprehension syntax

                Bookmark

                Author and article information

                Journal
                2017-02-27
                Article
                1702.08409

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

                Custom metadata
                cs.DB

                Databases

                Comments

                Comment on this article