Abstract

SQ-HAL is an application that translates natural language queries into SQL, executes these SQL statements to retrieve data from the database and displays these data to the user.

SQ-HAL is designed to be database and platform independent with multi-user support.  It can be used by users with no knowledge of SQL to translate natural language queries to SQL, as well as by intermediate and advance users to create and execute their own SQL.  Also the program has the ability to learn new grammar.  Only the translation and execution of SELECT queries is implemented in the SQ-HAL.

The program is written in Perl with a simple user interface implemented using Tk.  It uses Parse::RecDescent module to build the underlying parser and DBI module for various database functionality.

Currently SQ-HAL can translate natural language queries into simple, single and two tables joined SQL statements with or without a simple condition.  These statements are then executed in the selected database to retrieve information and display it to the user, thus simplifying the data retrieval process.  Also the users have the choice of modifying these SQL statements or creating their own.

Introduction