(57)【要約】【課題】木構造を構成する各ノードを区間として表現する場合におけるノード検索の効率性や利便性を向上させる。【解決手段】ノード（Ｂ）の子ノード（Ｃ）の対応区間（Ｉ（Ｃ））及びノード（Ｂ）の孫ノード（Ｄ）の対応区間（Ｉ（Ｄ））は、ノード（Ｂ）の対応区間（Ｉ（Ｂ））を写像関数（Ｆ）で写像してなる写像区間（Ｍ（Ｂ））に含まれる。ここにおいて、対応区間（Ｉ（Ｃ））は、写像区間（Ｍ（Ｂ））に所定の分割基準を適用して得られるインデックス区間（Ｍ１（Ｂ））に含まれ、対応区間（Ｉ（Ｄ））は、写像区間（Ｍ（Ｂ））に上記分割基準を適用して得られる入れ子区間（Ｍ２（Ｂ））に含まれる。なお、上記分割基準は、任意の区間から当該区間の一部区間である第１区間及び第２区間を得るための基準であり、写像関数（Ｆ）は、上記第１区間内の区間を上記第２区間内の区間へと写像する関数である。【選択図】図５
2013025778.tif 000002
【特許請求の範囲】
【請求項１】
木構造を構成する各ノードの対応区間を設定する設定手段を含み、
前記設定手段は、
ルートノードの子ノードの対応区間を、任意の区間の一部の区間である第１区間と当該任意の区間の一部の区間であって当該第１区間と重複部分を持たない区間である第２区間とを得るための基準を前記ルートノードの対応区間に適用して得られる前記第１区間である第１ルート区間、の中に設定する第１設定手段と、
前記ルートノードの孫ノード以降のノードの対応区間を、前記基準を前記ルートノードの対応区間に適用して得られる前記第２区間である第２ルート区間の中に設定する第２設定手段と、を含み、
前記第２設定手段は、
前記ルートノードの孫ノード以降のノードの対応区間を、任意の区間に前記基準を適用して得られる前記第１区間の中の区間を当該任意の区間に前記基準を適用して得られる前記第２区間の中の区間へと写像する写像関数、を用いて当該ノードの親ノードの対応区間を写像してなる写像区間、に前記基準を適用して得られる前記第１区間である第１写像区間の中に設定すること、
を特徴とする情報処理装置。
【請求項２】
木構造を構成する各ノードの対応区間を設定する設定手段としてコンピュータを機能させ、
前記設定手段は、
ルートノードの子ノードの対応区間を、任意の区間の一部の区間である第１区間と当該任意の区間の一部の区間であって当該第１区間と重複部分を持たない区間である第２区間とを得るための基準を前記ルートノードの対応区間に適用して得られる前記第１区間である第１ルート区間、の中に設定する第１設定手段と、
前記ルートノードの孫ノード以降のノードの対応区間を、前記基準を前記ルートノードの対応区間に適用して得られる前記第２区間である第２ルート区間の中に設定する第２設定手段と、を含み、
前記第２設定手段は、
前記ルートノードの孫ノード以降のノードの対応区間を、任意の区間に前記基準を適用して得られる前記第１区間の中の区間を当該任意の区間に前記基準を適用して得られる前記第２区間の中の区間へと写像する写像関数、を用いて当該ノードの親ノードの対応区間を写像してなる写像区間、に前記基準を適用して得られる前記第１区間である第１写像区間の中に設定すること、
を特徴とするプログラム。
【請求項３】
木構造を構成する各ノードの対応区間を含むデータのデータ構造であって、
ルートノードの子ノードの対応区間は、任意の区間の一部の区間である第１区間と当該任意の区間の一部の区間であって当該第１区間と重複部分を持たない区間である第２区間とを得るための基準、を前記ルートノードの対応区間に適用して得られる前記第１区間である第１ルート区間に含まれ、
前記ルートノードの孫ノード以降のノードの対応区間は、前記基準を前記ルートノードの対応区間に適用して得られる前記第２区間である第２ルート区間に含まれ、
前記ルートノードの子孫ノードのうちの第１の子孫ノードが、前記ルートノードの子孫ノードのうちの第２の子孫ノードの子孫である場合、任意の区間に前記基準を適用して得られる前記第１区間の中の区間を当該任意の区間に前記基準を適用して得られる前記第２区間の中の区間へと写像する写像関数、を用いて前記第２の子孫ノードの対応区間を写像してなる写像区間、に含まれ、
前記第１の子孫ノードが前記第２の子孫ノードの子ノードである場合、前記第１の子孫ノードの対応区間は、前記写像区間に前記基準を適用して得られる前記第１区間である第１写像区間に含まれ、前記第１の子孫ノードが前記第２の子孫ノードの孫以降のノードである場合、前記第１の子孫ノードの対応区間は、前記写像区間に前記基準を適用して得られる前記第２区間である第２写像区間に含まれること、
を特徴とするデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、及びデータのデータ構造に関する。
【背景技術】
【０００２】
下記非特許文献１には、木構造を構成する各ノードを区間として表現する手法である入れ子区間モデルが記載されている。入れ子区間モデルでは、どのノードにおいても、そのノードの区間が、そのノードの先祖ノードの区間に包含される。
【０００３】
下記非特許文献１では、二つのノードのうちの一方が他方の子孫ノードに当たるかどうかの当否は両ノードの包含関係により判別される。また、二つのノードのうちの一方が他方の子ノードで当たるかどうかの当否は、両ノードの包含関係と、さらに両ノードの間における別のノードの有無と、により判別される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ミック、“ＳＱＬアタマアカデミー  第６回  ＳＱＬで木構造を扱う〜入れ子区間モデル”、［ｏｎｌｉｎｅ］、２００９年１１月３０日、技術評論社、［平成２３年５月３０日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐ：／／ｇｉｈｙｏ．ｊｐ／ｄｅｖ／ｓｅｒｉａｌ／０１／ｓｑｌ＿ａｃａｄｅｍｙ２／０００６０１＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、木構造を構成する各ノードを区間として表現する場合におけるノード検索の効率性や利便性をより向上させることである。
【課題を解決するための手段】
【０００６】
上記課題を解決するための請求項１の発明は、木構造を構成する各ノードの対応区間を設定する設定手段を含み、前記設定手段は、ルートノードの子ノードの対応区間を、「「任意の区間の一部の区間である第１区間と当該任意の区間の一部の区間であって当該第１区間と重複部分を持たない区間である第２区間とを得るための基準」を前記ルートノードの対応区間に適用して得られる前記第１区間である第１ルート区間」、の中に設定する第１設定手段と、前記ルートノードの孫ノード以降のノードの対応区間を、「前記基準を前記ルートノードの対応区間に適用して得られる前記第２区間である第２ルート区間」の中に設定する第２設定手段と、を含み、前記第２設定手段は、前記ルートノードの孫ノード以降のノードの対応区間を、「「「任意の区間に前記基準を適用して得られる前記第１区間の中の区間を当該任意の区間に前記基準を適用して得られる前記第２区間の中の区間へと写像する写像関数」、を用いて当該ノードの親ノードの対応区間を写像してなる写像区間」、に前記基準を適用して得られる前記第１区間である第１写像区間」の中に設定すること、を特徴とする情報処理装置である。
【０００７】
上記課題を解決するための請求項２の発明は、木構造を構成する各ノードの対応区間を設定する設定手段としてコンピュータを機能させ、前記設定手段は、ルートノードの子ノードの対応区間を、「「任意の区間の一部の区間である第１区間と当該任意の区間の一部の区間であって当該第１区間と重複部分を持たない区間である第２区間とを得るための基準」を前記ルートノードの対応区間に適用して得られる前記第１区間である第１ルート区間」、の中に設定する第１設定手段と、前記ルートノードの孫ノード以降のノードの対応区間を、「前記基準を前記ルートノードの対応区間に適用して得られる前記第２区間である第２ルート区間」の中に設定する第２設定手段と、を含み、前記第２設定手段は、前記ルートノードの孫ノード以降のノードの対応区間を、「「「任意の区間に前記基準を適用して得られる前記第１区間の中の区間を当該任意の区間に前記基準を適用して得られる前記第２区間の中の区間へと写像する写像関数」、を用いて当該ノードの親ノードの対応区間を写像してなる写像区間」、に前記基準を適用して得られる前記第１区間である第１写像区間」の中に設定すること、を特徴とするプログラムである。
【０００８】
上記課題を解決するための請求項３の発明は、木構造を構成する各ノードの対応区間を含むデータのデータ構造であって、ルートノードの子ノードの対応区間は、「「任意の区間の一部の区間である第１区間と当該任意の区間の一部の区間であって当該第１区間と重複部分を持たない区間である第２区間とを得るための基準」、を前記ルートノードの対応区間に適用して得られる前記第１区間である第１ルート区間」に含まれ、前記ルートノードの孫ノード以降のノードの対応区間は、「前記基準を前記ルートノードの対応区間に適用して得られる前記第２区間である第２ルート区間」に含まれ、前記ルートノードの子孫ノードのうちの第１の子孫ノードが、前記ルートノードの子孫ノードのうちの第２の子孫ノードの子孫である場合、「「任意の区間に前記基準を適用して得られる前記第１区間の中の区間を当該任意の区間に前記基準を適用して得られる前記第２区間の中の区間へと写像する写像関数」、を用いて前記第２の子孫ノードの対応区間を写像してなる写像区間」、に含まれ、前記第１の子孫ノードが前記第２の子孫ノードの子ノードである場合、前記第１の子孫ノードの対応区間は、「前記写像区間に前記基準を適用して得られる前記第１区間である第１写像区間」に含まれ、前記第１の子孫ノードが前記第２の子孫ノードの孫以降のノードである場合、前記第１の子孫ノードの対応区間は、「前記写像区間に前記基準を適用して得られる前記第２区間である第２写像区間」に含まれること、を特徴とするデータ構造である。
【０００９】
なお、「ノードの対応区間」とは、そのノードに対応する区間のことを示す。また、「区間」とは、例えば、順序が定められた集合の中にある限られた範囲である。「順序が定められた集合」とは、例えば、実数の集合である。また、例えば、辞書順序が定められている場合には、文字列の集合である。
【発明の効果】
【００１０】
請求項１、２、及び３の発明によれば、木構造を構成する各ノードを区間として表現する場合におけるノード検索の効率性や利便性をより向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置の構成を例示する図である。
【図２】木構造を例示する図である。
【図３】木構造データを例示する図である。
【図４】木構造データのデータ構造を説明するための図である。
【図５】木構造データのデータ構造を説明するための図である。
【図６】制御部が実行する処理を例示するフロー図である。
【図７】木構造データを例示する図である。
【図８】各ノードの対応区間の関係を示す図である。
【図９】各ノードの対応区間の関係を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。
【００１３】
［情報処理装置］
図１は、本発明の実施形態に係る情報処理装置２の構成を例示する図である。本実施形態の場合、情報処理装置２はパーソナルコンピュータであり、制御部４と、主記憶６と、ハードディスク８と、を備える。また、これらに他にも、ユーザの操作入力を受け付ける操作部、制御部４から入力される情報を出力する表示部、ネットワークとデータ授受を行うためのネットワークインタフェースなどが備えられる。
【００１４】
制御部４は主記憶６に記憶されるプログラムに従って情報処理を実行する。また、主記憶６は、ＲＡＭ及びＲＯＭを含む。主記憶６には上記プログラムが格納される。このプログラムは、ＤＶＤ（登録商標）−ＲＯＭ等のコンピュータ読取可能な情報記憶媒体から読み出されて主記憶６に格納されてもよいし、ネットワーク等の通信網から供給されて主記憶６に格納されてもよい。主記憶６には、情報処理の過程で必要となる各種データも格納される。また、ハードディスク８は、各種情報を記憶するための記憶媒体である。
【００１５】
［木構造データ］
この情報処理装置２には、木構造Ｔを表す木構造データ（データ）を生成する木構造データ生成機能が備えられている。図２は、木構造Ｔを例示する図であり、図３は、図２に示す木構造Ｔを表す木構造データを例示する図である。木構造データは、ハードディスク８に記憶される。
【００１６】
図２に示す木構造は、ノードＡからノードＧまでの７つのノードを含む。一つの丸が、一つのノードを示している。ノードＡはいわゆるルートノードであり、その他のノードは、ノードＡの子孫ノードとなっている。具体的には、ノードＢ及びノードＥがノードＡの子ノードとなっており、これら以外のノード（ノードＣ、ノードＤ、ノードＦ、及びノードＧ）がノードＡの孫ノード以降のノードとなっている。
【００１７】
ここでは、一つのノードは、一つのディレクトリに対応する。ディレクトリは、フォルダとも呼ばれる。
【００１８】
図３に示すように、木構造データは、木構造Ｔに含まれる各ノードのレコードを含む。レコードには、ノード＄（「＄」は「Ａ」〜「Ｇ」のうちのいずれか）の識別情報（ノードＩＤ）と、ノード＄に対応する区間である対応区間Ｉ（＄）と、が含まれる。なお、レコードには、他の情報も含まれてよい。例えば、ノードがディレクトリに対応する場合、ディレクトリ名、及び作成日時なども含まれてよい。
【００１９】
なお説明のため識別情報（ノードＩＤ）を対応区間とは別に設けているが必ずしも必要とは限らない。たとえば対応区間そのものをノードの識別に用いることができる。さらに開区間を用いて各ノードの端点に重複がなければ始点（または終点）だけを用いて識別することも可能である。ただし、木構造内でノードの位置を移動する場合、ノードの区間も位置に合わせて変更する必要がある。区間とは別に識別情報（ノードＩＤ）を設けることにより、ノードを移動した場合でも変化しない識別子として利用できる。
【００２０】
ここで、「区間」とは、順序が定められた集合の中にある限られた範囲である。順序関係で区間の始点と終点の両端の間に位置する要素は区間に含まれる。ここでは、「順序が定められた集合」とは、辞書順序が定められた文字列の集合である。また、「文字列」とは、２６文字のアルファベット文字「ａ」〜「ｚ」及びハイフン文字「−」からなる２７文字から選択された１又は複数の文字で構成される文字列である。本実施形態の場合、ルートノード（すなわち、ノードＡ）の対応区間Ｉ（Ａ）として、既定の区間（ｈｉｊ，ｓｔｕ）が用いられる。また、ルートノードの子孫ノードの対応区間は、始点を表す文字列及び終点を表す文字列に、必ず１つのハイフン文字が含まれるように設定される。
【００２１】
図４及び図５は、各ノードの対応区間の関係を示す図であり、木構造データのデータ構造を説明するための図である。図４に示すように、ルートノードＡの子ノードの対応区間Ｉ（Ｂ）及びＩ（Ｅ）は、ルートノードＡの対応区間Ｉ（Ａ）の一部の区間であるインデックス区間Ｍ１（Ａ）に含まれている。すなわち、図４に示すように、ルートノードの子ノードの対応区間Ｉ（Ｂ）及びＩ（Ｅ）は、いずれも、対応区間Ｉ（Ａ）のうちの一部の区間（ｈｉｊ，ｈｉｊ−ｓｔｕ）に含まれている。
【００２２】
また、図４に示すように、ルートノードＡの孫ノード以降のノードの対応区間Ｉ（Ｃ）、Ｉ（Ｄ）、Ｉ（Ｆ）、及びＩ（Ｇ）は、ルートノードの対応区間Ｉ（Ａ）の一部の区間であって且つインデックス区間Ｍ１（Ａ）とは重複部分を持たない区間である入れ子区間Ｍ２（Ａ）に含まれている。すなわち、図４に示すように、対応区間Ｉ（Ｃ）、Ｉ（Ｄ）、Ｉ（Ｆ）、及びＩ（Ｇ）は、対応区間Ｉ（Ａ）のうちの、インデックス区間Ｍ１（Ａ）と重複部分を持たない区間（ｈｉｊ−ｓｔｕ、ｓｔｕ）に含まれている。
【００２３】
ここで、インデックス区間Ｍ１（Ａ）及び入れ子区間Ｍ２（Ａ）は、「２６文字のアルファベット文字から選択された１又は複数の文字からなる文字列「？？？」を始点とし且つ２６文字のアルファベット文字から選択された１又は複数の文字からなる文字列「＃＃＃」を終点とする任意の区間（？？？，＃＃＃）」の一部の区間である第１区間（？？？，？？？−＃＃＃）と、当該任意の区間（？？？、＃＃＃）の一部の区間であって第１区間（？？？，？？？−＃＃＃）とは重複部分を持たない第２区間（？？？−＃＃＃，＃＃＃）と、を得るための分割基準を、対応区間Ｉ（Ａ）に適用することによって得られる。
【００２４】
この分割基準を対応区間Ｉ（Ａ）に適用することで得られる上記第１区間及び上記第２区間が、それぞれ、インデックス区間Ｍ１（Ａ）、入れ子区間Ｍ２（Ａ）となる。対応区間「Ｉ（Ａ）」は始点が「ｈｉｊ」で終点が「ｓｔｕ」であるから、図４に示すように、インデックス区間Ｍ１（Ａ）及び入れ子区間Ｍ２（Ａ）が、それぞれ、開区間（ｈｉｊ、ｈｉｊ−ｓｔｕ）、開区間（ｈｉｊ−ｓｔｕ，ｓｔｕ）となっている。また、インデックス区間Ｍ１（Ａ）と入れ子区間Ｍ２（Ａ）との境界点が、「ｈｉｊ−ｓｔｕ」となっている。
【００２５】
上述のように、ルートノードの子ノードの対応区間Ｉ（Ｂ）及びＩ（Ｅ）は、ルートノードの対応区間Ｉ（Ａ）の一部の区間であるインデックス区間Ｍ１（Ａ）に含まれている。従って、対応区間Ｉ（Ａ）に上記分割基準を適用してインデックス区間Ｍ１（Ａ）を求め、インデックス区間Ｍ１（Ａ）に包含される対応区間を含むレコードを特定することで、ルートノードＡの子ノードが特定されるようになっている。
【００２６】
また、ルートノードの孫ノード以降のノードに対応区間Ｉ（Ｃ）、Ｉ（Ｄ）、Ｉ（Ｆ）、及びＩ（Ｇ）は、ルートノードの対応区間Ｉ（Ａ）の一部の区間である入れ子区間Ｍ２（Ａ）に含まれている。従って、対応区間Ｉ（Ａ）に上記分割基準を適用して入れ子区間Ｍ２（Ａ）を求め、入れ子区間Ｍ２（Ａ）に包含される対応区間を含むレコードを特定することで、ルートノードＡの孫ノード以降のノードが特定されるようになっている。
【００２７】
木構造データのデータ構造の特徴はこれだけではない。
【００２８】
すなわち、ルートノードＡの子孫ノードのうちの２つの子孫ノードに着目した場合を想定する。この場合において、一方のノード％（「％」は「Ｂ」〜「Ｇ」のうちのいずれか）が他方のノード＆（「＆」は「Ｂ」〜「Ｇ」のうちのいずれか）の子孫である場合、ノード％の対応区間Ｉ（％）が、ノード＆の対応区間Ｉ（＆）を写像関数Ｆで写像してなる写像区間Ｍ（＆）に含まれるようになっている。例えば、図５に示すように、ノードＣの対応区間Ｉ（Ｃ）及びノードＤの対応区間Ｉ（Ｄ）は、いずれも、ノードＢの対応区間Ｉ（Ｂ）を写像区間Ｆで写像した写像区間Ｍ（Ｂ）に含まれている。
【００２９】
ここで、写像関数Ｆは、上記任意の区間（？？？，＃＃＃）に前記分割基準を適用して得られる上記第１区間（？？？，？？？−＃＃＃）内の区間であって、始点及び終点が１つのハイフン文字と少なくとも１つのアルファベット文字とからなる文字列として表される区間（○○○−××，□□□−△△）を、当該任意の区間（？？？、＃＃＃）に前記分割基準を適用して得られる上記第２区間（？？？−＃＃＃，＃＃＃）内の区間（××，△△）へと写像する関数である。例えば、図５によれば、インデックス区間Ｍ１（Ａ）内の区間である対応区間Ｉ（Ｂ）は、（ｈｉｊ−ｈｋｌ，ｈｉｊ−ｍｎ）となっているので、対応区間Ｉ（Ｂ）を写像関数Ｆで写像してなる写像区間Ｍ（Ｂ）は、入れ子区間Ｍ２（Ａ）内の区間である（ｈｋｌ，ｍｎ）となっている。
【００３０】
特に、この木構造データでは、ノード％がノード＆の子ノードである場合、ノード％の対応区間Ｉ（％）が、写像区間Ｍ（＆）に前記分割基準を適用して得られるインデックス区間Ｍ１（％）に含まれ、ノード％がノード＆の子孫ノードである場合、ノード％の対応区間Ｉ（％）が、写像区間Ｍ（＆）に前記分割基準を適用して得られる入れ子区間Ｍ２（％）に含まれるようになっている。例えば、図５に示すように、ノードＢの子ノードＣの対応区間Ｉ（Ｃ）は、写像区間Ｍ（Ｂ）に前記分割基準を適用して得られるインデックス区間Ｍ１（Ｂ）に含まれ、ノードＢの孫ノードの対応区間Ｉ（Ｄ）は、写像区間Ｍ（Ｂ）に前記分割基準を適用して得られる入れ子区間Ｍ２（Ｂ）に含まれている。
【００３１】
そのため、ノード＄（「＄」は「Ｂ」〜「Ｇ」のうちのいずれか）の対応区間Ｉ（＄）の写像区間Ｍ（＄）を求めた上で写像区間Ｍ（＄）に前記分割基準を適用してインデックス区間Ｍ１（＄）を求め、インデックス区間Ｍ１（＄）に包含される対応区間を含むレコードを特定することで、ノード＄の子ノードが特定されるようになっている。また、写像区間Ｍ（＄）を求めた上で写像区間Ｍ（＄）に前記分割基準を適用して入れ子区間Ｍ２（＄）を求め、入れ子区間Ｍ２（＄）に包含される対応区間を含むレコードを特定することで、ノード＄の孫以降のノードが特定されるようになっている。
【００３２】
ところで、木構造を構成するノードを区間として表現することによって木構造を表現する手法として、「入れ子区間モデル」と呼ばれるものがある。入れ子区間モデルでは、各ノードの対応区間が、そのノードの先祖ノードの対応区間に含まれる。入れ子区間モデルでは、あるノードの子孫ノードを検索することは容易である。しかしながら、入れ子区間モデルでは、子ノードを検索するためには、子孫ノード全部を検索した上で、これらの対応区間の包含関係を分析しなければならない。そのため、入れ子区間モデルでは、子ノードを検索するための処理が複雑になる。
【００３３】
また、木構造を構成する各ノードにそのノードの親ノードを関連づけておくことによって木構造を表現する手法がある。この手法では、子ノードを検索することは容易である。しかしながら、この手法では、子ノード以外の子孫ノードを検索するための処理が複雑になる。
【００３４】
この点、図３に示す木構造データによれば、子ノードを検索すること、子ノード以外の子孫ノードを検索すること、の双方が容易になる。
【００３５】
［処理］
制御部４は、新たなノード（ノードαとする）が追加されるごとに、図６に示す処理を実行することによって、ノードαの対応区間Ｉ（α）を設定する。こうすることにより、制御部４は、木構造Ｔを構成する各ノードの対応区間を設定するとともに、上記木構造データを生成する。
【００３６】
以下、図６に示す処理について説明する。この処理は、制御部４が上記プログラムに従って動作することによって実行される。
【００３７】
すなわち、制御部４は、ノードαの親ノードβの対応区間Ｉ（β）を読み出す（Ｓ１０１）。そして、制御部４は、親ノードβがルートノードであるか否かを判定する（Ｓ１０２）。
【００３８】
親ノードβがルートノードである場合（Ｓ１０２：Ｙ）、制御部４（第１設定手段）は、対応区間Ｉ（β）に上記分割基準を適用してインデックス区間Ｍ１（β）を特定する（Ｓ１０３）。そして、制御部４（第１設定手段）は、ノードαに対応する対応区間Ｉ（α）を、インデックス区間Ｍ１（β）の中に設定する（Ｓ１０４）。なお、制御部４は、インデックス区間Ｍ１（β）の設定の際、始点を表す文字列及び終点を表す文字列の双方に、必ず１つのハイフン文字を含めるようにする。
【００３９】
Ｓ１０４の後、制御部４は、ノードαのノードＩＤ及び対応区間Ｉ（α）を含むレコードを生成し、木構造データ（図３参照）に追加する。
【００４０】
一方、親ノードβがルートノードでない場合（Ｓ１０２：Ｎ）、制御部４（第２設定手段）は、対応区間Ｉ（β）を写像関数Ｆを用いて写像することにより、写像区間Ｍ（β）を特定する（Ｓ１０５）。また、制御部４（第２設定手段）は、写像区間Ｍ（β）に上記分割基準を適用することにより、インデックス区間Ｍ１（β）を特定する（Ｓ１０６）。そして、制御部４（第２設定手段）は、Ｓ１０４のステップと同様にして、ノードαに対応する対応区間Ｉ（α）を、インデックス区間Ｍ１（β）の中に設定する（Ｓ１０７）。また、制御部４は、ノードαのノードＩＤ及び対応区間Ｉ（α）を含むレコードを生成し、木構造データ（図３参照）に追加する。
【００４１】
なお、本発明の実施形態は、上記実施形態だけに限らない。
【００４２】
例えば、レコードには、ノードの識別情報及びそのノードの対応区間だけでなく、対応区間を上記写像関数Ｆで写像した写像区間も含まれてよい。
【００４３】
また、例えば、木構造データは、ＤＶＤ（登録商標）−ＲＯＭ等のコンピュータ読み取り可能な情報記憶媒体に格納されてもよい。また、情報処理装置２は、木構造データをネットワークを介して配信してもよい。
【００４４】
また、例えば、「区間」は、実数の集合の中にある限られた範囲であってもよい。以下、「区間」が実数の集合の中にある限られた範囲である場合の態様について説明する。
【００４５】
図７は、この態様での木構造データを例示する図である。図７に示す木構造データも図２に示す木構造Ｔを表している。この態様では、ルートノードＡの対応区間Ｉ（Ａ）として、既定の区間（０，１）が用いられる。また、ルートノードＡの子孫ノードの対応区間の始点は、必ず、「小数点以下の桁のうちのいずれか一の桁の数字が「０」である実数」に設定され、ルートノードＡの子孫ノードの対応区間の終点も、必ず、「小数点以下の桁のうちのいずれか一の桁の数字が「０」である実数」に設定される。
【００４６】
図８及び図９は、この態様における、各ノードの対応区間の関係を示す図である。なお、この態様では、上記分割基準を任意の区間に適用した場合、「当該区間の終点を表す文字列から「．」を除いてできる数字列を、当該区間の始点を表す文字列の右に連結してなる文字列」により表される実数が境界点となる。例えば、この分割基準を対応区間Ｉ（Ａ）に適用した場合、対応区間Ｉ（Ａ）の始点を表す文字列「０」の右に、対応区間Ｉ（Ａ）の終点を表す文字列「１」から「．」を除いてできる数字列「１」を連結してできる「０１」が表す実数「０．１」が境界点となる（図８参照）。また、例えば、この分割基準を、区間（０．２，０．３）に適用した場合、始点を表す文字列「０．２」の右に、終点を表す文字列「０．３」から「．」を除いてできる数字列「０３」を連結してできる文字列「０．２０３」が表す実数「０．２０３」が境界点となる（図９参照）。
【００４７】
また、この態様では、始点及び終点のいずれもが「小数点以下の桁のうちのいずれか一の桁の数字が「０」である実数」である任意の区間が、写像関数Ｆにより、写像区間へと写像される。写像関数Ｆによれば、写像区間の始点が、「写像元の区間の始点を表す文字列のうちの、小数点以下にある「０」の右側の数字列「△△△」」が文字列「０．」の右に連結された文字列「０．△△△」によって表される実数「０．△△△」に設定され、写像区間の終点が、「写像元の区間の終点を表す文字列のうちの、小数点以下にある「０」の右側の数字列「×××」」が文字列「０．」の右に連結された文字列「０．×××」によって表される実数「０．×××」に設定される。例えば、写像元の区間である対応区間Ｉ（Ｂ）の始点は「０．０２」であるので（図９参照）、小数点以下にある「０」の右側の数字列は「２」となる。従って、写像区間Ｍ（Ｂ）の始点は、数字「２」が文字列「０．」の右に連結された文字列「０．２」によって表される実数「０．２」となる。同様に、写像区間Ｍ（Ｂ）の終点は、「０．３」となる。また、例えば、写像元の区間である対応区間Ｉ（Ｅ）の始点は「０．０４」であるので（図９参照）、小数点以下にある「０」の右側の数字列は「４」となる。従って、写像区間Ｍ（Ｅ）の始点は、数字「４」が文字列「０．」の右に連結された文字列「０．４」によって表される実数「０．４」となる。同様に、写像区間Ｍ（Ｅ）の終点は、「０．６」となる。
【符号の説明】
【００４８】
２  情報処理装置、４  制御部、６  主記憶、８  ハードディスク、Ｔ  木構造。
【図１】
2013025778.tif 000003
【図２】
2013025778.tif 000004
【図３】
2013025778.tif 000005
【図４】
2013025778.tif 000006
【図５】
2013025778.tif 000007
【図６】
2013025778.tif 000008
【図７】
2013025778.tif 000009
【図８】
2013025778.tif 000010
【図９】
2013025778.tif 000011