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
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
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
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
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.
查询数据库以获得信息需要用户了解查询语言和基础数据。但是,由于人类长期记忆中的知识不准确,不完整,并且常常不正确,因此用户查询会遭受各种类型的失败。其中可能包括拼写错误,违反查询语言的语法和语义以及对数据库中实体和关系的误解。 P>
万花筒是一个协作式查询界面,其知识可指导用户避免在查询创建过程中出现大多数故障。我们将这种合作行为称为 在每个这样的步骤中,随着用户选择菜单选项之一,系统将更新其部分查询状态窗口。如果一个选项在 由于万花筒的选择生成过程受到系统对查询语言和底层数据的了解的严格控制,因此用户无需记住查询语言和底层数据库结构,而只需识别或识别出与预期查询相匹配的成分。该系统为用户提供了额外的指导,以避免创建语义上不一致的查询。它会在用户选择的谓词完成时通知用户任何派生谓词。为说明这一点,请考虑部分构造的SQL查询[Q2]从Professor p#1 SELECT 假设系统具有完整性约束[IC],则来自教授p IF p dept ='CS'并且p薪水<45000 THEN p rank ='Assistant' P>
此规则规定,工资低于45000的CS教授为助理教授。通过用Q2的范围变量p#1替换IC中的规则变量p,IC的前两个谓词包含了Q2的查询条件,从而生成p#1 rank ='Assistant'。由于此派生谓词未包含在Q2的查询条件中,因此系统怀疑用户可能不知道该谓词,并将其呈现给用户。 P>
派生的谓词,与用户选择的谓词一起,限制了用户对部分查询条件的进一步联合扩展。例如,由于派生条件将该字段的值限制为常数,因此系统会在Q2的联合扩展中修剪字段等级(以及字段部)。 P>
如示例所示,我们将Kaleidoscope的方法应用于具有不同抽象SQL [1]级别的两种线性语法语言,以及一种其语法和语义覆盖 万花筒的方法基于规范性系统假设。系统在用户查询创建过程中以上下文相关的方式向用户透明地显示其功能。这使系统即使在存储的知识很少的情况下也可以使用。 P>
机译:万花筒:协作式菜单指导的查询界面(SQL版本)
机译:用于生物数据库中协作查询回答的自然语言界面插件
机译:当代都市乌托邦,被困在资本主义万花筒中的查询有另外还有替代方案吗?
机译:万花筒:协作式菜单指导的查询界面(SQL版本)
机译:分类和视觉查询界面的模糊性:具有自适应模糊功能的平台无关查询模型
机译:用于生物数据库中协作查询回答的自然语言界面插件
机译:用于生物数据库中协作查询回答的自然语言界面插件
机译:万花筒:基于模型的语法驱动的数据库菜单界面