CN1766875A - 用于检索结构化文件的系统和方法 - Google Patents
用于检索结构化文件的系统和方法 Download PDFInfo
- Publication number
- CN1766875A CN1766875A CNA200510064601XA CN200510064601A CN1766875A CN 1766875 A CN1766875 A CN 1766875A CN A200510064601X A CNA200510064601X A CN A200510064601XA CN 200510064601 A CN200510064601 A CN 200510064601A CN 1766875 A CN1766875 A CN 1766875A
- Authority
- CN
- China
- Prior art keywords
- node
- structured document
- traversal
- request
- retrieval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/83—Querying
- G06F16/835—Query processing
- G06F16/8373—Query execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
一种结构化文件检索系统(10),包括:通过包含有分层化的多个节点的树结构对结构化文件进行管理的结构化文件数据库(11);和接收来自用户机(20)的遍历请求的单元(12),所述遍历请求包括:将所述结构化文件数据库(11)内的多个节点中的一个指定为作为检索基点的基节点的基节点指定信息,及指定相对于所述基节点的遍历目标节点的相对位置关系的相对位置信息;以及遍历处理单元(14),从由所述接收的遍历请求中包含的基节点指定信息指定作为基节点的所述结构化文件数据库(11)内的多个节点中的一个,根据所述接收的遍历请求中包含的所述相对位置信息,执行追溯所述结构化文件数据库(11)内的多个节点中的其他节点的遍历处理,从所述结构化文件数据库(11)获取与所述遍历目标节点对应的数据。
Description
本申请基于2004年10月29日申请的日本专利申请第2004-316084号并要求其优先权,其全部内容在此引用。
技术领域
本发明涉及用于检索如XML(Extensible Markup Language)文件那样包含有分层化(階層化)的多个节点的结构化文件(structured document)的系统和方法,特别涉及从存储了结构化文件的结构化文件数据库中,获取与结构化文件内的目标节点有关的数据的结构化文件检索系统、结构化文件检索方法及程序。
背景技术
一般地,将具有逻辑结构(logical structure)的文件称为结构化文件。在结构化文件中,该文件的逻辑结构通过在该文件中记述的标签来表示。这种使用标签来表现逻辑结构的结构化文件适合在计算机中进行处理。而且,作为使用标签来记述数据的方式,XML(Extensible Markup Language)被广泛利用。XML具有可通过附带有意义的标签来进行数据的分层化并且结构的自由扩展性强的特长。这种用XML记述的文件被称为XML文件(XMLdocument)。XML文件作为使用标签逻辑性地以树结构表现的结构化文件的代表而众所周知。XML文件由构成树结构的、分层化的多个节点构成。该各节点是构成XML文件的各元素(element)。
利用XML的特长存储XML文件,并且可对该文件中的任意的逻辑结构(文件结构)进行检索的数据库,被称为XML数据库(XMLDB)。XML数据库可通过XPath或Xquery进行检索。XPath或Xquery是用于检索一个或多个XML文件中的任意元素(节点)的、由万维网联合体(World Wide WebConsortium(W3C))制定的查询语言。
例如,XPath用于通过由来自根节点的绝对路径(absolute location pass)指定XML文件中的目标节点的位置,从而进行该节点的检索。将这种使用XPath的检索称为XPath检索。应用程序(应用程序)通过用指定目标节点的绝对路径的记述进行XPath检索,从而可以从该检索结果中获取有关目标节点的数据(XML数据)。在XPath检索中,还可以检索对象的节点以下的所有的子孙节点作为对象进行检索。例如,可进行所谓“在检索对象的节点以下中,标签名为‘book’的所有节点”的指定。这种检索是对所有子孙节点的模式匹配(一种全文检索),所以不必记述各个子孙节点的绝对路径。将这种检索称为XPath的子孙节点检索。
在(日本)特开2001-167087号公报(第0020至0026段)中,公开了一种采用以树结构来表示兄弟关系的查询树的技术,用于对具有复杂结构的文件进行检索,特别是可对包含有结构化文件中的兄弟关系的结构的检索。即,这种技术是以树结构来表现查询本身的一种XPath扩展技术。
当应用程序需要存储在XML数据库中的一部分XML文件时,大多使用XML文件中的数据进行分类、筛选之类的预处理。这种情况下,应用程序不仅获取与原来需要的部分对应的数据,而且还获取属于包含用于预处理部分的范围内的数据,从而需要对该获取的数据进行处理。
但是,一般难以用XPath仅指定还包含有用于预处理部分的最低必要限度的数据。这里,假定有要“以‘price’(书的价格)的顺序来获取‘last name’(姓)为‘Stevens’(史蒂文斯)的‘book’(书)的‘author’(作者)的‘firstname’(名)”为条件的检索请求。另,在作为检索对象的XML数据库中,存储有三个XML文件,设其树结构与后述的本发明的实施方式中所参照的图7所示的三个XML文件111、112及113相同。由此,若需要可参照图7。首先,三个XML文件各自的父节点(最高节点)分别是‘book’。在该例子中,检索请求(检索条件)复杂,不能用XPath仅指定还包含有用于预处理的部分的最低必要限度的数据。
因此,要执行上述检索请求,需要以三个XML文件中公共的父节点——“book”作为检索对象节点进行XPath的子孙节点检索,以从该“book”以下的所有子孙节点中获取数据。但是,在XPath的子孙节点检索中,如上所述,数据获取的对象范围变大,获取数据需要很多时间。而且,在XPath的子孙节点检索中,即使获取检索结果也不知道中途的路径,不清楚命中(hit)了XML文件中的哪个部分。
此外,作为通过检索确定了节点后的应用程序侧的处理,基于“被检索的节点的下一层数据”等的、来自被检索节点的相对位置关系的数据获取请求也很多。可是,在XPath的子孙节点检索中,由于不知道被检索的节点周边的路径,无法继续进行检索。
另一方面,在上述特开2001-167087号公报(第0020至0026段)中记载的采用查询树(XPath扩展技术)的检索技术,与普通的XPath检索不同,可对具有兄弟关系的节点进行检索。但是,在采用查询树的检索技术中,不能对不同分层的节点等具有比兄弟关系更复杂的关系的节点进行检索。因此,即使在采用查询树的检索技术中,要获取还包含有用于上述预处理部分的数据时,还需要采用XPath的子孙节点检索,由此产生获取数据的对象范围变大的问题。
发明内容
本发明的目的在于提供一种结构化文件检索系统、结构化文件检索方法和程序,以结构化文件数据库内的任意的节点为基点,通过自由地追溯(辿る)该基点的父、子、兄、或弟的节点,从而可以从该数据库获取作为目标的节点的数据。
根据本发明的一个方案,提供的结构化文件检索系统包括:通过包含有分层化(階層化)的多个节点的树结构对结构化文件进行管理的结构化文件数据库;接收来自用户机的遍历请求(トラバ一ス要求)的部件,所述遍历请求包括:将所述结构化文件数据库内的多个节点中的一个指定为作为检索基点的基节点的基节点指定信息,及指定相对于所述基节点的遍历目标节点(トラバ一ス先ノ一ド)的相对位置关系的相对位置信息;以及遍历处理部件,从由所述接收的遍历请求中包含的基节点指定信息指定作为基节点的所述结构化文件数据库内的多个节点中的一个,根据所述接收的遍历请求中包含的所述相对位置信息,执行追溯所述结构化文件数据库内的多个节点中的其他节点的遍历处理,从所述结构化文件数据库获取与所述遍历目标节点对应的数据。
在随后的描述中将指出本发明的附加优点,并且其一部分将根据其说明而容易地获得或通过实施本发明而了解。借助于下面所特别指出的手段或其组合可实现和获得本发明的优点。
附图说明
包含于说明书中且构成说明书一部分的附图用于展示本发明的实施方式,并且,结合上述概括说明和下面对实施方式的详细描述,附图将解释本发明的原理。
图1为本发明一实施方式的具有遍历功能的结构化文件检索系统的结构框图。
图2为示意性地表示图1的结构化文件检索系统中设置的XMLDB的数据结构的图。
图3为表示在图1的结构化文件检索系统中设置的XMLDB中存储了一个XML文件时的该XMLDB的数据结构例的图。
图4为表示在图1的结构化文件检索系统中设置的XMLDB中依次存储了三个XML文件时的该XMLDB的数据结构例的图。
图5表示图1的结构化文件检索系统中的包含遍历处理的检索处理步骤的流程图。
图6表示结构化文件检索用户机和图1的结构化文件检索系统之间的通信处理的序列(シ一ケンス)的图。
图7为说明图1的结构化文件检索系统中的遍历处理操作的图。
具体实施方式
以下,参照附图来说明本发明的一实施方式。
图1是表示本发明一实施方式的具有遍历功能的结构化文件检索系统10的结构框图。该结构化文件检索系统10通过局域网络(LAN)等的网络21而与结构化文件检索用户机20连接。在结构化文件检索用户机(结构化文件检索用户机终端)20上,利用结构化文件检索系统10的应用程序在运行。结构化文件检索系统10由XML数据库(XMLDB)11、请求处理部12、检索处理部13、遍历处理部14以及应用程序接口(API)15构成。
XMLDB11是存储作为结构化文件的XML文件的数据库。XML文件包含被分层化的多个节点(元素)。XMLDB11通过包含有分层化的多个节点的树结构对XML文件进行管理。请求处理部12接收来自结构化文件检索用户机20的检索请求。检索处理部13在通过请求处理部12接收的检索请求是包含有将通向作为检索对象的节点的路径作为检索条件的XPath检索请求(即指定路径检索请求)的情况下,根据XPath,进行以XMLDB11为对象的检索处理。
遍历处理部14在通过请求处理部12接收的检索请求是遍历请求的情况下,以XMLDB11内任意节点为基点来进行追溯其父、子或兄弟节点的处理。该处理称之为遍历处理。遍历请求包含将XMLDB11内的多个节点中的一个指定为作为检索基点的基节点的基节点指定信息、以及指定遍历目标节点相对于所述基节点的相对位置关系的相对位置信息。作为相对位置信息,使用表示相对于基节点的相对位置关系的方向信息。遍历请求通过使用方向信息,将相对于基节点的父节点、子节点、兄节点、弟节点中的任一节点指定为检索对象的遍历目标节点。
API15形成在结构化文件检索用户机20上运行的应用程序和结构化文件检索系统10的接口。在结构化文件检索用户机20不通过网络而与结构化文件检索系统10直接连接的情况下,在结构化文件检索用户机20中设置API15也无妨。
请求处理部12、检索处理部13、遍历处理部14及API15通过计算机、例如安装在数据库服务器计算机中的特定的软件程序(例如结构化文件数据库管理程序)来实现。通过该计算机(内部的CPU)读取执行该软件程序,由计算机执行分别对应于请求处理部12、检索处理部13、遍历处理部14及API15的处理。该程序可预先存储在计算机可读取的记录媒体中发布。此外,该程序也可以通过网络进行下载(发布)。
图2是由XMLDB11管理的数据结构的示意图。在图2的例子中,在XMLDB11中存储有三个XML文件111、112和113。这里,需要注意的是,XML文件111、112和113均被作为以称为“bib”的节点为根的一个树结构的部分树来存储。即,在XMLDB11中,存储了具有树结构的一个虚拟的XML文件110,实际的XML文件111、112和113被作为该XML文件110的部分树来管理。“bib”节点是XML文件110的最高节点,即根节点。XML文件111、112和113中的例如XML文件111与虚拟的XML文件110产生关联,以使该XML文件111的最高节点(“book”节点)与“bib”节点成为父子关系。这里,“bib”节点为父节点,XML文件111的最高节点(“book”节点)为子节点。这种情况在“bib”节点和XML文件112及113的最高节点之间也是同样的。此外,XML文件111、112及113各自的最高节点之间以形成兄弟关系的关联。这里,如果设将XML文件以111、112及113的顺序存储在XMLDB11中,则XML文件112的最高节点成为XML文件111的最高节点的弟节点,XML文件113的最高节点成为XML文件112的最高节点的弟节点。由此,XML文件111的多个节点(元素)、XML文件112的多个节点(元素)和XML文件113的多个节点(元素)构成XMLDB11中的一个虚拟的XML文件110的树结构。
图3表示图2所示的XML文件111、112及113中的XML文件111被存储在XMLDB11时的该XMLDB11的数据结构例。在这个阶段中,XML文件111成为XML文件110的树结构内的唯一的部分树。如图3所示,在XMLDB11中,存储有以构成该树结构的节点(元素)为单位管理XML文件110的树结构的结构信息表31及管理该XML文件110的各节点(元素)的信息的节点信息块32。结构信息表31的项目数和节点信息块32的数与XML文件110的节点数一致。各节点被赋予唯一的号码——节点ID。
结构信息表31的第i(i=1,2,…)项目分别由设定的节点ID字段(项目)311、父节点字段312、兄节点字段313、弟节点字段314及子节点字段315构成节点i的节点ID(ID=i)、该节点i的父节点的节点ID、该节点i的兄节点的节点ID、该节点i的弟节点的节点ID、及该节点i的子节点的节点ID。即,结构信息表31的各项目用于保持表示对应节点在树结构中的位置关系的信息。若节点i中不存在父节点、兄节点、弟节点或子节点,在结构信息表31中的第i项目对应的字段里,设定表示不存在相应节点的特定的值(在图3中,用“-”表示)。
在本实施方式中,若节点i中存在多个子节点,则在结构信息表31中的第i项目的子字段315中只设定长子节点的节点ID。例如,节点ID为2的“book”节点的子节点分别是节点ID为3、4、5及6的“title”节点、“author”节点、“publisher”节点及“price”节点,节点ID为3的“title”节点是长子。此时,在结构信息表31中的第2项目的子节点字段315中,“title”节点的节点ID(=3)被设定。
另一方面,节点信息块32用于将固有的信息(节点信息)保持在对应的节点中。这里,节点信息块32保持节点ID、该节点的标签名及该节点的值(元素值)。节点的值的大小有可能性根据不同的节点相差很大。因此,为了使节点信息块32的大小一定,也可以采用将节点的值与该块32分开保持,在该块32中保持用于指示保持节点的值的区域的指针的结构。
上述结构信息表31的项目信息、以及对应于该项目的节点信息块32在将XML文件存储至XMLDB11时形成。这样,需要注意的是,在本实施方式中,并非将XML文件以文本形式原封不动地或系统独自的二进制形式存储至XMLDB11。即,在本实施方式中,是将XML文件作为以“bib”节点为根的树结构的部分树来管理。这种情况下,表示该XML文件的各节点(元素)在该树结构中的位置关系的信息(结构信息)和在该XML文件的各节点中固有的信息(节点信息)被存储在XMLDB11中。但是,为了简化说明,有时以XML文件被存储在XMLDB11中来表现与该XML文件有关的结构信息和节点信息被存储在XMLDB11中。
图4表示图2所示的XML文件111、112及113以该XML文件111、112及113的顺序全部存储在XMLDB11中时的该XMLDB11的数据结构例。这里,XML文件112和113具有与XML文件111通用的树结构,该XML文件112及113的最高节点为“book”节点。如图4所示,作为节点ID,XML文件112及113的“book”节点被分别赋予14和26。这里,节点ID为14的“book”节点成为节点ID为2的“book”节点的弟节点,节点ID为26的“book”节点成为节点ID为14的“book”节点的弟节点。因此,与节点ID为2的“book”节点对应的、结构信息表31的第2项目中的弟字段314从表示没有弟节点的状态“-”(参照图3),更新为将节点ID为14的节点(“book”节点)作为弟节点来表示的状态。此外,在将XML文件112作为XML文件110的部分树存储至XMLDB11时,在结构信息表31中,追加数目与该XML文件112的节点数一致的项目,例如12个项目。同样,在将XML文件113作为XML文件110的部分树存储至XMLDB11时,在结构信息表31中,追加数目与该XML文件113的节点数一致的项目,例如12个项目。
下面,参照图5至图7来说明图1所示的结构化文件检索系统10中的包含有遍历处理的检索处理。图5是表示结构化文件检索系统10中的包含有遍历处理的检索处理步骤的流程图,图6是表示结构化文件检索用户机20和结构化文件检索系统10之间的通信步骤的序列图,图7是以一个将XML文件111、112及113作为树结构的部分树的虚拟的XML文件110为对象的遍历处理的示例图。
首先,设用户对结构化文件检索用户机20发出了以下检索(查询)请求:以“price”顺序获取“last name”为“Stevens”的“book”的“author”的“firstname”。如前所述,无法用XPath仅指定满足该检索请求的最低必要限度的数据。
因此,结构化文件检索用户机20为了检索“book”的“author”的“firstname”进行,而生成以下所示的XPath:
XPath=/bib/book/author/first用户机20向结构化文件检索系统10发出该XPath的检索请求(XPath检索请求)601。该XPath检索请求601被结构化文件检索系统10的API15接收,交送到请求处理部12。这样,在本实施方式中,作为用于请求从XMLDB11中检索必要的数据的查询语言,使用XPath。但是,也可以将XQuery用作查询语言。
请求处理部12接收来自用户机20的检索请求。如本例,当来自用户机20的检索请求是XPath检索请求601时,则请求处理部12将该检索请求601交送到检索处理部13。于是,检索处理部13根据请求处理部12交送来的检索请求601执行XPath检索(步骤S1)。检索处理部13通过该XPath检索,作为其检索结果(XPath检索结果)602,获取由XPath指定的节点(即“first”节点)的节点信息(步骤S2)。设步骤S2中获取的“first”节点的节点信息包含该“first”节点的节点ID及该“first”节点的子节点的值即“first name”。但是,在检索出的“first”节点中,有可能包含有不符合用户的检索请求的节点。因此,也可以使步骤S2中获取的“first”节点的节点信息中不包含该“first”节点的子节点的值。这种情况下,结构化文件检索用户机20可以运用该“first”节点的节点信息中包含的节点ID,只就已确定符合用户的检索请求的“first”节点,向结构化文件检索系统10请求其子节点的值(即“first name”)。
在图7的例子中,在步骤S2中获取XML文件111、112及113的“first”节点(即,节点ID分别为9、21和33的节点)的节点信息。从图7可知,节点ID=9的“first”节点的节点信息,除了节点ID=9以外,还包含其子节点的值(即“first name”)——“W.”。而节点ID=21的“first”节点的节点信息,除了节点ID=21以外,还包含其子节点的值(即“first name”)——“W.”。此外,节点ID=33的“first”节点的节点信息,除了节点ID=33以外,还包含其子节点的值(即“first name”)——“Darcy”。检索处理部13将作为该XPath检索结果(XPath检索结果集合)602获得的、检索出的所有节点的节点信息作为成为由遍历处理部14进行的遍历处理的基点的节点的节点信息,通过请求处理部12和API15返回到结构化文件检索用户机20(步骤S3)。
结构化文件检索用户机20接收了XPath检索结果602、即成为遍历处理的基点的“first”节点(即,节点ID分别为9、21、33的节点)的节点信息后,为了获取筛选的条件——“last”节点的信息和分类的条件——“price”节点的信息,利用以下所述的被称为遍历请求(遍历命令)的特定的检索请求。遍历请求包含当前的基节点的节点ID与表示遍历方向的方向信息的对。在本实施方式中,可由遍历请求指定的遍历方向是从父、兄、弟和子之中选择出的一个。即,遍历请求可以指示从当前的基节点到父节点、兄节点、弟节点或子节点的遍历。这样,遍历请求不适用于存储在XMLDB11中的一个虚拟的XML文件110在表示逻辑结构的树结构中的绝对位置的指定(使用路径的位置指定),而是适用于父节点、兄节点、弟节点或子节点相对于基节点的相对位置的指定。
在本实施方式中,由结构化文件检索系统10通知给结构化文件检索用户机20的、成为遍历处理的基点的节点是节点ID分别为9、21及33的“first”节点。因此,结构化文件检索用户机20以这些节点ID分别为9、21和33的“first”节点作为基点,如下所述对结构化文件检索系统10请求依次遍历处理。
从当前的基节点——“first”节点来看“last”节点是兄节点。如上所述,当前的基节点是节点ID分别为9、21和33的“first”节点。因此,结构化文件检索用户机20首先以节点ID为9的“first”节点为基点,向结构化文件检索系统10发出指示对兄节点遍历的遍历请求(遍历命令)603。指示对该兄节点的遍历的请求称为“get Previous Sibling”命令。在图6中,由遍历请求指定的、当前的基节点和遍历方向以(当前的基节点的节点ID、遍历方向)的形式来表示。
结构化文件检索系统10的请求处理部12在XPath检索结果602被返回到结构化文件检索用户机20后,等待遍历请求作为来自结构化文件检索用户机20的下个检索请求(步骤S4)。如果结构化文件检索用户机20发出了遍历请求(步骤S5),则请求处理部12接收该遍历请求并将其交送到遍历处理部14。遍历处理部14对该遍历请求进行解释,判定来自基节点的遍历方向、即遍历目标节点是父节点、兄节点、弟节点或子节点中的哪一个(步骤S6)。
如果遍历目标节点是父节点,则遍历处理部14参照与遍历请求指定的基节点对应的结构信息表31内的项目,从该项目的父节点字段312中获取该基节点的父节点的节点ID(步骤S7)。相反,如果遍历目标节点是兄节点,则遍历处理部14参照与遍历请求指定的基节点对应的结构信息表31内的项目,从该项目的兄节点字段313中获取该基节点的兄节点的节点ID(步骤S8)。而如果遍历目标节点是弟节点,则遍历处理部14参照与遍历请求指定的基节点对应的结构信息表31内的项目,从该项目的弟节点314中获取该基节点的弟节点的节点ID(步骤S9)。如果遍历目标节点是子节点,则遍历处理部14参照与遍历请求指定的基节点对应的结构信息表31内的项目,从该项目的子字段315中获取该基节点的子节点的节点ID(步骤S10)。接着,遍历处理部14参照在获取的节点ID中固有的节点信息块32,获取该节点ID指定的节点的节点信息(步骤S11)。这里,获取的节点ID的节点不具有值,并且,若其子节点具有值,则其值也被作为节点信息而获取。
结构化文件检索用户机20对结构化文件检索系统10最初发出的遍历请求603以节点ID为9的“first”节点为基点,指示对兄节点的遍历。节点ID为9的“first”节点的兄节点如图7中箭头71所示,是节点ID为8的“last”节点。因此,在步骤S11中,遍历处理部14从节点ID为9的“first”节点起,追溯节点ID为8的“last”节点,获取该节点ID为8的“last”节点的节点信息作为遍历目标节点的数据。这里,节点ID为8的“last”节点的子节点(节点ID为9的节点)的值(“last name”=“Stevens”)也作为“last”节点的一部分节点信息被获取。
遍历处理部14将获取的节点信息作为对遍历请求603的遍历处理(检索处理)的结果(遍历结果)604,通过请求处理部12和API15返回到结构化文件检索用户机20(步骤S12)。于是,请求处理部12等待来自结构化文件检索用户机20的下个遍历请求(步骤S4)。
遍历结果604包含“Stevens”作为“last name”。即,结构化文件检索用户机20将节点ID为9的“first”节点作为基点,通过使用用于追溯兄节点(“last”节点)的遍历请求,可以获取筛选条件——“last”节点的信息。在该例中,结构化文件检索用户机20根据遍历结果,判定节点ID为9的“first”节点的兄节点、即节点ID为8的“last”节点满足筛选条件。因此,结构化文件检索用户机20以节点ID为9的“first”节点作为基点,为了获取分类条件——“price”节点的信息,依次发出如下所述的遍历请求。首先,结构化文件检索用户机20以节点ID为9的“first”节点为基点,向结构化文件检索系统10发出用于指示对父节点遍历的遍历请求605。该指示对父节点的遍历的请求称之为“get Parent Node”命令。
结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求605,参照与节点ID为9的“first”节点对应的结构信息表31内的第9项目,从该项目的父字段312中获取该节点ID为9的“first”节点的父节点的节点ID(步骤S6、S7)。这里,从图7可知,节点ID为9的“first”节点的父节点是节点ID为4的“author”节点。因此,遍历处理部14根据遍历请求605,获取节点ID=4。然后,遍历处理部14从节点ID为9的“first”节点起,追溯节点ID为4的“author”节点,参照在节点ID=4中固有的节点信息块32,获取该节点ID=4指定的“author”节点的节点信息作为遍历目标节点的数据(步骤S11)。该节点ID=4指定的“author”节点的节点信息包含节点ID=4和标签名“author”。该节点信息作为对遍历请求605的遍历结果606而返回到结构化文件检索用户机20(步骤S12)。
结构化文件检索用户机20接收到遍历结果606后,根据该遍历结果606中包含的节点ID=4,以节点ID为4的“author”节点为基点,将指示对弟节点遍历的遍历请求607发给结构化文件检索系统10。该指示对弟节点的遍历的请求称为“get Next Sibling”命令。
结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求607,参照与节点ID为4的“author”节点对应的结构信息表31内的第4项目,从该项目的弟字段314获取该节点ID为4的“author”节点的弟节点的节点ID(步骤S6、S9)。这里,从图7可知,节点ID为4的“author”节点的弟节点是节点ID为5的“publisher”节点。因此,遍历处理部14根据遍历请求607获取节点ID=5。遍历处理部14从节点ID为4的“author”节点起,追溯节点ID为5的“publisher”节点,参照节点ID=5中固有的节点信息块32,获取由该节点ID=5指定的“publisher”节点的节点信息作为遍历目标节点的数据(步骤S11)。由节点ID=5指定的“publisher”节点的节点信息包含节点ID=5和标签名“publisher”。该节点信息作为对遍历请求607的遍历结果608被返回到结构化文件检索用户机20(步骤S12)。
结构化文件检索用户机20接收到遍历结果608后,根据该遍历结果608中包含的节点ID=5,以节点ID为5的“publisher”节点为基点,将指示对弟节点遍历的遍历请求609发给结构化文件检索系统10。
结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求609,参照与节点ID为5的节点对应的结构信息表31内的第5项目,从该项目的弟字段314获取该节点ID为5的“publisher”节点的弟节点的节点ID(步骤S6、S9)。这里,从图7可知,节点ID为5的“publisher”节点的弟节点是节点ID为6的“price”节点。因此,遍历处理部14根据遍历请求609获取节点ID=6。遍历处理部14从节点ID为5的“publisher”节点起,追溯节点ID为6的“price”节点,参照节点ID=6中固有的节点信息块32,获取该节点ID=6的“price”节点的节点信息作为遍历目标节点的数据(步骤S11)。遍历处理部14还获取该“price”节点的子节点的值(即“price”)——65.95。遍历处理部14使该值包含在“price”节点的节点信息中。该节点信息作为对遍历请求609的遍历结果610被返回到结构化文件检索用户机20(步骤S12)。
这样,结构化文件检索用户机20以节点ID为9的“first”节点作为基点,通过采用依次追溯父节点(“author”节点)、该父节点的弟节点(“publisher”节点)、该弟节点的弟节点(“price”节点)的遍历请求,可以获取分类的条件——“price”节点的信息。
接着,结构化文件检索用户机20将节点ID为21的“first”节点作为基点,为了获取筛选的条件——“last”节点的信息,将如下所述的遍历请求611发给结构化文件检索系统10。该遍历请求611以节点ID为21的“first”节点为基点,指示对兄节点的遍历。
结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求611,参照与节点ID为21的节点对应的结构信息表31内的项目,从该项目的兄字段313获取该节点ID为21的节点的兄节点的节点ID(步骤S6、S8)。这里,从图7可知,节点ID为21的节点的兄节点是节点ID为20的“last”节点。因此,遍历处理部14根据遍历请求611而获取节点ID=20。遍历处理部14从节点ID为21的“first”节点起,追溯节点ID为20的“last”节点,参照节点ID=20中固有的节点信息块32,获取该节点ID=20的“last”节点的节点信息作为遍历目标节点的数据(步骤S11)。此外,遍历处理部14还获取该“last”节点的子节点的值(即“last name”)——“Stevens”。遍历处理部14使该值包含在“last”节点的节点信息中。该节点信息作为对遍历请求611的遍历结果612被返回到结构化文件检索用户机20(步骤S12)。
如上述那样,遍历结果612包含“Stevens”作为“last name”。即,结构化文件检索用户机20以节点ID为21的“first”节点作为基点,通过采用用于追溯兄节点(“last”节点)的遍历请求,可以获取筛选的条件——“last”节点的信息。在该例中,结构化文件检索用户机20根据遍历结果612,判定节点ID为21的“first”节点的兄节点、即节点ID为22的“last”节点满足筛选条件。因此,结构化文件检索用户机20以节点ID为21的“first”节点作为基点,为了获取分类的条件——“price”节点的信息,依次发出如以下所述的遍历请求。首先,结构化文件检索用户机20以节点ID为21的“first”节点为基点,将指示对父节点遍历的遍历请求613发给结构化文件检索系统10。
结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求613而参照结构信息表31,从而与前面的遍历请求605同样,获取节点ID为21的“first”节点的父节点的节点ID(步骤S6、S7)。节点ID为21的“first”节点的父节点如图7中箭头72所示,是节点ID为16的“author”节点。因此,遍历处理部14根据遍历请求613获取节点ID=16。之后,遍历处理部14从节点ID为21的“first”节点起,追溯节点ID为16的“author”节点,获取由节点ID=16指定的“author”节点的节点信息作为遍历目标节点的数据(步骤S11)。该“author”节点的节点信息包含节点ID=16和标签名“author”。该节点信息作为对遍历请求613的遍历结果614被返回到结构化文件检索用户机20(步骤S12)。
结构化文件检索用户机20接收到遍历结果614后,根据该遍历结果614中包含的节点ID=16,以节点ID为16的“author”节点为基点,将指示对弟节点遍历的遍历请求615发给结构化文件检索系统10。结构化文件检索系统10的遍历处理部4根据来自结构化文件检索用户机20的遍历请求615而参照结构信息表31,从而与前面的遍历请求607同样,获取节点ID为16的“author”节点的弟节点的节点ID(步骤S6、S9)。节点ID为16的“author”节点的弟节点如图7中箭头73所示,是节点ID为17的“publisher”节点。因此,遍历处理部14根据遍历请求615而获取节点ID=17。然后遍历处理部14从节点ID为16的“author”节点起,追溯节点ID为17的“publisher”节点,获取由节点ID=17指定的“publisher”节点的节点信息作为遍历目标节点的数据(步骤S11)。该“publisher”节点的节点信息包含节点ID=17和标签名“publisher”。该节点信息作为对遍历请求615的遍历结果616被返回到结构化文件检索用户机20(步骤S12)。
结构化文件检索用户机20接收到遍历结果616后,根据该遍历结果616中包含的节点ID=17,以节点ID为17的“publisher”节点为基点,将指示对弟节点遍历的遍历请求617发给结构化文件检索系统10。结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求617而参照结构信息表31,从而与前面的遍历请求609同样,获取节点ID为17的“publisher”节点的弟节点的节点ID(步骤S6、S9)。节点ID为17的“publisher”节点的弟节点如图7中箭头74所示,是节点ID为18的“price”节点。因此,遍历处理部14根据遍历请求617而获取节点ID=18。然后遍历处理部14从节点ID为17的“publisher”节点起,追溯节点ID为18的“price”节点,获取节点ID=18的“price”节点的节点信息作为遍历目标节点的数据(步骤S11)。遍历处理部14还获取该“price”节点的子节点的值(即“price”)——“85.95”。遍历处理部14使该值包含在“price”节点的节点信息中。该节点信息作为对遍历请求617的遍历结果618被返回到结构化文件检索用户机20(步骤S12)。
这样,结构化文件检索用户机20以节点ID为21的“first”节点作为基点,通过采用依次追溯父节点(“author”节点)、该父节点的弟节点(“publisher”节点)、该弟节点的弟节点(“price”节点)的遍历请求,可以获取分类的条件——“price”节点的信息。
接着,结构化文件检索用户机20以节点ID为33的“first”节点为基点,为了获取筛选的条件——“last”节点的信息,将如下所述的遍历请求619发给结构化文件检索系统10。该遍历请求619以节点ID为33的“first”节点为基点,指示对兄节点遍历。
结构化文件检索系统10的遍历处理部14根据来自结构化文件检索用户机20的遍历请求619而参照结构信息表31,与前面的遍历请求603同样,获取节点ID为33的“first”节点的兄节点的节点ID(步骤S6、S8)。这里,从图7可知,节点ID为33的节点的兄节点是节点ID为32的“last”节点。因此,遍历处理部14根据遍历请求619而获取节点ID=32。遍历处理部14从节点ID为33的“first”节点起,追溯节点ID为32的“last”节点,参照节点ID=32中固有的节点信息块32,获取该节点ID=32的“last”节点的节点信息作为遍历目标节点的数据(步骤S11)。此外,遍历处理部14还获取该“last”节点的子节点的值(即“last name”)——“Gerberg”。遍历处理部14使该值包含在“last”节点的节点信息中。该节点信息作为对遍历请求619的遍历结果612被返回到结构化文件检索用户机20(步骤S12)。
这样,遍历结果620包含“Gerberg”作为“last name”。即,作为“last name”,遍历结果620不包含“Stevens”。这种情况下,结构化文件检索用户机20根据遍历结果620,判定节点ID为33的“first”节点的兄节点、即节点ID为32的“last”节点不满足筛选条件。因此,结构化文件检索用户机20结束遍历请求的发出。结构化文件检索系统10的请求处理部12在进入等待遍历请求的状态后(步骤S4),例如在结构化文件检索用户机20超过一定时间没有发出遍历请求的情况下(步骤S5),结束结构化文件检索系统10中的遍历处理。再有,在结构化文件检索用户机20通知了处理结束的情况下,请求处理部12也结束结构化文件检索系统10中的遍历处理。
这样,在本实施方式中,对于用XPath的检索的结果(XPath检索结果)所表示的所有节点的每一个,可以实现以该节点作为基点,自由地追溯其父节点、子节点、兄节点、或弟节点的遍历处理。通过该遍历处理,可以仅检索进行分类和筛选处理所需的最低限度的数据。
此外,实际的XML文件、即XML文件111、112及113在XMLDB11内,从图4和图7可知,被作为一个虚拟的XML文件110的部分树来管理。因此,如图7中箭头75至78所示,不仅是上述XML文件111、112及113的各个树结构(部分树)内,而且可以以由XPath检索特定的基节点(这里,是节点ID为33的“first”节点)为基点,通过遍历处理而从某个XML文件向其他XML文件追溯。即,可以进行横跨被作为一个虚拟的XML文件110的部分树来管理的多个实际的XML文件的横向检索。在图7的例子中,示出了从XML文件113的“book”节点起通过“bib”节点追溯XML文件112的“book”节点的情况。但是,通过请求从XML文件113的“book”节点对兄节点的遍历,也可以从XML文件113的“book”节点直接追溯XML文件112的“book”节点。
但在XML中,有称为“标签”(元素)的“属性”的概念。这种“属性”(属性节点)在XML或DOM(Document Obiect Model)领域中,通常与“标签”(标签节点)有所不同,被与所谓的父子兄弟关系分割开来。但是,在例如图2所示的以下的XML文件
(book year=“1965”>
<title>……</title>
<author>……</author>中,“book”节点的属性——“year”节点与“title”节点或“author”节点等所谓的标签节点同样,也可以看作是“book”节点的子节点之一。因此,通过将属性节点看作是与该属性节点对应的标签节点的子节点(例如长子的节点),该属性节点也可以与标签节点完全同样地进行处理。
在上述实施方式中,为了简化说明,是以XML文件111、112及113的树结构是共通的作为前提。但是,在本实施方式的遍历处理中,用相对于当前的基节点的所谓父节点、子节点的相对位置信息来指定遍历目标(检索对象),所以可以纵横地对XMLDB11进行扫描而不会意识到路径的记述。因此,即使XML文件111、112及113的树结构并非共通、路径不明,也可以进行XPath检索中被检索到的节点附近的检索。
此外,在上述实施方式中,结构化文件检索用户机20向结构化文件检索系统10发出依次遍历请求。但是,在结构化文件检索用户机20端预先知道XML文件111、112及113的树结构的情况下,也可以是结构化文件检索用户机20向结构化文件检索系统10,更具体地说则是,结构化文件检索用户机20对API15只发出一次遍历请求的结构。这里,以XPath检索(XQuery检索)中被检索到的节点的节点ID作为基节点的节点ID、根据遍历请求从结构化文件检索用户机20向API15只通知该基节点的节点ID与以该基节点作为基点追溯XMLDB11内的方向的组合即可。以后,API15只需根据来自结构化文件检索用户机20的遍历请求,将与上述实施方式中的遍历请求603、605及607等相当的遍历请求依次发给请求处理部12即可。
在上述实施方式中,XML文件111、112及113的最高节点(“book”节点)被作为虚拟的XML文件110的最高节点(“bib”节点)的子节点来管理。但是,也可以将XMLDB11中存储的实际的XML文件例如按每个文件种类进行分类,准备好该文件种类中固有的新的节点作为“bib”节点的子节点来管理,同时将属于该文件种类的各XML文件的最高节点作为在该文件种类中固有的新的节点的子节点来管理。如此一来,可以更高效率地进行属于同一文件种类的多个XML文件的横向检索。进而,可以将文件种类例如分为大分类、中分类和小分类,准备分别对应的大分类节点、中分类节点和小分类节点。这种情况下,可将XML文件作为“bib”节点——大分类节点——中分类节点——小分类节点——XML文件的最高节点的树结构的部分树来管理。
如上,在本实施方式的结构化文件系统10中,只需用户机20向该系统10发出作为检索请求的、指定作为检索的基点的基节点和自该基节点的相对位置关系的遍历请求,即可根据遍历请求的相对位置信息,执行从在该遍历请求中被指定作为基节点的XMLDB11内的多个节点中的一个,追溯XMLDB11内的多个节点的其他的节点的遍历处理,由此可以获取作为目标的遍历目标节点的数据。这样,在结构化文件系统10中,只需指定基节点和自该基节点的相对位置关系即可执行在以XPath为代表的查询语言中不能指定的复杂检索条件的数据检索。即,可以自由地追溯XMLDB11内的所有节点。
此外,由于XMLDB11将多个结构化文件作为一个虚拟的结构化文件的部分树来管理,所以还可以执行从该XMLDB11内的某个文件的节点追溯其他文件的节点的遍历处理。由此,可根据父子兄弟的相对关系自由地追溯XMLDB11内的所有节点,所以可以进行多个文件的横向检索和只调出需要的数据等不用表示XMLDB11内的绝对位置的路径描述的检索。
这样,根据本实施方式,可以以结构化文件数据库内的任意节点为基点,自由地追溯其父、子、兄或弟的节点,由此,可以很容易地从结构化文件数据库中获取作为目标的节点的数据。
本领域的技术人员并容易地获得附加的优点和进行改变。因此,更宽方案的本发明并不限于本说明书中所展示和描述的具体细节和典型实施方式。所以,各种变更都可以实施,但不会脱离所附权利要求及其等同物所限定的总的发明构思的实质或范围。
Claims (13)
1.一种结构化文件检索系统,包括:
通过包含有分层化(階層化)的多个节点的树结构对结构化文件进行管理的结构化文件数据库;
接收来自用户机的遍历请求(トラバ一ス要求)的部件,所述遍历请求包括:将所述结构化文件数据库内的多个节点中的一个指定为作为检索基点的基节点的基节点指定信息,及指定相对于所述基节点的遍历目标节点(トラバ一ス先ノ一ド)的相对位置关系的相对位置信息;以及
遍历处理部件,从由所述接收的遍历请求中包含的基节点指定信息指定作为基节点的所述结构化文件数据库内的多个节点中的一个,根据所述接收的遍历请求中包含的所述相对位置信息,执行追溯所述结构化文件数据库内的多个节点中的其他节点的遍历处理,从所述结构化文件数据库获取与所述遍历目标节点对应的数据。
2.根据权利要求1所述的结构化文件检索系统,其中,
所述遍历请求的相对位置信息包含将相对于所述基节点的父、子、兄、弟中的任一节点指定作为遍历方向的方向信息,
所述遍历处理部件包括从由所述基节点指定信息指定作为基节点的所述结构化文件数据库内的多个节点中的一个追溯所述方向信息指定的父、子、兄、弟中的任一节点的部件。
3.根据权利要求1所述的结构化文件检索系统,其中还包括,
用于接收来自所述用户机的指定路径检索请求的部件,所述指定路径检索请求包含作为检索对象的节点存在的、表示所述树结构上的位置的路径(location pass)作为检索条件;以及
检索处理部件,从所述结构化文件数据库中检索由所述接收的指定路径检索请求中包含的路径指定的节点,从而从所述结构化文件数据库中获取与路径指定的节点对应的节点识别符的数据。
4.根据权利要求3所述的结构化文件检索系统,其中,所述遍历请求包含对应于根据所述指定路径检索请求检索出的节点的节点识别符,作为所述基节点指定信息。
5.根据权利要求3所述的结构化文件检索系统,其中,还包括请求处理部件,其特征为:接收来自所述用户机的检索请求,判定该检索请求是所述遍历请求和所述指定路径检索请求的哪一个,当该检索请求是所述遍历请求时,将该检索请求交送到所述遍历处理部件,而当该检索请求是所述指定路径检索请求时,将该检索请求交送到所述检索处理部件。
6.根据权利要求1所述的结构化文件检索系统,其中,所述结构化文件数据库将多个结构化文件作为一个虚拟的结构化文件的部分树来存储。
7.根据权利要求6所述的结构化文件检索系统,其中,
所述结构化文件数据库对作为所述虚拟的结构化文件的树结构元素的每个节点分别存储表示其父节点、子节点、兄节点、弟节点的结构信息,
所述遍历处理部件根据所述结构信息,执行所述遍历处理。
8.一种对结构化文件数据库进行检索的结构化文件检索方法,所述结构化文件数据库通过包含有分层化的多个节点的树结构来管理结构化文件,该方法包括:
当用户机发出指定路径检索请求时,从所述结构化文件数据库中检索由该路径指定的节点,所述指定路径检索请求包含将表示作为检索对象的节点存在的所述树结构上的位置的路径(location pass)作为检索条件;
将检索到的节点的数据作为对应于所述指定路径检索请求的检索结果返回到所述用户机;
当所述用户机作为检索请求提出包含将所述检索结果表示的节点作为成为新的检索基点的基节点来指定的基节点指定信息和指定遍历目标节点相对于所述基节点的相对位置关系的相对位置信息的遍历请求时,根据所述相对位置信息,执行从根据所述基节点指定信息作为基节点指定的所述结构化文件数据库内的多个节点中的一个追溯所述结构化文件数据库内的多个节点的其他的节点的遍历处理,从而从所述结构化文件数据库中获取与所述遍历目标节点对应的数据。
将通过遍历处理获取的所述遍历目标节点的数据作为对所述遍历请求的检索结果返回到所述用户机。
9.根据权利要求8所述的结构化文件检索方法,其中,
所述遍历请求的相对位置信息包含将相对于所述基节点的父、子、兄、弟的任一节点指定为遍历方向的方向信息,
执行所述遍历处理包括:根据所述方向信息,判定从由所述基节点指定信息指定的基节点追溯的节点是相对于所述基节点的父、子、兄、弟中的哪一个节点。
10.根据权利要求9所述的结构化文件检索方法,其中,所述结构化文件数据库将多个结构化文件作为一个虚拟的结构化文件的部分树存储。
11.根据权利要求10所述的结构化文件检索方法,其中,所述结构化文件数据库存储对作为所述虚拟的结构化文件的树结构元素的各节点的父子兄弟关系进行管理的结构信息,
执行所述遍历处理包括:根据该基节点、所述判定的结果和所述结构信息来指定从由所述遍历请求指定的基节点追溯的节点。
12.一种程序,存储于计算机可读取的介质中,使计算机执行对结构化文件数据库进行检索的处理,所述结构化文件数据库通过包含有分层化的多个节点的树结构对结构化文件进行管理,该程序包括:
当用户机发出指定路径检索请求时,使所述计算机执行从所述结构化文件数据库中检索由该路径指定的节点的处理,所述指定路径检索请求包含将表示作为检索对象的节点存在的所述树结构上的位置的路径(location pass)作为检索条件;
使所述计算机执行将检索到的节点的数据作为对所述指定路径检索请求的检索结果而返回到所述用户机的处理;
当所述用户机作为检索请求提出包含将所述检索结果表示的节点作为成为新的检索基点的基节点来指定的基节点指定信息和指定遍历目标节点相对于所述基节点的相对位置关系的相对位置信息的遍历请求时,使所述计算机根据所述相对位置信息,执行从根据所述基节点指定信息作为基节点指定的所述结构化文件数据库内的多个节点中的一个追溯所述结构化文件数据库内的多个节点的其他的节点的遍历处理,从而从所述结构化文件数据库中获取与所述遍历目标节点对应的数据;
使所述计算机执行将通过遍历处理获取的所述遍历目标节点的数据作为对所述遍历请求的检索结果返回到所述用户机的处理。
13.根据权利要求12所述的程序,其中,
所述遍历请求的相对位置信息包含将相对于所述基节点的父、子、兄、弟中的任一节点指定为遍历方向的方向信息,
使所述计算机执行所述遍历处理包括:使所述计算机根据所述方向信息,执行从由所述基节点指定信息指定的基节点追溯的节点是相对于所述基节点的父、子、兄、弟中的哪一个节点的判定处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004316084A JP2006127229A (ja) | 2004-10-29 | 2004-10-29 | 構造化文書検索システム、構造化文書検索方法及びプログラム |
JP316084/2004 | 2004-10-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1766875A true CN1766875A (zh) | 2006-05-03 |
Family
ID=36263322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200510064601XA Pending CN1766875A (zh) | 2004-10-29 | 2005-04-15 | 用于检索结构化文件的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060095456A1 (zh) |
JP (1) | JP2006127229A (zh) |
CN (1) | CN1766875A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929901A (zh) * | 2006-06-26 | 2013-02-13 | 尼尔森(美国)有限公司 | 提高数据仓库性能的方法和装置 |
CN103827861A (zh) * | 2012-09-07 | 2014-05-28 | 株式会社东芝 | 结构化文档管理装置、方法及程序 |
CN105721527A (zh) * | 2014-12-04 | 2016-06-29 | 金蝶软件(中国)有限公司 | 一种数据处理方法以及服务器 |
WO2018145589A1 (zh) * | 2017-02-08 | 2018-08-16 | 三和智控(北京)系统集成有限公司 | 通过数据名称命名实现数据自携带特征信息的方法及装置 |
CN111737018A (zh) * | 2020-08-26 | 2020-10-02 | 腾讯科技(深圳)有限公司 | ZooKeeper配置文件存储处理方法、装置、设备及其介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4373470B2 (ja) * | 2005-03-30 | 2009-11-25 | 富士通株式会社 | 文書変換活用システム |
DE602007000919D1 (de) * | 2007-05-18 | 2009-05-28 | Sap Ag | Verfahren und System zum Schutz einer Nachricht vor einem XML-Angriff beim Austausch in einem verteilten und dezentralisierten Netzwerksystem |
CN101808073A (zh) * | 2009-02-13 | 2010-08-18 | 华为技术有限公司 | 一种获取节点信息的方法、服务器以及系统 |
JP2011076420A (ja) * | 2009-09-30 | 2011-04-14 | Toshiba Corp | 構造化文書検索システム及びプログラム |
JP5490632B2 (ja) * | 2010-06-28 | 2014-05-14 | 日立アロカメディカル株式会社 | 診断レポート検索装置 |
US8650219B2 (en) | 2012-06-05 | 2014-02-11 | International Business Machines Corporation | Persistent iteration over a database tree structure |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2048039A1 (en) * | 1991-07-19 | 1993-01-20 | Steven Derose | Data processing system and method for generating a representation for and random access rendering of electronic documents |
US6381605B1 (en) * | 1999-05-29 | 2002-04-30 | Oracle Corporation | Heirarchical indexing of multi-attribute data by sorting, dividing and storing subsets |
JP3842577B2 (ja) * | 2001-03-30 | 2006-11-08 | 株式会社東芝 | 構造化文書検索方法および構造化文書検索装置およびプログラム |
US6925470B1 (en) * | 2002-01-25 | 2005-08-02 | Amphire Solutions, Inc. | Method and apparatus for database mapping of XML objects into a relational database |
WO2003107323A1 (en) * | 2002-06-13 | 2003-12-24 | Cerisent Corporation | A subtree-structured xml database |
US7013311B2 (en) * | 2003-09-05 | 2006-03-14 | International Business Machines Corporation | Providing XML cursor support on an XML repository built on top of a relational database system |
-
2004
- 2004-10-29 JP JP2004316084A patent/JP2006127229A/ja active Pending
-
2005
- 2005-03-14 US US11/078,307 patent/US20060095456A1/en not_active Abandoned
- 2005-04-15 CN CNA200510064601XA patent/CN1766875A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102929901A (zh) * | 2006-06-26 | 2013-02-13 | 尼尔森(美国)有限公司 | 提高数据仓库性能的方法和装置 |
CN102929901B (zh) * | 2006-06-26 | 2016-12-14 | 尼尔森(美国)有限公司 | 提高数据仓库性能的方法和装置 |
CN103827861A (zh) * | 2012-09-07 | 2014-05-28 | 株式会社东芝 | 结构化文档管理装置、方法及程序 |
CN103827861B (zh) * | 2012-09-07 | 2017-09-08 | 株式会社东芝 | 结构化文档管理装置及方法 |
CN105721527A (zh) * | 2014-12-04 | 2016-06-29 | 金蝶软件(中国)有限公司 | 一种数据处理方法以及服务器 |
WO2018145589A1 (zh) * | 2017-02-08 | 2018-08-16 | 三和智控(北京)系统集成有限公司 | 通过数据名称命名实现数据自携带特征信息的方法及装置 |
CN111737018A (zh) * | 2020-08-26 | 2020-10-02 | 腾讯科技(深圳)有限公司 | ZooKeeper配置文件存储处理方法、装置、设备及其介质 |
CN111737018B (zh) * | 2020-08-26 | 2020-12-22 | 腾讯科技(深圳)有限公司 | ZooKeeper配置文件存储处理方法、装置、设备及其介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2006127229A (ja) | 2006-05-18 |
US20060095456A1 (en) | 2006-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1766875A (zh) | 用于检索结构化文件的系统和方法 | |
US8229932B2 (en) | Storing XML documents efficiently in an RDBMS | |
US8583652B2 (en) | Efficiently registering a relational schema | |
US8566343B2 (en) | Searching backward to speed up query | |
US5873079A (en) | Filtered index apparatus and method | |
US6167393A (en) | Heterogeneous record search apparatus and method | |
US8346813B2 (en) | Using node identifiers in materialized XML views and indexes to directly navigate to and within XML fragments | |
US7409401B2 (en) | Method and system for supporting multivalue attributes in a database system | |
JP2016181306A (ja) | 索引キーを使用して検索を絞込むシステムおよび方法 | |
US9165086B2 (en) | Hybrid binary XML storage model for efficient XML processing | |
US20120089612A1 (en) | Flexible fully integrated real-time document indexing | |
US8600942B2 (en) | Systems and methods for tables of contents | |
US8694510B2 (en) | Indexing XML documents efficiently | |
US6938034B1 (en) | System and method for comparing and representing similarity between documents using a drag and drop GUI within a dynamically generated list of document identifiers | |
JP2006505872A (ja) | 単一のインターフェイスからのデータの多重階層を管理するための手法 | |
US20180336223A1 (en) | Context weighted metalabels for enhanced search in hierarchical abstract data organization systems | |
CN1806241A (zh) | 数据库查询用户界面 | |
US8176030B2 (en) | System and method for providing full-text search integration in XQuery | |
US20040093561A1 (en) | System and method for displaying patent classification information | |
US20040080524A1 (en) | System and method for displaying patent analysis information | |
CN108717407A (zh) | 实体向量确定方法及装置,信息检索方法及装置 | |
US20170011046A1 (en) | Weighted metalabels for enhanced search in hierarchical abstract data organization systems | |
CN1766876A (zh) | 用于管理结构化文件的系统和方法 | |
US9971782B2 (en) | Document tagging and retrieval using entity specifiers | |
CN116034349A (zh) | 列式分析存储格式的半结构化数据的概率文本索引 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
C20 | Patent right or utility model deemed to be abandoned or is abandoned |