JP2002149702A - 木構造情報検索方法および装置 - Google Patents

木構造情報検索方法および装置

Info

Publication number
JP2002149702A
JP2002149702A JP2000340157A JP2000340157A JP2002149702A JP 2002149702 A JP2002149702 A JP 2002149702A JP 2000340157 A JP2000340157 A JP 2000340157A JP 2000340157 A JP2000340157 A JP 2000340157A JP 2002149702 A JP2002149702 A JP 2002149702A
Authority
JP
Japan
Prior art keywords
information
search
tree structure
node
searched
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
JP2000340157A
Other languages
English (en)
Inventor
Tadashi Ijuin
正 伊集院
Noriyasu Oikawa
典泰 及川
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.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2000340157A priority Critical patent/JP2002149702A/ja
Publication of JP2002149702A publication Critical patent/JP2002149702A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 本発明は、木構造情報を効率よく検索するこ
とを目的とする。 【解決手段】 木構造情報の検索を実行する前に、木の
節における複数の子の節を有する親の節に前記検索を高
速化するための情報を付与する前処理をおこなうと共
に、該前処理の結果に基づき検索命令に従って検索処理
をおこなうことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、入力された木構造
情報の中から予め設定された値と一致する値を有する木
の節を検索する木構造情報検索方法およびその装置に関
する。
【0002】
【従来の技術】従来の木構造情報検索方法では、木構造
を有する情報の中から利用者が与えた位置にある検索対
象となる複数の節の全てについて、これらを1つずつた
どってそこに含まれる情報の値と前記利用者が与えた検
索値が一致するかを検査し、一致した場合にその節の位
置情報を検査結果としていた。
【0003】
【発明が解決しようとする課題】しかしながら上述した
従来の木構造情報検索方法では、前記検索値が一致する
まで検索対象となる節を1つずつたどっていかなければ
ならない。そのため、検索時間は統計的にみて前記検索
対象となる節の数に略々比例してしまい、検索対象とな
る節の数が多い場合には実用に耐えないほどの時間にな
ってしまうという問題を有していた。
【0004】
【課題を解決するための手段】上記課題を解決するため
に請求項1記載の発明は、木構造情報の中から定められ
た検索命令記述方法によって記述された検索命令に従っ
て予め設定された値と一致する値を保有する木の節を検
索する木構造情報検索方法であって、前記検索を実行す
る前に前記木の節における複数の子の節を有する親の節
に前記検索を高速化するための情報を付与する前処理を
おこなうと共に、該前処理の結果に基づき前記検索命令
に従って検索処理をおこなうことを要旨とする。
【0005】本発明によれば、前処理をおこなって高速
化するための情報が得られるために従来に比べて検索時
間が短縮できる。
【0006】請求項2記載の発明は、木構造情報の中か
ら定められた検索命令記述方法によって記述された検索
命令に従って予め設定された値と一致する値を保有する
木の節を検索する木構造情報検索方法であって、前記検
索を実行する前に定められた情報識別方法によって記述
されたハッシュテーブル作成対象情報識別子が示す子の
節の中の情報の値と前記子の節の位置情報の値とからハ
ッシュテーブルを作成し、該ハッシュテーブルおよび前
記ハッシュテーブル作成対象情報識別子の中の前記子の
節と前記情報の名前の部分からなるハッシュテーブル作
成対象部分情報識別子を前記子の節に対応する親の節に
付与して新たな木構造情報を作成する前処理をおこなう
と共に、前記新たな木構造情報を前記検索命令に従って
検索処理をおこなうことを要旨とする。
【0007】本発明によれば、ハッシュテーブルを参照
して検索をおこなうことが可能となり従来に比べて検索
時間が大幅に短縮できる。
【0008】請求項3記載の発明は、上記請求項2に記
載の木構造情報検索方法において、前記情報識別方法が
前記木構造情報の根から目的の情報がある節まで節をた
どる経路に現れる前記節の名前を出現順に並べてその最
後に情報の名前を並べ、且つ前記経路の途中の節の子に
同じ名前の節が複数個ありこの中の1つの節を特定する
場合には、該節の名前の後に前記特定するための記号を
並べた情報識別子によって前記木構造情報中の節の中の
情報を識別することを要旨とする。
【0009】本発明によれば、節の名前の後に前記特定
するための記号を並べた情報識別子によって前記木構造
情報中の節の中の情報を識別することによって従来に比
べて前記検索命令の記述が容易になると共に、検索実行
時に検索対象木構造情報をその根の節から目的の情報が
ある節の親の節までたどるための処理量を減らすことに
よって検索時間を短縮できる。
【0010】請求項4記載の発明は、上記請求項1乃至
2の何れかに記載の木構造情報検索方法において、前記
検索命令記述方法が検索対象木構造情報を指定する情報
と最初の検索対象となる情報識別子と検索すべき値とか
らなり、検索された節の子孫の節に更に検索すべき情報
が含まれている場合には次に検索すべき対象を示す情報
識別子に根から検索された節までの節の名前を削除した
検索対象部分情報識別子と検索する値を追加し、更に前
記検索された節の子孫の節に検索すべき情報が含まれて
いる場合には前記検索対象部分情報識別子と前記検索す
る値を追加することを要旨とする。
【0011】本発明によれば、前記検索命令の記述が容
易になると共に検索命令を1つ1つの値の検索命令に分
解して、各々の検索命令を解釈実行するための処理量を
減らすことによって従来に比べて検索時間を短縮でき
る。
【0012】請求項5記載の発明は、上記請求項1乃至
2の何れかに記載の木構造情報検索方法において、前記
検索処理が前記検索命令中にある検索対象の木構造情報
を指定する情報が示す前記前処理された前記木構造情報
に対して、前記検索命令中の最初の検索対象情報識別子
をその先頭から名前の並んだ順番に取り出して同じ名前
の節を木構造情報の根からたどり、前記検索対象情報識
別子の最後の節の親の節にたどり着いたら前記前処理に
よって付与された前記ハッシュテーブル作成対象部分情
報識別子の各々と前記検索対象情報識別子の中の子の節
および名前の部分とを比較し、一致した場合はそのハッ
シュテーブルと前記検索命令中の最初の検索対象情報識
別子に対応した値から目的とする子の位置情報を求め、
何れとも一致しない場合かもしくは前記ハッシュテーブ
ル作成対象部分情報識別子が全く付与されていない場合
には前記検索対象情報識別子の中の子の節と同じ名前の
子の節をたどり、前記検索対象情報識別子の中の情報の
名前と同じ名前の子の節の情報の値が前記検索命令の中
の検索すべき値と一致する子の節を検索し、該子の節の
位置情報を求めることを要旨とする。
【0013】本発明によれば、容易に前記検索命令の中
の検索すべき値と一致する子の節を検索・発見すること
が可能となり、子の節の位置情報を確実且つ高速に求め
ることができる。
【0014】請求項6記載の本発明にあっては、所定の
検索命令記述方法によって記述された検索命令に従っ
て、与えられた木構造情報について、予め設定された値
と一致する値を保有する木の節を検索する木構造情報検
索装置であって、前記検索実行の前に前記木の節におけ
る複数の子の節を有する親の節に前記検索を高速化する
ための情報を付与する前処理手段と、この前処理手段に
よる前処理を基に検索処理をおこなう検索手段とを有す
ることを要旨とする。
【0015】本発明によれば、容易に前記検索命令の中
の検索すべき値と一致する子の節を検索・発見すること
が可能となり、子の節の位置情報を確実且つ高速に求め
ることができる。
【0016】請求項7記載の本発明にあっては、所定の
検索命令記述方法によって記述された検索命令に従っ
て、与えられた木構造情報について、予め設定された値
と一致する値を保有する木の節を検索する木構造情報検
索装置であって、前記検索の実行前に定められた情報識
別方法によって記述されたハッシュテーブル作成対象情
報識別子が示す子の節の中の情報の値と前記子の節の位
置情報の値とからハッシュテーブルを作成するハッシュ
テーブル作成手段と、このハッシュテーブル作成手段で
作成されたハッシュテーブルと前記ハッシュテーブル作
成対象情報識別子の中の前記子の節と前記情報の名前の
部分からなるハッシュテーブル作成対象部分情報識別子
とを前記子の節に対応する親の節に付与して新たな木構
造情報を作成する前処理手段と、この前処理手段で作成
された新たな木構造情報に対して検索処理をおこなう検
索手段とを有することを要旨とする。
【0017】本発明によれば、容易に前記検索命令の中
の検索すべき値と一致する子の節を検索・発見すること
が可能となり、子の節の位置情報を確実且つ高速に求め
ることができる。
【0018】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態について説明する。
【0019】図1は本発明の一実施の形態の木構造情報
検索方法に係る木構造情報検索装置の構成を示すブロッ
ク図である。図に示すように木構造情報検索装置は木構
造情報格納装置1と前処理装置2と検索処理装置3とか
ら構成される。尚、前処理装置2と検索処理装置3はメ
モリのプログラム部以外は物理的に同じ装置であっても
構わない。
【0020】また、木構造情報格納装置1は、木構造情
報11と前処理された木構造情報12とを格納するデー
タベースである。また、前処理装置2は制御装置21、
入力装置22、メモリ23および出力装置24により構
成され、検索処理装置3は制御装置31、入力装置3
2、メモリ33および出力装置34により構成される。
また、前処理装置2の入力装置22には前処理する木構
造情報のファイル指定25とハッシュテーブル作成対象
情報識別子26が入力され、出力装置24からは前処理
結果27が出力される。また、検索処理装置3の入力装
置32には検索命令35が入力され、出力装置34から
は検査結果の節の位置情報36が出力される。
【0021】つぎに、上述した各装置の構成をさらに詳
細に説明する。
【0022】まず、木構造情報検索装置1について説明
する。
【0023】木構造情報検索装置1はこれから前処理す
る木構造情報11および前処理された木構造情報12を
格納するためのものであり、例えばハードディスク装置
のような大容量の読み書きが可能な記憶装置などからな
る。ここで1つの木構造情報は1つのファイルとして格
納されている。
【0024】図2は前処理されていない木構造情報の構
成要素である節の格納形式を示す構成図であり、1つの
節はこの節を識別するための名前を格納する名前部1
a、情報を格納する情報部1b、この節の兄弟の節を指
すアドレスなどの位置情報を格納する兄弟部1cおよび
この節の子の節を指すアドレスなどの位置情報を格納す
る子部1dから構成される。尚、情報部1bは複数存在
しても良く、その場合は各々の情報部は名前によって識
別される。
【0025】図3は前処理されていない木構造情報の情
報の格納形式を示す構成図であり、1つの木構造情報は
複数の節から構成され、最初の節11aは「根(roo
t)」と呼ばれる特別な節であって、木構造情報の全て
の節は根から兄弟部1cまたは子部1dの位置情報が指
す「節(node)」を次々とたどることによって到達
することができる。尚、兄弟部1cまたは子部1dなど
の位置情報がどの節をも示さない場合は“null”と
表示し、通常は数字の“0”が記入される。
【0026】ここで図3の名前Bの節11cの中の情報
B1(11c1〜11c10)を示す情報識別子の例は
“/A/B@ B1”と表すことができ、名前Eの節11
fの中の情報E1(11f1〜11f12)を示す情報
識別子の例は“/A/B[2]/D/E@ E1”と表す
ことができ、名前Gの節11hの中の情報G1(11h
1〜11h28)を示す情報識別子の例は“/A/B
[2]/D/E[2]/F/G@ G1”と表すことがで
きる。
【0027】図4は木構造情報検索装置の新たな木構造
情報としての前処理された木構造情報にハッシュテーブ
ル部1eを付与された節の格納形式を示す構成図であっ
て、前処理される以前の子部1dの後にハッシュテーブ
ル作成対象部分情報識別子1e1aとハッシュテーブル
1e1bの組が付与される。この組は図4のように複数
有ってもよい。
【0028】次に、前処理装置2について説明する。
【0029】制御装置21は例えばCPU(Central Pr
ocessing Unit )などから構成されるもので、入力装置
22、出力装置24、木構造情報格納装置1およびメモ
リ23とバスラインなどを経由して接続されており、各
装置の制御やデータ処理および装置間のデータの転送な
どをおこなうものである。
【0030】入力装置22は前処理する木構造情報を指
定する情報25とハッシュテーブル作成対象情報識別子
26を入力する装置であり、キーボードとマウスおよび
これらを制御する装置などで構成されている。
【0031】メモリ23は例えばROM(Read Only Me
mory)およびRAM(Random Access Memory)からな
り、図5に示すように制御装置21が各種制御や処理を
実行するためのプログラムを格納するROMまたはRA
Mからなるプログラム部23aと処理の際に必要なデー
タをバッファさせるRAMからなるデータバッファ部2
3bとから構成され、更にプログラム部23aはメイン
処理部23a1、初期化部23a2、前処理対象入力部
23a3、木構造情報操作部23a4およびハッシュテ
ーブル操作部23a5から構成されている。
【0032】また、出力装置24は入力装置22によっ
て入力された情報や前処理が成功したか否かなどの表示
をおこなう装置であり、例えばCRTディスプレイおよ
びこれを制御する装置などで構成されている。
【0033】次に、本実施形態における動作について説
明する。
【0034】メモリ23を構成するプログラム部23a
のメイン処理部23a1は、前処理装置2全体の処理の
制御をおこなうものであり、プログラムの分岐、初期化
部23a2以下の各モジュールの呼び出し(起動)など
をおこなう。
【0035】初期化部23a2は各ハードウェア装置の
初期設定およびデータバッファ部23bの初期化をおこ
なう。バッファの初期化では、位置情報を格納するバッ
ファの内容は“null”にする。以降、同様とする。
【0036】前処理対象入力部23a3は入力装置22
を介して利用者に前処理する木構造情報が格納されたフ
ァイルの指定25およびハッシュテーブル作成対象情報
識別子26を入力させ、それぞれを前処理木構造情報フ
ァイル名バッファ23b1とハッシュテーブル作成対象
情報識別子バッファ23b2に格納する。次に木構造情
報操作部23a4のファイル入力手続きを起動して、木
構造情報格納装置1から前処理木構造情報ファイル名バ
ッファ23b1に格納されたファイル名の木構造情報を
読み出して木構造情報バッファ23b3に格納する。
【0037】木構造情報操作部23a4は木構造情報に
対して種々の操作を提供するものであり、ファイル入力
手続き、アクセス手続き、情報追加手続き、ファイル出
力手続きがある。ファイル入力手続きは与えられた名前
のファイルを読み込んでファイル内の木構造情報をメモ
リ23上に展開し、その根の位置情報を指定されたバッ
ファに格納すると共にその他の手続きを起動できるよう
にする。アクセス手続きは与えられた位置情報の節の
親、子、兄弟などの節の位置情報を返すと共に与えられ
た位置情報の節の与えられた名前の情報の値を返す。情
報追加手続きは与えられた位置情報の節に与えられた情
報を追加する。ファイル出力手続きは与えられたメモリ
23上の木構造情報を与えられた名前のファイルに出力
する。
【0038】ハッシュテーブル操作部23a5はハッシ
ュテーブルに対して種々の操作を提供するものであり、
初期化手続き、エントリ作成手続き、アクセス手続きが
ある。初期化手続きはエントリがない空の新たなハッシ
ュテーブルを作成しエントリ作成手続きを起動できるよ
うにする。エントリ作成手続きは、与えられた1つのキ
ーを与えられた1つの値にハッシュ関数を利用してマッ
プするエントリをハッシュテーブルに1つ作成する。ア
クセス手続きは与えられたハッシュテーブルから与えら
れた値と同じキー値を有するエントリをハッシュ関数を
利用して求めてそれにマップされた値を返す。
【0039】上記前処理装置2の処理全体の制御はメイ
ン処理部23a1がおこなっており、その具体的な処理
動作を図6のフローチャートを用いて説明する。
【0040】ステップP1ではまず初期化部23a2を
起動し、且つ入力装置21と出力装置24の初期設定な
どをおこなう。
【0041】ステップP2では前処理対象入力部23a
3を起動し1つの前処理をする木構造情報25および1
つ以上のハッシュテーブル作成対象情報識別子26を入
力させる。
【0042】ステップP3ではハッシュテーブル作成対
象情報識別子バッファ23b2の中にまだ未処理のハッ
シュテーブル作成対象情報識別子があるかを検査し、あ
る場合にはステップP4に進み、無い場合にはステップ
P8に進む。
【0043】ステップP4ではハッシュテーブル作成対
象情報識別子バッファ23b2の中のまだ未処理の1つ
のハッシュテーブル作成対象情報識別子について木構造
情報操作部23a4のアクセス手続きを利用して、根の
節からその中の節の名前の並びの最後から1つ前の節の
名前、すなわちハッシュテーブル作成対象情報識別子が
示す節の親の節までたどり、その節の位置情報を親の節
の位置情報バッファ23b4に書き込み、更にそこから
ハッシュテーブル作成対象情報識別子が示す節までたど
り、その節の位置情報を子の節の位置情報バッファ23
b5に書き込む。次にハッシュテーブル操作部23a5
の初期化手続きを起動してハッシュテーブルを作成する
準備をする。図3の例ではハッシュテーブル作成対象情
報識別子“/A/B@B1”,“/A/B[2]/D/
E@E1”,“/A/B[2]/D/E[2]/F/G
@G1”の各々について親の節の位置情報バッファ23
b4と子の節の位置情報バッファ23b5に書き込まれ
る位置情報はそれぞれ図3の11bと11c、11eと
11f、11gと11hの位置情報である。
【0044】ステップP5では子の節の位置情報バッフ
ァ23b5を読み出してその位置情報が“null”で
なければステップP6に進み、“null”であればス
テップP7進む。
【0045】ステップP6では子の節の位置情報バッフ
ァ23b5から位置情報を読み出し、その位置情報が指
す節の中のハッシュテーブル作成対象情報識別子が示す
情報を木構造情報操作部23a4のアクセス手続きを利
用して読み出し、その情報をキーにし、その位置情報を
値としてハッシュテーブル操作部23a5のエントリ作
成手続きを起動してハッシュテーブルに新たなエントリ
を作成する。図3の例ではハッシュテーブル作成対象情
報識別子が“/A/B@B1”であり、子の節の位置情
報バッファ23b5の中の位置情報が指す節が11cで
あれば11c1の情報である“1991”をキーにし、
11cの位置情報を値としてハッシュテーブル操作部2
3a5のエントリ作成手続きを起動する。次に木構造情
報操作部23a4のアクセス手続きを利用してその節の
兄弟の節の位置情報を読み出して子の節の位置情報バッ
ファ23b5へ書き込んでステップP5に進む。
【0046】ステップP7では親の節の位置情報バッフ
ァ23b4から位置情報を読み出して、それが指す節に
ハッシュテーブル作成対象情報識別子の中の子の節およ
び情報の名前の部分からなるハッシュテーブル作成対象
部分情報識別子と作成したハッシュテーブルを木構造情
報操作部23a4の情報追加手続きを起動して追加す
る。既に別のハッシュテーブル作成対象部分情報識別子
とハッシュテーブルが追加されていればその後に追加す
る。図3の例ではハッシュテーブル作成対象情報識別子
が“/A/B@B1”であれば11bの節にハッシュテ
ーブル作成対象部分情報識別子“B@B1”とハッシュ
テーブルを付与しステップP3に進む。
【0047】ステップP8では前処理木構造ファイル名
バッファ23b1からファイル名を読み出し、それに前
処理済みであることを示す文字列を付与して新たなファ
イル名を作成し、木構造情報操作部23a4のファイル
出力手続きを起動して、木構造情報格納装置1へそのフ
ァイル名で木構造情報バッファ23b3の中の前処理さ
れた木構造情報を出力する。そして出力装置24に前処
理が終了したことを示すメッセージを出力して処理動作
を終了する。
【0048】また、出力装置24は入力装置22によっ
て入力された情報や前処理が成功したか否かなどの表示
をおこなう装置であり、例えばCRTディスプレイおよ
びこれを制御する装置などで構成されている。
【0049】一方、検索処理装置3は制御装置31、入
力装置32、メモリ33、出力装置34とから構成され
る。入力装置32は検索命令35を入力する装置で、キ
ーボードとマウスおよびこれらを制御する装置やネット
ワークを通じて検索命令35を入力するための通信装置
などで構成される。
【0050】検索命令35の実施例を図7に示す。この
場合、検索命令35は文字列からなり、検索対象の木構
造情報を指定する木構造情報指定部35aと検索対象と
する情報識別子と検索すべき値を指定する検索対象情報
部35bとからなる。
【0051】木構造情報指定部35aの文字列は図7の
例で示せばドメイン名aaaaa.co.jpのサーバ名www上
のファイルsample.xmlを指定している。検索対象情報部
35bは検索対象情報識別子35b1aと検査すべき値
35b1bの組からなる。
【0052】検索された節の子孫の節に、更に検索すべ
き情報が含まれている場合は、次に検索すべき情報を示
す情報識別子から、根から検索された節までの節の名前
を削除した検索対象部分情報識別子35b2aと検索す
べき値35b2bを追加する。更に検索された節の子孫
の節に検索すべき情報が含まれている場合は、同様にし
て索対象部分情報識別子35b3aと検索すべき値35
b3bを追加する。
【0053】図7の例では図3の木構造情報について、
検索対象の情報は11c2が含まれる節で、且つその子
孫の節の11f2が含まれる節で、且つその子孫の節の
11h2である。
【0054】出力装置34は入力装置32によって入力
された情報、検索結果などの表示や出力をおこなう装置
で、例えばCRTディスプレイとこれを制御する装置や
ネットワークを通じて出力するための通信装置などから
構成される。
【0055】制御装置31は例えばCPUなどからなる
もので、入力装置32、出力装置34、木構造情報格納
装置1およびメモリ33とデータバスなどで接続されて
おり、各装置の制御や装置間のデータの転送などの制御
や処理をおこなうものである。メモリ33は例えばRO
MとダイナミックRAMから構成され、図8に示すよう
に制御装置31が各種制御や処理を実行するためのプロ
グラムを格納するプログラム部33aと処理の際に必要
なデータをバッファするバッファ部33bとから構成さ
れている。
【0056】更にプログラム部33aはメイン処理部3
3a1、初期化部33a2、検索命令入力部33a3、
木構造情報操作部33a4、ハッシュテーブル操作部3
3a5からなっている。メイン処理部33a1は検索処
理装置3全体の処理の制御をおこなうものであり、プロ
グラムの分岐、初期化部以下の各モジュールの呼び出し
(起動)などをおこなう。初期化部33a2は各ハード
ウェア装置の初期設定およびデータバッファ部33bを
構成する各バッファの内容を初期化する。
【0057】検索命令入力部33a3は、入力装置32
を介して新たな検索命令35が入力されているかを検査
する。新たな検査命令35が入力されていなければ入力
されるまで待つと共に新たな検査命令35が入力されて
いれば検査命令35の木構造情報指定部35aから木構
造情報が格納されたファイルの名前を取り出して木構造
情報ファイル名バッファ33b1に格納し、それから木
構造情報操作部33a4のファイル入力手続きを起動し
て木構造情報格納装置1からそのファイル名の前処理さ
れた木構造情報を読み出して木構造情報バッファ33b
2に格納し、根の位置情報を追加探索起点位置情報バッ
ファ33b51に格納する。次に検索命令35の検索対
象情報部35bから検索対象部分情報識別子35bia
(iは1以上、且つ前記検索命令35の中にある検索対
象部分情報識別子の個数以下の整数)と検索すべき値3
5bibの組を取り出して検索対象情報識別子バッファ
33b3iaと検索すべき値バッファ33b3ibに格
納する。木構造情報操作部33a4は木構造情報に対し
て種々の操作を提供するものであり、木構造情報操作部
23a4と同等である。また、ハッシュテーブル操作部
33a5はハッシュテーブルに対して種々の操作を提供
するものであり、ハッシュテーブル操作部23a5と同
等である。
【0058】上記構成の検索処理装置3の処理全体の制
御はメイン処理部33a1でおこなっており、その具体
的な処理動作を図9の処理の流れを示すフローチャート
に従って説明する。
【0059】ステップS1ではまず初期化部33a2を
起動させる。また、入力装置32と出力装置34の初期
設定などをおこなう。
【0060】ステップS2では検索命令入力部33a3
を起動し、1つの検索命令35を入力する。
【0061】ステップS3では検索対象情報バッファ3
3b3の中にステップS4以降の処理をおこなっていな
い検索対象部分情報識別子33bjaが存在するかをj
=1から順に調べ、存在する場合には、最初に見つかっ
た前記検索対象部分情報識別子を33b3αaとし、探
索起点位置情報バッファ配列33b4に追加探索起点位
置情報バッファ配列33b5にある全ての探索起点位置
情報をコピーし、追加探索起点位置情報バッファ配列3
3b5を初期化してステップS4に進む。また、存在し
ない場合はステップS10に進む。
【0062】ステップS4では探索起点位置情報バッフ
ァ配列33b4の中にその位置情報の値が“null”
でなく、且つステップS5以降の処理をおこなっていな
い探索起点位置情報バッファ33b4kがあるかをk=
1から順に調べ、ある場合には最初に見つかった前記探
索起点位置情報バッファを33b4βとしてステップS
5に進み、無い場合はステップS3に進む。
【0063】ステップS5では検索対象情報識別子バッ
ファ33b3αaから検索対象部分情報識別子35bα
aを取り出し、木構造情報操作部33a4のアクセス手
続きを利用して探索起点位置情報バッファ33b4βの
位置情報が指す節を起点として検索対象部分情報識別子
35bαaの中の最初の名前の節から、最後から1つ前
の名前の節、即ち検索対象部分情報識別子35bαaが
示す子の節の親の節までたどり、その節の位置情報を親
の節位置情報バッファ33b6に書き込むと共に検索対
象部分情報識別子35bαaの中の最後の節の名前以降
の部分を取り出して子の節識別子バッファ33b7に書
き込む。
【0064】ステップS6では親の節位置情報バッファ
33b6の位置情報が指す節にハッシュテーブル部1e
があるかを調べ、あればステップS7に進み、無ければ
ステップS9に進む。
【0065】ステップS7では親の節位置情報バッファ
33b6の位置情報が指す節のハッシュテーブル部1e
にあるハッシュテーブル作成対象部分情報識別子の中
で、子の節識別子バッファ33b7にある部分情報識別
子と一致するハッシュテーブル作成対象部分情報識別子
があるかを調べ、ある場合はその一致するハッシュテー
ブル作成対象部分情報識別子と組を成すハッシュテーブ
ルを1eγbとしてステップS8に進み、無い場合はス
テップS9に進む。
【0066】ステップS8では、ハッシュテーブル1e
γbと検索すべき値バッファ33b3αbにある検索す
べき値を与えてハッシュテーブル操作部33a5のアク
セス手続きを起動し、1つまたは複数の位置情報が得ら
れた場合はそれらの位置情報を、追加探索起点位置情報
バッファ配列33b5の中を先頭から探して最初に見つ
かった値が“null”の追加探索起点位置情報バッフ
ァから順次書き込み、ステップS4に進む。位置情報が
得られ無い場合はステップS4に進む。
【0067】ステップS9では親の節位置情報バッファ
33b6にある位置情報が指す節の子の節で、子の節識
別子バッファ33b7にある部分情報識別子の中の節の
名前と同じ名前の節をたどり、その節の、子の節識別子
バッファ33b7にある部分情報識別子の中の情報の名
前と同じ名前の情報の値が検索すべき値バッファ33b
3αbと一致すれば、その都度その節の位置情報を追加
探索起点位置情報バッファ配列33b5の中を先頭から
探して最初に見つかった値が“null”の追加探索起
点位置情報バッファに書き込み、全ての同じ名前の節を
たどり終えたときはステップS4に進む。そして全く一
致するものがないときはステップS4に進む。
【0068】ステップS10では、追加探索起点位置情
報バッファ配列33b5の中の“null”ではない位
置情報を探し、“null”ではない位置情報がある場
合はそれらを、無い場合には“null”を検索結果と
して出力装置34を介して出力し、処理動作を終了す
る。
【0069】以上のことから、本実施の形態の木構造情
報検索方法では検索途中に遭遇する親の節の全てで情報
検索用ハッシュテーブルを利用することができるときに
は、検索時間を検索対象の子の節の数に関係なく略々一
定にすることができ、木構造情報の検索において特に効
率を高めることが可能である。
【0070】尚、本発明における木構造情報検索方法
は、上述した実施の形態に限定されるものではなく、特
許請求の範囲に記載された内容に基づいて実施できるも
のである。
【0071】このような木構造情報検索は木構造情報検
索プログラムにより実現され、該プログラムは記録媒体
に記録して提供することが可能であり、そのため該記録
媒体を利用して、そのプログラムの流通性を高めること
ができる。
【0072】
【発明の効果】以上説明したように、本発明の木構造情
報検索方法では、木構造情報の検索において従来の方法
では得られなかった効率のよい検索をおこなうことがで
きる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の構成を示すブロック図であ
る。
【図2】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の前処理されていない木構造情
報の構成要素である節の格納形式を示す構成図である。
【図3】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の前処理されていない木構造情
報の情報の格納形式を示す構成図である。
【図4】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の前処理された木構造情報のハ
ッシュテーブルを付与された節の格納形式を示す構成図
である。
【図5】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の前処理装置におけるメモリの
記憶内容を示す構成図である。
【図6】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の前処理の流れの概略を示すフ
ローチャートである。
【図7】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の検査命令の内容を示す構成図
である。
【図8】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の検索処理装置におけるメモリ
の記憶内容を示す構成図である。
【図9】本発明の一実施の形態の木構造情報検索方法に
係る木構造情報検索装置の検索処理の流れの概略を示す
フローチャートである。
【符号の説明】
1 木構造情報格納装置 2 前処理装置 3 検索処理装置 11 木構造情報 12 前処理された木構造情報 21,31 制御装置 22,32 入力装置 23,33 メモリ 24,34 出力装置 25 前処理する木構造情報のファイル指定 26 ハッシュテーブル作成対象情報識別子 27 前処理結果 35 検索命令 36 検査結果の節の位置情報
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B075 ND35 NK45 NK54 PP02 PP03 PQ02 5B082 EA01 GA20

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 所定の検索命令記述方法によって記述さ
    れた検索命令に従って、与えられた木構造情報につい
    て、予め設定された値と一致する値を保有する木の節を
    検索する木構造情報検索方法であって、 前記検索の実行前に前記木の節に適宜前記検索を高速化
    するための情報を付与する前処理をおこない、この前処
    理を基に検索処理をおこなうことを特徴とする木構造情
    報検索方法。
  2. 【請求項2】 所定の検索命令記述方法によって記述さ
    れた検索命令に従って、与えられた木構造情報につい
    て、予め設定された値と一致する値を保有する木の節を
    検索する木構造情報検索方法であって、 前記検索の実行前に定められた情報識別方法によって記
    述されたハッシュテーブル作成対象情報識別子が示す子
    の節の中の情報の値と前記子の節の位置情報の値とから
    ハッシュテーブルを作成し、 この作成されたハッシュテーブルと前記ハッシュテーブ
    ル作成対象情報識別子の中の前記子の節と前記情報の名
    前の部分からなるハッシュテーブル作成対象部分情報識
    別子とを前記子の節に対応する親の節に付与して新たな
    木構造情報を作成する前処理をおこない、 前記検索命令の入力により前記前処理で作成された新た
    な木構造情報に対して検索処理をおこなうことを特徴と
    する木構造情報検索方法。
  3. 【請求項3】 前記情報識別方法は、前記木構造情報の
    根から目的の情報がある節まで節をたどる経路に現れる
    前記節の名前を出現順に並べてその最後に情報の名前を
    並べ、且つ前記経路の途中の節の子に同じ名前の節が複
    数個ありこの中の1つの節を特定する場合には、該節の
    名前の後に前記特定するための記号を並べた情報識別子
    によって前記木構造情報中の節の中の情報を識別するこ
    とを特徴とする請求項2に記載の木構造情報検索方法。
  4. 【請求項4】 前記検索命令記述方法は、検索対象木構
    造情報を指定する情報と最初の検索対象となる情報識別
    子と検索すべき値とからなり、検索された節の子孫の節
    に更に検索すべき情報が含まれている場合には、次に検
    索すべき対象を示す情報識別子から検索された節までの
    節の名前を削除した検索対象部分情報識別子と検索する
    値を追加し、更に前記検索された節の子孫の節に検索す
    べき情報が含まれている場合には前記索対象部分情報識
    別子と前記検索する値を追加し、検索された節の子孫の
    節に検索すべき情報が含まれなくなるまで検索対象部分
    情報識別子と検索する値を追加していくことを特徴とす
    る請求項1乃至2の何れかに記載の木構造情報検索方
    法。
  5. 【請求項5】 前記検索処理は、前記検索命令中にある
    検索対象の木構造情報を指定する情報が示す前記前処理
    された前記木構造情報に対して、前記検索命令中の最初
    の検索対象情報識別子をその先頭から名前の並んだ順番
    に取り出して同じ名前の節を木構造情報の根からたど
    り、前記検索対象情報識別子の最後の節の親の節にたど
    り着いたら前記前処理によって付与された前記ハッシュ
    テーブル作成対象部分情報識別子の各々と前記検索対象
    情報識別子の中の子の節および名前の部分とを比較し、
    一致した場合はそのハッシュテーブルと前記検索命令中
    の最初の検索対象情報識別子に対応した値から目的とす
    る子の位置情報を求め、何れとも一致しない場合かもし
    くは前記ハッシュテーブル作成対象部分情報識別子が全
    く付与されていない場合には前記検索対象情報識別子の
    中の子の節と同じ名前の子の節をたどり、前記検索対象
    情報識別子の中の情報の名前と同じ名前の子の節の情報
    の値が前記検索命令の中の検索すべき値と一致する子の
    節を検索し、該子の節の位置情報を求めることを特徴と
    する請求項1乃至2の何れかに記載の木構造情報検索方
    法。
  6. 【請求項6】 所定の検索命令記述方法によって記述さ
    れた検索命令に従って、与えられた木構造情報につい
    て、予め設定された値と一致する値を保有する木の節を
    検索する木構造情報検索装置であって、 前記検索実行の前に前記木の節における複数の子の節を
    有する親の節に前記検索を高速化するための情報を付与
    する前処理手段と、 この前処理手段による前処理を基に検索処理をおこなう
    検索手段とを有することを特徴とする木構造情報検索装
    置。
  7. 【請求項7】 所定の検索命令記述方法によって記述さ
    れた検索命令に従って、与えられた木構造情報につい
    て、予め設定された値と一致する値を保有する木の節を
    検索する木構造情報検索装置であって、 前記検索の実行前に定められた情報識別方法によって記
    述されたハッシュテーブル作成対象情報識別子が示す子
    の節の中の情報の値と前記子の節の位置情報の値とから
    ハッシュテーブルを作成するハッシュテーブル作成手段
    と、 このハッシュテーブル作成手段で作成されたハッシュテ
    ーブルと前記ハッシュテーブル作成対象情報識別子の中
    の前記子の節と前記情報の名前の部分からなるハッシュ
    テーブル作成対象部分情報識別子とを前記子の節に対応
    する親の節に付与して新たな木構造情報を作成する前処
    理手段と、 この前処理手段で作成された新たな木構造情報に対して
    検索処理をおこなう検索手段とを有することを特徴とす
    る木構造情報検索装置。
JP2000340157A 2000-11-08 2000-11-08 木構造情報検索方法および装置 Pending JP2002149702A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000340157A JP2002149702A (ja) 2000-11-08 2000-11-08 木構造情報検索方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000340157A JP2002149702A (ja) 2000-11-08 2000-11-08 木構造情報検索方法および装置

Publications (1)

Publication Number Publication Date
JP2002149702A true JP2002149702A (ja) 2002-05-24

Family

ID=18815116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000340157A Pending JP2002149702A (ja) 2000-11-08 2000-11-08 木構造情報検索方法および装置

Country Status (1)

Country Link
JP (1) JP2002149702A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005006192A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 構造化文書処理方法及び装置並びに記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005006192A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 構造化文書処理方法及び装置並びに記憶媒体

Similar Documents

Publication Publication Date Title
JP2670383B2 (ja) 部分キー分岐機能を備えたプレフィックス探索ツリー
JPH1078959A (ja) エッジデータ構造を統一する方法
KR20050020927A (ko) 구조화 문서의 데이터를 검색하는 장치 및 방법
CN116028653B (zh) 一种可视化配置多源异构数据构建图谱的方法及系统
CN112970011A (zh) 记录查询优化中的谱系
JPH01191270A (ja) 図形編集装置
JP2003242179A (ja) 文字列照合方法、これを用いた文書処理装置及びプログラム
CN114676155A (zh) 代码提示信息的确定方法、数据集的确定方法及电子设备
KR101835994B1 (ko) 키워드 맵을 이용한 전자책 검색 서비스 제공 방법 및 장치
JP2002149702A (ja) 木構造情報検索方法および装置
JP2962287B2 (ja) 構造化文書検索装置及びプログラムを記録した機械読み取り可能な記録媒体
JPH08190571A (ja) 文書検索方法
JP3395362B2 (ja) 文書処理装置
WO2023223424A1 (ja) ドキュメント生成装置、プログラム及びドキュメント生成方法
JPH0844718A (ja) 文書処理装置
JPH07200622A (ja) 情報管理システム
JPH09305619A (ja) 階層インデックス検索装置、及び文書検索方法
JPH11161666A (ja) ドキュメントデータ検索方法および装置、並びにドキュメント編集装置
JPH05143304A (ja) 整合性検査方式
JP2003296368A (ja) データベース探索装置および探索方法ならびに記憶媒体、プログラム
CN116303455A (zh) 一种基于map的通用树形结构数据搜索方法与系统
JP2002056041A (ja) ハードウェア記述言語階層情報反映方法
JP2004341770A (ja) データ管理システム及びデータ管理方法
JPH01286020A (ja) プログラム検索方式
CN113868328A (zh) 一种可视化数据结构化方法、系统及应用

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040220

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040629