使用全局唯一标识符的数据搜索系统和数据搜索方法

文档序号:6394977阅读:623来源:国知局
专利名称:使用全局唯一标识符的数据搜索系统和数据搜索方法
技术领域
本发明涉及一种用于根据来自于数据和/或服务用户的请求搜索数据和服务的系统和方法。
背景技术
通常,为了搜索与目标物件有关的数据和/或服务,搜索者输入与该物件有关的关键词,或者在系统所提供的关键词当中作选择。这适用于如下情况,即预先注册与基本数据相关联的、代表数据和/或服务实质内容(substance)的元数据,并利用上述元数据来搜索相关的基础数据。因此,对于这种基于关键词的搜索系统而言,由于有时难以选择最佳关键词,也就是最能限制到目标数据上的那些关键词,因而存在缺点,这是因为可能存在有许多会被选择用于搜索目标数据的关键词,特别是在搜索的初始阶段,这会导致不充分的搜索。
作为选择,支持诸如Microsoft Windows(注册商标)这类GUI(图形用户界面)的操作系统能通过执行在图标上的拖放来实现两个对象之间的交互。该交互包括将文件移动到文件夹中,以及通过利用应用程序来显示数据。这些示例在JP-A-11-53581和JP-A-11-203835中作了公开。在这类借助于拖放而使两个对象交互的常规方法中,唯一地确定了通过拖放(drag-and-drop)所激活的操作,而不允许用户选择。换言之,对于常规系统中的拖放方案而言,当一个或多个数据和/或程序与一个或多个对象中的每一个相关联时,难以通过把这类数据和服务彼此组合起来并搜索这些组合来选择和执行任何期望的操作。

发明内容
鉴于常规技术中的这些问题,本发明涉及一种供更高效地搜索与一个确定的目标“物件(article)”相关联的数据或服务(下文中称为程序,因为服务的实质就是程序)使用的新的改进的数据搜索系统或方法。本发明还提供了一种当一个或多个数据和/或程序与一个或多个物件中的每一个相关联时允许容易地搜索组合后的数据和/或程序的新的改进的搜索系统或方法。
在本说明书中,“物件”包括与物理实体相关联的物件以及不必与物理实体相关联的概念上的物件。为了清楚地表达这一思想,所有这些物件均称为“对象”。实际上,可以将数据和/或程序附加到对象上。全局唯一标识符,在下文中简称为ID,是分配给对象以用于标识所述对象的标识符。具有作为其属性的对象ID、数据索引、数据描述语句及数据类型的元数据通过它的ID与对象关联起来(其中所述ID被分配给所述对象),并且所述元数据通过它的数据的索引(下文中称为数据索引,或者简单称为索引)与其相应的数据关联起来。数据描述语句是代表相关联的(即,对应的)数据的主题等的一个或多个词的序列。当数据是程序时,数据类型是该程序的输入类型(自变量)和输出类型(返回值)。当数据是静态数据时,数据类型是该静态数据的数据格式。
一旦将ID分配给对象,该ID就可以被设置到代码本身,所述代码是利用ID获取设备从对象中读取的。或者,从对象中读取的未被用作ID的代码,可以通过某种手段而转换成ID(即,根据代码来搜索ID)。此外,ID可以经两个或多个代码变换阶段来获得,而不是经单个阶段获得。而且,实际上,经代码变换来获得ID往往更方便。最终如何从读出的代码中获得ID,可以从使用ID的整个系统的便利性角度加以确定。尽管ID有时被解释成是从对象中直接读取的,但是在下文中为简明起见,应当指出的是实际上,对象的ID最终是经过从对象中读取的代码的一个或多个转换(搜索)阶段获得的。因此,在此“读取ID”的意思就是不仅从对象中读取ID本身,而且以任何方式从读取自对象但又并非ID本身的代码中获得ID。
此外,当分配有ID及使用ID的整个系统为小型规模(比如是仅仅具有少量获取设备的系统)时,用于通过转换读取自对象的代码来最终获得ID的转换器,可以被归入每个获取设备和与之连接并使用上述已获取的ID的设备。当系统大到一定程度时,实际上就可以在网络等当中配备用于接收请求并执行转换的服务器等,这是因为在每个设备中执行转换将会导致转换表过于庞大,并且在诸如注册、删除和修改ID等之类的管理方面也会造成严重问题。另外,这种服务器可以是集中式服务器,或者是分布式服务器,以便按转换阶段或按其它方面来分担功能负荷。此外,可以执行这样的分布式转换,即在其中由获取装置从该对象中读出特定用于对象介质的代码被转换成相对通用的另一种形式,且继而将其传递到上述用于转换的服务器中以便执行进一步的转换。
单词“数据”在此是指以下两种情况,即程序数据和非程序数据的情况;以及程序数据和非程序数据的情况,在其中非程序数据是诸如文本数据和图像数据之类的数据,并且将在下文中称为静态数据以便同程序相区别。
根据本发明优选实施例的数据搜索系统或数据搜索方法被配置成根据用于标识“对象”的全局唯一标识符来搜索与“对象”有关的元数据,以便搜索目标数据并且可以采取以下几个方面。
在第一方面,元数据至少包括基本数据的全局唯一标识符、数据索引和描述语句,所述唯一标识符是用于标识特定对象的标识符,每一个元数据均通过所述数据索引而与相应的基本数据相关联并且通过全局唯一标识符而与所述对象相关联,所述系统包括用于存储元数据的元数据存储器;用于输入全局唯一标识符的输入装置;元数据读取器,用于从元数据存储装置中读出包含已输入的全局唯一标识符的元数据集合;和元数据搜索器,用于通过在已读出的元数据集合中搜索特定描述语句来搜索特定元数据。
根据所述第一方面,通过输入与对象相关联的全局唯一标识符,只可以获得包含所述全局唯一标识符的元数据,这免除了搜索者在选择将要被首先输入的适当关键字时的犹豫不定,而不象常规系统那样。因此,搜索者能够更有效地搜索与对象相关联的基本数据。
根据第二方面,多个相同的全局唯一标识符被包含在所述第一方面的多个元数据当中。根据所述第二方面,即使多个数据均与同一对象相关联,也能在同一搜索过程期间定位那些多个数据。
第三方面是第一或者第二方面与一种安排的组合,该安排用于(a)从特定元数据中获取所述数据索引,和(b)根据所述数据索引来获取对应于所述特定元数据的基本数据。由于所述第三方面,一旦元数据被定位,就能够立即根据被包含在那个元数据中的索引来定位相对应的基本数据。
与被视为方法发明的第二方面相对应的第四方面,包括以下步骤输入全局唯一标识符;获取包含所述已输入的全局唯一标识符的元数据集合;以及根据描述语句来搜索第一特定元数据,所述描述语句被包含在所述已获得的元数据集合中的每一个元数据当中。
在第五方面,除了所述第四方面之外,元数据的描述语句是词的序列,并且第五方面进一步包括以下步骤a.保持所述已获取的元数据集合,并且获得和呈现被包含在所述元数据集合中的描述语句起始处的词;b.从所述已呈现的词中选择并输入一个词;c.在所述被保持的元数据当中仅仅保持其描述语句中包含的词同所述被输入的词匹配的元数据;d.根据所述被保持的元数据的描述语句来获得并呈现词,所述被获得并呈现的词位于序列中紧接于所述匹配词的位置;e.重复所述步骤b至d,直到在所述步骤d所获得的词是被保持的元数据的任何描述语句的最后一个词为止;以及f.呈现被保持的元数据当中的元数据,该描述语句把位于所述步骤e的最后一个词作为其最后一个词。
根据所述第五方面,搜索者能够通过按顺序输入词来稳定而快速地到达包含全局唯一标识符的元数据集合中的特定元数据,其中所述词被包含在特定元数据的描述语句中。换句话说,与常规搜索方法不同,能够完成有效搜索而不会(1)为选择哪个关键词而迷惑或者(2)导致诸如输入错误关键字这样的低效率。
第六方面是第五方面的进一步限定,在步骤f之后,还包括步骤g(即,在确定所述在步骤f呈现的元数据是第一特定元数据和进一步执行所述步骤d、e和f之间进行选择);以及步骤h(即,重复所述步骤g),直到确定所述由步骤h呈现的元数据是所述第一特定元数据为止。
根据所述第六方面,一旦定位包含某一描述语句的元数据,就可以继续搜索在其起始处包含所述某一描述语句的描述语句。
在第七方面中,每一个元数据均至少包括基本数据的(1)全局唯一标识符、(2)数据索引和(3)描述语句。所述全局唯一标识符是用于标识特定对象的标识符,每一个元数据均通过数据索引而与相应的基本数据相关联,并且通过全局唯一标识符而与对象相关联。所述元数据还包括一种相关联的基本数据类型,并且多个元数据均能够包括相同的全局唯一标识符。所述描述语句是描述语句的词的序列,所述描述语句的词能够被表示为特定数据类型的变量。第一特定元数据包括正在从与第一全局唯一标识符相关联的元数据集合中搜索的特定描述语句。所述第七方面包括以下步骤输入第一全局唯一标识符和第二全局唯一标识符;规定包含第一全局唯一标识符的元数据与包含第二全局唯一标识符的元数据的组合搜索,获取包含第一全局唯一标识符或第二全局唯一标识符的元数据集合;对于包含第一全局唯一标识符的元数据集合执行第五方面的步骤a至e,将包含第一唯一标识符的元数据集合视为如第四方面中的已获取的元数据集合;如果在所述步骤b选定的词是变量(第一变量),则呈现出元数据组合搜索是可选的事实;并且选择元数据的组合搜索;以及如果元数据组合搜索被选定,则获取一个包含第一或第二全局唯一标识符并且包含与第一变量相同数据类型的元数据集合(第二元数据集合);以及根据被包含在第二元数据集合当中相应元数据内的描述语句来搜索第二特定元数据。
根据所述第七方面,能够实现这样的搜索,在所述搜索中分别与多个全局唯一标识符相关联的一个或多个元数据被组合起来。由于能够通过变量来组合元数据,因而可以实现灵活的组合。此外,第一全局唯一标识符和第二全局唯一标识符可以是相同的。在这种情况下,能够完成这样的搜索,在所述搜索中与同一全局唯一标识符相关联的多个元数据被组合。
第八方面是这样的构造,在该构造中,在所述第七方面,对于所述第二元数据集合执行第五方面中的步骤a至f,所述第二元数据集合被视为第四方面中的已获取的元数据集合。在第八方面存在以下步骤即步骤i(即,在确定呈现于所述步骤f的元数据是第二特定元数据和进一步执行步骤d、e、和f之间进行选择);以及步骤j(即,重复步骤i,直到确定已呈现的元数据是第二特定元数据为止)。根据所述第八方面,正如所述第六方面那样,当包含某一描述语句的元数据被定位时,能够继续搜索具有所述描述语句的元数据,所述描述语句在其起始处包含所述某一描述语句。
第九方面,进一步在第七或第八方面中包括以下步骤步骤k.如果元数据组合搜索被选定,则临时存储所保持的元数据(被保持的元数据)和第一变量;以及如果第二特定元数据被定位,则步骤l.读出所述临时存储的被保持的元数据和第一变量;以及步骤m.执行第五方面中的步骤a至f,其中第五方面中的步骤a被视为在紧接于由第一变量所表示的词的位置获取并呈现描述语句中的词;所述描述语句被包含在被保持的元数据中的相应元数据中,其中所述词是从所述描述语句中获取并呈现的。
第十方面是这样的构造,在该构造中,第九方面的步骤m中包括以下步骤步骤n.在确定呈现于步骤f的元数据是第一特定元数据和进一步执行步骤d、e和f之间进行选择;以及步骤o.重复步骤n,直到确定已呈现的元数据是第一特定元数据为止;第十一方面是这样的构造,在该构造中,在所述第七方面至第十方面的任何一个方面中进一步包括以下步骤显示对应于第一全局唯一标识符的第一图标;以及显示对应于第二全局唯一标识符的第二图标;其中规定元数据的组合搜索的步骤包括将第一图标和第二图标的其中之一拖放到另一个上。
根据所述第十一方面,规定了这样的搜索,在所述搜索中与一个或多个对象相关联的元数据被组合起来,也就是说,通过拖放图标的简单操作将基本数据组合起来。


图1是示出根据本发明一个实施例的数据搜索系统的配置示意图。
图2示出根据本发明一个实施例用来注册基本数据和元数据的步骤的略图。
图3是示出根据本发明一个实施例的数据搜索引擎的块配置图。
图4A示出根据本发明一个实施例的元数据的格式。
图4B是根据本发明一个实施例的一个元数据示例。
图5是示出根据本发明一个实施例的元数据表示树的示例图。
图6A是示出根据本发明一个实施例、在搜索操作期间搜索屏幕的显示示例图。
图6B是示出根据本发明一个实施例、在搜索操作期间显示于图6A之后的搜索屏幕的显示示例图。
图6C是示出根据本发明一个实施例、在搜索操作期间显示于图6B之后的搜索屏幕的显示示例图。
图7是示出根据本发明一个实施例的搜索流程的示意图。
图8是最上层的流程图,它示出根据本发明一个实施例的搜索系统执行的步骤。
图9是示出“全局唯一标识符输入操作”步骤的流程图。
图10是示出图8中的“搜索操作”步骤的流程图。
图11是示出图10中的“树生成操作”步骤的流程图。
图12是示出“用于组合已生成的路径和树的操作”步骤的流程图。
图13是示出“菜单创建和供应(provision)操作”步骤的流程图。
图14是示出“输入操作”步骤的流程图。
图15是示出图14中的“标签选择操作”步骤的流程图。
具体实施例方式
在图1中示出了数据搜索系统1的组件示意图。数据搜索系统1包括数据搜索设备10和用于将元数据作为组成部分来进行存储的元数据数据库20。如图所示,数据搜索设备10经通信信道a连接于元数据数据库20。该数据搜索设备10还可以经通信信道a连接到用于存储基本数据的基本数据数据库30。因此,这种系统可以构造成独立的网络系统,比如LAN和WAN,或者构造成现有网络系统的一部分,比如因特网。通信信道a可以是现存的任意传输装置,比如LAN电缆或者无线或有线公共网络。
全局唯一标识符获取设备40是用于读取全局唯一标识符(ID)的设备。全局唯一标识符获取设备在下文中被称为ID获取设备。ID可以作为诸如条型码之类的标记附加于对象上。在这种情况下,ID获取设备40可以是用于通过读取包含ID的条型码来获得ID的条型码阅读器。ID获取设备40可以被调节成显示已读出的ID。
如上所述,此处的数据包括数据或者程序,或者包括数据和程序两者。应当注意的是,数据是诸如字符之类的符号序列,并且被写入为某种数据格式(比如纯文本、Microsoft Word(注册商标)文件格式以及JPEG文件格式)。程序是用于执行服务的函数,也是用于接收零个或多个数据输入(自变量)和输出零个或一个数据(返回值)的程序。数据供应商是提供数据的人。搜索者是搜索基本数据的人(也就是数据搜索系统1的用户)。
存储在基本数据数据库30中的数据可以通过规定与之对应的索引而被检索。例如,当将“1”规定为索引时,可以检索对应于索引1的数据A。当将“2”规定为索引时,可以检索对应于索引2的数据B。数据可以分布在因特网上。在此情况下,索引是URL(统一资源定位符)。
元数据数据库20是用于存储元数据的存储装置。在图4A中示出了元数据的构造。在下文中,数据的描述语句将简称为描述语句。元数据包含数据类型这一事实意味着元数据具有作为属性的该数据类型。图4B示出了元数据的具体示例。在图4B中,ID可以被写成类似于“照相机A”这样的文本,但是它也可以被写为诸如数码之类的符号,比如像JAN4987244103024(这个示例符合实际使用的被称为JAN编码的产品公共编码格式。如有必要,请参阅http//www、dsri_dcc.jp/company/jan/中的JAN编码)。
同一个ID可以与多个数据相关联。举例来说,ID“照相机A”可以与诸如数据“照相机A的使用手册”和/或数据“照相机A的经销商”之类的多个数据相关联。这可以通过在为该多个数据中的每一个提供的元数据当中包含相同的ID(比如,ID“照相机A”)来进行处理。
描述语句能被自由地描述成与数据有关的短语,并且按词来定界(delimited)。在本说明书及附图中,定界符是用符号“/”来表示的。定界符的位置可以由数据供应商来确定,或者可以通过利用诸如语法分析之类的任一方法来自动确定。对于在其中编写语句时按词来定界的语言来说,这种在词之间的分割点(break point)可以用作为本实施例的定界符。
由于以下的描述语句是基于日语语法的,因而翻译成其它语言会使这些描述语句不确定,因此将在下面提供关于描述语句的词序以及具有语法功能的词的解释说明。同时也解释了本实施例的注释。
将以描述语句“打印机B/の/使用手册/を/请求”(请求打印机B的使用手册)为例来进行解释。在日语语法里,首先出现宾语(“打印机B”),在此之后出现动词(请求)。另外,在日语语法里,语法成分是通过助词来表示的。通过把所有格“の”的助词置于名词所有格之后,以及将表示宾格的助词“を”置于宾语之后,助词表示恰好位于该助词前的词的语法角色。此外,在描述语句“手册/を/打印机B/て/打印”(利用打印机B来打印手册)中,助词“て”用来表示恰好位于助词前的词是设备、方法或工具。
由于在对以下的实施例的解释中词序非常重要,而且由于除了表示语法功能的名词和动词之外的词,比如以上所释的助词,也按动词和名词那样同等对待,因而作为示例的描述语句依照下列规则来表示1.词序遵循日语的词序;动词置于宾语之后;以及2.就助词而论,考虑到一些语言没有助词,因此表示助词的符号被置于词之后,其中所述助词将表示该词的格(即,与日语中的冠词位置相同)。符号P_P被用作表示所有格的助词,符号P_O被用作表示宾格的助词,而符号P_M被用作表示设备、方法或工具的助词。
描述语句可以包括具有类型的变量。对应于同给定宾语相关联的数据(程序)的元数据的描述语句可以是描述语句“XHTML/P_O/打印”(“打印XHTML”),其中X是变量。在这种情况下,XHTML指的是具有HTML类型的变量X。换言之,描述语句“XHTML/P_O/打印”指的是“以HTML格式打印作为变量X传递的数据”。此处,与变量X的类型为相同数据类型的元数据的描述语句可以与变量X相关联。
在本例中,当表示“照相机A的使用手册”的HTML格式的基本数据与特定宾语“照相机A”相关联时,对应于此基本数据的元数据的描述语句就可以与该变量X相关联。例如,当元数据的描述语句是“照相机A/P_P/使用手册”(“照相机A的使用手册”)时,应用于描述语句“XHTML/P_O/打印”(“打印XHTML”)的这种关联会得到“照相机A/P_P/使用手册/P_O/打印”(“打印照相机A的使用手册”)。当表示“照相机A的手册”的HTML格式的基本数据也与相同的照相机A相关联时,对应于后面数据的元数据的描述语句也可以与变量X相关联。例如,当元数据的描述语句是“照相机A/P_P/手册”(“照相机A的手册”)时,将其与描述语句“XHTML/P_O/打印”(“打印XHTML”)相关联,可以获得“照相机A/P_P/手册/P_O/打印”(“打印照相机A的手册”)。由此,通过以这种方法使用变量,就可以表示与对象相关联的多个基本数据被用作为程序的输入。换言之,可以(经搜索设备)向搜索者指明可以将与对象相关联的多个基本数据和与另一个对象相关联的程序组合起来。(尽管上述示例是这样一个情况,即其中将多个基本数据与一个程序组合起来,但是也可以按类似方式将单个基本数据与多个程序组合起来)。
此外,可以相对于一个基本数据来注册多个具有不同描述语句的元数据。例如,一个同时具有描述语句“打印机B/P_M/XHTML/P_O/打印”(“利用打印机B来打印XHTML”)和另一个描述语句“XHTML/P_O/打印机B/O_M/打印”(“利用打印机B打印XHTML”)的元数据可以被注册到某单个打印机上。
现在参照图7中所示的示意图,该示意图是搜索者、数据搜索设备及元数据数据库之间的搜索流程,描述了搜索流程的略图。搜索者通过利用预定的ID获取设备来读出目标对象的ID,并且预先获取此ID。(当然,有需要时可以读出此ID)。可以以多个对象作为目标,并且多个对象允许获取多个ID。起初,搜索者对数据搜索设备10发送搜索请求。将已获取的ID输入到数据搜索设备10中(1.请求搜索并且输入ID)。在对它的响应中,数据搜索设备10向元数据数据库请求一组元数据(元数据集合)(2.请求元数据),并读出元数据(3.返回元数据)。数据搜索设备10根据为搜索者读出的元数据来呈现候选词列表(4.呈现词列表)。搜索者选择并输入来自于词列表的词(5.选词)。重复步骤“4.呈现词列表”和“5.选词”,直到找到目标元数据的位置为止。在搜索末尾,搜索结果呈现在搜索者面前(7.呈现结果)。
接着,参照图2描述基本数据和元数据的注册,该图2是与之相应的用于注册基本数据和元数据的步骤的示意图。
数据供应商在基本数据数据库20中注册(即,存储)数据。这是通过将基本数据输入到数据输入设备中(未示出)、并且经通信信道在基本数据数据库中注册基本数据来完成(1.注册基本数据)。基本数据的索引是由基本数据数据库30提供的。数据供应商能通过利用数据输入设备而从基本数据数据库30中获得索引(2.获得基本数据数据库的索引)。通过将索引输入到数据输入设备,搜索者能够访问对应于该索引的基本数据。当经过诸如因特网之类的通信网络连接了数据库时,就可以经由诸如个人电脑之类的终端来注册和获得(上载和下载)基本数据。
然后,数据供应商利用元数据输入设备(基本数据设备也可以扮演此角色)(未示出)来在元数据数据库20中注册(或存储)元数据,该元数据包括从ID获取设备那里获取的ID和从基本数据数据库30当中获得的索引(3.注册包括ID和索引的元数据)。所述索引将基本数据同与之相应的元数据关联起来。描述语句以词的预定单位被定界,并且被存储在元数据数据库中。(如以下所示的描述语句是按词来定界的,然而如果把多个词组合起来(而不是把描述语句分解直至单个词的层次)能够便利于搜索的话,那么就也可以按任意单位来定界。例如,习语搭配(collocation)可以当作为单个词来对待,以减少执行搜索元数据所需要的步骤,其中所述元数据具有包含这种习语搭配的描述语句。因此,自始至终在整个说明书和权利要求书中,术语“词”均是指单个词和被视为搜索操作中的单个单位的任何词的序列。例如,如果“照相机A的使用手册”是目标基本数据(其中照相机A的使用手册的数据格式假设为HTML),则与之相应的元数据包括分配给照相机A的ID、数据“照相机A的使用手册”的数据索引、描述语句“照相机A/P_P/使用手册”(“照相机A的使用手册”)(其中“/”是定界符)以及数据类型HTML。
接着,将参照图5来描述元数据表示树(在下文中简称为“树”),该元数据表示树是元数据的树形结构。根据本实施例,用如图5中所举例说明的树形来表示已注册的元数据集合。在图5中所示的树当中,由N1至N16标注的圈均为节点,而连接节点的直线是边(edge)。圆圈N1表示根节点,而其余节点(N2至N16)表示子节点。元数据是用树形结构形式来表示的,这是因为树形结构使将要执行的搜索能比顺序地引用元数据中的描述语句并将它们与搜索词比较更为有效。树的边(分支)具有对应于描述语句中的每一个被定界的词的标签。每个描述语句都对应于从树的根节点到某一子节点的路径。例如,描述语句“照相机A/P_P/使用手册”(“照相机A的使用手册”)是来自于根节点的路径,该路径包括如下边具有标签“照相机A”的边、具有标签“P_P”的边和具有标签“使用手册”的边(在图5中,该路径包括连接节点N1、N2、N3和N4的边)。
将也许是空集的元数据集合分配给树的相应点。每个元数据都是分配给一个节点的元数据集合中的元素,所述每个元数据都具有这样的描述语句,该描述语句相当于沿从根节点到感兴趣节点的路径的标签序列。根节点对应于描述语句起始处的定界符,而子节点对应于描述语句当中及末尾处的定界符。换言之,表示上述描述语句“照相机A/P_P/使用手册”(“照相机A的使用手册”)的示例以使它对应于节点,结果形成了“/照相机A/P_P/使用手册”,在其中“照相机A”前的“/”是语句起始处的定界符,而紧接“使用手册”后的“/”是语句末尾处的定界符。与对应于描述语句末尾处的定界符的子节点(对应于描述语句末尾处的节点)相关联的集合是包括一个或多个元数据的集合。在图5中,两个元数据被分配给节点N4。例如,它们是分别对应于两个数据表示“照相机A的详细使用手册数据”和“照相机A的简要使用手册数据”的元数据(元数据1-(1)和1-(2))。
举例来说,假定从根节点到某一子节点的路径的边标签是“照相机A”、“P_P”和“使用手册”那样的顺序。那么分配给子节点的集合中的元素如其描述语句那样是具有“照相机A/P_P/使用手册”(“照相机A的使用手册”)的元数据。换言之,当存在具有由到某一节点的路径来表示的描述语句的元数据时,将该元数据分配给所述节点;否则,不把该元数据分配给所述节点(也就是,将元数据的空集分配给所述节点)。
在图5中,把具有以下元数据作为其元素的集合被分别分配给对应于语句末尾处的定界符的节点N4、N5、N7、N12、N14和N16,所述元数据具有如下描述语句“照相机A/P_P/使用手册”(“照相机A的使用手册”)、“照相机A/P_P/手册”(“照相机A的手册”)、“照相机A/P_O/购买”(“购买照相机A”)、“打印机B/P_M/XPDF/P_O/打印”(“利用打印机B来打印XPDF”)、“打印机B/P_P/使用手册”(“打印机B的使用手册”)和“打印机B/P_P/使用手册/P_O/请求”(“请求打印机B的使用手册”)。把空集分配给其余的节点。
根据这个实施例,由数据搜索设备10来生成树。然而,也可以利用独立于数据搜索设备10的任意装置来生成树。
参照图11和12中的流程图在下面描述由数据搜索设备10执行的树生成操作。圆括号中的参考数字是指图中的操作步骤序号。
起初,数据搜索设备10从元数据数据库20那里获得元数据集合(1110)。然后,仅具有根节点的树被生成(1120)。接着,确定在已获得的集合中是否仍有任何元数据(1130)。如果是,则就从该集合中取出所述元数据(1140)。接着,根据该元数据的描述语句生成路径(其中路径是不带分支的树)(1150)。路径的每个节点都对应于词定界符(包括语句起始处和末尾处的那些定界符)。路径的边把描述语句中的词作为标签。与对应于语句末尾处的节点相关联的集合是把元数据作为其元素的集合。空集被分配给剩余节点在步骤1150之后,组合已生成的路径和所述树(步骤1160)。
参照图12来描述在步骤1160处用于组合路径和树的操作细节。起初,路径和树被组合起来,以使路径的根与树的根相重合(步骤1210),在该步骤中,将具有同一标签的边合并成同一边。接着,与各个节点相关联的集合被组合起来(步骤1220)。此组合可按照例如以下伪代码执行;表1″树组合方法″T对应于元数据集合的树P由元数据(MD1)表示的路径(MD1)<pre listing-type="program-listing">NodeP=root of PNodeT=root of Twhile(NodeP has a child node){ foreach(edge eT from NodeT,to child node) if(label of eT and label of edge(eP)from NodeP tochild node are the same)then{ NodeP=child node of NodeP NodeT=child node at the end of eT exit foreach}//end of if}//end of foreachif(no edges with the same labels)then{ couple eP and below to NodeT, NodeT=end node of coupled path(leaf node) exit while}//end of if&lt;!-- SIPO &lt;DP n="13"&gt; --&gt;&lt;dp n="d13"/&gt;}//end of whileadd MD1 to a set assigned to NodeT</pre>控制返回到图11中的步骤1130。如果在已获得的集合中仍有任何元数据,则将重复步骤1140至1160的操作。如果在其中没有剩余元数据,也就是如果所有元数据都组合到树中,则用于树生成的操作将终止。
参照图3来描述使用上述元数据表示树的数据搜索操作的概要,该图3更具体地示出了数据搜索设备10的构造。在图6A至6C中示出了由数据搜索设备10向搜索者呈现的搜索屏幕的示例。
根据图3中所示实施例的数据搜索设备10包括用户界面部(用户I/F部)100和搜索操作部200。用户I/F部100包括输入处理器120、列表显示部140、搜索结果显示部160和搜索屏幕180。搜索者通过搜索屏幕180把要被搜索的词输入到输入处理器120中。搜索操作部200包括列表生成器220和元数据搜索部230。列表生成器220响应于ID或由搜索者经输入处理器120所输入的词,来生成随后的词的候选列表。由列表生成器220生成的词列表被发送到列表显示部140,并且将来自列表显示部140的词的列表显示在搜索屏幕180上。
根据图3,元数据搜索部230还包括元数据读取器236、树生成器232、元数据搜索引擎234以及树存储器238。元数据读取器236从元数据数据库中读取元数据集合。树生成器232根据所读出的元数据集合来生成树。元数据搜索引擎234通过利用由树生成器232所生成的树,来执行用于搜索元数据的操作(例如,用于追踪树结点的操作)。树存储器238临时存储树和节点位置。优选地,该树存储器238具有堆栈结构。例如,数据搜索设备10还包括控制部(未示出)以用来执行如下操作,即用于控制组成部分的操作和用于管理组成部分之间的接口。数据搜索设备10还包括数据获取部300,以用于根据索引来使用或获取相应的基本数据,所述索引被包含在由元数据搜索部230所定位的元数据中。数据获取部300包括索引获取装置(未示出),用于获取包含在元数据中的基本数据的索引。从数据搜索设备10向搜索者呈现数据,全部都是通过搜索屏幕180的显示来执行的。搜索结果也经搜索结果显示部160而显示在搜索屏幕180上。
数据搜索设备10可以进一步包括图标生成/操作部(未示出)。图标生成/操作部在搜索屏幕180上显示对应于所输入的一个或多个ID的一个或多个图标。所显示的图标可以被拖放到其它图标上。对数据搜索设备10进行配置,以便当图标被拖放到其它图标上时,所述设备10可以通过对分别与对应于图标的ID相关联的元数据进行组合来执行搜索(元数据组合搜索)。
一旦输入了分配给确定对象的ID,按如上配置的数据搜索设备10就从元数据数据库20中读取包含该ID的元数据集合,并且根据所读出的元数据集合来生成元数据表示树。当多个ID被输入时,从元数据数据库20中读出包含每一个ID的元数据,以生成元数据表示树。
数据搜索设备10经列表显示部140向搜索者呈现出来自于已生成树的根的每个边的候选菜单,也就是其词的列表表示赋予边的标签的菜单。搜索者能够通过反复地从列表中选择词并将其输入至输入处理器120当中,来获得对应于目标基本数据的元数据。例如,为了获得照相机A的使用手册,在此所述照相机A是特定对象,搜索者获取该照相机A的ID,并将其输入到搜索设备10。搜索设备10从元数据数据库20中读出所有具有照相机A的ID的元数据。然后,根据所述元数据集合来生成树形结构。举例来说,当具有描述语句“照相机A/P_P/使用手册”的元数据对应于基本数据“照相机A的使用手册”,并且当搜索基本数据“照相机A的使用手册”开始时,数据搜索设备10能够顺序地向搜索者呈现出词“照相机A”、“P_P”和“使用手册”。搜索者通过顺序选择这些词来获得对应于目标基本数据的元数据。
虽然没有示出用于直接输入或者选择并输入ID或搜索词的特定装置,但是搜索者能够通过利用诸如键盘、鼠标和触摸板之类的常规输入端装置来经搜索屏幕180直接输入或者选择并输入ID或搜索词。此时,将要提供的搜索结果是元数据集合,并且显示每个元数据的描述语句并至少显示基本数据的索引。该元数据包括基本数据在基本数据数据库中的索引。因此,根据所规定的元数据的索引,数据获取部300从基本数据数据库中获得由该索引所指定的基本数据。
当将要向搜索者呈现的词是变量(称为X)时,列表生成器220就把项“根据所输入的ID来进行搜索”添加至菜单中,并且经列表显示部140呈现此项。因此,搜索者理解,他/她能够将对应于目前搜索的元数据的该基本数据同对应于另一元数据的基本数据相组合(也就是,输入到当前正在执行搜索的程序中)。当搜索者进行选择并将一个项“根据所输入的全局唯一标识符来执行搜索”输入到输入处理器120中时,搜索操作部200中断当前的搜索操作,并且把与所输入的ID相关联的元数据作为嵌套搜索来重新开始进行搜索。假若数据组合搜索不是预先通过在搜索开始时执行拖放叠加来规定的,那么就可以采用另一过程。即,当在搜索开始仅输入一个ID时,数据搜索设备10把一个项“输入新的全局唯一标识符”添加到菜单中,并提示搜索者输入新的ID,以便搜索者能够选择此项并输入新的ID。在这种情况下,因为显示了对应于最新输入的ID的图标,所以就能够通过执行拖放并将原始图标叠加到最新显示的图标上来规定元数据组合搜索。当已经输入了另一个ID但没有通过执行拖放来对它叠加时,可以通过执行拖放来规定基本数据组合搜索。为了清楚起见,与正在被搜索的元数据相关联的ID称为第一ID,而与将要组合的其它元数据相关联的ID称为第二ID。
仅仅对包含第一ID或第二ID且包含与变量X的类型相同的数据类型的元数据执行搜索。当所述数据为静态数据时,包含同变量X的类型相同数据类型的元数据,是把与X的类型相同的类型作为数据类型的元数据。当所述数据为程序时,包含与变量X的类型相同数据类型的元数据,是把与X的类型相同的输出类型作为数据类型的元数据。在这种情况下,搜索操作部200从元数据数据库20读取元数据集合,所述元数据集合具有与第一ID或第二ID相同的ID,并且包含与变量X的类型相同的数据类型(即,对应于与变量X的类型相同类型的该数据)。然后,新生成包含该元数据集合的树,并通过利用此树来执行搜索。应当注意的是,可以包含多个变量(也就是说,可以从一个节点到下游节点,把变量分配给多个边中的每一个)。在这种情况下,从元数据数据库20中读取这样的元数据,其ID与第一ID或第二ID相同并且包含与其中一种变量类型相同的类型。接着,通过执行上述步骤,来生成树并执行搜索。当利用新创建的树进行的搜索结束时,重新开始被暂停的外部搜索操作,也就是,利用原始树进行的搜索。
照此,通过使用变量X,就能够完成搜索,在搜索中,与一个或多个对象相关联的元数据被组合在一起。此外,分配给变量X的类型避免了试图组合那些无法组合的元数据的无效操作。例如,不会把PDF格式的数据传递到仅支持HTML格式显示的应用程序中,而且不会迫使一个用于使用打印机的程序去打印该打印机所不支持的格式的图像数据等等。
当适当的词没有包含在由列表生成器220经列表显示部140提供的词列表中时,能够通过逐词地实施回溯(backtrack)来恢复搜索,在该过程中,搜索者能通过例如点击搜索屏幕180上的图标“BACK(返回)”(图6B)来按照每个词返回至先前的显示状态。
现在将参照图8至图15中的流程图,更具体地描述通过利用搜索系统来进行搜索的程序流程。圆括号中的参考数字是指图中的操作步骤序号。假定在开始搜索操作以前,搜索者先规定与两个ID相关联的元数据的组合搜索(图8中的步骤830)。因此,在步骤1310,不显示项“输入新的全局唯一标识符”,而是显示项“根据所输入的全局唯一标识符来进行搜索”。
如上所述,搜索设备10显示对应于所输入ID的图标。当输入多个ID时,能够显示出对应各个ID的图标。当输入了多个ID并且规定了与这些ID相关联的元数据的组合搜索时,搜索设备10执行组合搜索。如上所述,这些元数据的组合搜索可以通过执行拖放且将一个图标叠加到任何一个其它的图标上来实现。在这些示例中,数据搜索设备10把对应于拖放操作的激活区之图标的ID视作为第一ID,而把对应于拖放操作的未激活区的ID视作为第二ID。
输入搜索词是通过从由列表生成器220生成并且由列表显示部140显示在搜索屏幕180上的词的列表中选择并输入一个词来执行的。
起初,在图8中的步骤810,搜索者将目标对象的ID输入到数据搜索设备10中(用于输入ID的操作)。如图9所示,ID输入是通过搜索者将利用ID获取设备40获得的ID(910)输入到搜索设备10中(920)来实现的。在这种情况下,当存在多个搜索目标对象时,就存在将要输入的多个ID。
在输入全局唯一标识符的步骤之后,在图8中的步骤820,搜索操作部200(特别是,依照来自于控制部的指令的元数据读取器236(示示出))设置用于从元数据数据库中获取元数据的过滤器。根据这个实施例的过滤器具有三种设置,包括用于仅仅使包含特定ID的元数据通过的第一过滤器设置;用于仅仅使包含特定ID和特定数据类型的元数据通过的第二过滤器设置,处于这种设置时,当数据为静态数据时数据类型是数据格式,而当该数据为程序时数据类型是输出类型;以及用于仅仅使如下的元数据通过的第三过滤器设置,其中所述元数据的描述语句起始处的词为变量,而该变量的类型为特定数据类型。在步骤820,采用第一过滤器设置,以便仅仅使包含第一ID或第二ID的元数据通过。接下来,数据搜索设备10开始图8中步骤830所示的搜索过程。
参照图10中的流程图,详细示出了搜索过程的步骤。
搜索操作部200的元数据读取器236仅仅获取通过过滤器的元数据,所述过滤器是按其中一种设置适当加以设置的(1010)。
继而,树生成器232根据已获得的元数据集合来生成树(1020)。搜索操作部200移动至所生成的树的根节点处(1030)。列表生成器220生成由标签列表组成的菜单,给予每个标签一个指向紧接的下游子节点的边,也就是位于每个描述语句开始处的词,并且经列表显示部140向搜索者呈现所述菜单(1040)。搜索者从呈现的列表中将期望的词(项)选择并输入到输入处理器120中(1050)。在后面参照图13作详细描述了步骤1040处的菜单生成与显示过程。
在图10中输入处理步骤1060过程中,数据搜索设备10响应于由搜索者输入的的词,执行诸如显示搜索结果和向搜索者呈现菜单之类的过程,所述菜单包括跟随在已输入词之后的候选词列表。参照图14更详细地描述所述输入处理。
在步骤1070,一旦认定是搜索的结尾,搜索操作部200就会在搜索屏幕180上显示搜索结果(1080)。如果搜索仍未结束,则操作就将返回到步骤1040并继续执行。
接下来,参照图13描述由数据搜索设备10进行的菜单生成及显示的过程。起初,列表生成器220生成具有各个项的菜单,这些项是从当前节点到下游子节点的边标签。当所述标签为变量时,一个项“根据所输入的全局唯一标识符来进行搜索”被添加到菜单中,并且经列表显示部140显示在搜索屏幕180上(1310)。
接下来,实现搜索操作部200的元数据搜索引擎234判断是否已将任何元数据分配给当前节点(1320)。如果任何元数据被分配给了当前节点,则列表生成器220就将项“显示结果”和“通过利用结果来继续搜索”添加到菜单中(1330)。列表显示部140向搜索者呈现菜单(1340)。如果未将元数据分配给当前节点,则搜索操作部10中的操作就跳过1330并前进至步骤1340。在步骤1340,搜索操作部10呈现已生成的菜单。在执行步骤1310之后,退出“菜单生成与显示的过程”。
接下来,参照图14来描述由数据搜索设备10进行的输入处理。
搜索操作部200判断在图10的步骤1050由搜索者通过选择和输入菜单项来选择并输入到输入处理器120中的项(词)是否为“显示结果”或者在图13中的步骤1330处由列表生成器22生成的“显示结果”或者“通过利用结果来继续搜索”(1410和1420)。如果输入“显示结果”,则搜索结果被显示在搜索屏幕180上。接着,搜索结束(更具体而言,设置搜索结束标记)(1460),并且退出输入处理。如果在步骤1460获取到分配有元数据的节点,则向搜索者呈现是否继续搜索的询问。如果搜索者指示“结束搜索”,则搜索结束。如果搜索者指示“继续搜索”,则就可以执行搜索具有以下描述语句的元数据的操作,所述描述语句包含分配给该节点的元数据之描述语句作为前缀(在下面将描述从图5中的节点N14追踪到下游节点的操作,和/或通过利用起始于图14中块1440的当前搜索结果来重新开始的搜索)。
如果由搜索者输入的项为“通过利用结果来继续搜索”,则搜索操作部200在存储设备(存储器)(未示出)中存储分配给当前节点的元数据(1430)。元数据读取器236设置过滤器,以用来仅仅使那些在描述语句起始处具有与已存储元数据中包含的数据类型(对于静态数据来说是值的类型,而对于程序来说是返回值,即输出的类型)相同类型的变量的元数据通过(即,第三过滤器设置)(1440)。因此,元数据读取器236仅仅获取通过该过滤器的元数据。对所获取的元数据执行图10中所示的搜索过程(1450),设置搜索结束标记(1460),并且退出输入处理。
如果由搜索者输入的项既不是“显示结果”也不是“通过利用结果来继续搜索”,那么搜索操作部200就执行标签选择操作(1470),该标签选择操作在下面进行描述。此后,退出输入处理。
参照图15中的流程图来描述标签选择操作。起初,搜索操作部200判断项“根据所输入的全局唯一标识符来进行搜索”是否被搜索者选定的(1510)。如果否,则对应于其它已选项的边被向下追踪至子节点(1590)。此后,退出标签选择操作。
如果项“根据所输入的全局唯一标识符来进行搜索”被选定,则搜索操作部200就在存储设备(存储器)(未示出)中存储变量的类型,所述类型被标注到子节点的边上(1520)。当前树以及当前节点的位置被保存在树存储设备238中(1530),然后开始新的嵌套搜索。
换句话说,搜索操作部200的元数据读取器236设置过滤器,以用来仅仅使包含与步骤1520中所存储的变量类型相同数据类型的元数据和包含第一ID或第二ID的元数据通过(即,执行如上所述的第二过滤器设置)(1540),从而仅仅获取通过该过滤器的元数据。在已获取的元数据上执行图10中所示的搜索过程,即新的嵌套搜索(1550)。搜索操作部200在存储设备(存储器)(未示出)中存储在搜索过程中所获取的搜索结果(元数据)(1560)。通过从树存储设备238中恢复(restoring)在步骤1530保存的树以及节点位置,操作返回到外部搜索(1570)。返回过程能够将操作返回到保存前的树的节点位置。然后,通过从返回的树节点向下追踪标签的边,操作移动到子节点(1580),其中所述标签为变量。换句话说,操作通过向下追踪以下的边而移动到子节点,所述边同包含于步骤1560存储的搜索结果中所指示的元数据中的数据类型具有相同的类型。在步骤1550所定位的元数据的描述语句与上述变量相关联。在执行步骤1580以后,退出标签选择操作。如果没有元数据被定位成该搜索过程的结果,则搜索设备10就可以对此结果显示消息,并且可以在跳过1560并执行步骤1570之后退出标签选择操作。
接下来,描述在数据库中注册基本数据和元数据的具体步骤。
在下面的示例中,基本数据被存储在因特网上的一个数据库中。与之相应的元数据被存储在因特网上的另一个数据库中。然而,基本数据和与之相应的元数据均被存储在同一数据库中。
URL1、URL2、URL3、URL4和URL5都是数据索引,而且它们表示四个不同的特定URL(统一资源定位符)。PDF、DOC、HTML和VOID是数据类型。PDF表示可移植文档格式,它是Adobe Acrobat(注册商标)使用的文件格式。DOC是Microsoft Word(注册商标)使用的文件格式。HTML表示超文本标记语言,它是用于编写Web页面的语言格式。VOID是程序的输入或返回值(输出)类型。当输入为VOID类型时,程序不具有输入。当输出为VOID类型时,程序不具有返回值(输出)。
为了让ID获取设备40读取ID,就必须预先利用ID获取设备40来注册所述ID。在下面的示例中,利用ID获取设备40分别注册特定的ID“照相机A”和“打印机B”(分别为照相机A和打印机B)。作为选择,可以把从给定对象中读取的代码发送给网络上的转换服务器(未示出),以将其转换成ID。
下面的步骤1)至11)是由数据供应商执行的,并且例如可以通过操作预定的数据输入终端来执行。
1)照相机A的使用手册(PDF格式的数据)被放置在URL1上。
2)包含照相机A的ID、URL1的元数据“照相机A/P_P/使用手册”(照相机A的使用手册)以及PDF格式被存储在元数据数据库中。
3)照相机A的手册(DOC格式的数据)被放置在URL2上。
4)包含照相机A的ID、URL2的元数据“照相机A/P_P/手册”(“照相机A的手册”)以及DOC格式被存储在元数据数据库中。
5)照相机A的在线购物(程序)被放置在URL3上。
6)包含照相机A的ID、URL3的元数据“照相机A/P_P/照相机A”(“照相机A的经销商”)以及HTML格式被存储在元数据数据库中。
7)用于利用打印机B来打印的程序被放置在URL4上。
8)包含打印机B的ID、URL4的元数据“打印机B/P_M/XPDF/P_O/打印”(“利用打印机B来打印XPDF”)、inputPDF和outputVOID都存储在元数据数据库中。此处,“inputPDF和outputVOID”意味着对应于元数据的基本数据是把PDF文件格式的数据作为输入且没有返回值的程序(即,值不被返回)。
9)包含打印机B的ID、URL4的元数据“XPDF/P_O/打印”(“打印XPDF”)、inputPDF和outputVOID都存储在元数据数据库中。
10)打印机B的手册(PDF格式的数据)被放置在URL5上。
11)包含打印机B的ID、URL5的元数据“打印机B/P_P/手册”(“打印机B/的/手册”)以及PDF格式被存储在元数据数据库中。
通过这些步骤,静态数据“照相机A的使用手册”、“照相机A的手册”、“照相机A的在线购物”和“打印机B的手册”都存储在由基本数据数据库30的URL1、URL2、URL3和URL5所指定的区域中。“利用打印机B来打印”的程序被存储在由基本数据数据库30的URL4所指定的区域中。与之相应的元数据存储在元数据数据库20中的预定区域内。在此例中,相对于基本数据“用于利用打印机B来打印的程序”,来存储包含两个描述语句“打印机B/P_M/XPDF/P_O/打印”(“利用打印机B来打印XPDF”)和“XPDF/P_O/打印”(“打印XPDF”)的元数据。
接下来,描述当按如上所述那样注册基本数据和元数据时用于搜索“利用打印机B来打印照相机A的使用手册”的程序的具体步骤。在以下步骤中,一旦输入了两个ID,数据搜索设备10就会在搜索屏幕上显示对应于所述ID的两个图标。搜索者指示搜索设备10对与两个ID相关联的元数据执行搜索,这两个ID是通过执行拖放并将一个显示图标叠加到另一个上来组合的。
在图6A至6C中示出了在这些步骤中在搜索屏幕180上向搜索者显示的屏幕信息的略图。图6A至6C举例说明了直到对应于程序描述语句的元数据被定位并被显示时的屏幕显示。搜索词的输入框是被搜索者用来输入搜索词的框,它可以是任选的,并且能够根据需要来提供。
1)搜索者从ID获取设备那里获取照相机A的ID(照相机A),并将该ID输入到数据搜索设备10。
2)数据搜索设备10在搜索屏幕180上显示代表照相机A的图标(图6A中的b)。
3)搜索者从ID获取设备40中获取打印机B的ID(打印机B),并将该ID输入到数据搜索设备10。
4)数据搜索设备10在搜索屏幕180上显示代表打印机B的图标(图6A中的c)。
5)搜索者通过使用定位设备将照相机A的图标叠加(拖放)在打印机B的图标上(图6A中的d)。因此,所述数据搜索设备10认识到应该执行搜索,在搜索中组合了分别与照相机A的ID(照相机A)和打印机B的ID(打印机B)相关联的元数据。
6)搜索者通过点击搜索屏幕180上的搜索开始按扭,来指示数据搜索设备10开始搜索,于是搜索开始。
7)数据搜索设备10从元数据数据库20中获得所有包含(照相机A)和打印机B作为ID的元数据。
8)数据搜索设备10根据所获得的元数据的描述语句来生成上面描述的树。
9)数据搜索设备10移动到树的根节点,生成从根节点延伸出的边的标签列表,并且把所述列表向搜索者呈现为菜单(图6B中的e)。
10)搜索者从呈现的菜单中选择“打印机B”。
11)数据搜索设备10追踪具有标签“打印机B”的边,并且到达到下一个子节点。
12)数据搜索设备10检查从在步骤11)到达的当前子节点到下一个子节点的边,并且生成包含词的列表,所述词是这些边的标签。在此例中,它是包含词条“P_P”和“P_M”的列表(图6B中的f)。
13)数据搜索设备10把已生成的列表作为菜单呈现给搜索者(图6B中的f)。
14)搜索者从呈现的菜单中选择“P_M”。
15)数据搜索设备10追踪“P_M”的标签,并且移动到子节点。
16)数据搜索设备10检查从在步骤15到达的当前子节点到下一个子节点的边,并且生成包含词的列表,所述词是这些边的标签。然而,在此例中,由于可能为候选词的紧接于“P_M”的词是变量X,因而列表的项是“根据所输入的全局唯一标识符来进行搜索”。
17)数据搜索设备10将已生成列表的菜单呈现给搜索者(图6B中的g)。
18)搜索者从呈现的菜单中选择“根据所输入的全局唯一标识符来执行搜索”。
19)数据搜索设备10保存树以及当前节点的位置,并且中断当前的搜索。接着,数据搜索设备10开始嵌套的新搜索。
20)由于变量X的类型为PDF,因而数据搜索设备10就从元数据数据库中获得这样的元数据,该元数据的静态数据类型以及程序的输出类型是PDF,而且包括ID“照相机A”或“打印机B”。然后,数据搜索设备10生成新的树。
21)数据搜索设备10检查从步骤20生成的树的根伸出的边,并且生成词列表,该词是边的标签。在此例中,由于在包含数据类型PDF并包括ID“照相机A”或“打印机B”的元数据中描述语句词为“照相机A”和“打印机B”,因而所述列表包括词“照相机A”和“打印机B”。(或者,由于在外部嵌套搜索期间已经选定了“打印机B”,因而可以生成包含仅有的剩余选择“照相机A”的列表。或者,由于“照相机A”是唯一的选择,因而操作可通过假定搜索者已经选定了“照相机A”而移动到下一步)。
22)数据搜索设备10将已生成的列表作为菜单呈现给搜索者(图6B中的h)。
23)搜索者从菜单中选择“照相机A”。
24)数据搜索设备10沿标注为“照相机A”的边向下追踪至子节点。
25)数据搜索设备10检查从当前节点到其子节点的边,并且生成包含该子节点的标签词的列表。然后,数据搜索设备10向搜索者呈现所述列表(图6B中的i和j)。
26)搜索者选择“P_P”,继而选择“使用手册”(图6B中的i和j)。
27)数据搜索设备10检测该元数据的描述语句的末尾,并将此元数据连同该数据类型与X的类型相同的信息一起存储。
28)数据搜索设备10已经完成嵌套搜索,并且通过恢复已保存的树以及当前节点来返回至外部搜索。
29)数据搜索设备10从被返回的当前节点沿着具有变量X的边向下追踪至子节点。在这个子节点处,数据搜索设备10检查其子节点的边,生成作为这些节点之标签的词的列表,并且将所述词列表作为菜单呈现给搜索者。在此例中,将“P_O”生成为词列表的项,然后生成包含“打印”的列表(图6C中的k和1)。接着,操作前进至下一步30)。如果当前节点不对应于目前正在追踪的该描述语句末尾的节点,那么就重复上述操作,以便检查后续的子节点以生成词的列表,并将其作为菜单呈现出来,直到达到对应于所述语句末尾的节点为止。这也适用于步骤32)。
30)搜索者选择“W_O”,然后选择“打印”。
31)数据搜索设备10沿着具有标签“打印”的边追踪到子节点。
32)数据搜索设备10检测到元数据被分配给在步骤31)所到达的子节点。接着,数据搜索设备10生成包含项“显示结果”的列表,并且将所述列表作为菜单呈现给搜索者(图6C中的m)。
33)搜索者选择“显示结果”。
34)数据搜索设备10向搜索者呈现已分配给节点的元数据。数据搜索设备10表明在步骤27)存储的元数据对应于X(即,对应于元数据的数据的类型与X的类型相同)(图6C中的n)。
如果在已定位的元数据中包含多个变量,那么也显示每个变量与元数据之间的对应关系。例如,当由搜索产生的元数据的描述语句是“打印机B/P_M/XPDF/和/YPDF/P_O/打印”(“利用打印机B来打印XPDF和YPDF”)并且分别将描述语句“照相机A/P_P/手册”(照相机A的手册)和“照相机A/P_P/说明书”(照相机A的说明书)关联于变量X和Y时,则显示表明除了元数据“打印机B/P_M/XPDF/和/YPDF/P_O/打印”之外,还会显示分别具有对应于变量X和Y的描述语句“照相机A/P_P/使用手册”(“照相机A的使用手册“)和“照相机A/P_P/说明书”(“照相机A的说明书“)的元数据。
虽然已经描述了根据一个实施例的数据搜索设备10的操作,但是还可以对数据搜索设备10加以构造以使用如下所述的方式操作。
一旦向搜索者呈现了词的列表,数据搜索设备10就能适当地改变词的顺序。具体方法包括数据搜索设备10保存诸如已输入词及其频率之类的搜索历史,以便设备10可以从菜单顶部开始按频率的递增次序来排列已输入的词。这样一来,就能提高搜索者的搜索效率。
数据搜索设备10可以在其内部词典里记录词的同义词,并将含有相同意义的词添加到要向搜索者呈现的列表中。例如,由于“打印”和“印刷(run off)”是同义词,因而这两个词语都能包含到该列表中,而不论搜索者选择“打印”还是“印刷”,该搜索者都能定位同一程序。因此,就能更容易和快速地找到目标程序。
数据搜索设备10可以具有如下功能,即用于注册词义的包含关系以及将具有包含关系的词添加到将向搜索者呈现的词的列表当中。例如,在数据搜索设备10内的词典里,预先写入“照相机A(某一照相机的具体型号名)被归入照相机(普通名词)”。在这种情况下,当“照相机A”处于词列表当中时,也在将要呈现的词列表中添加“照相机”。此外,如果搜索者首先输入词“照相机”,那么在描述语句起始处具有“照相机A”的元数据可以从元数据数据库中获得。
可以对搜索设备10的用户I/F部中所包含的输入处理器进行配置,以便搜索者能够直接输入词,而不是让搜索者从菜单中选择词或者作为可选方案,可以对其进行配置,以便能够通过在菜单与直接输入之间作选择来完成输入。当按照后一种方式对输入处理器进行配置时,可以将搜索设备10配置为对输入处理器进行指示,以便万一要向搜索者呈现许多词时搜索者能够直接输入词。例如可以通过在图6B中所示的搜索词输入框当中输入搜索词并点击“OK”来实现直接输入。
搜索设备10可以具有如下功能,即把词序能被改变的附加信息添加到描述语句中。例如,可以将“XHTML/P_O”(“XHTML”)和“打印机B/P_M”(“利用打印机B”)能被重排(交换)的附加信息添加到描述语句“XHTML/P_O/打印机B/P_M/打印”(“利用打印机B来打印XHTML”)中。利用这种安排,数据供应商就不必再注册具有描述语句“打印机B/P_M/XHTML/P_O/打印”(“利用打印机B来打印XHTML”)的元数据。
尽管上述实施例被配置成由数据搜索设备10中的树生成器232来生成元数据表示树,但是也可以采用元数据数据库在元数据数据库上预先生成元数据表示树的配置。
尽管上述实施例被配置成直接把从ID获取设备40那里读取的ID输入到搜索设备10中、并作为屏幕上的图标出现,但是搜索者例如可以通过搜索者人工输入所读出的ID,将其输入到搜索设备10。
数据搜索设备10的功能能够以硬件或软件方式或者以两者组合的方式来执行。当根据本发明的数据搜索设备的功能是由诸如MicrosoftWindows(注册商标)等支持GUI的操作系统上的可执行软件来实现时,可以在计算机的监视屏上显示诸如对象图标之类的搜索屏幕指示。
在上述实施例中,ID被包含在元数据中,并且对象与元数据通过此ID相关联。然而,元数据不必包含ID本身,而是可包括另一标识符,该标识符唯一标识此ID,以便元数据与对象能够通过这个标识符相关联。
在搜索过程的具体示例中,该示例是把与不同对象相关联元数据相组合用于搜索的搜索。然而,从上述配置可以显而易见的是,可以通过组合与同一对象相关联的不同数据来完成搜索。用于指定组合搜索的另一种方法是例如通过在搜索开始时、在IP输入阶段输入两个相同的ID来显示两个相同图标并通过在其上执行拖放将这些图标叠加在一起。这对于例如以下情况而言是适当的,在该情况下当打印机B通过其ID而与包含描述语句“打印机B/P_M/XPDF/P_O/打印”(“利用打印机B来打印XPDF”)的元数据(对应于程序)以及包含描述语句“打印机B/P_P/使用手册”(“打印机B的使用手册”)和数据类型PDF的元数据(对应于静态数据)相关联时,应该搜索用于执行操作“利用打印机B来打印打印机B的使用手册”的程序。
在上面的描述中,无任何差别地处理与拖放图标(即,移动图标)相关联的ID以及与拖放图标叠于其上的图标(即,在拖放过程中不移动的图标)相关联的ID。然而,也可以有区别地处理移动图标和固定图标。例如,移动图标可以与将要处理的静态数据相关联,而固定侧图标(fixed side icon)可以与用于处理要被处理的静态数据程序相关联。
此外,尽管上述实施例的描述假定按特定语言,即日语的词序来编写描述语句,但是本发明当然也适用于任何不同词序的描述语句。举例来说,对于诸如英语和汉语这类语言中的描述语句而言,可以基本上按照与上述实施例相同的方法来构造树,以便通过利用此树来执行搜索,在上述语言中,动词被置于其宾语前。在这种情况下,由于将动词而不是名词置于根处,因而第一选择是关于完成什么操作,而不是首先选择作为操作目标的对象。因此,即使当描述语句的词序不同于上述实施例的描述语句时,也可以按照与上述实施例相同的方式从元数据集合中获得描述语句,根据这些描述语句生成进行搜索的树,并且根据它生成在搜索者面前呈现的菜单。也可以按照同样方式,实现嵌套搜索。
根据本发明,能够有效地搜索与某一“对象”相关联的数据和/或程序。此外,当一个或多个数据和/或程序与一个或多个对象中的每一个相关联时,能够容易地完成其中组合了数据与程序的搜索。
权利要求
1.一种用于搜索数据的数据搜索系统,在该系统中,多个元数据的每一个至少包括基本数据的全球唯一标识符、数据索引和描述语句,所述唯一标识符是用于标识特定对象的标识符,每一个所述元数据均通过所述数据索引而与相应的基本数据相关联并且通过所述全球唯一标识符而与所述对象相关联,所述系统包括元数据存储器,用于存储元数据;输入,用于输入所述全球唯一标识符;元数据读取器,用于从所述元数据存储器中读出包含所述被输入的全球唯一标识符的元数据集合;和元数据搜索器,用于通过在所述被读出的元数据集合中搜索特定描述语句来搜索特定元数据。
2.根据权利要求1所述的数据搜索系统,其中多个所述元数据包括相同的全球唯一标识符。
3.根据权利要求2所述的数据搜索系统,进一步包括用于从该特定元数据中获取所述数据索引的装置;和用于根据所述数据索引来获取对应于所述特定元数据的基本数据的装置。
4.根据权利要求1所述的数据搜索系统,进一步包括用于从该特定元数据中获取所述数据索引的装置;和用于根据所述数据索引来获取对应于所述特定元数据的基本数据的装置。
5.一种搜索数据的方法,其中,多个元数据的每一个至少包括基本数据的全球唯一标识符、数据索引和描述语句,所述唯一标识符是用于标识特定对象的标识符,每一个所述元数据均通过所述数据索引而与相应的基本数据相关联,并且通过所述全球唯一标识符而与所述对象相关联,多个元数据能够包括相同的全球唯一标识符,所述方法包括以下步骤输入所述全球唯一标识符;获取包含所述被输入的全球唯一标识符的元数据集合;以及根据被包含在每个元数据中的描述语句在所述被获取的元数据集合中搜索第一特定元数据。
6.根据权利要求5所述的数据搜索方法,其中元数据的所述描述语句是词序列,所述方法进一步包括以下步骤a.保持所述已获取的元数据集合,并且获得和显现被包含在所述集合的描述语句起始处的词;b.从所述被呈现的词中选择并输入一个词;c.在所述保持的元数据当中仅仅保持其描述语句包含与所述被输入的词匹配之词的元数据;d.从所述被保持的元数据的描述语句中获得并显现词,所述被获得并显现的词位于序列中紧接于所述匹配词的位置;e.重复所述步骤b至d,直到在所述步骤d所获得的词是被保持的元数据的任何描述语句的最后一个词为止;以及f.显现被保持的元数据当中的一个元数据,该元数据的描述语句把位于所述步骤e的最后一个词作为其最后一个词。
7.根据权利要求6所述的数据搜索方法, 在所述步骤f之后,还包括以下步骤g.在确定所述被显现的元数据是所述第一特定元数据和进一步执行所述步骤d、e和f之间进行选择;以及h.重复所述步骤g,直到确定所述被显现的元数据是所述第一特定元数据为止。
8.一种用于执行权利要求7之方法的设备。
9.一种用于执行权利要求6之方法的设备。
10.一种用于执行权利要求5之方法的设备。
11.一种数据搜索方法,其中多个元数据的每一个至少包括基本数据的全球唯一标识符、数据索引和描述语句,所述全球唯一标识符是用于标识特定对象的标识符,每一个所述元数据均通过所述数据索引而与相应的基本数据相关联,并且通过所述全球唯一标识符而与所述对象相关联,所述元数据还包括所述相关联的基本数据的类型,多个元数据能够包括相同的全球唯一标识符,所述描述语句是词的序列,所述描述语句的词能够被表示为特定数据类型的变量,从与第一全球唯一标识符相关的元数据集合中搜索包括特定描述语句的第一特定元数据,所述方法包括以下步骤输入所述第一全球唯一标识符和第二全球唯一标识符;规定包含所述第一全球唯一标识符的元数据与包含第二全球唯一标识符的元数据的组合搜索,获取包含所述第一全球唯一标识符或所述第二全球唯一标识符的元数据集合;a.保持所述已获取的元数据集合,并且获得和显现被包含在所述集合中的描述语句起始处的词;b.从所述被呈现的词中选择并输入一个词;c.在所述被保持的元数据当中仅仅保持其描述语句包含与所述被输入的词匹配之词的元数据;d.从所述被保持的元数据的描述语句中获得并显现词,所述被获得并显现的词位于序列中紧接于所述匹配词的位置;e.重复所述步骤b至d,直到在所述步骤d所获得的词是被保持的元数据的任何描述语句的最后一个词为止;在将包含所述第一全球唯一标识符的元数据集合视为已获取的元数据集合的情况下执行所述步骤a-e;如果在所述步骤b选定的词是所述变量(第一变量),则指示元数据组合搜索是可选择的;并且选择元数据的所述组合搜索;以及如果所述元数据组合搜索被选定,则获取包含所述第一或第二全球唯一标识符并且包含与所述第一变量相同数据类型的元数据集合(第二元数据集合);以及根据被包含在所述第二元数据集合的相应元数据中的描述语句来搜索第二特定元数据。
12.根据权利要求11所述的数据搜索方法,包括以下步骤a’.保持所述已获取的元数据集合,并且获得和显现被包含在所述集合中的描述语句起始处的词;b’.从所述被呈现的词中选择并输入一个词;c’.在所述保持的元数据当中仅仅保持其描述语句包含与所述被输入的词匹配之词的元数据;d’.从所述被保持的元数据的描述语句中获得并显现词,所述被获得并显现的词位于序列中紧接于所述匹配词的位置;e’.重复所述步骤b至d,直到在所述步骤d所获得的词是被保持的元数据的任何描述语句的最后一个词为止;f.呈现被保持的元数据之中的一个元数据,该元数据的描述语句以所述步骤e的最后一个词作为其最后一个词;在将第二元数据集合视为已获取的元数据集合的情况下执行步骤a’-e’以及f;i.在确定显现于所述步骤f的元数据是所述第二特定元数据和再次执行所述步骤d’、e’、和f之间进行选择;以及j.重复所述步骤i,直到确定所述被显现的元数据是所述第二特定元数据为止。
13.根据权利要求12所述的数据搜索方法,进一步包括以下步骤k.如果所述元数据组合搜索被选定,则临时存储被保持的元数据(被保持元数据)和所述第一变量;以及如果所述第二特定元数据被定位,则l.读出所述临时存储的被保持元数据和所述第一变量;以及a”.保持所述已获取的元数据集合,并且获得和显现被包含在所述集合中的描述语句起始处的词;b”.从所述被呈现的词中选择并输入一个词;c”.在所述保持的元数据当中仅仅保持其描述语句包含与所述被输入的词匹配之词的元数据;d”.从所述被保持的元数据的描述语句中获得并显现词,所述被获得并显现的词位于序列中紧接于所述匹配词的位置;e”.重复所述步骤b至d,直到在所述步骤d所获得的词是被保持的元数据的任何描述语句的最后一个词为止;f’.呈现被保持的元数据之中的一个元数据,该元数据的描述语句以所述步骤e的最后一个词作为其最后一个词;其中所述步骤a”被视为在紧接于由所述第一变量表示的词的位置处获取并显现描述语句中的词,所述词由其中获取并呈现的所述描述语句被包含在所述被保持的元数据中的相应元数据中。
14.根据权利要求13所述的数据搜索方法,其中所述步骤m包括以下步骤n.在确定显现于所述步骤f的元数据是所述第一特定元数据和进一步执行所述步骤d”、e”和f’之间进行选择;以及o.重复所述步骤n,直到确定所述被显现的元数据是所述第一特定元数据为止;
15根据权利要求14所述的数据搜索方法,进一步包括以下步骤显示对应于所述第一全球唯一标识符的第一图标;以及显示对应于所述第二全球唯一标识符的第二图标;其中所述规定元数据的组合搜索的步骤包括将所述第一图标和所述第二图标的之一拖拽到另一个上。
16.根据权利要求11的所述数据搜索方法,还包括步骤显示对应于所述第一全球唯一标识符的第一图标;以及显示对应于所述第二全球唯一标识符的第二图标;其中所述规定元数据的组合搜索的步骤包括将所述第一图标和所述第二图标的之一拖拽到另一个上。
17.根据权利要求11所述的数据搜索方法,还包括步骤k.如果所述元数据组合搜索被选定,则临时存储被保持的元数据(被保持元数据)和所述第一变量;以及如果所述第二特定元数据被定位,则l.读出所述临时存储的被保持元数据和所述第一变量;以及a”.保持所述已获取的元数据集合,并且获得和显现被包含在所述集合中的描述语句起始处的词;b”.从所述被呈现的词中选择并输入一个词;c”.在所述保持的元数据当中仅仅保持其描述语句包含与所述被输入的词匹配之词的元数据;d”.从所述被保持的元数据的描述语句中获得并显现词,所述被获得并显现的词位于序列中紧接于所述匹配词的位置;e”.重复所述步骤b至d,直到在所述步骤d所获得的词是被保持的元数据的任何描述语句的最后一个词为止;并且f’.呈现被保持的元数据之中的一个元数据,该元数据以所述步骤e的最后一个词作为其最后一个词;其中所述步骤a”被视为在紧接于由所述第一变量表示的词的位置处获取并显现描述语句中的词,在所述被保持的元数据的相应元数据中包括所述语句,从该语句中获取和显现所述词。
18.一种用于执行权利要求11之方法的设备。
19.一种用于执行权利要求12之方法的设备。
20.一种用于执行权利要求17之方法的设备。
21.一种用于执行权利要求14之方法的设备。
22.一种用于执行权利要求16之方法的设备。
全文摘要
通过使用如下搜索系统更易于搜索与给定目标相关联的数据和/或服务,该系统具有全球唯一目标标识符、元数据存储器、用于输入全球唯一标识符的输入、用于从元数据存储器中读取包含该输入全球唯一标识符之元数据集合的元数据读取器以及元数据搜索引擎,用于通过搜索包含在已读取的元数据集合的每个元数据当中的特定描述语句来搜索特定元数据。
文档编号G06F17/30GK1530860SQ20041003046
公开日2004年9月22日 申请日期2004年3月15日 优先权日2003年3月14日
发明者清水英则, 菅原太郎, 郎, 敏, 鹈饲文敏, 典, 坊野博典, 3苟, M·麦埃彻恩, 中川真也, 也, 大迁清太, 太, 矶俊树, 纪, 治, 铃木裕纪, 仓挂正治, 明, 杉村利明 申请人:惠普公司, 株式会社Ntt都科摩
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1