JPH07225770A - データ検索装置 - Google Patents

データ検索装置

Info

Publication number
JPH07225770A
JPH07225770A JP6036346A JP3634694A JPH07225770A JP H07225770 A JPH07225770 A JP H07225770A JP 6036346 A JP6036346 A JP 6036346A JP 3634694 A JP3634694 A JP 3634694A JP H07225770 A JPH07225770 A JP H07225770A
Authority
JP
Japan
Prior art keywords
node
condition
index
record
data
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
Application number
JP6036346A
Other languages
English (en)
Inventor
Kenichi Numata
賢一 沼田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6036346A priority Critical patent/JPH07225770A/ja
Publication of JPH07225770A publication Critical patent/JPH07225770A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 ノード間の関係が木あるいは木の集合で表現
されるノードの集合から、第1の条件を満たすノードに
対して祖孫関係を持ちかつ第2の条件を満たすノードを
検索するデータ検索装置を提供する。 【構成】 入力手段が第1の条件,第2の条件およびそ
の間の祖孫関係を入力する。ノード検索手段が第1の条
件および第2の条件を受け取り、索引保持手段の索引か
ら第1の条件を満たすノードに対応するレコードの集合
と、第2の条件を満たすノードに対応するレコードの集
合とを抽出する。接続関係検索手段は、祖孫関係を受け
取り、前記ノード検索手段の抽出した一方のレコードの
指す部分木索引の中に、他方のレコードの指すノードが
存在するか否かを検索し、該当するノードが存在し、か
つ前記祖孫関係を満足する場合に、該当ノードを第2の
条件を満たすノードとして出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ検索装置に関
し、特に、ノード間の関係が木あるいは木の集合で表現
されるノードの集合から、ノードの条件とノード間の接
続関係の条件を利用して検索を行う場合に、検索の処理
を高速化するデータ検索装置に関する。
【0002】
【従来の技術】従来から、データ内容に応じてデータ処
理の取扱いを容易とするため、データを構造化し、木構
造で表現されるデータ構造として扱うデータ処理装置が
開発されている。例えば、文書処理装置で扱う文書デー
タは、文書内容がその概念構造から章,節,項などの階
層を有する論理構造で表現されるので、木構造で表現さ
れるデータ構造として扱うことができる。
【0003】このように、木構造で表現されるデータ構
造の一例として文書の論理構造がある。文書の論理構造
は、図8に示すように、一般に有向順序木により表現す
ることができる。図8は、文書の論理構造を木構造で表
現している一例を示す図である。図8に示す文書の論理
構造の例では、報告書という文書は、「報告書」という
根ノードに結びついて、標題,著者名,第1章の内容,
第2章の内容,第3章の内容が、第1階層のノードとな
る論理構造で構成されている。そのノードの第1章の内
容は「見出し」と3つの「段落」からなる第2階層のノ
ードから構成されている。第2章の内容は「見出し」と
「図」と2つの「段落」からなる第2階層のノードから
構成されている。同様に、第3章の内容は「見出し」と
「図」と2つの「段落」からなる第2階層のノードから
構成されている。このような文書の論理構造となってい
る。
【0004】木構造で表現された文書の論理構造のデー
タの検索においては、木構造データの要素の個々のノー
ドの条件のみでなく、ノード間の親子関係あるいは祖孫
関係も条件として利用して、条件検索を行うデータ検索
処理が行われる。例えば、図8に示すような報告書とい
う文書の論理構造において、「直下の見出しに“データ
ベース”という文字列を含み、かつ、図を含む章を見つ
けよ」というような条件検索である。
【0005】この場合、「“データベース”という文字
列を含む見出し」,「章」,「図」などの条件がノード
自体に対する条件であり、「直下」と「含む」がそれぞ
れ親子関係と祖孫関係などのノード間の関係を規定する
条件となる。したがって、ここでは「“データベース”
という文字列を含む見出し」,「章」,「図」などのノ
ード自体に対する条件を満たすノードは、それぞれ複数
あるが、親子関係あるいは祖孫関係のノード間の関係の
条件を満たすノードは、第2章のノードだけとなる。こ
のように、ノード自体に対する条件に、更にノード間の
関係の条件までを含めて条件検索を行うことによって、
データ検索では、より絞り込まれた回答が得られる。図
8に示す例では、「第2章」だけが条件を満たすノード
として検索される。
【0006】また、上記の条件検索の例では、「“デー
タベース”という文字列を含む見出しを直下に持つ章」
の第1の集合と「下位に図を含む章」の第2集合の積集
合を取ることによって、その検索結果が回答として得ら
れる。この場合においては、第1の集合を求める検索
と、第2の集合を求める検索では、それぞれの条件検索
が、個々のノードの条件とノード間の親子関係あるいは
祖孫関係の条件を用いた検索となっている。
【0007】一般に、木構造で表現されるデータ構造の
データにおいて、個々のノードの条件のみでなく、ノー
ド間の親子関係あるいは祖孫関係の条件も用いた検索を
行う検索処理では、第1の条件を満たすノードと親子関
係あるいは祖孫関係を持ち、かつ、第2の条件を満たす
ノードを検索するというデータ検索になる。
【0008】そこで、木構造で表現されるデータ構造の
各々のデータに対して、第1の条件を満たすノードと親
子関係あるいは祖孫関係を持ち、かつ第2の条件を満た
すノードを検索する検索処理を高速に行う場合には、次
のような検索処理方法を用いることになる。
【0009】すなわち、データ構造として木構造が用い
られる場合、一般的には、データの要素の各ノードをレ
コード型のデータで表し、各データの間のリンク状態を
ポインタで表すようにデータ形式を定めている。このた
め、上記のデータ検索処理の方法は、最も簡易な処理手
順によると、木構造のデータ構造から定められる順番
(先行順や幅優先順など)に従って、各レコードのリン
ク状態を示すポインタを順次に辿っていき、各レコード
(ノード)が第1の条件を満たすかどうかを調べて、も
し、第1の条件を満たしていれば、そのレコードを起点
として、ポインタを辿って親子関係あるいは祖孫関係に
あるレコードを探し、第2の条件を満たすかどうかを調
べる方法が利用される。
【0010】このような検索処理の方法を高速化する場
合、第1の条件を満たすノードの検索を行う第1の処理
と、第1の条件を満たすノードを起点として、そのノー
ドと親子関係あるいは祖孫関係を持ち、第2の条件を満
たすノードの第2の処理との2つの処理に分けて、各々
の検索を高速化することになる。
【0011】したがって、このようなデータ検索処理の
方法では、例えば、第1の処理においては、逆参照が可
能となる転置ファイルを設けることにより、木構造の中
の全ノードに対して、ノードの属性値から該当するノー
ドを検索し、これにより、第1の条件を満たすノードの
検索を高速に処理する。
【0012】また、第2の処理を高速化するには、例え
ば「Chris Clifton and Hector Garcia-Molina, “Inde
xing in a Hypertext Database", Proceedings of 16th
International Conference on VLDB, pp.36-49, 199
0」に論じられているような検索方法が利用できる。こ
の方法は、木構造データの葉ノードを除く全てのノード
に対して、そのノードを根とする部分木のための転置フ
ァイルを設けるという方法である。
【0013】図9は、ノードの親子関係あるいは祖孫関
係の条件を用いる検索処理を、部分木に対する転置ファ
イルを用いて行う場合の検索方法を説明する図である。
この場合の検索方法では、図9に示すように、木構造を
構成するノードの各ノードデータに対し、根ノード9
0,Aノード91,Bノード92のそれぞれに転置ファ
イル90a,91a,92aを設ける。ここで設ける転
置ファイル90a,91a,92aにおいては、各ノー
ドの属性値からの逆参照が可能なように、ノードの属性
値とその属性値を持つノードへのポインタ、およびその
ノードと転置ファイルを設けたノード(部分木の根)と
の接続関係(親子関係あるいは祖孫関係)の対応関係の
データが保持される。
【0014】例えば、Aノード91に設ける転置ファイ
ル91aにおいては、当該Aノード91を根とする部分
木の各ノードの属性値(bird, dog, fish)と、この属性
値を持つノードへのポインタ情報(Cノード,Fノー
ド,Eノード)と、その接続関係の情報(子,子孫の関
係)の対応関係との各データを保持している。この接続
関係の情報は、親子関係(c)と祖孫関係(d)を区別
するために用いられる。
【0015】図9に示すような部分木に対する転置ファ
イルを用いて検索処理を行う方法ににより、上記の検索
処理における第2の処理を高速化できる。すなわち、第
1の条件を満たすノードを起点とし、その子あるいは子
孫の関係にある第2の条件を満たすノードの検索処理
が、起点となるノードに対応して設けられた転置ファイ
ルを用いて、そこに保持しているノードの属性値を検索
することにより、第2の条件を満たすノードを容易にし
かも高速に検索することができる。これにより、子ある
いは子孫ノードを順次に全て探索するよりも、はるかに
高速に処理を行うことができる。
【0016】一方、上記の検索処理における第2の処理
に関連して、第1の条件を満たすノードを起点とし、そ
の親あるいは先祖である第2の条件を満たすノードの検
索処理を行う場合、例えば、「第2の条件を満たすノー
ドであり、かつ子あるいは子孫に第1の条件を満たすノ
ードを持つもの」というように、第2の条件を満たすノ
ードを先に検索するようにすれば、図9に示す検索処理
方法でも、同様に検索が可能である。
【0017】また、第1の条件を満たすノードを起点と
し、その親あるいは先祖である第2の条件を満たすノー
ドの検索処理は、図9に示すように、各部分木に対して
転置ファイルを設ける方法の他に、例えば、図10に示
すように、各ノードに自分の親ノードへのポインタを持
たせることにより行う方法がある。このため、木構造を
構成する場合のデータ構造では、双方向リンクで関係づ
けられた構造とする。
【0018】図10は、一つのノードからその先祖ノー
ドを辿るために必要なパスを有するデータ構造の一例を
示す図である。図10に示すように、このデータ構造で
は、木構造を構成する場合に、双方向リンクで接続され
ており、あるノードを起点とし、その親あるいは先祖で
あるノードを辿ることもできる。また、この場合、各々
のノードにおける情報が2次記憶上でどのように割り付
けられているかによって、更に2つの態様に分けること
ができる。そこで、まず、ノード情報を2次記憶上へ割
り付ける場合の2つの異なる態様を説明する。
【0019】第1の態様は、図11に示すように、1つ
のノードにかかる情報を2次記憶上の連続した領域に割
り付ける態様であり、また、第2の態様は、図12に示
すように、一つのノードの情報を2次記憶上で複数の領
域に分割して割り付ける態様である。
【0020】第1の態様によるデータ構造では、1つの
ノードにかかる情報は、2次記憶上の連続した領域に割
り付けられる。つまり、図11に示すように、1つのノ
ードの情報110は、親ノードへのポインタ111と、
複数の子ノードへのポインタ112と、m個の属性11
3から構成される。これらは2次記憶上の連続する領域
に割り付けられる。属性のフィールドにはそれぞれのノ
ードで保持される実際の値が格納される。
【0021】また、第2の態様によるデータ構造では、
1つのノードの情報を2次記憶上で複数の領域に分割し
て割り付ける態様である。この場合、1つのノードにか
かる一群の情報の分割の仕方は様々であるが、例えば、
図12に示すように、ノード間のリンク情報とノードの
内容の情報とに分離することによって、木構造中のリン
クを辿る操作は、リンク情報のみを2次記憶から読み出
して処理できるので、アクセス処理を高速に処理できる
ことになる。すなわち、図12に示すようなデータ構造
においては、1つのノードのノード情報はノード間のリ
ンク情報121のみから構成される。リンク情報121
は、親ノードへのポインタ121aと、子ノードの集合
へのポインタ121bと、属性集合へのポインタ121
cを持っている。ここでのポインタ121bによって、
指示される子ノードの集合122と、ポインタ121c
により指示される属性の集合123は、ノード間のリン
ク情報121とは分割されて別の2次記憶の領域に割り
付けられる。
【0022】次に、このような2つの態様で構成された
データ構造のノードのそれぞれについて、あるノードか
ら、与えられた条件を満たすその親あるいは先祖ノード
を検索する場合の処理について説明する。その処理は次
のように行われる。
【0023】第1の態様のデータ構造(図11)では、
あるノードの情報110を2次記憶から主記憶に読み込
み、そのノードの中の1つのフィールドである親ノード
へのポインタ111を調べ、次に、その親ノードの情報
を2次記憶から主記憶に読み込む。そして、読み込んだ
ノードの属性113の部分の情報を調べて、与えられた
条件を満たしているかどうかを調べる。先祖ノードを検
索する場合は、このような操作を順次に繰り返すことに
なる。
【0024】第2の態様のデータ構造(図12)では、
同じく、あるノード情報120を2次記憶から主記憶に
読み込むが、この場合には、ノード間のリンク情報12
1のみを読み込む。そして、そのノード間のリンク情報
121の中の1つのフィールドである親ノードへのポイ
ンタ121aを調べ、親ノードの情報を2次記憶から主
記憶に読み込む。そして、読み込んだ親ノードのノード
間のリンク情報の1つのフィールドである属性集合への
ポインタ121cを調べ、対応する属性集合を2次記憶
から主記憶に読み込み、次に、読み込んだ属性集合の中
の属性の情報を調べて、与えられた条件を満たすかどう
か調べる。先祖ノードを検索する場合は、上記の操作を
順次に繰り返す。
【0025】
【発明が解決しようとする課題】ところで、図9に示す
ように、葉ノードを除く全てのノードに対して、そのノ
ードを根とする部分木のための転置ファイルを設ける方
法では、各転置ファイルにノードの重複があり、転置フ
ァイルの合計サイズが増大し、必要なメモリ量が増大す
るという問題点がある。例えば、木をノード数nの平衡
木とすると、転置ファイルのレコード数は、爆発的(n
logn)に増大する。
【0026】また、各ノードに自分の親ノードへのポイ
ンタを持たせ、そのポインタをもとに親あるいは先祖ノ
ードへアクセスして、条件を満たすかどうかを調べると
いう方法では、順次に各々のノードをアクセスして検索
して行くので、最終的に条件に適合するノードに辿りつ
くまでに無駄なノードのアクセスがあり、検索時間コス
トが大きいという問題がある。また、1つのノードが、
図11に示すように、第1の態様で2次記憶上に割り付
けられている場合、特に、1つのノードの情報のサイズ
が大きくなると、ノードを2次記憶から主記憶へ読み込
むのに時間がかかり、更に検索時間コストが大きくなる
という問題がある。
【0027】一方、一つのノードの情報が、図12に示
すように、第2の態様によってノード間のリンク情報が
区別されて別に2次記憶上に割り付けられている場合で
あっても、あるノードの親ノードが与えられた条件を満
たすかどうかを調べるためには、あるノードから親ノー
ドへのポインタを辿って親ノードを得る操作と、得られ
た親ノードから更に属性集合へのポインタを辿ってノー
ドの内容の情報を得る操作とが必要である。したがっ
て、この場合、2次記憶から主記憶へのデータの読み込
みを2回行う必要があり、全体として、その検索時間コ
ストがあまり低下しないという問題もある。
【0028】したがって、本発明の目的は、ノード間の
関係が木あるいは木の集合で表現されるノードの集合か
ら、第1の条件を満たすノードに対して祖孫関係を持ち
かつ第2の条件を満たす第2のノードを高速に検索する
ことができるデータ検索装置を提供することにある。
【0029】また、本発明の第2の目的は、第1の条件
を満たすノードを起点として、そのノードと親子関係あ
るいは祖孫関係を持つ第2の条件を満たすノードの検索
を行うための転置ファイルをノードの属性値の情報を除
いた部分木索引に置き換え、索引を行う場合の記憶容量
を低減し、処理速度を向上させることができるデータ検
索装置を提供することにある。
【0030】また、本発明の第3の目的は、第1の条件
を満たすノードを起点として、その親あるいは先祖であ
る第2の条件を満たすノードを検索する場合に、2次記
憶から主記憶へのデータの読み込み回数を極力減らし、
高速に親あるいは先祖ノードへアクセスすることができ
るようにしたデータ検索装置を提供することにある。
【0031】
【問題点を解決するための手段】上記の目的を達成する
ため、本発明のデータ検索装置(請求項1)は、ノード
間の関係が木あるいは木の集合で表現されるノードの集
合から、第1の条件を満たすノードに対して祖孫関係を
持ちかつ第2の条件を満たすノードを検索するデータ検
索装置であって、第1の条件,第2の条件およびその間
の祖孫関係を入力する入力手段(1,2)と、ノード,
ノード間の関係およびノードの属性値を格納したデータ
記憶手段(10)と、前記データ記憶手段に格納された
葉ノード以外の各ノードごとに設けられ、当該ノードを
根ノードとする部分木を構成する各ノードへのポインタ
から成る部分木索引を保持する部分木索引記憶手段
(9)と、前記データ記憶手段に格納された各ノードご
とに設けられ、当該ノードへのポインタと前記部分木索
引へのポインタとから成るレコードの集合を保持するレ
コード集合保持手段(14)と、前記データ記憶手段に
格納されたノードの属性値と該属性値を持つノードに対
応する前記レコードへのポインタから成る索引を保持す
る索引保持手段(12)と、前記入力手段から入力され
た第1の条件および第2の条件を受け取り、前記索引保
持手段の索引から第1の条件を満たすノードに対応する
レコードの集合と、第2の条件を満たすノードに対応す
るレコードの集合とを抽出するノード検索手段(3,
4)と、前記入力手段から入力された第1の条件と第2
の条件の間の祖孫関係を受け取り、前記ノード検索手段
の抽出した一方のレコードの指す部分木索引の中に、他
方のレコードの指すノードが存在するか否かを検索し、
該当するノードが存在し、かつ前記祖孫関係を満足する
場合に、該当ノードを第2の条件を満たすノードとして
出力する接続関係検索手段(4,5)と、該接続関係検
索手段の出力する該当ノードの持つ情報を前記データ記
憶手段から抽出して表示する表示処理手段(6,7)と
を備えることを特徴とする。
【0032】更に、本発明のデータ検索装置(請求項
2)は、上記の構成に加え、前記部分木索引記憶手段
は、更に、前記部分木索引のポインタの指す各ノード
が、該部分木索引の根ノードとなるノードの子であるか
子以外の子孫であるかを区別するデータを含むことを特
徴とする。
【0033】また、本発明のデータ検索装置(請求項
3)は、ノード間の関係が木あるいは木の集合で表現さ
れるノードの集合から、第1の条件を満たすノードに対
して祖孫関係を持ちかつ第2の条件を満たすノードを検
索するデータ検索装置であって、第1の条件,第2の条
件およびその間の祖孫関係を入力する入力手段(1,
2)と、ノード,ノード間の関係およびノードの属性値
を格納したデータ記憶手段(10)と、前記データ記憶
手段に格納された各ノードごとに設けられ、当該ノード
へのノードポインタと当該ノードの親ノードへのノード
ポインタを保持するレコードを指す親ポインタとから成
るレコードの集合を保持するレコード集合保持手段(1
4)と、前記データ記憶手段に格納されたノードの属性
値と該属性値を持つノードに対応する前記レコードへの
ポインタから成る索引を保持する索引保持手段(12)
と、前記入力手段から入力された第1の条件および第2
の条件を受け取り、前記索引保持手段の索引から第1の
条件を満たすノードに対応するレコードの集合と、第2
の条件を満たすノードに対応するレコードの集合とを抽
出するノード検索手段(3,4)と、前記入力手段から
入力された第1の条件と第2の条件の間の祖孫関係を受
け取り、前記ノード検索手段の抽出した一方のレコード
の内、子孫である一方のレコードの親ポインタを根ノー
ドまで辿り、辿った経路上のレコードのノードポインタ
の集合と、第2の条件を満たすレコードのノードポイン
タの集合との積集合を計算して得られるノードポインタ
の指すノードを該当ノードとして出力する接続関係検索
手段(4,5)と、該接続関係検索手段の出力する該当
ノードの持つ情報を前記データ記憶手段から抽出して表
示する表示処理手段(6,7)とを備えることを特徴と
する。
【0034】
【作用】本発明のデータ検索装置(請求項1)において
は、ノード間の関係が木あるいは木の集合で表現される
ノードの集合から、第1の条件を満たすノードに対して
祖孫関係を持ち、かつ第2の条件を満たす第2のノード
を検索する場合、まず、入力手段(1,2)が、第1の
条件,第2の条件およびその間の祖孫関係を入力する。
データ記憶手段(10)は、ノード,ノード間の関係お
よびノードの属性値を格納している。部分木索引記憶手
段(9)は、ここでのデータ記憶手段(10)に格納さ
れた葉ノード以外の各ノードごとに設けられており、当
該ノードを根ノードとする部分木を構成するノードへの
ポインタから成る部分木索引を保持する。
【0035】また、レコード集合保持手段(14)は、
データ記憶手段(10)に格納された各ノードごとに設
けられたレコードの集合を保持する。各レコードは、対
応するノードへのポインタと前記部分木索引へのポイン
タとから構成される。索引保持手段(12)は、前記デ
ータ記憶手段に格納されたノードの属性値と該属性値を
持つノードに対応する前記レコードへのポインタから成
る索引を保持する。
【0036】そして、ノード検索手段(3,4)が、入
力手段から入力された第1の条件および第2の条件を受
け取り、前記索引保持手段の索引から第1の条件を満た
すノードに対応するレコードの集合と、第2の条件を満
たすノードに対応するレコードの集合とを抽出すると、
接続関係検索手段(5,4)が、入力手段から入力され
た第1の条件と第2の条件の間の祖孫関係を受け取り、
前記ノード検索手段の抽出した一方のレコードの指す部
分木索引の中に、他方のレコードの指すノードが存在す
るか否かを検索する。該当するノードが存在し、かつ前
記祖孫関係を満足する場合に、該当ノードを第2の条件
を満たすノードとして出力する。出力された結果によ
り、表示処理手段(6,7)は、該接続関係検索手段の
出力する該当ノードの持つ情報を前記データ記憶手段か
ら抽出して表示する。ここでは、部分木索引中にノード
の属性値を保持しなくてもよく、索引の記憶容量を低減
できる。
【0037】また、本発明のデータ検索装置(請求項
2)においては、前記部分木索引記憶手段に保持される
部分木索引のポインタの指す各ノードが、該部分木索引
の根ノードとなるノードの子であるか子以外の子孫であ
るかを区別するデータを含む。これにより、ノードの検
索では、子であるか、または子以外の子孫下であるかを
区別した検索を行うことができる。
【0038】また、本発明のデータ検索装置(請求項
3)においては、ノード間の関係が木あるいは木の集合
で表現されるノードの集合から、第1の条件を満たすノ
ードに対して祖孫関係を持ちかつ第2の条件を満たす第
2のノードを検索する場合、入力手段(1,2)が、第
1の条件,第2の条件およびその間の祖孫関係を入力す
る。データ記憶手段(10)は、ノード,ノード間の関
係およびノードの属性値を格納しており、レコード集合
保持手段(14)は、該データ記憶手段に格納された各
ノードごとに設けられたレコードの集合を保持してい
る。ここでのレコードは、当該ノードへのノードポイン
タと当該ノードの親ノードへのノードポインタを保持す
るレコードを指す親ポインタとから構成されている。
【0039】索引保持手段(12)は、前記データ記憶
手段に格納された各ノードの属性値と該属性値を持つノ
ードに対応する前記レコードへのポインタから成る索引
を保持しているので、ノード検索手段(3,4)が、入
力手段から入力された第1の条件および第2の条件を受
け取り、前記索引保持手段の索引から第1の条件を満た
すノードに対応するレコードの集合と第2の条件を満た
すノードに対応するレコードの集合とを抽出する。ま
た、ここでの接続関係検索手段(5,4)は、前記入力
手段から入力された第1の条件と第2の条件の間の祖孫
関係を受け取り、前記ノード検索手段の抽出した一方の
レコードの内で、子孫である一方のレコードの親ポイン
タを根ノードまで辿り、辿った経路上のレコードのノー
ドポインタの集合と、第2の条件を満たすレコードのノ
ードポインタの集合との積集合を計算して得られるノー
ドポインタの指すノードを該当ノードとして出力する。
ここで出力された結果により、表示処理手段(6,7)
が、接続関係検索手段の出力する該当ノードの持つ情報
を前記データ記憶手段から抽出して表示する。
【0040】このように、本発明のデータ検索装置(請
求項1)においては、第1の条件を満たすノードまたは
第2の条件を満たすノードの一方が、他方を根ノードと
する部分木に存在するかどうかを照合する部分木索引を
設けて、第1の条件および第2の条件を満たすノードの
検索を行う。このため、図9に示したような従来の転置
ファイルではノードの属性値のデータを含むが、この部
分木索引は、索引中にノードの属性値のデータを含む必
要がなくなり、それにより、索引の記憶容量を低減でき
ることになる。
【0041】また、本発明のデータ検索装置(請求項
3)においては、ノードへのポインタとそのノードを根
とする部分木の索引へのポインタの組からなるレコード
に、そのレコードに対応するノードの親ノードに対応す
るレコードへのポインタを持たせている。これにより、
あるノードの親あるいは先祖ノードを検索する場合に、
レコードの集合上での走査だけで済むようになり、先祖
ノードの検索時間コストを小さくできる。また、1つの
レコードの大きさは予じめ設定して決められており、か
つ十分小さいので、図11および図12に示すような従
来のデータの管理方法よりは、読み込み処理を速くでき
る。
【0042】
【実施例】以下、本発明の一実施例を図面を参照して具
体的に説明する。図1は、本発明の一実施例にかかるデ
ータ検索装置の要部の要成を示すブロック図である。図
1において、1はキーボードなどの入力部、2は条件解
析部、3はノード検索部、4はレコード記憶部、5は接
続関係検索部、6は表示処理部、7はディスプレイ装置
などの表示部、8はノード索引ファイル、9は部分木索
引ファィル、10はデータファイルである。
【0043】ここでのノード索引ファイル8は、与えら
れた条件を満たすノードを検索するための索引を保持し
ており、部分木索引ファイル9は、各ノードを根とする
部分木に対する索引を保持する。データファイル10は
木構造で表現されるデータの集合を保持している。
【0044】入力部1が、検索のための条件(第1の条
件,第2の条件,および親子関係あるいは祖孫関係の条
件)を指定すると、条件解析部2が、入力部1によって
指定された条件を解析する。ノード検索部3は、条件解
析部2によって解析された条件に基づき、ノード索引フ
ァイル8を読み込み、該当する条件を満たすノードの検
索を行う。そして、レコード記憶部4において、ノード
検索部3および接続関係検索部5によって検索されたレ
コードの集合を記憶する。また、接続関係検索部5は、
部分木索引ファイル9から部分木索引を読み込んで、レ
コード記憶部4に保持されたレコード集合から親子関係
あるいは祖孫関係を検索する。表示処理部6は、レコー
ド記憶部4に保持された検索結果を基に、該当するノー
ドをデータファイル10から読み込んで、表示部7に表
示させる表示処理を行う。この結果、表示部7において
検索された結果が表示される。
【0045】次に、ノード索引ファイル8,部分木索引
ファイル9,およびデータファイル10におけるデータ
構造の詳細を説明する。図2は、ノード索引ファイル,
部分木索引ファイル,およびデータファイルにおけるデ
ータ構造とその関係を説明する図である。図2に示すよ
うに、ノード索引ファイル8は、索引12およびレコー
ド集合14から構成される。索引12はレコード集合1
4中で、与えられた条件を満たすノードへのポインタを
持つレコードを検索するための索引となっており、この
索引12により、一つのノードについて複数の条件を指
定して検索することができる。
【0046】レコード集合14を構成している個々のレ
コード13は、親レコードへのポインタ15と、部分木
索引へのポインタ16と、ノードへのポインタ17とか
ら構成されており、親レコード,部分木索引,およびノ
ードの間を関係付けている。このレコード13における
ポインタの指すノードが親ノードを持たない場合、つま
り、該当のノードが根ノードの場合には、親レコードへ
のポインタ15は空ポインタとなっている。また、同様
に、このレコード13におけるポインタの指すノードが
葉ノードの場合、部分木索引へのポインタ16は空ポイ
ンタとなっている。
【0047】部分木索引ファイル9においては、各ノー
ドを根とする部分木に対する部分木索引11を保持して
いる。部分木索引11は、レコード13の中のノードへ
のポインタ17が指すノードを根とする部分木に対する
索引となっており、接続関係18とノードへのポインタ
19とが組になって構成されている。この部分木索引1
1により、あるレコード中のノードへのポインタをキー
として、接続関係18とノードへのポインタ19の組か
ら接続関係18を検索する。接続関係18を表わすデー
タにおいては、該当するレコードに対するノードの接続
関係を、記号コードのデータにより、子を“C”とし、
子でない子孫を“D”として区別して保持している。
【0048】また、データファイル10は、木構造で表
現されるデータの集合であるノードデータ21の集合を
保持している。このノードデータ21は、ノードとして
の木構造のリンク状態の示すポインタおよびその属性と
なる本体部のデータから構成されている(図11および
図12を参照)。
【0049】次に、このようなデータ構造を有するノー
ド索引ファイル8,部分木索引ファイル9,およびデー
タファイル10におけるレコードのデータを用いて、第
1の条件を満たすノードの子あるいは子孫である第2の
条件を満たすノードを検索する処理について説明する。
図3は、第1の条件を満たすノードの子あるいは子孫で
ある第2の条件を満たすノードを検索するデータ検索処
理の一例を示すフローチャートである。
【0050】図1,図2,および図3を参照して、デー
タ検索処理を説明する。処理を開始すると、まず、ステ
ップ201において、入力部1からノードに対する第1
の条件,第2の条件,および接続関係の条件の各々の条
件を読み込む。次に、ステップ202において、入力部
1によって読み込まれたノードに対する第1の条件,第
2の条件,および接続関係の条件を、条件解析部2によ
り解析する。次に、ステップ203において、ノード検
索部3はノード索引ファイル8から索引12を読み込
み、ステップ204において、ノード検索部3が、条件
解析部2により解析された条件から、第1の条件を満た
すノードを、索引12を用いて検索する。その結果、得
られたレコードの集合をレコード記憶部4に保持する。
【0051】次に、ステップ205において、同じく、
ノード検索部3は、条件解析部2によって解析された条
件から、第2の条件を満たすノードを、索引12を用い
て検索し、その結果、得られたレコードの集合をレコー
ド記憶部4に保持する。そして、次のステップ206に
おいて、子孫側のノードへのポインタを先祖側のノード
の部分木索引の中で照合する。すなわち、接続関係検索
部5が、前のステップ205の処理により、レコード記
憶部4に保持された第2の条件を満たすレコード集合の
中のレコードについて、そのレコード中のノードへのポ
インタを、前のステップ204の処理によりレコード記
憶部4に保持された第1の条件を満たすレコード集合の
中のレコードが指す部分木索引中で検索する。
【0052】そして、ステップ207において、該当す
るノードが見つかったか否かを判定する。ノードが見つ
からなければ、ステップ211に進み、全てのレコード
での検索が終了したか否かを判定し、未処理のノードが
残っている場合に、次のノードに対する処理に進む。ま
た、この判定で、該当するノードが見つかった場合、次
のステップ208に進み、更に、当該ノードにおいて接
続関係が満たされているか否かを判定する。この判定
で、接続関係が満たされていない場合に、前のステップ
207と同様に、ステップ211に進み、全てのレコー
ドでの検索が終了したか否かを判定し、未処理のノード
が残っている場合に、次のノードに対する処理に進む。
つまり、接続関係検索部5は、ノードへのポインタが部
分木索引の中で見つかり、更に、指定された接続関係を
満たしていることを検査する。
【0053】これらの判定により、ノードへのポインタ
が部分木索引の中で見つかり、更に指定された接続関係
を満たしていると、次に、ステップ209に進んで、該
当するノードの情報をデータファイルから読み込み、次
のステップ210において、ノードの内容情報を表示部
に表示する。そして、ステップ211に進み、全てのレ
コードでの検索が終了した否かを判定し、未処理のノー
ドが残っている場合には、ステップ206に戻り、ステ
ップ206からの処理により、次のノードに対する処理
を行う。一方、ステップ211の判定において、全ての
レコードでの検索が終了していることが判定できると、
一連の処理を終了する。
【0054】このように、ここでのデータ検索処理で
は、第1の条件を満たすノードおよび第2の条件を満た
すノードに対して、その一方が、他方を根とする部分木
に存在するかどうかを、部分木索引により照合し、第1
の条件および第2の条件を満たすノードの検索を行う。
部分木索引は、索引中にノードの属性値のデータを含む
必要がなくなり、それにより、索引のための記憶容量を
低減して、データ検索ができるようになる。
【0055】ところで、本実施例のデータ検索装置にお
いては、図2に示すように、レコード集合14における
個々のレコード13には、ノードへのポインタ17とそ
のノードを根とする部分木索引へのポインタ16との組
に対し、更に、この各々のレコード13に対応して、当
該レコードに対応するノードの親ノードに対応するレコ
ードへのポインタ15を有している。これにより、ある
ノードの親あるいは先祖ノードを検索する場合には、レ
コード集合上で走査だけで済むようになっている。
【0056】次に、このような各々のレコード13の中
の親レコードへのポインタ15を用いた場合のデータ検
索処理について説明する。図4は、第1の条件を満たす
ノードの親あるいは先祖である第2の条件を満たすノー
ドを検索するデータ検索処理を、各々のレコード13の
中の親レコードへのポインタ15を用いて行う場合の処
理手順を示すフローチャートである。
【0057】次に、前述の場合と同様に、図1,図2,
および図4を参照して、データ検索をレコード集合上の
走査のみで行う場合のデータ検索処理について説明す
る。処理を開始すると、ステップ301において、入力
部1からノードに対する第1の条件,第2の条件,およ
び接続関係の条件の各々の条件を読み込む。次に、ステ
ップ302において、入力部1によって読み込まれたノ
ードに対する第1の条件,第2の条件,および接続関係
の条件を、条件解析部2により解析する。次に、ステッ
プ303において、ノード検索部3はノード索引ファイ
ル8から索引12を読み込み、ステップ304におい
て、ノード検索手段3が、条件解析部2により解析され
た条件から、第1の条件を満たすノードを、索引12を
用いて検索する。その結果、得られたレコードの集合を
レコード記憶部4に保持する。
【0058】次に、ステップ305において、同じく、
ノード検索部3は、条件解析部2によって解析された条
件から、第2の条件を満たすノードを、索引12を用い
て検索し、その結果、得られたレコードの集合をレコー
ド記憶部4に保持する。そして、次のステップ306に
おいて、子孫側のノードへのポインタを持つレコードか
ら、親レコードのポインタを辿る。すなわち、ノード検
索部3は、前のステップ304の処理により、レコード
記憶部4に保持された第1の条件を満たすレコード集合
中のひとつのレコードについて、その親レコードへのポ
インタを辿り、得られた親レコードをレコード記憶部4
に保持する。
【0059】そして、次のステップ307において、指
定された接続関係は親子関係であるか否かを判定する。
つまり、条件解析部2によって解析された接続関係の条
件を参照して、親子関係かまたは祖孫関係かを判断す
る。この判定の結果、親子関係であれば、それで良いの
で、ステップ310に進み、全てのレコードでの検索が
終了した否かを判定し、未処理のノードが残っている場
合に、次のノードに対するレコードの処理に進む。
【0060】また、このステップ307の判定で、親子
関係でない場合、つまり、指定された接続関係が祖孫関
係である場合、ステップ308に進み、ルートノードに
辿り着いたか否かを判定し、ルートノードに辿り着いて
いない場合、更に、ステップ309において、親ノード
へのポインタを辿り、得られた親レコードをレコード記
憶部4に保持し、続いて、ステップ308に戻り、ルー
トノードに辿り着いたか否かを判定する処理を繰り返
す。ルートノードに辿り着いたことが判定できると、そ
れで良いので、ステップ310に進み、全てのレコード
での検索が終了した否かを判定し、未処理のノードが残
っている場合に、次のノードに対するレコードの処理に
進む。
【0061】すなわち、ノード検索部3により、レコー
ドのポインタにより辿られた親レコードがルートレコー
ド(ルートノードへのポインタを持つレコード)かどう
か判断し、辿られた親レコードがルートレコードでない
とき、ノード検索部3は親レコードの親レコードへのポ
インタを辿り、得られた親レコードをレコード記憶部4
に保持する操作を繰り返し行う。この結果、レコード記
憶部4には順次に辿られた親レコードが保持される。
【0062】そして、指定された接続関係が親子関係の
場合に、または親レコードがルートレコードである場合
に、次のステップ310において、レコード記憶部4に
保持された第1の条件を満たすレコード集合中の全ての
レコードについて処理を終了したか否かを判定する。こ
の判定で、未処理のレコードが残っていると判定される
場合には、ステップ306に戻って、残りのレコードに
対する処理を同様に繰り返し行う。また、全てのレコー
ドについて処理を終了したことが確認できると、次に、
ステップ311において、レコード記憶部4に保持され
た第2の条件を満たすレコードのノードへのポインタの
集合と、親(先祖)レコードの持つノードへのポインタ
の集合との積集合を計算する。この集合の計算結果は、
条件として与えられた各々の条件を満たしていることに
なるので、次に、ステップ312において、該当レコー
ド内のノードへのポインタを辿って、条件に該当するノ
ード情報をデータファイルから読み込み、次に、ステッ
プ313において、読み込まれたノードの情報を表示部
7に表示して、一連の処理を終了する。
【0063】次に、このようなデータ検索処理を木構造
を有する検索対象データに対して行う場合の具体例につ
いて説明する。図5は、検索対象データの一例を示す説
明図である。ここでは、木構造を有する検索対象データ
としては、木構造の論理構造を有する文書データを例に
して説明する。図5に示すように、検索対象データの文
書データは、有向順序木によって表現されており、文書
名の「報告書」を根ノードとして、各ノードは、例え
ば、章,節,段落などのタイプを有している。各ノード
は他の属性を持っているが、図5においては、ノードの
タイプのみを示している。
【0064】図5に示すような検索対象データに対し
て、図3に示したようなデータ検索処理の手順により、
「図を含む章」を条件として検索する場合、次のように
して、ここでのデータ検索処理が行なわれる。図6は、
図3に示す処理フローによりデータ検索処理を行う場合
の各々のレコードの集合のデータの参照関係を示す図で
ある。図6を参照して説明を続けると、図6において
は、右側に検索対象データのうちの関連部分のみ示して
おり、ハッチングしたブロックのノード61が条件を満
たすノードとなっている。この場合に、それぞれ参照さ
れるレコードの集合を左側に示している。
【0065】この場合のデータ検索処理において、「図
を含む章」という条件は、ノードに関する第1の条件が
「タイプが章である」という条件であり、ノードに関す
る第2の条件は「タイプが図である」という条件であ
る。また、接続関係の条件は「祖孫関係」という条件で
ある。
【0066】このようなデータ検索処理では、まず、ノ
ード検索部3によって、ノードに関する第1の条件の
「タイプが章である」という条件を満たすノードへのポ
インタを持つレコード群(601〜604)と、同じく
ノードに関する第2の条件となっている「タイプが図で
ある」という条件を満たすノードへのポインタを持つレ
コード群(605,606)とが得られる。
【0067】次に、接続関係検索部5によって、第2の
条件を満たすレコード605におけるノードへのポイン
タ607と、同じく第2の条件を満たすレコード606
におけるノードへのポインタ608とにより指示されて
いるノードの中に対して、更に、第1の条件を満たすレ
コード群(601〜604)における部分木索引の中で
の探索を行う。
【0068】この場合には、レコード群(601〜60
4)の部分木索引ポインタ(610〜613)が指示し
ている部分木索引62において、接続関係62aを参照
し、更に、ノードへのポインタ62bを参照して、共通
に指示されているノードを探索する。その結果、ここで
は、部分木索引ポインタ613が指示する部分木索引6
2の中で、ポインタ609が指示するノードが、前述の
レコード606のポインタ608が指示するノードと一
致する。したがって、条件に適合する求められるベきノ
ードは、レコード604中のノードへのポインタ614
が指すノードとなる。
【0069】次に、図4に示したようなデータ検索処理
の手順により、同様にして「表を含む章」を条件として
検索する場合について、その具体的なレコードのデータ
参照について説明する。この場合にも、前述の場合と同
様に検索対象データは、図5に示したような木構造を有
する文書データとする。
【0070】図7は、図4に示す処理フローによりデー
タ検索処理を行う場合の各々のレコードの集合のデータ
参照関係を説明する図である。この場合のデータ検索の
条件としては「表を含む章」を条件として、該当するノ
ードのデータ検索する。図7に基づいて説明する。図7
においては、右側に検索対象データのうちの関連部分の
み示しており、ここで、ハッチングしたブロックのノー
ド(71,72)が、条件を満たすノードとなってい
る。そして、この場合にそれぞれに参照されるレコード
の集合を左側に示している。
【0071】この場合のデータ検索処理において、「表
を含む章」という条件は、第1の条件が「タイプが章で
ある」という条件であり、また、第2の条件が「タイプ
が表である」という条件となっている。接続関係の条件
は「祖孫関係」という条件である。
【0072】したがって、このようなデータ検索処理で
は、まず、ノード検索部3により、ノードに関する第1
の条件の「タイプが章である」という条件を満たすノー
ドへのポインタを持つレコード群(701〜704)
と、同じくノードに関する第2の条件となっている「タ
イプが表である」という条件を満たすノードへのポイン
タを持つレコード群(706,707)とが得られる。
次に、これらのレコード群の間のポインタを辿る操作を
行い、レコード706およびレコード707の親レコー
ドへのポインタを辿り、レコード701およびレコード
705をそれぞれに得る。
【0073】ここで指定された接続関係の条件は「祖孫
関係」であり、また、得られたレコード701およびレ
コード705は、共にルートレコードではないので、更
に、親レコードへのポインタを辿る操作を行い、次に、
レコード700およびレコード702をそれぞれに得
る。レコード700はルートレコードであるが、レコー
ド702はルートレコードではないので、レコード70
2から更に親レコードへのポインタを辿り、最終的にレ
コード700を得る。
【0074】このポインタを辿る操作処理の結果、第1
の条件の「タイプが章である」条件を満たすレコードか
ら対応のノードへのポインタ(709〜712)と、親
レコードを順次辿って得られたレコード群(700,7
01,702,705)の中の各々のノードへのポイン
タ(708,709,710,713)との積集合の計
算を行う。この積集合の計算の結果、与えられた条件を
満たすノードへのポインタとして、ポインタ709およ
びポインタ710が得られる。したがって、条件に適合
する求められるベきノードは、ポインタ709およびポ
インタ710が指示するノード71およびノード72と
なる。
【0075】
【発明の効果】以上説明したように、本発明のデータ検
索装置によれば、木構造で表現されるデータの集合の中
で、第1の条件を満たすノードと親子関係あるいは祖孫
関係を持ち、かつ第2の条件を満たすノードを検索する
場合、この検索の際に用いられる部分木索引では、ノー
ドの属性値の情報を含む必要がなくなり、転置ファイル
よりも小さくできるようになる。このため、索引の記憶
容量を低減することができる。また、第1の条件を満た
すノードの親あるいは先祖である第2の条件を満たすノ
ードの検索の場合にも、例えば、レコードの集合の中で
走査だけで済むので、2次記憶から主記憶へのデータの
読み込み回数を減らすことができ、全体としてデータ検
索の処理のスループットを向上させることができる。
【図面の簡単な説明】
【図1】 図1は本発明の一実施例にかかるデータ検索
装置の要部の要成を示すブロック図、
【図2】 図2はノード索引ファイル,部分木索引ファ
イル,およびデータファイルにおけるデータ構造とその
関係を説明する図、
【図3】 図3は第1の条件を満たすノードの子あるい
は子孫である第2の条件を満たすノードを検索するデー
タ検索処理の一例を示すフローチャート、
【図4】 図4は第1の条件を満たすノードの親あるい
は先祖である第2の条件を満たすノードを検索するデー
タ検索処理を各々のレコードの中の親レコードへのポイ
ンタ15を用いて行う場合の処理手順を示すフローチャ
ート、
【図5】 図5は検索対象データの一例を示す説明図、
【図6】 図6は図3に示す処理フローによりデータ検
索処理を行う場合の各々のレコードの集合のデータの参
照関係を示す図、
【図7】 図7は図4に示す処理フローによりデータ検
索処理を行う場合の各々のレコードの集合のデータ参照
関係を説明する図、
【図8】 図8は文書の論理構造を木構造で表現してい
る一例を示す図、
【図9】 図9はノードの親子関係あるいは祖孫関係の
条件を用いる検索処理を部分木に対する転置ファイルを
用いて行う場合の検索方法を説明する図、
【図10】 図10は一つのノードからその先祖ノード
を辿るために必要なパスを有するデータ構造の一例を示
す図、
【図11】 図11はノードの情報を2次記憶上に連続
に割り付ける第1の態様を示す図、
【図12】 図12はノードの情報を2次記憶上に分割
して割り付ける第2の態様を示す図である。
【符号の説明】
1…入力部、2…条件解析部、3…ノード検索部、4…
レコード記憶部、5…接続関係検索部、6…表示処理
部、7…表示部、8…ノード索引ファイル、9…部分木
索引ファイル、10…データファイル、11…部分木索
引、12…索引、13…レコード、14…レコード集
合、15…親レコードへのポインタ、16…部分木索引
へのポインタ、17…ノードへのポインタ、18…接続
関係、19…ノードへのポインタ、21…ノードデー
タ、61…検索されるベきノード、62…部分木索引、
62a…接続関係、62b…ノードへのポインタ、7
1,72…検索されるベきノード、90…根ノード、9
1…Aノード、92…Bノード、90a…根ノードの転
置ファイル、91a…Aノードの転置ファイル、92a
…Bノードの転置ファイル、110…ノードの情報、1
11…親ノードへのポインタ、112…子ノードへのポ
インタ、113…ノードの属性、121…リンク情報、
121a…親ノードへのポインタ、121b…子ノード
集合へポインタ、121c…属性集合へのポインタ、1
22…子ノード集合、123…属性集合、601〜60
6…レコード、607〜609…ノードへのポインタ、
610〜613…部分木索引へのポインタ、614…ノ
ードへのポインタ、700〜707…レコード、708
〜715…ノードへのポインタ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ノード間の関係が木あるいは木の集合で
    表現されるノードの集合から、第1の条件を満たすノー
    ドに対して祖孫関係を持ちかつ第2の条件を満たすノー
    ドを検索するデータ検索装置であって、 第1の条件,第2の条件およびその間の祖孫関係を入力
    する入力手段と、 ノード,ノード間の関係およびノードの属性値を格納し
    たデータ記憶手段と、 前記データ記憶手段に格納された葉ノード以外の各ノー
    ドごとに設けられ、当該ノードを根ノードとする部分木
    を構成する各ノードへのポインタから成る部分木索引を
    保持する部分木索引記憶手段と、 前記データ記憶手段に格納された各ノードごとに設けら
    れ、当該ノードへのポインタと前記部分木索引へのポイ
    ンタとから成るレコードの集合を保持するレコード集合
    保持手段と、 前記データ記憶手段に格納されたノードの属性値と該属
    性値を持つノードに対応する前記レコードへのポインタ
    から成る索引を保持する索引保持手段と、 前記入力手段から入力された第1の条件および第2の条
    件を受け取り、前記索引保持手段の索引から第1の条件
    を満たすノードに対応するレコードの集合と、第2の条
    件を満たすノードに対応するレコードの集合とを抽出す
    るノード検索手段と、 前記入力手段から入力された第1の条件と第2の条件の
    間の祖孫関係を受け取り、前記ノード検索手段の抽出し
    た一方のレコードの指す部分木索引の中に、他方のレコ
    ードの指すノードが存在するか否かを検索し、該当ノー
    ドが存在し、かつ前記祖孫関係を満足する場合に、該当
    ノードを第2の条件を満たすノードとして出力する接続
    関係検索手段と、 該接続関係検索手段の出力する該当ノードの持つ情報を
    前記データ記憶手段から抽出して表示する表示処理手段
    とを備えることを特徴とするデータ検索装置。
  2. 【請求項2】 請求項1に記載のデータ検索装置におい
    て、 前記部分木索引記憶手段は、更に、前記部分木索引のポ
    インタの指す各ノードが、該部分木索引の根ノードとな
    るノードの子であるか子以外の子孫であるかを区別する
    データを含むことを特徴とするデータ検索装置。
  3. 【請求項3】 ノード間の関係が木あるいは木の集合で
    表現されるノードの集合から、第1の条件を満たすノー
    ドに対して祖孫関係を持ちかつ第2の条件を満たすノー
    ドを検索するデータ検索装置であって、 第1の条件,第2の条件およびその間の祖孫関係を入力
    する入力手段と、 ノード,ノード間の関係およびノードの属性値を格納し
    たデータ記憶手段と、 前記データ記憶手段に格納された各ノードごとに設けら
    れ、当該ノードへのノードポインタと当該ノードの親ノ
    ードへのノードポインタを保持するレコードを指す親ポ
    インタとから成るレコードの集合を保持するレコード集
    合保持手段と、 前記データ記憶手段に格納されたノードの属性値と該属
    性値を持つノードに対応する前記レコードへのポインタ
    から成る索引を保持する索引保持手段と、 前記入力手段から入力された第1の条件および第2の条
    件を受け取り、前記索引保持手段の索引から第1の条件
    を満たすノードに対応するレコードの集合と、第2の条
    件を満たすノードに対応するレコードの集合とを抽出す
    るノード検索手段と、 前記入力手段から入力された第1の条件と第2の条件の
    間の祖孫関係を受け取り、前記ノード検索手段の抽出し
    た一方のレコードの内、子孫である一方のレコードの親
    ポインタを根ノードまで辿り、辿った経路上のレコード
    のノードポインタの集合と、第2の条件を満たすレコー
    ドのノードポインタの集合との積集合を計算して得られ
    るノードポインタの指すノードを該当ノードとして出力
    する接続関係検索手段と、 該接続関係検索手段の出力する該当ノードの持つ情報を
    前記データ記憶手段から抽出して表示する表示処理手段
    とを備えることを特徴とするデータ検索装置。
JP6036346A 1994-02-10 1994-02-10 データ検索装置 Pending JPH07225770A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6036346A JPH07225770A (ja) 1994-02-10 1994-02-10 データ検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6036346A JPH07225770A (ja) 1994-02-10 1994-02-10 データ検索装置

Publications (1)

Publication Number Publication Date
JPH07225770A true JPH07225770A (ja) 1995-08-22

Family

ID=12467283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6036346A Pending JPH07225770A (ja) 1994-02-10 1994-02-10 データ検索装置

Country Status (1)

Country Link
JP (1) JPH07225770A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10319990A (ja) * 1997-05-20 1998-12-04 Denso Corp 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体
US6771875B1 (en) 1998-09-03 2004-08-03 Ricoh Company Ltd. Recording medium with video index information recorded therein video information management method which uses the video index information recording medium with audio index information recorded therein audio information management method which uses the audio index information and a video retrieval system
JP2009294967A (ja) * 2008-06-06 2009-12-17 Internatl Business Mach Corp <Ibm> 木構造のデータに対する集約計算を行うコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US7792844B2 (en) 2002-06-28 2010-09-07 Adobe Systems Incorporated Capturing and presenting site visitation path data
US8170993B2 (en) 2003-06-27 2012-05-01 Adobe Systems Incorporated Page grouping for site traffic analysis reports
WO2016031055A1 (ja) * 2014-08-29 2016-03-03 株式会社日立製作所 情報検索装置、情報検索方法、および情報検索プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10319990A (ja) * 1997-05-20 1998-12-04 Denso Corp 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体
US6771875B1 (en) 1998-09-03 2004-08-03 Ricoh Company Ltd. Recording medium with video index information recorded therein video information management method which uses the video index information recording medium with audio index information recorded therein audio information management method which uses the audio index information and a video retrieval system
US7277621B2 (en) 1998-09-03 2007-10-02 Information Broadcasting Laboratories, Inc. Recording medium with video index information recorded therein video information management method which uses the video index information, recording medium with audio index information recorded therein, audio information management method which uses the audio index information, video retrieval method which uses video index information, audio retrieval method which uses the audio index information and a video retrieval system
US7792844B2 (en) 2002-06-28 2010-09-07 Adobe Systems Incorporated Capturing and presenting site visitation path data
US8738609B2 (en) 2002-06-28 2014-05-27 Adobe Systems Incorporated Capturing and presenting site visitation path data
US9053215B2 (en) 2002-06-28 2015-06-09 Adobe Systems Incorporated Page grouping for site traffic analysis reports
US8170993B2 (en) 2003-06-27 2012-05-01 Adobe Systems Incorporated Page grouping for site traffic analysis reports
JP2009294967A (ja) * 2008-06-06 2009-12-17 Internatl Business Mach Corp <Ibm> 木構造のデータに対する集約計算を行うコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
WO2016031055A1 (ja) * 2014-08-29 2016-03-03 株式会社日立製作所 情報検索装置、情報検索方法、および情報検索プログラム

Similar Documents

Publication Publication Date Title
US7840524B2 (en) Method and apparatus for indexing, searching and displaying data
US5808615A (en) Process and system for mapping the relationship of the content of a collection of documents
US6446065B1 (en) Document retrieval assisting method and system for the same and document retrieval service using the same
US7007069B2 (en) Method and apparatus for clustering hierarchically related information
US7340674B2 (en) Method and apparatus for normalizing quoting styles in electronic mail messages
US7111253B2 (en) Method and apparatus for displaying hierarchical information
US7280957B2 (en) Method and apparatus for generating overview information for hierarchically related information
US7464096B2 (en) Method and apparatus for information mining and filtering
US20020165707A1 (en) Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers
EP1764710A1 (en) Layout generation method, information processing device, and program
US8983965B2 (en) Document rating calculation system, document rating calculation method and program
US20050081146A1 (en) Relation chart-creating program, relation chart-creating method, and relation chart-creating apparatus
WO2002027532A1 (en) System and method for use in text analysis of documents and records
US9575947B2 (en) System and method of automatically mapping a given annotator to an aggregate of given annotators
US5752016A (en) Method and apparatus for database interrogation using a user-defined table
US7107550B2 (en) Method and apparatus for segmenting hierarchical information for display purposes
JPH1185786A (ja) 文書検索方法、文書検索サービスおよび文書検索支援サービス
JPH07225770A (ja) データ検索装置
US20090019067A1 (en) Method, apparatus, and program for inserting node
RU2433467C1 (ru) Способ формирования структуры агрегированных данных и способ поиска данных посредством структуры агрегированных данных в системе управления базами данных
Ramesh et al. Variable-depth trie index optimization: Theory and experimental results
EP0466878B1 (en) Method and apparatus for graphical interrogation of a database
JP3578045B2 (ja) 全文検索方法及び装置及び全文検索プログラムを格納した記憶媒体
JP2001331490A (ja) 構造化文書格納装置、構造化文書検索装置、構造化文書格納検索装置及びプログラム並びにプログラム記録媒体
JPH1011469A (ja) 多段表処理方式