We present the design and implementation of a Meaning Driven Data Query Language - MDDQL - which aims at the construction of queries through system made suggestions of natural language based query terms for both scientific application domain terms and operator/operation ones. A query construction blackboard is used where query language terms are suggested to the user in its preferred natural language and in a name centered way, together with their connotation. This helps in understanding the meaning of the terms and/or operators or operations to be included in the query. Furthermore, the construction of the query turns out to be an incremental refinement of the query under construction through semantic constraints, where only those domain language terms and/or operators/operations are suggested which result into meaningful combinations of query terms as related to the scientific application domain semantics. Therefore, semantically meaningless queries can be prevented during the query construction. Such a semantics aware mechanism is not available in conventional database query languages such as SQL, where one is allowed to execute a query calculating, for example, the average of numerical data values whereas they represent the codes of categorical values. Moreover, no familiarity with the semantics of complex database schemes or interpretation of the symbols (names of classes/tables/attributes, value codes) underlying the storage model, as well as familiarity with the syntax of a database specific query language are needed by the end-user. The constructed query can be submitted to the MDDQL query interpretation and transformation engine, where the corresponding SQL-query is generated and delegated to a DBMS (e.g., Oracle, MSAccess, SQL-Server). Generation of SQL-statements addressing NF2 data models such as those provided by the object-relational Oracle DBMS is also enabled. The query result is presented in a table based form where all storage model symbols are interpreted and can be exported for the usage with statistical software packages (e.g., SPSS). |