【24h】

Kaleidoscope: a cooperative menu-guided query interface

机译:万花筒:协作式菜单引导的查询界面

获取原文

摘要

Querying databases to obtain information requires the user's knowledge of query language and underlying data. However, because the knowledge in human long-term memory is imprecise, incomplete, and often incorrect, user queries are subject to various types of failure. These may include spelling mistakes, the violation of the syntax and semantics of a query language, and the misconception of the entities and relationships in a database.

Kaleidoscope is a cooperative query interface whose knowledge guides users to avoid most failure during query creation. We call this type of cooperative behavior intraquery guidance. To enable this early, active engagement in the user's process of query creation, Kaleidoscope reduces the granularity of user-system interaction via a context-sensitive menu. The system generates valid query constituents as menu choices step-by-step by interpreting a language grammar, and the user creates a query following this menu guidance[2]. For instance, ittakes four steps to create the following query [Q1] Who/1 authored/2 'Al'/3 journal papers/(3+) in 'Postquery COOP'/4

At each of such steps, as the user selects one of menu choices, the system updates its partial query status window. If a choice is unique as in (3+), it is taken automatically. To guide the user's entry of values, the system provides a pop-up menu for each value domain.

With Kaleidoscope's process of choice generation tightly controlled by the system's knowledge of query language and underlying data, users need not remember the query language and the underlying database structure but merely recognize or identify the constituents coming one after another that match their intended query. The system provides additional guidance for users to avoid creating semantically inconsistent queries. It informs the user of any derived predicates on the completion of a user-selected predicate.To illustrate this, consider a partially constructed SQL query [Q2] SELECT * FROM professor p#1 WHERE p#1 dept = 'CS' AND p#1 salary 40000

Suppose that the system has an integrity constraint [IC] FROM professor p IF p dept = 'CS' AND p salary 45000 THEN p rank = 'Assistant'

This rules states that a CS professor whose salary is less than 45000 is an assistant professor. With the replacement of rule variable p in IC by Q2's range variable p#1, IC's leading two predicates subsume Q2's query condition, producing p#1 rank = 'Assistant'. Because this derived predicate is not subsumed by Q2's query condition, the system suspects that the user may not know of it and presents it to the user.

Derived predicates, together with user-selected ones, constrain the user's further conjunctive extension of the partial query condition. For example, the system prunes the field rank (as well as the field dept) in the conjunctive extension of Q2, because the derived condition restricts the value of this field to a constant.

As shown in examples, we apply Kaleidoscope's approach to two linear-syntax languages in different levels of abstraction SQL[1] and a query language whose syntax and semantics cover a subset of wh-queries. To implement the intraquery guidance, we extend context-free grammar by associating context variables with each grammar symbol and attaching several types of procedural decorations to grammar rules. This extension enables the system to capture the semantic constraints and its user-guiding actions in a domain-independent grammar. As the grammar is interpreted, the database-specific information is fed from the system's lexicon and knowledge base. The current implementation of Kaleidoscope runs on a XEROX-1186 LISP machine with a SUN server configured with a relational DBMS.

The approach of Kaleidoscope is based on the normative system assumption. The system presents its capability transparently to the user in a context-dependent mannerduring the user's query creation. This makes the system usable even with a small amount of stored knowledge.

机译:

查询数据库以获得信息需要用户了解查询语言和基础数据。但是,由于人类长期记忆中的知识不准确,不完整,并且常常不正确,因此用户查询会遭受各种类型的失败。其中可能包括拼写错误,违反查询语言的语法和语义以及对数据库中实体和关系的误解。

万花筒是一个协作式查询界面,其知识可指导用户避免在查询创建过程中出现大多数故障。我们将这种合作行为称为内部查询指导。为了使用户能够早日积极地参与查询创建过程,Kaleidoscope通过上下文相关菜单降低了用户系统交互的粒度。系统通过解释语言语法逐步生成有效的查询成分作为菜单选择,用户根据此菜单指导创建查询[2]。例如,它需要四个步骤来创建以下查询[Q1]谁/ 1 作者/ 2 'Al'/ 3 期刊论文/ < 'Postquery COOP'/ 4 中的ITALIC>(3 +)

在每个这样的步骤中,随着用户选择菜单选项之一,系统将更新其部分查询状态窗口。如果一个选项在(3 +)中是唯一的,则会自动采用。为了指导用户输入值,系统为每个值域提供一个弹出菜单。

由于万花筒的选择生成过程受到系统对查询语言和底层数据的了解的严格控制,因此用户无需记住查询语言和底层数据库结构,而只需识别或识别出与预期查询相匹配的成分。该系统为用户提供了额外的指导,以避免创建语义上不一致的查询。它会在用户选择的谓词完成时通知用户任何派生谓词。为说明这一点,请考虑部分构造的SQL查询[Q2]从Professor p#1 SELECT * 中,在p#1部门='CS'并且p#1工资<40000

假设系统具有完整性约束[IC],则来自教授p IF p dept ='CS'并且p薪水<45000 THEN p rank ='Assistant'

此规则规定,工资低于45000的CS教授为助理教授。通过用Q2的范围变量p#1替换IC中的规则变量p,IC的前两个谓词包含了Q2的查询条件,从而生成p#1 rank ='Assistant'。由于此派生谓词未包含在Q2的查询条件中,因此系统怀疑用户可能不知道该谓词,并将其呈现给用户。

派生的谓词,与用户选择的谓词一起,限制了用户对部分查询条件的进一步联合扩展。例如,由于派生条件将该字段的值限制为常数,因此系统会在Q2的联合扩展中修剪字段等级(以及字段部)。

如示例所示,我们将Kaleidoscope的方法应用于具有不同抽象SQL [1]级别的两种线性语法语言,以及一种其语法和语义覆盖 wh 查询子集的查询语言。为了实现查询内指导,我们通过将上下文变量与每个语法符号关联并将几种类型的过程修饰附加到语法规则来扩展上下文无关的语法。此扩展使系统能够以独立于域的语法捕获语义约束及其用户指导动作。解释语法后,特定于数据库的信息将从系统的词典和知识库中获取。 Kaleidoscope的当前实现是在XEROX-1186 LISP机器上运行的,该机器具有配置有关系DBMS的SUN服务器。

万花筒的方法基于规范性系统假设。系统在用户查询创建过程中以上下文相关的方式向用户透明地显示其功能。这使系统即使在存储的知识很少的情况下也可以使用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号