Duoquest: Dual-Specification Synthesis of Expressive SQL

Querying a relational database is difficult for users without training. Natural language and query-by-example (QBE) are both promising alternatives to writing SQL by hand. Both of these approaches have downsides, in that natural language is often too ambiguous, even for human interpreters, and current QBE approaches require certain assumptions to be tractable for complex SQL queries such as those including aggregates and nesting. Duoquest is a system that enables users to provide both natural language and a QBE-like specification to enable users to more accurately construct expressive SQL.

Publications: CIDR 2020

Code: Github