使用上下文有关的网格的查询构造器和创建查询的方法

文档序号:6650094阅读:179来源:国知局
专利名称:使用上下文有关的网格的查询构造器和创建查询的方法
技术领域
本发明涉及计算机系统,更具体地说,涉及创建查询的方法和系统。
背景技术
数据,诸如文件中的扩展标记语言(XML)数据或者关系型数据库中的数据,可用于各种目的使用查询而被查询。查询以特定的查询语言表示,诸如XML查询语言(XQUERY)和结构化查询语言(SQL)。查询通常包括一组用于确定哪些数据被访问的条件。例如,这些条件可包括if-then-else、for、concatenate和return语句。用于这些函数语句的变元可包括各种资源,诸如特定数据和其它函数语句。复杂的查询通常包括多个用于进一步明确被查询的数据的条件。根据在查询中指明的条件,适当的信息被访问、返回或者进行其它处理。
为了无需帮助地创建查询,通常要求用户具有查询语言的语义和语法的详细知识。因此,用户必须了解该语言的术语或者语义。另外,用户必须了解如何将该语言的术语或者语法放在一起,以使查询是可理解的。使用术语含义(语义)和语法(在创建特定查询中这些术语如何相关)的这些知识,用户可以表示所希望的查询,并访问感兴趣的数据。
为了方便创建查询,可以使用各种传统的工具。在一些实例中,可以使用传统的查询构造器,诸如传统的SQL查询构造器。这些传统的查询构造器对于具有一定的所使用的查询语言的语义和/或语法的知识的初学者特别有用。然而,更熟练的用户也会发现传统的查询构造器特别在表示复杂的查询时有用。例如,传统的SQL查询构造器可允许用户表示包括多个函数语句的复杂的查询。可选择地,可以使用传统的映射工具。这样的传统的映射工具允许用户将源XML映射到所期望的输出XML。接着,传统的映射工具生成查询,而无需用户清楚地知道该工具。因此,使用这种映射工具,用户可以至少表示简单的查询。
尽管可以使用传统的查询构造器和映射工具,但是本领域的普通技术人员很容易认识到这样的传统的查询构造器和映射工具对于某些脚本语言的作用有限。这样的脚本语言,包括XML,相对复杂。例如,这样的脚本语言可包括对复杂的查询必须定义的逻辑和变量定义。为了创建复杂的查询,大多数传统的查询构造器通常还要求用户了解这些查询语言的语义。可选择地,其它传统的查询构造器能够对用户隐藏这些查询语言的语义。通常,这样的传统的查询构造器只向用户观看和呈现整个查询。然而,如果用户没有更多的查询语言的语义和/或语法的知识,也不能在这样的传统的查询构造器中创建复杂的查询。同样地,传统的映射工具隐藏查询语言的逻辑和语义,但是如果没有更多地了解查询语言的语义,其也不允许用户创建复杂的查询。
因此,需要一种更灵活的查询构造器,其允许用户用有限的查询语言(诸如XQUERY)的语义的知识创建复杂的查询。本发明满足了这个需要。

发明内容
本发明提供一种用于提供至少一种查询语言的查询构造器的方法和系统。本方法和系统包括提供多个网格和至少一个用于多个网格的网格组的资源。所述多个网格对应至少一种查询语言的多个功能单元。所述网格组包括所述多个网格中的至少一个,并对应所述多个功能单元中的一个功能单元。所述至少一个资源对应所述功能单元和所述网格组。所述至少一个资源能够用作所述网格组的至少一个变元。
根据在此公开的方法和系统,本发明提供一种查询构造器,其可由具有有限查询语言的语义知识的用户使用。因此,该查询构造器使用更简单、灵活,并能用于创建复杂的查询。


图1是根据本发明的查询构造器的一个实施例的高级图;图2是根据本发明的查询构造器的一个实施例的更详细的图;图3是根据本发明的查询构造器的用户接口的一个实施例的表示;图4是根据本发明的查询构造器的用户接口的另一个实施例的表示;图5是描述在根据本发明的查询构造器的一个实施例的特定网格组之间的关系的图;图6是描述根据本发明的创建查询的方法的一个实施例的流程图。
具体实施例方式
本发明涉及计算机系统。以下的描述能够使本领域的普通技术人员实现和使用本发明,并在专利申请及其要求中提供。对于本领域的普通技术人员来说,对在此描述的最佳实施例、基本原理和特征的各种修改是非常显而易见的。因此,本发明并不意味着将局限于所示的实施例,而是与在此描述的原理和特征一致的最大范围。
本发明提供用于提供至少一种查询语言的查询构造器的方法和系统。本方法和系统包括提供多个网格和至少一个用于包括多个网格中的至少一个的网格组的资源。多个网格对应至少一种查询语言的多个功能单元。网格组对应多个功能单元中的一个功能单元。至少一个资源对应功能单元和网格组。至少一个资源能够用作网格组的至少一个变元。
本发明将根据特定的查询语言和特定的功能单元进行说明。然而,本领域的普通技术人员很容易认识到本方法和系统与使用其它查询语言和定义其它功能单元是一致的。
为了更具体地说明根据本发明的方法和系统,参照图1,其描述了根据本发明的查询构造器100的一个实施例的高级图。查询构造器100结合数据110使用。换句话说,用查询构造器100创建的查询可用于查询数据110。查询构造器100包括用于在创建查询中帮助用户的用户接口102。具体地,查询构造器100的用户接口102以中立的方式向用户提供信息,这种方式是基于功能单元,而不是仅基于整个查询。功能单元与特定的操作相关联,并且通常是查询的一部分。功能单元的例子包括诸如if-then-else、return和for语句的语句。在最佳的实施例中,用户接口102利用被分成网格组的网格向用户提供输出和从用户接收输入,其中每个网格组对应特定的功能单元。
图2是根据本发明的查询构造器的一个实施例的更详细的图,用于以一种或者多种查询语言表示查询。具体地,描述了用户接口102’的一个实施例。在最佳实施例中,查询语言是XQUERY。然而,另外的查询语言,包括但不限于SQL,也可以用在某些实施例中。查询构造器的用户接口102’包括被分成网格组的网格。在图2中描述了一个网格组130。每个网格组130都对应一个特定的功能单元,并且包括至少一个网格。例如,对于XQUERY,网格组130可对应if-then-else语句、FLWOR语句、其它可用的函数、允许定义资源的属性的资源属性、变量定义、return语句、for语句和/或其它条件语句。优选地,网格组130中的每个网格都包括一个或者多个字段132,用户向其中输入信息。网格组130中提供的字段取决于网格组130对应的功能单元。因此,字段的数量、在特定字段中允许的变元和由每个字段表示的一部分功能单元都取决于该功能单元。在最佳实施例中,字段对应网格组130中的网格的列、行和/或单元格。另外,优选地,网格组130包括其它特征134,诸如也取决于对应网格130的功能单元的下拉列表和其它选项。
用户接口102’还包括资源120。由用户接口102’提供的资源120取决于网格组130,并因此取决于网格组130对应的功能单元。例如,资源120可包括取决于对应网格组130的功能单元的数据类型、文件和/或功能单元。资源120结合网格组130使用。在最佳实施例中,资源120可由用户选择并被拖到和放入网格组130的字段中。
图3是根据本发明的查询构造器的用户接口102”的一个实施例的表示。用户接口102”被描述为用于查询语言XQUERY。然而,并不限制将类似的用户接口用于另外的查询语言。另外,正被创建的查询与订单信息有关。然而,并不限制用户接口102”用于查询其它信息。另外,示出的用户接口102”用于特定的功能单元,请求返回特定信息的return。因此,网格组103’对应的功能单元是return。因此,网格组130’仅包括具有单个字段的单个网格。描述的另一个特征134’是按钮,其允许用户向下钻取到网格组130。因此,用户能够打开其它网格组(未示出)及其相应的与正被创建的查询有关的功能单元。另外,用户接口102”包括描述正由用户生成的查询的窗口140。因此,窗口140显示对应使用网格组130’和资源120’表示的查询的代码。资源120’对应网格组130’和功能单元,return。因此,资源包括XML图表或者文件122、节点124、函数126以及与网格组130’和功能单元return有关的其它功能单元128。
图4是根据本发明的查询构造器的另一个用户接口102的表示。用户接口102被描述为用于查询语言XQUERY。然而,并不限制将类似的用户接口用于另外的查询语言。用户接口102的各部分对应用户接口102”,因此进行类似的标记。例如,资源120”包括以下资源,如XML图表或者文件122’、节点124’、函数126’以及与网格组130”和功能单元(if-then-else语句)有关的其它功能单元128’。然而注意,对应网格组130”并因此对应资源120”的功能单元与图3所示的功能单元不相同。另外,网格组130”包括多个网格。返回参照图4,因为相应的功能单元是if-then-else语句,所以对于网格组130”有另一些网格136、137和138。具体地,注意在网格组130”中提供if-then-else语句的if、then和else字段的窗口,并且每一个对应一个网格。另外,每个网格136、137和138具有一组不同的字段。if网格136具有四个字段,then网格137和else网格138具有单个字段。因此,网格组130”的字段(例如列,行)和网格136、137、138对于对应查询构造器的特定功能单元是唯一的。另外,所显示的资源120”可不同于图3中所示的资源。再者,在窗口140’中描述正使用用户接口102创建的查询的代码。
通过使用网格组130、130’或130”和资源120、120’或120”,用户可以更容易地创建复杂的查询。另外,可以无需用户具有较深的正使用的查询语言的语义的知识。因为网格组130/130’/130”和资源120/120’/120”取决于所代表的功能单元,可只提供有效的选项。换句话说,可用的有效的资源,包括其它功能单元、下拉列表或者网格组130/130’/130”和资源120/120’/120”的其它特征,取决于对应网格组130/130’/130”和资源120/120’/120”的功能单元。因此,在使用功能单元并创建查询时自动引导用户做出有效的选择。因此, 包括网格组130/130’/130”和资源120/120’/120”的查询构造器可以隐藏表示查询的语言的语义和语法,而允许用户了解和观看查询的逻辑和流程。
图5是描述在根据本发明的查询构造器的一个实施例的特定网格组150、160和170之间的关系的图。网格组150、160和170是网格组130/130’的特定例子。因此,网格组150、160和170享有网格组130/130’的属性。因此,网格组150、1 60和170每一个都对应在表示查询中使用的功能单元。在所示的实施例中,网格组150、160和170分别对应下面的功能单元for语句,if-then-else语句和函数。因此,分别用于网格组150、160和170的网格152、162和172取决于相应的功能单元。另外,网格152、162和172的字段(未明确标示)取决于相应的功能单元和单个的网格152、162和172。另外,网格160和170的功能单元被分别用作网格组150和160的网格152和162中特定的一个字段的变元。因此,当观看特定的一个网格组150、160或170时,允许用户通过增加对应其它功能单元的其它操作增加到查询中。因此,允许用户从一个网格组150向下钻取到对应其它功能单元的其它网格组160和170。网格组150、160和170是相关的,因为相应的功能单元被用于表示查询。另外,对应网格组160和170的功能单元是有效的,并可以分别用作网格组150和160的变元。因此,使用网格组150、160和170,可以创建具有对应网格组150、160和170的多个功能单元的复杂查询,而无需用户具有详细的查询语言的语义和语法知识。
图6是描述根据本发明的创建查询的方法200的一个实施例的流程图。优选地,该方法200结合用户接口102、102’和/或102”、网格组130、130’、130”、150、160和170、以及查询构造器100使用。然而,并不限制使用其它与本发明不一致的查询构造器。优选地,该方法200在已经启动查询构造器100之后开始。
在步骤202,允许选择功能单元,并进而选择其相应的网格组。因此,用户可以决定哪个功能单元被包括在查询中,以合适地查询所希望的数据。在步骤204,响应上述选择,显示对应功能单元的网格组。除了显示网格组以外,在步骤206还显示对应网格组和功能单元的资源。注意,资源、网格组中的网格、网格组中的网格的字段、下拉列表和其它提供给用户的项目都被预先配置,并取决于功能单元和/或资源。这些其它项目也在步骤204和206中显示。通过步骤204和206,显示了上下文有关的、语义有关的用户接口。从而,用户应当具有以中立方式提供的充分的信息,以使用该用户接口继续表示复杂的查询。
在步骤208,允许用户选择一个或者多个用于网格组的资源。通过步骤208,用户可以选择其它的功能单元,并向下钻取到其它网格组。因此,通过步骤208,用户可以提供特定的功能单元和查询的信息。在步骤210,根据用户的选择更新网格组和/或资源。步骤210可以包括显示所选择的新的功能单元的新的网格组,在适当的字段中描述资源,更新与向用户显示的查询对应的代码。因此,用户可以在表示复杂的查询时,跟踪他或她的进展。步骤204至210可以根据用户的选择有选择地重复。
因此,使用该方法200,优选地,使用具有用户接口102、102’和/或102”的查询构造器100,可以创建复杂的查询,而无需大量的查询语言的语义的知识。
已经公开了用于提供查询构造器的方法和系统。本发明已根据所示实施例进行了描述,并且本领域的普通技术人员很容易认识到可对这些实施例进行变形,并且任何变形都在本发明的精神和范围内。根据本发明所写的软件将被存储在某种形式的计算机可读介质中,诸如存储器、CD-ROM,或者通过网络传输,并由处理器执行。因此,计算机可读介质被用于包括例如可以通过网络传输的计算机可读信号。因此,在不脱离所附的权利要求的精神和范围的情况下,本领域的普通技术人员可以进行许多变化。
权利要求
1.一种用于至少一种查询语言的查询构造器,包括多个网格,对应所述至少一种查询语言的多个功能单元;网格组,包括所述多个网格中的至少一个,并对应所述多个功能单元中的一个功能单元;至少一个用于所述网格组的资源,所述至少一个资源对应所述功能单元和所述网格组,所述至少一个资源能够用作所述网格组的至少一个变元。
2.如权利要求1所述的查询构造器,其中,所述网格组包括至少一个字段,所述至少一个资源用作所述至少一个字段的至少一个变元。
3.如权利要求1所述的查询构造器,其中,所述至少一种查询语言包括XQUERY。
4.如权利要求1所述的查询构造器,其中,所述至少一种查询语言包括SEQUEL。
5.如权利要求1所述的查询构造器,其中,所述多个功能单元包括if-then-else语句、FLWOR语句、函数、资源属性、变量定义、return语句和for语句中的至少一个。
6.如权利要求1所述的查询构造器,其中,所述至少一个资源包括用作所述网格组的至少一个变元的所述多个功能单元的一部分,所述多个功能单元的一部分取决于所述功能单元,并对应所述多个网格的一部分。
7.如权利要求6所述的查询构造器,其中,响应用户选择所述多个功能单元的一部分中的一个,包括所述多个网格的一部分中的至少一个的第二网格组被嵌入所述的表格组中。
8.一种用于至少一种查询语言的查询构造器,包括多个网格,对应所述至少一种查询语言的多个功能单元;网格组,包括所述多个网格中的至少一个,并对应所述多个功能单元中的一个功能单元,所述多个网格中的每一个都包括至少一个用于接收至少一个变元的字段;至少一个用于所述网格组的资源,所述至少一个资源对应所述功能单元和所述网格组,所述至少一个资源能够用作至少一个变元,所述至少一个资源包括用作至少一个字段的至少一个变元的所述多个功能单元的一部分,并对应所述多个网格的一部分,所述多个功能单元的一部分基于所述功能单元。
9.一种计算机可读介质,包含用于创建至少一种查询语言的查询的程序,所述程序包括用于响应被选择的功能单元而显示包括多个网格中的至少一个的网格组的指令,所述多个网格对应所述至少一种查询语言的多个功能单元,所述网格组对应所述多个功能单元中的功能单元;用于显示至少一个用于所述网格组的资源的指令,所述至少一个资源对应所述功能单元和所述网格组,所述至少一个资源能够用作所述网格组的至少一个变元;以及用于允许所述至少一个资源被选择用于所述网格组的指令。
10.如权利要求9所述的计算机可读介质,其中,所述网格组显示指令进一步包括显示包括至少一个字段的网格组,所述至少一个资源用作所述至少一个字段的至少一个变元。
11.如权利要求9所述的计算机可读介质,其中,所述至少一种查询语言包括XQUERY。
12.如权利要求9所述的计算机可读介质,其中,所述至少一种查询语言包括SEQUEL。
13.如权利要求9所述的计算机可读介质,其中,所述多个功能单元包括if-then-else语句、FLWOR语句、函数、资源属性、变量定义、return语句和for语句中的至少一个。
14.如权利要求9所述的计算机可读介质,其中,所述至少一个资源包括对应所述多个网格的一部分的多个功能单元的一部分,所述程序进一步包括用于允许所述多个功能单元的一部分用作所述网格组的至少一个变元的指令,所述多个功能单元的一部分对应所述的多个网格的一部分,并基于所述功能单元。
15.如权利要求14所述的计算机可读介质,其中,响应用户选择所述多个功能单元的一部分中的一个,包括所述多个网格的一部分中的至少一个的第二网格组被嵌入所述网格组中。
16.一种创建用于至少一种查询语言的查询的方法,所述方法包括允许选择所述至少一种查询语言的多个功能单元中的一个功能单元,多个网格对应所述多个功能单元,网格组包括所述多个网格中的至少一个,并对应所述功能单元;显示所述网格组;显示至少一个用于所述网格组的资源,所述至少一个资源对应所述功能单元和所述网格组,所述至少一个资源能够用作所述网格组的至少一个变元;以及允许所述至少一个资源被选择用于所述网格组。
17.如权利要求16所述的方法,其中,所述网格组显示步骤进一步包括显示包括至少一个字段的网格组,所述至少一个资源用作所述至少一个字段的至少一个变元。
18.如权利要求16所述的方法,其中,所述至少一种查询语言包括XQUERY。
19.如权利要求16所述的方法,其中,所述至少一种查询语言包括SEQUEL。
20.如权利要求16所述的方法,其中,所述多个功能单元包括if-then-else语句、FLWOR语句、函数、资源属性、变量定义、return语句和for语句中的至少一个。
21.如权利要求16所述的方法,其中,所述至少一个资源包括所述多个功能单元的一部分,所述方法进一步包括允许所述多个功能单元的一部分中的至少一个被用作所述网格组的至少一个变元,所述多个功能单元的一部分基于所述功能单元,并对应所述多个网格的一部分。
22.如权利要求21所述的方法,其中,响应用户选择所述多个功能单元的一部分中的一个,包括所述多个网格的一部分中的至少一个的第二网格组被嵌入所述网格组中。
全文摘要
公开了一种用于提供用于至少一种查询语言的查询构造器的方法和系统。该方法和系统包括提供多个网格和至少一个用于包括所述多个网格中的至少一个的网格组的资源。所述网格对应所述查询语言的多个功能单元。所述网格组对应于功能单元中的一个。所述资源对应所述功能单元和所述网格组。所述资源能够用作所述网格组的至少一个变元。
文档编号G06F17/30GK1773498SQ20051011583
公开日2006年5月17日 申请日期2005年11月9日 优先权日2004年11月10日
发明者H·辛格, T·彼得松 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1