用于信息资源搜索的方法和设备的制作方法

文档序号:6609570阅读:275来源:国知局
专利名称:用于信息资源搜索的方法和设备的制作方法
技术领域
本发明涉及信息技术领域。更具体地说,本发明涉及用于信息资 源搜索的方法和设备。
背景技术
传统的基于文本的搜索被广泛用于信息资源(例如图书、汽车、 单位等)的搜索。然而,用户搜索所使用的关键字有可能与描述信 息资源的数据不匹配,尽管它们可能具有相同的含义。这样,用户 必须猜测相应的关键字,才能搜索到所需要的结果。分层次导航以类似树的结构组织信,I资源,帮助用户对特定的信息资源进行导航。在网站http:〃dir.vahoo.com/中,就是以上述的类似 树的结构组织信息资源的。然而,用户对于信息资源可以怎样被分 层次组织可能具有不同的观点。因此,用户对所提供的层次可能并 不容易适应,因此在检索时有可能走向死胡同。最近,提出了一种称为侧面搜索的方案,用来搜索或导航信息资 源。例如,专利US 7146362 B2公开了一种通过向用户显示信息资 源的各个侧面和每个侧面下的元数据,来帮助用户导航信息资源的 方案。这里,通过参考将该专利引入本申请。在这种侧面搜索(facet search)方案中,侧面4叟索引擎自动地向 用户显示信息资源的各个侧面(facet)和每个侧面下的元数据,侵_ 于用户更进一步地细化当前查询,并且向用户提供关于信息资源的 整体描述。这有助于用户更好地理解信息资源,并更好地细化其查 询来搜索到用户所需要的结果。例如,当搜索图书时,侧面搜索引擎可能显示图书的主题、作者、 出版时间、出版社等图书的侧面和在这些侧面的每一个下的元数据。通过这些元l史据,用户可以细化其查询。例如,用户可以选择侧面 搜索引擎显示的关于作者这一侧面的元数据(例如作者姓名)来寻 找由该作者所著的所有图书。然而,目前,标准侧面搜索不能很好地解决跨越不同类型的信息资源的搜索。例如,考虑如下的搜索"由年龄小于30岁的亚洲作 者所著的图书"。关系"由谁所著"连接两种不同类型的信息资源 图书和作者。侧面搜索引擎将显示图书的侧面(例如主题、作者、 出版社、价格等)以及每个侧面下的元数据,但不显示作者的侧面 (例如年龄、国籍等)及每个侧面下的元数据。因此,用户不能使 用这些关于作者的侧面的元数据来搜索所需要的图书。有人可能会想到可以将作者的侧面作为图书的侧面来对待,从而 使得用户能够使用关于作者的侧面的元数据来搜索图书。这是不太 实际的。例如考虑如下的搜索"由为位于美国的公营单位工作的年龄小 于30岁的作者所著的图书"。在图1中所示的一种实现中,将其他类型的信息资源的侧面作为 图书的侧面,例如,将作者的侧面(国籍、年龄等)和单位的侧面 (类型、行业、住所等)看作为图书的侧面。因此,如图1中所示, 在该实现中,包括出版社侧面、作者的国籍侧面、作者的年龄侧面、 作者所工作的单位的类型侧面、出版时间侧面、作者所工作的单位 的行业侧面、作者所工作的单位的住所侧面、以及价格侧面。该实现实际上枚举了经由关系(一个或多个)连接到图书的一些 可能类型的信息资源的 一部分可能侧面。上述实现是不可扩展的。所增加的侧面的数目的最大值等于通过 关系(一个或多个)与当前类型的信息资源连接的所有其他类型的 信息资源的所有可能侧面的数目。例如,在上面的实现中,如果考虑"由谁所出版"关系,则在图 1中还应当包括图2所示的关于出版社的各个侧面,即出版社的类型 侧面、出版社的住所所在地侧面、出版社所出版的图书所属于的行业侧面等。当查询变得越来越复杂的时候,也就是说,当用许多关系连接各 种类型的信息资源时,增加的侧面的数目将是巨大的。当面对这样 巨大数目的侧面时,用户将变得迷茫。此外,由于不能提前知道用 户感兴趣的是哪个关系,例如,是"由谁所出版"关系还是"由谁 所著,,关系,因此,很难减少侧面的数目。另外,在上述情况中,还有人可能会想到,可以将作者的侧面作 为作者的元数据来对待。更具体地,将作者的侧面和与作者用关系 连接的其他类型的信息资源(例如单位)的侧面都作为作者的元数 据来对待。这也是不太实际的,当查询变得越来越复杂的时候,作 者这个侧面也将非常复杂。因此,需要一种有效地组合各个信息资源的侧面以使用户能够方 便地进行信息资源的搜索或导航的方法和设备。发明内容本发明的 一 个目的是提供一种用于信息资源的搜索的方法和设 备,利用该方法和设备,用户能够容易地搜索到所需要的相关信息。 根据本发明的 一个方面,提出了 一种用于信息资源的搜索的方法,包括步骤根据当前用于第一类型信息资源的查询,获取关于 所述第一类型信息资源的查询结果、所述第一类型信息资源的一个 或多个侧面和每个侧面下的元数据、以及所述第 一类型信息资源与至少包括第二类型信息资源的其他类型信,氛、资源的关系;以及将上述获取的关于所述第一类型信息资源的查询结果、所述第一类型信 息资源的一个或多个侧面和每个侧面下的元数据、以及所述第一类型信息资源与至少包括第二类型信息资源的其他类型信息资源的关系返回给用户。根据本发明的另一个方面,提出了一种用于信息资源的搜索的 设备,包括获取装置,用于根据当前用于第一类型信息资源的查询, 获取关于所述第一类型信息资源的查询结果、所述第一类型信息资源的 一个或多个侧面和每个侧面下的元数据、以及所述第 一类型信息资源与至少包括第二类型信息资源的其他类型信息资源的关系; 以及返回装置,用于将上述获取的关于所述第一类型信息资源的查 询结果、所述第 一类型信息资源的一个或多个侧面和每个侧面下的 元数据、以及所述第 一 类型信息资源与至少包括第二类型信息资源 的其他类型信息资源的关系返回给用户。根据本发明,用户能够以一种简单的方式,进行复杂的信息资源 的搜索/导航。


通过以下结合附图的说明,并且随着对本发明的更全面了解,本 发明的其他目的和效果将变得更加清楚和易于理解,其中图1示出了对于跨越不同类型的信息资源的搜索,可能采取的一 种不可扩展的实现;图2示出了根据图1中的上述实现,如果再考虑一个关系,需要 在图1中再包括的侧面;图3示出了本发明可以在其中实现的系统300;图4示出了在客户端上显示的一个窗口;图5示出了在客户端上显示的两层窗口;图6示出了在客户端上显示的三层窗口;图7是在服务器上执行的用于信息资源的搜索的方法的流程图;图8示出了一个数据库的表模式的设计。在所有的上述附图中,相同的标号表示具有相同、相似或相应的 特征或功能。
具体实施方式
以下,结合具体的实施方式来描述本发明。图3示出了本发明可以在其中实现的系统300。如图3所示,该 系统300包括一个服务器310、 一个客户端320和一个网络330。服务器310、客户端320可以是膝上型计算机、小型机、或中型机等等。 并且,服务器310经由链路312连接到网络330;客户端320经由链 路322连接到网络330。链路312、 322可以是有线链路,诸如同轴 电缆、光纤等,也可以是无线链路,诸如卫星链路等。同样地,网 络330可以是无线网、有线网或它们的组合。另外,网络330可以 是局域网、城域网、广域网。例如,网络330是因特网。当然,本领域的4支术人员应该理解,在网络330上还可以连4妄有 其他的客户端和/或服务器。并且,为了能够彼此识别,客户端和服 务器可以具有可以唯一地识别它们的标识,例如IP地址、统一资源 定位符(URL)等。另外,在客户端320上安装有客户端应用,而在服务器310上, 具有搜索引擎。以下,将在客户端320和服务器310,更具体地说,是在客户端 应用和搜索引擎这两个方面来分别描述本发明。用户进行搜索的目 标信息资源可以被一个固定的数据模型或模式(schema)限制,所述固定的数据模型或模式例如可以是数据库模式或UML (统一建模 语言)模型。例如, 一个给定类型的信息资源具有固定数目的属性(即侧面)、 以及具有到其他类型信息资源的固定可能关系。然而,目标信息资 源也可以不由固定的数据模型或模式限制。例如,目标信息资源是 遵循W3C RDF和OWL规范(Graham Klyne and Jeremy Carroll, editors, Resource Description Framework (RDF): Concepts and Abstract Syntax, W3C Recommendation, Feb.10, 2004; Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks, editors, OWL Web Ontology Language Semantics and Abstract Syntax, W3C Recommendation, Feb. 10, 2004) 的数据集,其中信息资源可以具有任意的属性,并且与任意其他信 息资源具有任意关系。在客户端上发生的交互现在描述发生在客户端320上的交互。当用户需要搜索某个信息资源时,他会在客户端320打开一个客 户端应用,并在该客户端应用中输入所希望进行搜索的某个信息资 源,来访问在服务器310上的搜索引擎。在用户在该客户端应用中输入他想进行搜索的信息资源(第一类 型信息资源),例如"图书",并点击了该客户端应用上的"搜索,, 按钮后,在客户端320中将生成一个新的窗口 400,如图4所示。如图4所示,在窗口 400中显示的不仅仅包括搜索得到的结果(结 果栏410),还包括关于图书这类信息资源的当前搜索结果的可应用 的侧面出版社、出版时间、价格以及在这些侧面下的元数据。最 主要地,还包括图书这类信息资源的当前搜索结果可以与其他类型 的信息资源进行连接的关系。在这里,该关系包括"由谁所著"、 "在哪里卖",也就是说,在这里,上述其他类型的信息资源包括 作者、书店等。另外,在图4中,在一些侧面下,例如在价格这个侧面下,元数 据可以是数值范围。另外,需要说明的是,在每个侧面下的元数据的右边的括号中的 数字表示在该元数据下这类信息资源的数目。例如满足当前搜索条 件并且是由Springer这个出版社出版的图书有200种。另外,所有侧面的元数据和关系以某种方式突出(例如不同的颜 色)并且是可点击的。当用户在客户端320上看到如图4所示的窗口 400后,他可以通 过点击鼠标来选择某个侧面的元数据或选择关系。例如,如果用户希望搜索关于Springer这个出版社所出版的图 书,他可以点击在出版社侧面下的Springer这个元数据。此后,如 图4所示的窗口发生变化。更具体地,图4中的结果栏410中显示 的内容发生变化,所显示的是由Springer这个出版社所出版的图书 的名称。另外,侧面栏420中显示的侧面也发生变化,例如不再显 示出版社这个侧面,并且其他侧面下的元数据,例如出版时间侧面下的元数据也发生变化。这里出于简单的目的,在结果栏中只是示 出了图书的名称,本领域的技术人员应当理解,在结果栏中也可以 显示图书的其他元数据,例如价格、出版时间等等。然而,如果用户希望搜索由某个特定作者(第二类型信息资源) 所著的图书,则他可以点击"由谁所著,,这个关系。在用户在如图4所示的侧面栏420中点击"由谁所著"这个关系 后,将产生一个新的窗口,如图5下部的窗口 500所示。在窗口 500中,示出了窗口 400中搜索出的图书的作者(在右边 的结果栏510中),以及这些作者的可应用的侧面国籍、年龄等、 在这些侧面下的元数据、以及最主要地,还包括作者这类信息资源 可以与其他类型的信息资源进行连接的关系(如侧面栏520所示)。 在这里,关系包括"为谁工作",也就是说,在这里,上述其他 类型的信息资源包括单位。此时,不但在图5中的窗口 500的侧面栏520中,所有侧面的元 数据和关系以某种方式突出(例如不同的颜色)并且它们是可点击 的,而且连结果栏510中的作者的姓名也以某种方式突出(例如不 同的颜色)并且它们是可点击的。用户可以在图5中的窗口 500的侧面栏520中进行关于作者的标 准侧面搜索。例如,如果用户希望搜索国籍是美国的作者,他可以 点击在国籍侧面下的美国这个元数据。此后,图5中的窗口 500中 的结果栏510中显示的内容发生变化,只显示国籍是美国的作者的 姓名。另外,窗口 500中的侧面栏520中显示的内容也发生变化, 例如不再显示国籍这个侧面,并且其他侧面下的元凄t据,例如年龄 侧面下的元数据也发生变化。然而,如果用户希望搜索为某个特定单位(第三类型信息资源) 工作的作者,他可以点击"为谁工作"这个关系。在用户在窗口 500中的侧面栏520中点击"为谁工作"这个关系 后,将产生一个新的窗口 600,如图6的最下面的那个窗口所示。在窗口 600中,示出了窗口 500中搜索出的作者的工作单位名称(如结果栏610所示),以及单位的可应用的侧面住所、4亍业、 类型等、在这些侧面下的元数据(如侧面栏620所示)。在该实施 方式中,单位这类信息资源没有与其他类型的信息资源连接的关系。此时,在窗口 600中,不但结果栏620中的所有侧面的元数据以 某种方式突出(例如不同的颜色)并且它们是可点击的,而且连侧 面栏610中的单位名称也以某种方式突出(例如不同的颜色)并且 它们是可点击的。用户可以在侧面栏620中进行关于单位的标准侧面搜索。例如, 如果用户希望搜索住所在美国的单位,他可以点击在住所侧面下的 "美国,,这个元数据。此后,窗口 600中的结果栏610中显示的内 容发生变化,其只显示住所在美国的单位名称。另外,在侧面栏620 中的侧面也发生变化,例如不再显示"住所"这个侧面,并且其他 侧面下的元数据,例如行业侧面下的元^t据也发生变化。当用户对一个窗口的结果满意时,可以简单地关闭该窗口。当关 闭该窗口后,该窗口的上一层窗口中的结果栏(例如结果栏410、 510) 中显示的内容发生变化,只显示与用户在该关闭的窗口中选择的某 个侧面下的元数据相对应的结果。例如,如果用户希望搜索的是其单位的住所是在美国的作者所著 的图书,并且用户在图6所示的窗口 620中点击了 "住所,,侧面下 的"美国,,这个元数据后,关闭了在图6中所示的窗口 600。此后, 图6中所示的窗口 600上方的窗口 500中的结果栏510中的内容发 生变化,其只显示那些其工作单位的住所是在美国的那些作者的姓 名。同样,在关闭窗口 500之后,窗口 500上面的窗口 400中的结果 栏410中所显示的内容也将发生变化,其只显示了那些其工作单位 的住所是在美国的那些作者所著的图书的书名。在本发明的一个实施方式中,在一个窗口被关闭之前,用户不能 操作该窗口的上一级窗口。更具体地,参考图6,在窗口 600被关闭 之前,用户不能操作窗口 500。同样,在窗口 500 #:关闭之前,用户不能操作窗口 400。在大多数视窗操作系统中,这可以通过在创建新 窗口时指定窗口类型为child modal window或类似类型来实现。可以通过点击各个窗口中的"OK"按钮(未示出)来关闭各个 窗口。也可以点击窗口标题栏中的X型关闭按钮来关闭窗口。本领 域的技术人员应当理解,关闭窗口有多种可能的实现。当然,在本发明的实施方式中,在关闭一个窗口,并且其上一层 显示的内容发生变化之后,用户还可以在该上一层窗口的侧面栏中 进行标准侧面搜索,即例如用鼠标点击年龄侧面下的元数据。在服务器上执行的步骤。图7示出了由服务器310,更具体地说,由服务器310中的搜索 引擎执行的步骤。首先,在步骤S701,搜索引擎根据用户的当前查询,获取该查 询的结果。接下来,在步骤S702,搜索引擎获取可以向用户建议的可应用 的侧面,以及在每个侧面下的元数据。接下来,在步骤S703,搜索引擎获取可以向用户建议的可应用 的关系。接下来,在步骤S704,搜索引擎向客户端320,更具体地说,向 客户端320上的客户端应用,返回在步骤S701获取的该查询的结果、 在步骤S702获取的可应用的侧面和在每个侧面下的元数据、以及在 步骤S703获取的可应用的关系。然后,在步骤S705,搜索引擎判断用户是否对在步骤S704提供 的信息满意。例如,当用户点击了窗口中的"OK"按钮,那么搜索 引擎判断用户对在步骤S704提供的信息满意。而当用户点击了在步 骤S704提供的可应用的侧面下的元数据或可应用的关系后,则判断 用户不满意。接下来,在步骤S706,搜索引擎判断用户选择(点击)的是一 个侧面下的元数据还是关系。当判断出用户选择的是元数据时,流程进行到步骤S710。在该步骤,搜索引擎将用户选择的某个侧面下的元数据这样的一个限制与在步骤S701接收的当前查询组合,来形成一个新的查询。并且, 在步骤S711,将该新的查询作为当前查询。然后,流程返回到步骤 S701。当判断出用户选择的是一个关系时,流程进行到步骤S707。在 该步骤,搜索引擎构造这样的一个新查询,该新查询将导致获取的 信息包括所选择的该关系的另 一 端的某种类型的信息资源的信息, 具体包括该种类型的信息资源的侧面和每个侧面下的元数据、以及 最主要地,这种类型的信息资源可以与其他类型的信息资源进行连 接的关系。并且,该新查询基于在步骤S701中所述的那个当前查询, 如下面将描述的。然后,在步骤S708,〗吏用该新查询来递归地调用 图7中描述的步骤,包括前面描述的步骤和后面将描述的步骤。在 这里,用XFACETED QUERY来表示在图7中所示的所有步骤。递归调用退出的条件是判断出用户对提供的信息感到满意,并因 此点击了一个窗口中的"OK"按钮来选择关闭该窗口。在递归调用退出后,在步骤S709,搜索引擎将当前查询与导致 递归步骤S708中返回的结果的查询相组合,形成一个新的查询。并 且,在步骤S711,将该新的查询作为当前查询。然后,流程返回到 步骤S701。这里,返回不但指整个搜索过程结束,也指递归调用退出。更具 体地,当用户对返回的信息感到满意,并用鼠标点击了窗口上的 "0K,,按钮后,或者整个搜索过程结束,或者一级递归调用退出。上述步骤可以分别由执行相应步骤的装置执行,例如,可以由获 取装置获取查询结果、可应用的侧面和侧面下的元数据、可应用的 关系;可以由返回装置返回获取的该查询的结果、获取的可应用的 侧面和在每个侧面下的元数据、以及获耳又的可应用的关系;由判定 装置判定用户选择的是元数据还是关系还是对结果满意;由组合装 置将当前查询与用户选择的元数据或结果进行组合构成新的查询;由赋值装置将新的查询作为当前查询;由构造装置构造一个获取在 选择的关系的另一端的某种类型的信息资源的信息的新查询等等。以下,将分开地描述当目标信息资源由 一 个固定的数据模型或模 式限制时搜索引擎对于上述步骤的具体实现和当目标信息资源不受 一个固定的数据模型或模式限制时搜索引擎对于上述步骤的具体实 现。具有数据模型或模式限制在这种情况下,每种类型的信息资源具有固定数目的属性(侧面) 和关系。这里我们使用数据库模式和SQL作为例子。当然,本领域 的技术人员应当理解,其他的模型或模式(例如UML模型、XML 模式)和其他的语言也是可以的。还应该注意下面的实现只是一个 简单易懂的例子而不是最优化的。基于这里所公开的,本领域的技 术人员完全可以开发更优的实现。仍然使用图书、作者和单位的例子,可以有如图8所示的数据库 模式来定义和存储关于图书(BOOK)、作者(AUTHOR)、和单位 (COMPANY)的信息。每种类型的信息资源存储在一个表(T)中。表中的一行代表该 种类型的信息资源的一个实例。信息资源的属性值(侧面元数据) 以值的方式存储在表的列中,并且关系以指向其他类型的信息资源 的外部键的方式存储在表的列中。数据库模式定义了 一种信息资源 可以具有多少可能的属性(侧面)和与其他类型的信息资源的关系。 如果该种类型的信息资源的某个特定实例没有某一方面的属性或关 系,则在该实例的该方面的属性或关系列下的值为NULL值。如前所述,当用户需要搜索某个信息资源时,他通过在客户端 320打开一个客户端应用,在该客户端应用中输入他希望进行搜索的 某个信息资源,并点击该客户端应用上的"搜索,,按钮,来访问在 服务器310上的搜索引擎。这里,假定用户在该客户端应用中输入的他想进行搜索的信息资源是"图书"。对于步骤S701,搜索引擎构造从该类型的信息资源中选择出所 有信息资源实例的ID的S QL语句S,例如S = "SELECT id FROM BOOK"。然后,搜索引擎执行该SQL语句S,以获取最初的结果。对于步骤S702,假定可以通过某种方法,例如,通过读取存储 当前类型的信息资源的所有预定义的侧面定义的文件,每个侧面定 义包括侧面名称和在该侧面下的元数据,或者通过将每个属性作为 侧面,并扫描在属性列中的所有值,来获取可应用的侧面和在每个 侧面下的元数据。例如,价格和出版时间是图书的侧面,它们来自 数据库中的BOOK表格的"价格"和"出版时间"属性列。对于价 格侧面,其元数据是数值范围,例如"小于30"、"在30到70之 间"、以及"大于70"。对于步骤S703,由于数据模型是固定的,可以提前知道当前类 型的信息资源的所有可能关系,即在表中的所有外部键列。可以将 所有这些可能关系建议给用户。优选地是,将对于当前查询S没有 NULL值的那些关系建议给用户。也就是说,如果下面的查询SELECT函nt(id) FROM TWHERE REL != NULL AND id in (S)返回非零的计数,则向用户建议关系REL。对于步骤S704,因为如上所述,当前的查询S是选择用户感兴 趣的信息资源的ID,这不太直观。可以获取一个或多个该类信息资 源的比较形象的属性值(例如名称)来作为查询结果。例如,可以 使用如下的查询SELECT name FROM TWHERE id in (S)来选择信息资源的名称作为查询结果。如上所述,在该步骤,也向用户显示可应用的侧面和每个侧面下 的元数据、以及关系。对于步骤S710 ,搜索引擎将用户选择的侧面元数据限制与当前查询s相组合,以形成一个新的查询s,。这里,侧面元数据限制可以是对属性列的值范围限制(例如大于、等于、小于)。可以将新的限制添加到查询S的WHERE子句(如果没有WHERE子句,增 加一个WHERE子句)。假定当前查询S是如下的形式SELECT . . . FROM . . . WHERE ...那么新的查询S,将是SELECT . . . FROM . . . WHERE . . . AND廳一co"Wra/"f 该步骤也是标准侧面搜索中的 一个步骤。 作为一个例子,假定用户在当前的查询S: SELECT id FROM BOOK下选择价格侧面下的"小于30"这个元数据限制,那么新的查 询S'为SELECT id FROM BOOK WHERE Price<30在用户选择了出版时间侧面下的"在1980年之前"这个元数据限制之后,查询进一步改变成SELECT id FROM BOOK WHERE Price<30 AND PubY<1980 对于步骤S707,给定当前查询S和用户选择的关系REL,其中该关系与表T,相关联,搜索引擎将构造如下的新查询S',该新查询将导致获取在表T,中的并经由REL与S连接的信息资源实例 SELECT T,.id FROM T, T' WHERE T,.id = T.REL AND T.id in (S) 例如,当前查询S为 SELECT id FROM BOOK WHERE Price<30 当用户选择了 "由谁所著"关系后,新的查询S,变成 SELECT AUTHOR.id FROM BOOK, AUTHOR WHERE AUTHOR.id = BOOK.AuthoredBy AND BOOK.id in (SELECT id FROM BOOK WHERE Price<30 ) 对于步骤S708,用在步骤S707构造得到的新的查询S,作为输入,递归调用XFACTED QUERY。对于步骤S709,根据当前查询S,用户选择的关系REL,以及 从步骤S70S返回的结果R,搜索引擎将构造一个使用R来进一步限 制S的新查询S,。假定S是SELECT T.id FROM . . . WHERE ... 那么S,将是SELECT T.id FROM . . . WHERE . . . AND T.REL in (R) 作为例子,假定当前查询S是 SELECT id FROM BOOK WHERE Price<30 从步骤S708返回的结果R是如下查询的结果 SELECT AUTHOR.id FROM BOOK, AUTHOR WHERE AUTHOR.id = BOOK.AuthoredBy AND BOOK.id in (SELECT id FROM BOOK WHERE Price<30 ) AND Age < 30 那么S,为:SELECT AUTHOR.id FROM BOOK, AUTHORWHERE AUTHOR.id = BOOK.AuthoredBy AND BOOK.id in(SELECT id FROM BOOK WHERE Price<30 ) AND Age < 30)对于步骤S711,搜索引擎简单地用在步骤S709或在步骤S710 构造的新的查询来代替当前查询,即使得S-S'。没有数据模型或模式的限制假定由用户导航或搜索的目标信息资源不被一个固定的数据模型或模式所限制。 一 种类型的信,I;资源可以具有任何的属性和关系。 所有的信息资源可以看作是一个网络,其中网络中的节点为信息资 源,而网络的边为两种信息资源之间的关系。这里,我们使用以RDF(资源描述框架)格式的数据集和SPARQL(Simple Protocol and RDF Query Language )查询语言(Eric Prud'hommeaux and Andy Seaborne, SPARQL query language for RDF, W3C Working Draft, Oct., 2006)作为例子。在RDF中,每个信息 资源由URI识别。这里,使用例如ex:Book的缩写来写URI (统一 资源标识符)。这里,假定用户希望搜索所有的图书。因此,对于步骤S701, 搜索引擎执行如下的SPARQL S:SELECT b WHERE { b rdf:type ex:Book }对于步骤S702,々i定可以通过某种方法,例如,通过读取存卡者 当前类型的信息资源的所有预定义的侧面定义的文件(每个侧面定 义包括侧面名称和在该侧面下的元数据)来获取可应用的侧面和在 每个侧面下的元数据。对于步骤S703,可以基于当前查询S,来构造一个SPARQL查 询,该查询用来获取对于当前类型的信息资源可应用的关系。如果当前查询S是SELECT x WHERE { ...}那么用来获取上述可应用的关系的查询为SELECT p WHERE { x p z . p rdf:type owl:ObjectProperty . ...}其中?z是不在S中的变量。例如,如果当前查询S是SELECT b WHERE { b rdf:type ex:Book }那么用来获取上述可应用的关系的查询为SELECT pWHERE{ b p z . p rdf:type owl:ObjectProperty . b rdf:type ex:Book } 对于步骤S704,当前的查询S的结果有可能不太直观。可以获取一个或多个该类信息资源的比较形象的属性值(例如名称)来作为查询由于当前查询S是 SELECT x WHERE { ...}可以基于这个查询来构造一个新的查询,该新查询用于获取?x: 的某个属性(例如ex:attr)的值SELECT v WHERE { x ex:attr v . ...} 例如,如果当前查询S为 SELECT b WHERE { b rdf:type ex:Book } 那么可以j吏用如下的查询SELECT v WHERE { b dc:title v . b rdf:type ex:Book }来获取用户感兴趣的图书的名称。如上所述,在该步骤,也向用户显示可应用的侧面和每个侧面下 的元数据、以及关系。对于步骤S710,搜索引擎将用户选择的侧面元数据限制与当前 查询S相組合,以形成一个新的查询S,。可以将新的限制添加到查 询S的WHERE子句。假定当前查询S是如下的形式SELECT x WHERE { ... }那么新的查询S,可以是SELECT x WHERE { x ex:attr v . Q . . }其中侧面元数据限制包括属性ex:attr和SPARQL查询条件Q。 其中?v不是在S中的变量,以及在Q中的变量必须被?v代替。例如,WI定用户在当前S:SELECT x WHERE { x rdf:type ex:Book }下选择了价格侧面的元数据"<30",那么S,为SELECT xWHERE { x ex:price v . FILTER ( v<30)x rdf:type ex :Book} 在用户选择了出版时间侧面的元数据"<1980"后,查询进一步 改变到SELECT xWHERE { x ex:publication-year w . FILTER ( w<1980). x ex:price v . FILTER ( v<30). x rdf:type ex :Book }对于步骤S707,给定当前查询S和用户选择的关系ex:p,搜索 引擎将构造如下的新查询S',该新查询将导致获取经由ex:p与S连 接的信息资源实例。由于当前查询S为SELECT x WHERE { ... }则新查询S可以构造成SELECT y WHERE { x ex:p y . ... }例如,如果当前查询S为SELECT xWHERE { x ex:price v . FILTER ( v<30) . x rdf:type ex :Book} 并且用户选择ex:authoredBy关系, 那么新查询S,为 SELECT yWHERE { x ex:authoredBy y . x ex:price v . FILTER ( v<30). x rdf:type ex:Book }对于步骤S708,用在步骤S707构造得到的新的查询S,作为输 入,递归调用XFACTED QUERY。对于步骤S709,根据当前查询S,用户选择的关系ex:p,以及 从步骤S708返回的结果R,搜索引擎将构造一个使用R来进一步限 制S的新查询S'。例如,如果S为SELECT x WHERE { X-CONDITIONS } R为SELECT y WHERE { Y-CONDITIONS }则新的查询S'为 SELECT xWHERE { x ex:p y . X-CONDITIONS . Y-CONDITIONS } 在Y-CONDITIONS中的变量如果也出现在X-CONDITIONS 中,则在Y-CONDITIONS中的变量需要重新命名。 例如,如果S是 SELECT xWHERE { x ex:price v . FILTER ( v<30) . x rdf:type ex :Book} R是SELECT yWHERE { y ex:age v . FILTER ( v < 30 ).7x ex:authoredBy * y . x ex:price v . FILTER ( v<30). x rdf:type ex:Book }那么新查询S,是SELECT xWHERE { x ex:authoredBy yx ex:price v . FILTER ( v<30). x rdf:type ex:Book . y ex:age w . FILTER ( w < 30 ) }对于步骤S711,搜索引擎简单地用在步骤S冗9或在步骤S"0 构造的新的查询来代替当前查询,即使得S-S'。需要说明的是,本发明不但适用于信息搜索的情况,也适用于信 息导航的情况。应当注意,为了使本发明更容易理解,上面的描述省略了对于本 领域的技术人员来说是公知的、并且对于本发明的实现可能是必需 的更具体的一些技术细节。提供本发明的说明书的目的是为了说明和描述,而不是用来穷举 或将本发明限制为所公开的形式。对本领域的普通技术人员而言,23许多修改和变更都是显而易见的。因此,选择并描述实施方式是为了更好地解释本发明的原理及其 实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的前提下,^古脉补^亦歪化贫入山^ w至炎新Pi全的太劳日; 范围之内
权利要求
1.一种用于信息资源搜索的方法,包括步骤根据当前用于第一类型信息资源的查询,获取关于所述第一类型信息资源的查询结果、所述第一类型信息资源的一个或多个侧面和每个侧面下的元数据、以及所述第一类型信息资源与至少包括第二类型信息资源的其他类型信息资源的关系;以及将上述获取的关于所述第一类型信息资源的查询结果、所述第一类型信息资源的一个或多个侧面和每个侧面下的元数据、以及所述第一类型信息资源与至少包括第二类型信息资源的其他类型信息资源的关系返回给用户。
2. 根据权利要求1所述的方法,还包括步骤判定用户选择了返回的所述第 一类型信息资源的 一个侧面下的 一个元lt据;将当前用于第一类型信息资源的查询和用户所选择的所述第一 类型信息资源的 一 个侧面下的 一 个元数据相组合,以形成 一 个新的 用于第一类型信息资源的查询;以及将所述新的用于第 一类型信息资源的查询作为当前用于第 一类 型信息资源的查询,以又一次获取和返回关于所述第一类型信息资 源的查询结果、所述第 一类型信息资源的一个或多个侧面和每个侧 面下的元数据、以及所述第 一类型信息资源与至少包括第二类型信 息资源的其他类型信息资源的关系。
3. 根据权利要求1所述的方法,还包括步骤判定用户选择了返回的与所述第二类型信息资源的关系; 基于当前用于第一类型信息资源的查询和选择的与所述第二类型信息资源的关系构造当前用于第二类型信息资源的查询;根据当前用于第二类型信息资源的查询,获取关于所述第二类型信息资源的查询结果和所述第二类型信息资源的 一个或多个侧面和每个侧面下的元数据;以及将获取的关于所述第二类型信息资源的查询结果和所述第二类 型信息资源的一个或多个侧面和每个侧面下的元数据返回给用户。
4. 根据权利要求3所述的方法,还包括步骤判定用户选择了返回的所述第二类型信息资源的一个侧面下的 一个元数据;将当前用于第二类型信息资源的查询和上述用户选择的所述第 二类型信息资源的一个侧面下的一个元数据相组合,以形成一个新 的用于第二类型信息资源的查询;将所述新的用于第二类型信息资源的查询作为当前用于第二类 型信息资源的查询,以又一次获取和返回关于所述第二类型信息资 源的查询结果和所述第二类型信息资源的一个或多个侧面和每个侧 面下的元数据。
5. 根据权利要求4所述的方法,还包括步骤判定又一次返回的关于所述第二类型信息资源的查询结果是用 户所希望的查询结果;将当前用于第一类型信息资源的查询和导致又一次返回的当前 用于第二类型信息资源的查询相组合,以形成一个新的用于第一类型信息资源的查询;以及将所述新的用于第 一类型信息资源的查询作为当前用于第 一类 型信息资源的查询,以又 一 次获取和返回关于所述第 一 类型信息资 源的查询结果、所述第 一类型信息资源的一个或多个侧面和每个侧 面下的元数据、以及所述第 一 类型信息资源与除了所述第二类型信 息资源之外的其他类型信息资源的关系。
6. —种用于信息资源的搜索的设备,包括获取装置,用于根据当前用于第一类型信息资源的查询,获取关 于所述第一类型信息资源的查询结果、所述第一类型信息资源的一 个或多个侧面和每个侧面下的元数据、以及所述第 一类型信息资源 与至少包括第二类型信息资源的其他类型信息资源的关系;以及返回装置,用于将上述获取的关于所述第一类型信息资源的查询结果、所述第 一类型信息资源的 一个或多个侧面和每个侧面下的元 数据、以及所述第 一类型信息资源与至少包括第二类型信息资源的 其他类型信息资源的关系返回给用户。
7. 根据权利要求6所述的设备,还包括判定装置,用于判定用户选择了返回的所述第 一类型信息资源的 一个侧面下的一个元H才居;组合装置,用于将当前用于第 一类型信息资源的查询和用户所选 择的所述第 一 类型信息资源的 一 个侧面下的 一 个元数据相组合,以形成一个新的用于第一类型信息资源的查询;以及赋值装置,用于将所述新的用于第 一 类型信息资源的查询作为当 前用于第一类型信息资源的查询,以又一次获取和返回关于所述第 一类型信息资源的查询结果、所述第一类型信息资源的一个或多个 侧面和每个侧面下的元数据、以及所述第 一类型信息资源与至少包 括第二类型信息资源的其他类型信息资源的关系。
8. 根据权利要求6所述的设备,还包括判定装置,用于判定用户选择了返回的与所述第二类型信息资源 的关系;构造装置,用于基于当前用于第一类型信息资源的查询和选择的 与所述第二类型信息资源的关系构造当前用于第二类型信息资源的 查询;其中,所述获取装置还用于根据当前用于第二类型信息资源的 查询,获取关于所述第二类型信息资源的查询结果和所述第二类型 信息资源的一个或多个侧面和每个侧面下的元数据;所述返回装置还用于将获取的关于所述第二类型信息资源的查 询结果和所述第二类型信息资源的一个或多个侧面和每个侧面下的 元lt据返回给用户。
9. 根据权利要求8所述的设备,其中所述判定装置还用于判定用户选择了返回的所述第二类型信息 资源的 一 个侧面下的 一 个元数据;所述组合装置还用于将当前用于第二类型信息资源的查询和上 述用户选择的所述第二类型信息资源的 一个侧面下的 一个元数据相组合,以形成一个新的用于第二类型信息资源的查询;所述赋值装置还用于将所述新的用于第二类型信息资源的查询作为当前用于第二类型信息资源的查询,以又一次获取和返回关于所述第二类型信息资源的查询结果和所述第二类型信息资源的一个或多个侧面和每个侧面下的元数据。
10.根据权利要求9所述的设备,其中所述判定装置还用于判定又一次返回的关于所述第二类型信息 资源的查询结果是用户所希望的查询结果;所述组合装置还用于将当前用于第 一 类型信息资源的查询和导 致又一次返回的当前用于第二类型信息资源的查询相组合,以形成 一个新的用于第一类型信息资源的查询;以及所述赋值装置还用于将所述新的用于第 一 类型信息资源的查询 作为当前用于第一类型信息资源的查询,以又一次获取和返回关于 所述第一类型信息资源的查询结果、所述第一类型信息资源的一个 或多个侧面和每个侧面下的元数据、以及所述第 一 类型信息资源与 除了所述第二类型信息資源之外的其他类型信息资源的关系。
全文摘要
本发明公开了用于信息资源的搜索的方法和设备。在该方法中,包括步骤根据当前用于第一类型信息资源的查询,获取关于所述第一类型信息资源的查询结果、所述第一类型信息资源的一个或多个侧面和每个侧面下的元数据、以及所述第一类型信息资源与至少包括第二类型信息资源的其他类型信息资源的关系;以及将上述获取的关于所述第一类型信息资源的查询结果、所述第一类型信息资源的一个或多个侧面和每个侧面下的元数据、以及所述第一类型信息资源与至少包括第二类型信息资源的其他类型信息资源的关系返回给用户。根据本发明,用户能够以一种简单的方式,进行复杂的信息资源的搜索。
文档编号G06F17/30GK101324887SQ20071010898
公开日2008年12月17日 申请日期2007年6月11日 优先权日2007年6月11日
发明者J-S·布伦纳, 雷 张, 越 潘, 力 马 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1