{"id":13600817,"url":"https://github.com/rbt-lang/rbt-paper","last_synced_at":"2025-04-11T01:30:25.226Z","repository":{"id":217527300,"uuid":"61763890","full_name":"rbt-lang/rbt-paper","owner":"rbt-lang","description":"The \"Query Combinators\" paper","archived":false,"fork":false,"pushed_at":"2016-12-14T21:16:44.000Z","size":912,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-07T03:42:19.130Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rbt-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-23T01:40:32.000Z","updated_at":"2023-08-03T02:28:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"10e26c47-4984-4ab4-94da-66562b06cd2d","html_url":"https://github.com/rbt-lang/rbt-paper","commit_stats":null,"previous_names":["rbt-lang/rbt-paper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbt-lang%2Frbt-paper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbt-lang%2Frbt-paper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbt-lang%2Frbt-paper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbt-lang%2Frbt-paper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rbt-lang","download_url":"https://codeload.github.com/rbt-lang/rbt-paper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248324943,"owners_count":21084837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T18:00:49.293Z","updated_at":"2025-04-11T01:30:25.211Z","avatar_url":"https://github.com/rbt-lang.png","language":"TeX","funding_links":[],"categories":["Papers"],"sub_categories":[],"readme":"Query Combinators\n=================\n\n[Draft of December 14, 2016](./pdf/rbt-paper-2016-12-14.pdf)\n\nWe introduce *Rabbit*, a combinator-based query language.  Rabbit is designed\nto let data analysts and other *accidental programmers* query complex\nstructured data.\n\nWe combine the functional data model and the categorical semantics of\ncomputations to develop denotational semantics of database queries.  In Rabbit,\na query is modeled as a Kleisli arrow for a monadic container determined by the\nquery cardinality.  In this model, monadic composition can be used to navigate\nthe database, while other *query combinators* can aggregate, filter, sort and\npaginate data; construct compound data; connect self-referential data; and\nreorganize data with grouping and data cube operations.  A context-aware query\nmodel, with the input context represented as a comonadic container, can express\nquery parameters and window functions.  Rabbit semantics enables pipeline\nnotation, encouraging its users to construct database queries as a series of\ndistinct steps, each individually crafted and tested.  We believe that Rabbit\ncan serve as a practical tool for data analytics.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frbt-lang%2Frbt-paper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frbt-lang%2Frbt-paper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frbt-lang%2Frbt-paper/lists"}