查询语句转换装置及查询语句转换方法

文档序号:6432122阅读:94来源:国知局
专利名称:查询语句转换装置及查询语句转换方法
技术领域
本实施方式涉及查询语句转换装置以及查询语句转换方法。
背景技术
作为通用的数据描述语言的XML(Extensible Markup Language)可以采用在一个文档中混合常规数据和非常规数据的结构,具有计算机易于处理且人们可读性较高的特点。因此,XML作为共用的数据格式而广泛普及于各种电子化数据。由XML描述的电子化数据(以下称为XML数据)是以树结构表达带标签(置标)的元素的结构化数据。随着XML数据的大量出现,近年来开发出适于存储XML数据并对其适当管理的 XML数据库。此外还推进了综合检索的技术开发,该综合检索使用由作为标准查询语言的 XQuery描述的查询语句,检索分散在网络上的多个XML数据库(XML数据的数据集合)作为一个数据库。在综合检索中的问题是,作为综合对象的多个XML数据库中的架构(schema) (XML 数据的数据结构)的不同。XML数据库由于不需要架构定义,因此其优越性在于能对应各种各样XML数据的灵活性和扩展性,但有时所存储的XML数据的数据结构因数据库的不同而不同。因此即使对作为综合对象的多个XML数据库执行共通的查询语句,也可能得到如下的结果,即,对于某一 XML数据库命中符合检索条件的XML数据,但对于其它的XML数据库,原本意义上应该符合的XML数据却因为其数据结构的差异而没有命中。尤其是在使用 XQuery作为查询语言的情况下,由于以结构和语法为条件的严格匹配为基础,因此该倾向较强。作为吸收这种多个数据库之间架构的不同而能够以共通的查询语句进行综合检索的方法,公知了在网络上设置主服务器的方法,该主服务器将共通查询语句转换成分别适合多个数据库的查询语句。通常而言,事先针对作为综合对象的每个数据库定义查询语句的转换规则,并存储在主服务器中。然后,若对主服务器输入共通的查询语句,则由主服务器根据作为综合对象的多个数据库的每一个的构架,转换共通的查询语句,执行针对各数据库的查询。在转换查询语句的现有方法中,需要事先定义遵从作为综合对象的各数据库的架构的转换规则,因此存在架构不能应对未知数据库的问题。

发明内容
本实施方式的查询语句转换装置进行针对存储结构化数据的数据集合的查询语句的转换。本实施方式的查询语句转换装置具有第一生成部、第一存储部、输入部、转换部和输出部。第一生成部定期地从所述数据集合取得所述结构化数据,分析所取得的所述结构化数据,生成所述数据集合的结构信息。第一存储部将所述第一生成部生成的所述结构信息与所述数据集合的唯一地址相建立对应并存储。输入部输入作为查询对象的数据集合的唯一地址以及将数据结构作为条件的查询语句。转换部将所述输入部输入的查询语句转换成符合与所述输入部输入的数据集合的唯一地址对应的所述结构信息。输出部输出所述转换部转换后的转换后查询语句。


图1是示出用XML描述的关于“专利”的信息的例子的图。图2是说明结构数据向导的图。图3是示意地示出生成合成结构数据向导的状况的图。图4是概略地示出综合检索系统的整体结构的系统构成图。图5是示出第一实施方式的查询语句转换装置的功能结构的功能框图。图6是说明使用将原始查询语句缓和后的查询语句来生成针对未知的DB服务器的结构数据向导的处理一例的图。图7是说明由转换部进行的处理的具体一例的图。图8是示出附加了各元素之間的关联发生概率的信息的合成结构数据向导的一例的图。图9是示出由查询语句转换处理部执行的一系列处理流程的流程图。图10是示出第二实施方式的查询语句转换装置的功能结构的功能框图。图11是说明由转换部进行的处理的具体一例的图。
具体实施例方式(第一实施方式)第一实施方式的查询语句转换装置构成为网络上的服务器。该查询语句转换装置将从网络上的客户终端输入的查询语句转换成适合于作为查询对象的网络上的数据集合即各数据库的查询语句并输出到客户终端。这里,设在网络上的各数据库中存储有作为结构化数据的XML数据。此外,设从客户终端输入的查询语句是以数据的结构为条件的查询语句,具体而言是用XQuery描述的查询语句。首先,说明用作在作为查询对象的各数据库中存储的数据的共通格式的XML。图1是用XML描述关于“专利”的信息的例子。XML在文档结构的表达中使用标签 (元素)。标签包含开始标签和结束标签。通过由开始标签和结束标签包围文档结构信息的构成元素,能明确地描述文档中的字符串(文本)划分、以及该文本在结构上属于哪个构成元素。所谓开始标签,用标号“〈”和“〉”来封闭元素名称。所谓结束标签,用“</”和“〉” 来封闭元素名称。在标签之后的构成元素的内容是文本(字符串)或子构成元素的重复。 此外,在开始标签中可以设定“〈元素名称属性=“属性值”〉”等这样的属性信息。作为简易记法,“< 专利DBX/专利DB>”这种不包含文本的构成元素也可以表示为“< 专利DB/>”。图1所示的文档示出了,以从“专利”标签开始的元素作为文档根(root),作为其子元素有以“标题”、“发明人名单”、“効果”、“关键字列表”标签开始的元素集合,在以“标
5题”标签开始的元素中有“结构化文档检索装置”这一文本(字符串)。接下来,说明在作为查询对象的各数据库中作为特征性的结构信息的结构数据向导。如图2所示,结构数据向导汇集在相同结构中具有相同标签名的元素表示为一个数据结构,抽象地表示为XML层次结构。在图2例的情况下,发明人标签以同一结构存在多次, 利用将这些标签汇集的方式生成结构数据向导。结构数据向导是以文档为单位生成的。在多个文档的情况下,首先求出针对一个文档的结构数据向导。然后,将所求出的结构数据向导叠加在至此生成的结构数据向导上,由此更新结构数据向导。即,从一个数据库中取出多个XML数据,分析其结构并逐次生成如上的结构数据向导而进行更新,由此可以得到在该数据库中作为特征性的结构信息的结构数据向导。该结构数据向导虚拟地表示数据库中的架构。此外,若在多个数据库之间合成如上述那样按照每个数据库生成的结构数据向导,则可以得到作为在综合了多个数据库的情况下(综合数据库)的虚拟架构的合成结构数据向导。在图3中示意地示出合成多个结构数据向导并生成合成结构数据向导的状况。 图3简略示出了合成4个数据库的结构数据向导并生成1个合成结构数据向导的例子。如图3所示,合成结构数据向导将在原始结构数据向导中具有共同结构的部分表现为1个节点ο图4是概略地示出使用第一实施方式的查询语句转换装置的综合检索系统的整体结构的系统构成图。该综合检索系统具有第一实施方式的查询语句转换装置10、接受基于查询语句转换装置10的服务的客户终端20以及多个DB服务器(XML数据库)30。综合检索系统构成为通过网络连接这些构成元素。客户终端20向查询语句转换装置10输出作为查询对象的多个DB服务器30分别在网络上的唯一地址即多个URL、以及由XQuery描述的查询语句(原始查询语句)。此外, 客户终端20分别向作为查询对象的多个DB服务器30输出由查询语句转换装置10转换原始查询语句而得到的转换后查询语句。然后,客户终端20取得从各DB服务器30输出的检索结果,作为针对转换后查询语句的响应。这里,客户终端20可以是用户使用的个人电脑等终端(用户终端),也可以是协调多个DB服务器30的协调服务器(coordinator server)。在网络上设置协调多个DB服务器30的协调服务器的情况下,协调服务器从用户终端输入作为查询对象的多个DB服务器30各自的URL和原始查询语句,并输出到查询语句转换装置10。然后,将由查询语句转换装置10转换的转换后查询语句输出到作为查询对象的多个DB服务器30,从各DB服务器30取得检索结果并输出到用户终端。这样,协调服务器在与查询语句转换装置10之间的关系中成为客户终端20。DB服务器30是管理存储有XML数据的数据库的服务器,使用所输入的查询语句检索数据库,输出其检索结果作为对查询语句的响应。网络上的各DB服务器30利用网络上的唯一地址即URL来识别。这里,在构成综合检索系统的多个DB服务器30中包含事先将URL登记在查询语句转换装置10中的DB服务器、以及未将URL登记在查询语句转换装置10中的DB服务器。事先将URL登记在查询语句转换装置10中的DB服务器对于查询语句转换装置10而言是已知的DB服务器。未将URL登记在查询语句转换装置10中的DB服务器对查询语句转换装置10而言是未知的DB服务器。
图5是示出第一实施方式的查询语句转换装置10的详细功能结构的功能框图。查询语句转换装置10具有第一生成部11、第一存储部12、输入部13、输出部14以及查询语句转换处理部15。查询语句转换处理部15中设置有URL对照部151、第二生成部152、第三生成部153以及转换部154。第一生成部11对事先登记了 URL的已知DB服务器30定期地实施巡视 (crawling),生成作为已知DB服务器30的结构信息的结构数据向导。具体而言,第一生成部11针对登记了 URL的所有DB服务器30,例如如XQuery的单纯路径方式的“/ ^ ”那样, 必定从根目录开始定期地执行使全件匹配的查询语句,分别从各DB服务器30取得存储在数据库中的XML数据。然后,第一生成部11分析所取得的XML数据,由此定期地生成各DB 服务器30所管理的数据库的特征性的结构信息(虚拟架构)即结构数据向导(参照图2), 将生成的结构数据向导与各DB服务器30的URL建立对应并存储在第一存储部12中。另夕卜,在DB服务器30事先向外部公开了结构数据向导的情况下,第一生成部11取代从DB服务器30取得XML数据并生成结构数据向导,而是取得该公开的结构数据向导即可。第一存储部12是将第一生成部11定期巡视而生成的针对已知DB服务器30的结构数据向导与该DB服务器30的唯一地址即URL建立对应并存储的存储器。第一生成部11 对已知DB服务器30的巡视如上述那样定期地实施,因此与各URL对应的结构数据向导被定期地更新,在第一存储部12中始终存储有最新的结构数据向导。输入部13输入从客户终端20输出的作为查询对象的多个DB服务器30各自的 URL(URL集合)以及用XQuery描述的原始查询语句。然后,输入部13将输入的URL集合传递给URL对照部151,并且将输入的原始查询语句传递给转换部154。输出部14取得由转换部IM转换原始查询语句而得到的转换后查询语句,将该转换后查询语句输出到客户终端20。URL对照部151确认是否在第一存储部12中存储有与输入部13输入的URL集合中包含的各URL对应的结构数据向导。然后,在输入部13所输入的URL集合中包含有未在第一存储部12中存储结构数据向导的URL(即未知DB服务器30的URL)的情况下,URL对照部151向第二生成部152请求生成针对未知DB服务器30的结构数据向导。第二生成部152根据于来自URL对照部151的请求,执行生成针对未知DB服务器 30的结构数据向导的处理。具体而言,第二生成部152生成针对未知DB服务器30的查询语句,分析从未知DB服务器30得到的N份XML数据并生成针对未知DB服务器30的结构数据向导,作为对该查询语句的响应。另外,从未知DB服务器30取得的XML数据的件数N 越大,则所生成的结构数据向导的精度(架构的再现性)越高,但是生成结构数据向导所需的处理时间变长。因此,优选根据所请求的结构数据向导的精度与允许的处理时间之间的平衡,事先将从未知DB服务器30取得的XML数据的件数N设定为最合适的件数。作为针对未知DB服务器30的查询语句,与第一生成部11执行的查询语句同样, 如XQuery的单纯路径方式的“/* ”那样,也可以使用必定从根目录开始使全件匹配的查询语句。但是,为了提高查询的效率和精度,优选使用将输入部13输入的原始查询语句的条件缓和后的查询语句。图6是说明使用将输入部13输入的原始查询语句的条件缓和后的查询语句来生成针对未知DB服务器30的结构数据向导的处理的一例的说明图。在本例中,输入部13输入的原始查询语句如图6 (a)所示,是由XQuery描述的查询语句A。如由XQuery描述的查询语句那样,以数据的结构为条件的查询语句通常变形成图表结构进行处理。图6(a)所示的查询语句A变形成图6(b)所示的查询图表进行处理。该查询图表以标签名为节点,在圆弧中描述路径限制等限制信息。查询处理是从未知的DB服务器30所管理的数据库(URLl) 中提取出满足该查询图表限制的XML数据的处理。在本实施例中,设在未知的DB服务器30 (URLl)所管理的数据库中,如图6 (c)所示,存储有文档1、文档2、文档3这3份XML数据,设提取出这些XML数据中满足查询图表的限制的XML数据。这里,在原始的查询语句A的状态下,由于结构的区别,在URLl上一件也不能命中。因此,如图6(D)所示,生成缓和了对查询语句A的条件的缓和查询语句A’。 关于生成该缓和查询语句A’的方法,可以考虑各种方法,但是这里应用仅剩下文本的提取条件而完全缓和关于结构的限制条件的方法。作为缓和方法的另一例,例如可以考虑使用标签名的近义词信息的缓和、或不缓和发生概率较高的结构等。若对未知的DB服务器30 (URLl)执行如图6(d)所示的缓和查询语句A’,则能得到文档1以及文档2的XML数据。然后,通过分析这些XML数据,如图6(e)所示,能生成作为未知DB服务器30 (URLl)的虚拟架构的结构数据向导。另外,在本实施例中,为简便起见而例示了在未知的DB服务器30 (URLl)所管理的数据库中仅存储有3份XML数据并命中了其中2份的情况,但实际上在数据库中通常存储有更多的XML数据,命中件数也更多。因此,为了即使在该情况下也使处理时间快速,在取得了所指定的(从最开头起)N件XML数据的阶段中断处理。在该情况下,不同于使用 XQuery的单纯路径方式的“/女,,作为查询语句的情况,由于某种程度嵌入了解空间,因此与单纯地利用“/*”进行检索相比,能以少的数据件数生成具有较高精度的结构数据向导。 此外,在未知的DB服务器30事先公开了结构数据向导的情况下,与第一生成部11的处理同样,取代从未知的DB服务器30取得N件XML数据来生成结构数据向导,而是取得该公开的结构数据向导即可。第三生成部153针对输入部13输入的URL集合所包含的各URL中、在第一存储部 12中存储有结构数据向导的URL,分别从第一存储部12取出相应的结构数据向导。此外, 针对未在第一存储部12中存储结构数据向导的URL,取得由第二生成部152生成的结构数据向导。然后,如图3所示,第三生成部153合成这些与输入部13输入的URL集合中所包含的各URL对应的多个结构数据向导,由此生成合成结构数据向导。以这种方式生成的合成结构数据向导是对作为查询对象的多个DB服务器30进行综合后的综合数据库的虚拟架构。因此,即使缺少作为查询对象的DB服务器30的一部分结构信息,由于缺少的信息被具有类似结构信息的其它DB服务器30的信息补充,因此架构的再现性较高。此外,合成结构数据向导是在执行针对DB服务器30的查询时使用存储在第一存储部12中的结构数据向导及由第二生成部152生成的结构数据向导生成的(即动态生成的)。因此,还对应于由于数据库内的XML数据的追加和削除等产生的DB服务器30 的架构变化,成为精度良好地再现随时变化的综合数据库的架构。转换部巧4将输入部13输入的原始查询语句以适合于由第三生成部153生成的合成结构数据向导的方式进行转换,生成转换后查询语句。如上所述,由第三生成部153生成的合成结构数据向导是表示综合数据库的虚拟架构的信息,表示在作为查询对象的多个
8DB服务器30上发生概率高的结构,或者,即使不完全匹配也容易取作类似结构的结构。转换部IM针对输入部13输入的原始查询语句,根据如下观点对原始查询语句进行变形,即, 如果存在具有这样的结构数据向导的数据库时,不管对原始查询语句进行怎样的转换,匹配可能性均较高。使用图7说明转换部巧4处理的具体例子。图7所示的例子是在输入部13输入的原始查询语句为/A/B/C的情况下的例子,对合成结构数据向导进行匹配处理的例子。首先,在设/A/B/C的原始查询语句直接作为匹配条件的情况下,由于在合成结构数据向导上不存在直接匹配的路径,因此对该原始查询语句进行变形。该方法是组合最佳化的问题,实际上利用探索(heuristic)的方法来解决。例如考虑如下等方法按照每缓和某一限制条件就降低得分值,决定得分值最高的组合。这里,作为缓和限制条件的例子,假定(1)将/缓和成//的情况、(2)新追加未知元素的情况以及⑶用“OR”连接同一结构内的元素的情况,设(1)的限制缓和成本为3, (2)的限制缓和成本为7,(3)的限制缓和成本为5。此外,设原始查询语句的初始得分为 100分。然后,进行如上述(1) (3)所示的限制条件的缓和,由此分别生成与合成结构数据向导匹配的转换后查询语句候选,从原始查询语句的初始得分中减去各自的限制缓和成本,求出转换后查询语句候选的得分值。然后,选择得分值最高的转换后查询语句候选作为转换后查询语句。在图7例子的情况下,列举对原始查询语句应用(1)的限制缓和规则的/A//B/C, 作为转换后查询语句的候选之一。该转换后查询语句候选/A//B/C的得分值为100-3 = 97。此外,对原始查询语句应用(2)的限制缓和规则的/A/G/B/C,由于在结构数据向导上不具有匹配的路径,因此也作为转换后查询语句候选之一。该转换后查询语句候选/A/G/B/C 的得分值为100-7 = 93。此外,对原始查询语句应用( 的限制缓和规则的/A/(B|C|D)/C 也作为转换后查询语句候选之一。该转换后查询语句候选/A/(B|C|D)/C的得分值为100-5 =95。在以上3个转换后查询语句候选中,对原始查询语句应用(1)的限制缓和规则的 /A//B/C的得分值最高。因此,转换部IM从这些候选中选择/A//B/C作为转换后查询语句,将输入部13输入的原始查询语句/A/B/C转换成/A//B/C,传递给输出部14。由此,从输出部14向客户终端20输出作为转换后查询语句的/A//B/C,该转换后查询语句被转换成适合于针对作为查询对象的多个DB服务器30的合成结构数据向导。但是,合成结构数据向导以及作为其根源的各个结构数据向导基本上都是通过重叠而生成的。因此,例如如图8所示,可以对合成结构数据向导及各个结构数据向导附加各元素之间关联的发生概率作为信息。并且,表示附加给合成结构数据向导及各个结构数据向导的各元素之间关联的发生概率的信息,可以用于在转换部154中对转换后查询语句候选附加得分。例如,如图8所例示,若知晓在A元素的正下方以0. 2的概率存在B元素,以 0. 3的概率存在C元素,则认为作为转换后查询语句候选的得分值,与包含/A/B的转换后查询语句候选相比,包含/A/C的转换后查询语句候选的得分值更高。接下来,参照图9说明第一实施方式的查询语句转换装置10的动作。图9是示出了在由输入部13输入来自客户终端20的URL集合以及原始查询语句时由查询语句转换处理部15执行的一系列处理流程的流程图。另外,设在第一实施方式的查询语句转换装置10中,利用与图9所示的基于查询语句转换处理部15的处理不同的其他例程,执行第一生成部11对已知DB服务器30的定期巡视,设在第一存储部12中存储有在输入部13输入URL 集合以及原始查询语句的时刻的针对已知DB服务器30的最新结构数据向导。当开始图9的流程图所示的处理时,首先,从客户终端20输入的URL集合被读入到查询语句转换处理部15的URL对照部151中(步骤S101)。URL对照部151将读入的 URL集合中包含的各URL作为关键字对第一存储部12进行检索,判定是否存在未在第一存储部12中存储结构数据向导的URL(步骤S102)。这里,在存在未在第一存储部12中存储结构数据向导的URL的情况下(步骤 S102 是),即,在由查询语句转换装置10判定为在URL集合中包含未知DB服务器30的URL 的情况下,第二生成部152访问未知DB服务器30,从该未知DB服务器30提取N件XML数据(步骤S103)。然后,第二生成部152分析所提取出的N件XML数据,生成针对未知DB服务器30的结构数据向导(步骤S104)。另外,在未知DB服务器30公开了结构数据向导的情况下,第二生成部152取得该公开的结构数据向导。另一方面,在不具有未在第一存储部12中存储结构数据向导的URL的情况下(步骤S102 否),S卩,包含在URL集合中的所有URL均是登记在查询语句转换装置10中的已知 DB服务器30的URL,在利用第一生成部11的定期巡视而生成结构数据向导的情况下,处理转入步骤S105。接下来,第三生成部153读入针对存储在第一存储部12中的已知DB服务器30的结构数据向导、以及在存在未知DB服务器30的情况下由第二生成部152生成的结构数据向导,合成与URL集合中包含的所有URL对应的结构数据向导,生成对作为查询对象的所有 DB服务器30进行综合后的综合数据库的虚拟架构的合成结构数据向导(步骤S105)。接下来,转换部IM读入从客户终端20输入的原始查询语句,一边缓和该原始查询语句的限制条件一边进行与合成结构数据向导的匹配,生成缓和了限制条件的多个转换后查询语句候选(步骤S106)。此时,转换部IM对生成的多个转换后查询语句候选附加与限制条件的缓和级别对应的得分。然后,转换部1 在生成的多个转换后查询语句候选中选择得分值最高的候选作为转换后查询语句(步骤S107)。该转换后查询语句被从转换部巧4传递给输出部14,从输出部14输出到客户终端20(步骤S108)。另外,图9所示的流程图假定了在处理途中存储在第一存储部12中的结构数据向导未发生变化的情况,但由于第一生成部11的巡视是利用其它例程执行的,因此还可能在处理途中与包含在URL集合中的任一 URL对应的结构数据向导发生变更。在这种情况下,优选第三生成部153在该时刻使用更新后的结构数据向导来生成合成结构数据向导。由此, 可以使用与作为查询对象的DB服务器30的最新状态对应的合成结构数据向导来转换原始查询语句,提高转换精度。此外,在以上说明的例子中,转换部巧4将原始查询语句转换成一个转换后查询语句,但是也可以按照包含在URL集合中的每个URL来生成转换后查询语句。在该情况下, 转换部1 在缓和原始查询语句的限制条件并计算与合成结构数据向导之间的匹配时,还考虑与各个URL对应的结构数据向导之间的匹配,例如利用提高与对应的结构数据向导匹配的转换后查询语句候选的得分等方法,选择因各URL而异的转换后查询语句。以上,如列举了具体例子并详细说明的那样,第一实施方式的查询语句转换装置10对于已知DB服务器30,通过定期巡视生成作为虚拟架构的结构数据向导并存储在第一存储部11中,对于未知DB服务器30,在进行原始查询语句的转换时生成作为虚拟架构的结构数据向导。然后,使用这些结构数据向导,对从客户终端20输入的原始查询语句进行转换,将转换后查询语句输出到客户终端20。因此,无需事先定义遵从网络上的各DB服务器 30的架构的转换规则,就能以适合于作为查询对象的DB服务器30的方式适当地转换查询语句,此外,架构还对应于未知的DB服务器30。此外,在作为查询对象的DB服务器30为多个的情况下,第一实施方式的查询语句转换装置10合成针对这些多个DB服务器30的结构数据向导,生成作为综合了多个DB服务器30的综合数据库的虚拟架构的合成结构数据向导。然后,将从客户终端20输入的原始查询语句转换成适用于该合成结构数据向导。因此,即使缺少作为查询对象的DB服务器 30的一部分结构信息,也可以利用具有类似结构信息的其他DB服务器30的信息进行补充, 对作为查询对象的所有DB服务器30得到有效的转换后查询语句,能够实现提高综合检索系统的检索精度。(第二实施方式)接下来,说明第二实施方式的查询语句转换装置。第二实施方式的查询语句转换装置中附加了用于进行如下动作的功能,即,利用过去的查询语句转换处理的履历,进行针对多个转换后查询语句候选的得分附加。即,在第二实施方式的查询语句转换装置中,预先存储通过过去的转换处理得到的针对原始查询语句的转换后查询语句、以及对该转换后查询语句赋予的得分值,在之后的转换处理中对多个转换后查询语句候选附加得分时,还考虑所存储的得分值来附加得分。图10是示出第二实施方式的查询语句转换装置10’的功能结构的功能框图。在第二实施方式的查询语句转换装置10’中,相对于上述第一实施方式的查询语句转换装置 10的结构(参照图5),添加了取得部16和第二存储部17。另外,其他结构与第一实施方式相同,因此在下文中,针对与第一实施方式相同的结构,赋予相同或类似的标号并省略重复的说明,说明第二实施方式中的特征结构。取得部16取得反应用户对输出部14输出的转换后查询语句的评价的得分值。具体而言,取得部16例如提供输入单元(例如用GUI等来实现),该输入单元用于与从输出部 14向客户终端20输出转换后查询语句相联动,向客户终端20输入针对转换后查询语句的得分值。然后,若用户使用该输入单元输入了反应针对转换后查询语句的评价的得分值,则取得部16取得该输入的得分值。取得部16将以这种方式取得的得分值与转换后查询语句建立对应并存储在第二存储部17中。第二存储部17是存储转换部154’过去对查询语句进行转换的转换后查询语句、 以及对该转换后查询语句赋予的得分值的存储器。每当从输出部14向客户终端20输出转换后查询语句时,第二存储部17对该输出的转换后查询语句赋予一定的得分值并存储。然后,在多次反复地输出了同一转换后查询语句的情况下,根据该输出次数增加存储在第二存储部17中的针对转换后查询语句的得分值。即,该转换后查询语句过去的输出次数越多,存储在第二存储部17中的针对过去转换后查询语句的得分值越高。此外,如上所述,若取得部16取得反应用户评价的得分值,则该反应用户评价的得分值替换存储在第二存储部17中的针对转换后查询语句的得分值。即,在用户对转换后
11查询语句做出了评价的情况下,用户评价越高,则存储在第二存储部17中的针对过去转换后查询语句的得分值越高。另外,这里列举了重视用户评价并利用取得部16取得的得分值替换存储在第二存储部17中的针对转换后查询语句的得分值的例子,但是也可以是在用户对转换后查询语句做出了评价的情况下,对存储在第二存储部17中的针对转换后查询语句的得分值加上取得部16取得的得分值。在第二实施方式的查询语句转换装置10 ’中,与第一实施方式相同,查询语句转换处理部15’的转换部154’ 一边缓和原始查询语句的限制条件一边通过与合成结构数据向导的匹配来生成多个转换后查询语句的候选,从这些多个转换后查询语句的候选中选择得分值高的候选。此时,转换部154’将存储在第二存储部17中的信息用于针对生成的转换后查询语句候选的附加得分。即,转换部154’在对生成的多个转换后查询语句的候选进行附加得分时,使用与限制条件的缓和级别对应的得分值、以及针对在第二存储部17中存储有相同查询语句的转换后查询语句候选,赋予该查询语句的得分值,附加得分。图11是说明第二实施方式的查询语句转换装置10’的转换部154’的处理的具体一例的图。图11所示的例子示出了利用与图7所示的例子相同的条件来转换原始查询语句的情况。即,输入部13输入的原始查询语句是/A/B/C,假定(1)将/缓和成//的情况、 (2)新追加未知元素的情况、(3)利用“OR”连接同一结构内的元素的情况,作为缓和限制条件的例子,设⑴的限制缓和成本为3,⑵的限制缓和成本为7,(3)的限制缓和成本为5。 此外,设原始查询语句的初始得分为100分。在图11例子的情况下,设对原始查询语句应用了(1)的限制缓和规则的/A//B/C 是在过去被选择为转换后查询语句的查询语句,赋予得分值+5并存储在第二存储部17中。 此外,设对原始查询语句应用了(2)的限制缓和规则的/A/G/B/C是在过去被多次选择为转换后查询语句的查询语句,赋予得分值+10并存储在第二存储部17中。此外,设对原始查询语句应用了( 的限制缓和规则的/A/(B|C|D)/C是在过去未被选择为转换后查询语句而未存储在第二存储部17中的查询语句。该情况下,对原始查询语句应用了(1)的限制缓和规则的/A//B/C的得分值为 100-3+5 = 102o此外,对原始查询语句应用了(2)的限制缓和规则的/A/G/B/C的得分值为100-7+10 = 103。此外,对原始查询语句应用了 (3)的限制缓和规则的/A/(B|C|D)/C的得分值为100-5+0 = 95。因此,在以上三个转换后查询语句的候选中,对原始查询语句应用了⑵的限制缓和规则的/A/G/B/C的得分值是最高的,因此转换部154’从这些候选中选择/A/G/B/C作为转换后查询语句,将输入部13输入的原始查询语句/A/B/C转换成/A/G/ B/C。如上所述,第二实施方式的查询语句转换装置10’预先在第二存储部17中存储通过过去的转换处理得到的针对原始查询语句的转换后查询语句、以及对该转换后查询语句赋予的得分值,在之后的转换处理中转换部154’对多个转换后查询语句的候选附加得分时,还考虑存储在第二存储部17中的得分值,来附加得分。因此,由于学习效果,每当进行处理便提高查询语句的转换精度,实现提高综合检索系统的检索精度。此外,第二实施方式的查询语句转换装置10’,取得部16取得反应用户对转换后查询语句的评价的得分值,将其存储在第二存储部17中,因此可以反馈用户评价进行查询语句的转换,能以对话的方式提高查询语句的转换精度。
以上,说明了第一实施方式的查询语句转换装置10和第二实施方式的查询语句转换装置10’,这些查询语句转换装置10,10’可以构成为作为硬件结构例如可以具有CPU 等制御装置、ROM及RAM等存储装置、HDD、CD驱动装置等外部存储装置,采用利用了普通计算机的硬件结构,通过由计算机执行的查询语句转换程序,实现上述的第一生成部11、输入部13、输出部14、URL对照部151、第二生成部152、第三生成部153、转换部154(转换部 154’ )以及取得部16等功能结构,使用存储装置或外部存储装置实现上述第一存储部12、 第二存储部17。由上述查询语句转换装置10,10’执行的查询语句转换程序例如以能够安装的形式或能够执行的形式的文件,存储在CD-ROM、软盘(FD)、CD-R、DVD(Digital Versatile Disc)等计算机可读的存储介质中来提供。此外,由上述查询语句转换装置10,10’执行的查询语句转换程序也可以构成为, 存储在与因特网等网络连接的计算机上,经由网络下载,由此提供。此外,由上述查询语句转换装置10,10’执行的查询语句转换程序也可以构成为经由因特网等网络来提供或分配。 并且,由上述查询语句转换装置10,10’执行的查询语句转换程序也可以构成为预先嵌入在 ROM等中,由此提供。由上述查询语句转换装置10,10’执行的查询语句转换程序是包含上述各部(第一生成部11、输入部13、输出部14、URL对照部151、第二生成部152、第三生成部153、转换部154(转换部154’)以及取得部16)的模块结构,作为实际的硬件,CPU(处理器)从上述存储介质中读出并执行信息提示程序,由此将上述各部下载到主存储装置上,在主存储装置上生成第一生成部11、输入部13、输出部14、URL对照部151、第二生成部152、第三生成部153、转换部154(转换部154,)以及取得部16。以上列举具体的例子进行了详细说明,根据第一实施方式的查询语句转换装置10 和第二实施方式的查询语句转换装置10’,无需事先定义遵从网络上各DB服务器30的架构的转换规则,即能以适用于作为查询对象的DB服务器30的方式适当地转换查询语句,此外,架构还对应于未知的DB服务器30。另外,本发明不限于上述实施方式,在实施阶段,在不脱离其主旨的范围内可以改变构成元素而具体化。此外,通过适当地组合由上述实施方式公开的多个构成元素,能形成各种发明。例如,可以从实施方式所示的所有构成元素中删除几个构成元素。并且,也可以适当地组合不同实施方式的构成元素。此外,上述实施方式是应用于综合检索系统的应用例,但即使在对一个数据库进行检索的情况下,本发明也能有效应用。在该情况下,查询语句转换装置也可以取得针对作为查询对象的数据库的结构数据向导,将原始查询语句转换成适于该结构数据向导,由此无需事先定义根据作为查询对象的数据库的架构的转换规则,就能适当地转换原始查询语句。此外,在上述实施方式中,例示了 XML数据作为结构化数据,但本发明不限于XML 数据,也可以广泛应用于对相同的结构化数据进行处理的情况。此外,在上述实施方式中, 说明了将查询语句转换装置构成为网络上服务器并对网络上数据库进行检索的例子,但本发明还能有效应用于对分散在一个装置内部的数据集合进行检索的情况。
权利要求
1.一种查询语句转换装置,进行针对存储结构化数据的数据集合的查询语句的转换, 该查询语句转换装置具有第一生成部,定期地从所述数据集合取得所述结构化数据,分析所取得的所述结构化数据,生成所述数据集合的结构信息;第一存储部,将所述第一生成部生成的所述结构信息与所述数据集合的唯一地址建立关联并存储;输入部,输入作为查询对象的数据集合的唯一地址以及将数据的结构作为条件的查询语句;转换部,以适合于与所述输入部输入的数据集合的唯一地址对应的所述结构信息的方式对所述输入部输入的查询语句进行转换;以及输出部,输出所述转换部转换后的转换后查询语句。
2.根据权利要求1所述的查询语句转换装置,其特征在于,还具有第二生成部,在所述第一存储部中未存储与所述输入部输入的数据集合的唯一地址对应的所述结构信息的情况下,该第二生成部从该数据集合中取得指定数量的所述结构化数据,分析所取得的所述结构化数据,生成针对该数据集合的所述结构信息。
3.根据权利要求2所述的查询语句转换装置,其特征在于,所述第二生成部使用对所述输入部输入的查询语句缓和了所述条件的查询语句,从所述数据集合中取得所述结构化数据。
4.根据权利要求1所述的查询语句转换装置,其特征在于,该查询语句转换装置还具有第三生成部,在所述输入部输入了多个数据集合的唯一地址作为成为查询对象的数据集合的唯一地址时,该第三生成部合成与输入的多个数据集合的唯一地址对应的多个所述结构信息,生成合成结构信息,所述转换部以适合于所述合成结构信息的方式对所述输入部输入的查询语句进行转换。
5.根据权利要求1所述的查询语句转换装置,其特征在于,所述转换部以适合于所述结构信息的方式生成多个缓和了所述输入部输入的查询语句的所述条件的转换后查询语句的候选,对生成的多个转换后查询语句的候选进行与所述条件的缓和级别对应的得分附加,将得分值作为评价标准,从多个转换后查询语句的候选中至少选择一个转换后查询语句。
6.根据权利要求5所述的查询语句转换装置,其特征在于,在所述结构信息中附加表示构成该结构信息的各元素之间的关联的发生概率的信息,所述转换部对生成的多个转换后查询语句的候选进行与所述条件的缓和级别和各元素之间的关联的发生概率对应的得分附加。
7.根据权利要求5所述的查询语句转换装置,其特征在于,还具有第二存储部,该第二存储部存储所述转换后查询语句以及对该转换后查询语句赋予的得分值,所述转换部对生成的多个转换后查询语句的候选中、与存储在所述第二存储部中的所述转换后查询语句一致的转换后查询语句,根据与所述条件的缓和级别对应的得分值、以及对存储在所述第二存储部中的所述转换后查询语句赋予的得分值,进行得分附加。
8.根据权利要求7所述的查询语句转换装置,其特征在于,还具有取得部,该取得部取得反应用户对所述输出部输出的转换后查询语句的评价的得分值,存储在所述第二存储部中。
9.根据权利要求1所述的查询语句转换装置,其特征在于, 该查询语句转换装置构成为网络上的服务器,所述第一生成部定期地访问网络上的所述数据集合来生成所述结构信息, 所述第一存储部将所述第一生成部生成的所述结构信息与作为所述数据集合的唯一地址的URL建立对应并存储,所述输入部从网络上的客户终端输入作为查询对象的数据集合在网络上的唯一地址的URL、以及将数据结构作为条件的查询语句,所述输出部将所述转换部转换后的转换后查询语句输出到所述客户终端。
10.一种查询语句转换方法,进行针对存储结构化数据的数据集合的查询语句的转换, 其中,该查询语句转换方法具有以下步骤定期地从所述数据集合取得所述结构化数据,分析所取得的所述结构化数据,生成所述数据集合的结构信息;将生成的所述结构信息与所述数据集合的唯一地址建立对应并存储在存储器中; 输入作为查询对象的数据集合的唯一地址以及将数据结构作为条件的查询语句; 以适合于与所述输入部输入的数据集合的唯一地址对应的所述结构信息的方式对输入的查询语句进行转换;以及输出转换后的转换后查询语句。
全文摘要
本实施方式涉及查询语句转换装置及查询语句转换方法。查询语句转换装置具有第一生成部、第一存储部、输入部、转换部和输出部。第一生成部定期地从所述数据集合取得所述结构化数据,分析所取得的所述结构化数据,生成所述数据集合的结构信息。第一存储部将所述第一生成部生成的所述结构信息与所述数据集合的唯一地址建立对应并存储。输入部输入作为查询对象的数据集合的唯一地址以及将数据结构作为条件的查询语句。转换部以适合于与所述输入部输入的数据集合的唯一地址对应的所述结构信息的方式对所述输入部输入的查询语句进行转换。输出部输出所述转换部转换后的转换后查询语句。
文档编号G06F17/30GK102479252SQ201110255578
公开日2012年5月30日 申请日期2011年8月31日 优先权日2010年11月25日
发明者金轮拓也 申请人:东芝解决方案株式会社, 株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1