(57)【要約】【課題】階層構造中で親子関係にある要素群に含まれる、属性値に関する条件を満足する要素に応じた情報を出力する処理の計算負荷が、子一覧の機能を使って出力対象となる要素を特定する場合よりも低減される情報処理装置及びプログラムを提供する。【解決手段】  関連付け部２４は、受け付ける複数の属性値条件のいずれかを満足する要素を、当該要素が満足する属性値条件に関連付ける。解除処理実行部２６は、親の属性値条件が存在する属性値条件に関連付けられている要素それぞれに対して、当該要素に関連付けられている属性値条件の親の属性値条件に親の要素が関連付けられていない際に、当該要素及び当該要素の子孫の要素について、又は、当該要素について、関連付けられている属性値条件との関連付けを解除する。情報出力部３０は、解除処理が終了しても属性値条件に関連付けられている要素に応じた情報を出力する。【選択図】図２
2012059207.tif 000002
【特許請求の範囲】
【請求項１】
属性値に関する条件である属性値条件複数と、前記属性値条件間の親子関係を示す情報と、を受け付ける受付手段と、
階層構造中で親子関係にある要素群に含まれる、前記複数の属性値条件のいずれかを満足する要素を、当該要素が満足する属性値条件に関連付ける関連付け手段と、
親の属性値条件が存在する前記属性値条件に関連付けられている要素それぞれに対して、当該要素に関連付けられている属性値条件の親の属性値条件に当該要素の親の要素が関連付けられていない際に、前記複数の属性値条件のいずれかに関連付けられている当該要素の子孫の要素が存在する場合は、当該要素及び当該要素の子孫の要素について、そうでない場合は、当該要素について、関連付けられている属性値条件との関連付けを解除する解除処理を実行する解除処理実行手段と、
前記解除処理が終了しても前記属性値条件に関連付けられている要素に応じた情報を出力する情報出力手段と、
を含むことを特徴とする情報処理装置。
【請求項２】
前記解除処理実行手段が、関連付けられている要素の数が少ない属性値条件から順に、当該属性値条件に関連付けられている要素それぞれに対する前記解除処理を実行する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報出力手段が、子の属性値条件が存在しない属性値条件に関連付けられている要素を示す情報を出力する、
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記解除処理実行手段が、前記属性値条件に関連付けられている要素それぞれに対する前記解除処理の実行が終了した際に、当該属性値条件に関連付けられている要素の親の要素ではない、当該属性値条件の親の属性値条件に関連付けられている要素について、関連付けられている属性値条件との関連付けを解除する、
ことを特徴とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
属性値に関する条件である属性値条件複数と、前記属性値条件間の親子関係を示す情報と、を受け付ける受付手段、
階層構造中で親子関係にある要素群に含まれる、前記複数の属性値条件のいずれかを満足する要素を、当該要素が満足する属性値条件に関連付ける関連付け手段、
親の属性値条件が存在する前記属性値条件に関連付けられている要素それぞれに対して、当該要素に関連付けられている属性値条件の親の属性値条件に当該要素の親の要素が関連付けられていない際に、前記複数の属性値条件のいずれかに関連付けられている当該要素の子孫の要素が存在する場合は、当該要素及び当該要素の子孫の要素について、そうでない場合は、当該要素について、関連付けられている属性値条件との関連付けを解除する解除処理を実行する解除処理実行手段、
前記解除処理が終了しても前記属性値条件に関連付けられている要素に応じた情報を出力する情報出力手段、
としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
階層構造中の親子関係にある要素（オブジェクト）をたどって目的となる要素を発見する技術が存在する。ファイルやフォルダなどといった文書情報を管理する文書管理システム（ＣＭＳ）には、子の要素の一覧を取得する機能（子一覧の機能）を使って、親子関係にある要素をたどるものが存在する。特許文献１には、選択情報記憶手段に記憶されている、検索すべきデータを選択するための選択条件を用いて、階層化されたデータについて親データから下位の子データを検索する技術が開示されている。特許文献２には、検索条件であるファイル名をユーザから受け付けて、ファイルパスを検索する検索方式が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−７８１８５号公報
【特許文献２】特開２０００−１３２４３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、階層構造中で親子関係にある要素群に含まれる、属性値に関する条件を満足する要素に応じた情報を出力する処理の計算負荷が、子一覧の機能を使って出力対象となる要素を特定する場合よりも低減される情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に記載の発明は、情報処理装置であって、属性値に関する条件である属性値条件複数と、前記属性値条件間の親子関係を示す情報と、を受け付ける受付手段と、階層構造中で親子関係にある要素群に含まれる、前記複数の属性値条件のいずれかを満足する要素を、当該要素が満足する属性値条件に関連付ける関連付け手段と、親の属性値条件が存在する前記属性値条件に関連付けられている要素それぞれに対して、当該要素に関連付けられている属性値条件の親の属性値条件に当該要素の親の要素が関連付けられていない際に、前記複数の属性値条件のいずれかに関連付けられている当該要素の子孫の要素が存在する場合は、当該要素及び当該要素の子孫の要素について、そうでない場合は、当該要素について、関連付けられている属性値条件との関連付けを解除する解除処理を実行する解除処理実行手段と、前記解除処理が終了しても前記属性値条件に関連付けられている要素に応じた情報を出力する情報出力手段と、を含むこととしたものである。
【０００６】
請求項２に記載の発明は、請求項１に記載の情報処理装置であって、前記解除処理実行手段が、関連付けられている要素の数が少ない属性値条件から順に、当該属性値条件に関連付けられている要素それぞれに対する前記解除処理を実行することとしたものである。
【０００７】
請求項３に記載の発明は、請求項１又は２に記載の情報処理装置であって、前記情報出力手段が、子の属性値条件が存在しない属性値条件に関連付けられている要素を示す情報を出力することとしたものである。
【０００８】
請求項４に記載の発明は、請求項１から３のいずれか一項に記載の情報処理装置であって、前記解除処理実行手段が、前記属性値条件に関連付けられている要素それぞれに対する前記解除処理の実行が終了した際に、当該属性値条件に関連付けられている要素の親の要素ではない、当該属性値条件の親の属性値条件に関連付けられている要素について、関連付けられている属性値条件との関連付けを解除することとしたものである。
【０００９】
請求項５に記載の発明は、プログラムであって、属性値に関する条件である属性値条件複数と、前記属性値条件間の親子関係を示す情報と、を受け付ける受付手段、階層構造中で親子関係にある要素群に含まれる、前記複数の属性値条件のいずれかを満足する要素を、当該要素が満足する属性値条件に関連付ける関連付け手段、親の属性値条件が存在する前記属性値条件に関連付けられている要素それぞれに対して、当該要素に関連付けられている属性値条件の親の属性値条件に当該要素の親の要素が関連付けられていない際に、前記複数の属性値条件のいずれかに関連付けられている当該要素の子孫の要素が存在する場合は、当該要素及び当該要素の子孫の要素について、そうでない場合は、当該要素について、関連付けられている属性値条件との関連付けを解除する解除処理を実行する解除処理実行手段、前記解除処理が終了しても前記属性値条件に関連付けられている要素に応じた情報を出力する情報出力手段、としてコンピュータを機能させることとしたものである。
【発明の効果】
【００１０】
請求項１，５に記載の発明によれば、階層構造中で親子関係にある要素群に含まれる、属性値に関する条件を満足する要素に応じた情報を出力する処理の計算負荷が、子一覧の機能を使って出力対象となる要素を特定する場合よりも低減される。
【００１１】
請求項２に記載の発明によれば、本構成を有しない場合と比較して、階層構造中で親子関係にある要素群に含まれる、属性値に関する条件を満足する要素に応じた情報を出力する処理の計算負荷がさらに低減される。
【００１２】
請求項３に記載の発明によれば、複数の属性値条件のうち最も子孫側の属性値条件に関連付けられている要素を示す情報が出力される。
【００１３】
請求項４に記載の発明によれば、本構成を有しない場合と比較して、階層構造中で親子関係にある要素群に含まれる、属性値に関する条件を満足する要素に応じた情報を出力する処理の計算負荷のさらなる低減が期待される。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る情報処理装置の構成の一例を示す図である。
【図２】本発明の一実施形態に係る情報処理装置により実現される機能の一例を示す機能ブロック図である。
【図３】出力対象情報群の一例を示す図である。
【図４Ａ】本実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。
【図４Ｂ】本実施形態に係る情報処理装置で行われる処理の流れの一例を示すフロー図である。
【図５】出力候補管理情報の一例を示す図である。
【図６】出力候補管理情報の一例を示す図である。
【図７】出力候補管理情報の一例を示す図である。
【図８】出力候補管理情報の一例を示す図である。
【図９Ａ】図４Ａ及び図４Ｂに示す処理の流れの一変型例を示すフロー図である。
【図９Ｂ】図４Ａ及び図４Ｂに示す処理の流れの一変型例を示すフロー図である。
【図９Ｃ】図４Ａ及び図４Ｂに示す処理の流れの一変型例を示すフロー図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００１６】
図１は、本実施形態に係る情報処理装置１０の構成の一例を示す図である。図１に例示するように、本実施形態に係る情報処理装置１０は、例えば、制御部１２、記憶部１４、ユーザインタフェース（ＵＩ）部１６、を含んでいる。これらの要素は、バスなどを介して接続される。制御部１２は、ＣＰＵ等のプログラム制御デバイスであり、情報処理装置１０にインストールされるプログラムに従って動作する。記憶部１４は、ＲＯＭやＲＡＭ等の記憶素子やハードディスクドライブなどである。記憶部１４には、制御部１２によって実行されるプログラムなどが記憶される。また、記憶部１４は、制御部１２のワークメモリとしても動作する。ＵＩ部１６は、ディスプレイ、マイク、マウス、キーボードなどであり、利用者が行った操作の内容や、利用者が入力した音声を制御部１２に出力する。また、ＵＩ部１６は、制御部１２から入力される指示に従って情報を表示出力したり音声出力したりする。
【００１７】
図２は、本実施形態に係る情報処理装置１０により実現される機能の一例を示す機能ブロック図である。図２に例示するように、本実施形態では、情報処理装置１０は、例えば、情報記憶部２０と、属性値条件受付部２２と、関連付け部２４と、解除処理実行部２６と、出力情報生成部２８と、情報出力部３０と、を含んでいる。情報記憶部２０は、情報処理装置１０の記憶部１４を主として実現される。その他の要素は、情報処理装置１０の制御部１２を主として実現される。
【００１８】
これらの要素は、コンピュータである情報処理装置１０にインストールされたプログラムを、情報処理装置１０の制御部１２で実行することにより実現されている。このプログラムは、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどの通信手段を介して情報処理装置１０に供給される。
【００１９】
本実施形態では、情報記憶部２０に、予め、図３に例示する、利用者からの要求に応じて出力される対象となる複数の要素である出力対象情報群３２が記憶されている。図３の例では、出力対象情報群３２は、階層構造で管理されている複数の文書情報を含んで構成されている。文書情報としては、例えば、ファイルやフォルダなどが挙げられる。本実施形態では、文書情報には、文書情報の識別子である文書情報ＩＤが関連付けられている。本実施形態では、例えば、文書情報（０１）、文書情報（０２）、文書情報（０３）、文書情報（０４）、文書情報（０５）、文書情報（０６）、文書情報（０７）、文書情報（０８）、文書情報（０９）、文書情報（１０）、文書情報（１１）、文書情報（１２）、文書情報（１３）、文書情報（１４）、の１４個の文書情報が予め情報記憶部２０に記憶されている。上述の括弧内の数字は各文書情報の文書情報ＩＤを示している。
【００２０】
また、文書情報には、タイトル、作成者名、キーワード、文書情報の種別（ファイル又はフォルダ）などを示す情報である属性情報が関連付けられている。本実施形態では、例えば、文書情報（０１）のタイトルがＡ１、文書情報（０２）のタイトルがＡ２、文書情報（０３）のタイトルがＢ１、文書情報（０４）のタイトルがＢ１、文書情報（０５）のタイトルがＢ２、文書情報（０６）のタイトルがＢ１、文書情報（０７）のタイトルがＢ１、文書情報（０８）のタイトルがＣ１、文書情報（０９）のタイトルがＣ２、文書情報（１０）のタイトルがＣ２、文書情報（１１）のタイトルがＣ３、文書情報（１２）のタイトルがＣ１、文書情報（１３）のタイトルがＣ１、文書情報（１４）のタイトルがＣ４、であるとする。
【００２１】
また、図３に例示するように、本実施形態では、文書情報は、木構造で管理されており、親子関係にある要素同士が関連付けられている。本実施形態では、例えば、文書情報（０３）、文書情報（０４）、文書情報（０５）、の親の文書情報は、文書情報（０１）である。また、例えば、文書情報（０８）、文書情報（０９）、の親の文書情報は、文書情報（０３）である。また、例えば、文書情報（１０）、文書情報（１１）、の親の文書情報は、文書情報（０４）である。また、例えば、文書情報（１２）の親の文書情報は、文書情報（０５）である。また、例えば、文書情報（０６）、文書情報（０７）、の親の文書情報は、文書情報（０２）である。また、例えば、文書情報（１３）の親の文書情報は、文書情報（０６）である。また、例えば、文書情報（１４）の親の文書情報は、文書情報（０７）である。
【００２２】
以下、本実施形態では、例えば、文書情報、詳細については後述するタイトル条件や文書情報グループなどの、親子関係が設定されている情報について、親の情報をたどってたどり着ける情報を先祖の情報と呼び、子の情報をたどってたどり着ける情報を子孫の情報と呼ぶこととする。また、親の情報が存在しない情報をルートの情報と呼ぶこととし、子の情報が存在しない情報をリーフの情報と呼ぶこととする。図３の例では、文書情報（０１）、文書情報（０２）がルートの文書情報にあたり、文書情報（０８）、文書情報（０９）、文書情報（１０）、文書情報（１１）、文書情報（１２）、文書情報（１３）、文書情報（１４）がリーフの文書情報にあたる。
【００２３】
ここで、本実施形態における情報処理装置１０で行われる処理の流れの一例を図４Ａ及び図４Ｂに示すフロー図を参照しながら説明する。
【００２４】
まず、属性値条件受付部２２が、利用者から、タイトルの文字列表現を区切り文字（例えば、「／」）で連結したパス情報を表す文字列を受け付ける（Ｓ１０１）。そして、関連付け部２４が、文書情報に対する検索を実行する（Ｓ１０２）。関連付け部２４は、具体的には、例えば、まず、Ｓ１０１に示す処理で受け付けた文字列を区切り文字で分割して、それぞれの部分文字列を文書情報を特定する属性値に関する条件（属性値条件）となるタイトル（以下、本実施形態では、タイトル条件と呼ぶ。）として特定する。そして、関連付け部２４は、タイトルが、いずれかのタイトル条件と同一である文書情報を特定する。
【００２５】
本実施形態では、パス情報に含まれる区切り文字によって、区切り文字により挟まれた２つのタイトル条件間の親子関係を示される。すなわち、本実施形態では、Ｓ１０１に示す処理で、複数のタイトル条件と、タイトル条件間の親子関係を示す情報を受け付けることとなる。そして、タイトル条件間の親子関係は、属性値条件を満たす（例えば、タイトルが、タイトル条件と同一である）文書情報間の親子関係に対応している。以下、本実施形態では、Ｓ１０１に示す処理で受け付ける文字列の左側の部分文字列に対応するタイトル条件を先祖側のタイトル条件と呼び、右側の部分文字列に対応するタイトル条件を子孫側のタイトル条件と呼ぶこととする。
【００２６】
そして、関連付け部２４が、Ｓ１０２に示す処理で特定された文書情報に対してタイトル条件によるグループ化を実行して、出力候補管理情報３４（図５、図６、図７、及び、図８参照）を生成する（Ｓ１０３）。関連付け部２４は、具体的には、例えば、Ｓ１０２に示す処理で特定された各文書情報を、その文書情報のタイトルと同一のタイトル条件に関連付ける。以下、本実施形態では、タイトル条件に関連付けられた文書情報が属するグループを、タイトル条件に対応する文書情報グループと呼ぶこととし、文書情報グループに属する文書情報を、その文書情報グループのメンバである文書情報と呼ぶこととする。
【００２７】
出力候補管理情報３４は、各文書情報グループに対応する文書情報グループ情報３６を含んでいる。文書情報グループ情報３６は、文書情報グループの識別子であるグループＩＤ、文書情報グループに対応するタイトル条件、チェック済フラグ、を含んでいる。また、文書情報グループのメンバが存在する場合は、文書情報グループ情報３６は少なくとも１つのメンバ情報３８を含む。メンバ情報３８は、メンバである文書情報の文書情報ＩＤ、及び、確認済子ＩＤを含んでいる。確認済子ＩＤの値の初期値はＮｕｌｌとなっている。チェック済フラグと確認済子ＩＤの詳細については後述する。
【００２８】
また、関連付け部２４は、対応するタイトル条件間の親子関係に対応するよう文書情報グループ間の親子関係が設定された出力候補管理情報３４を生成する。以下、本実施形態では、先祖側のタイトル条件に対応する文書情報グループを先祖側の文書情報グループと呼び、子孫側のタイトル条件に対応する文書情報グループを子孫側の文書情報グループと呼ぶこととする。
【００２９】
そして、関連付け部２４は、Ｓ１０３に示す処理で、文書情報に関連付けられていないタイトル条件が存在するか否かを確認する（Ｓ１０４）。存在しない場合は（Ｓ１０４：Ｎ）、Ｓ１２９に示す処理に進む。存在する場合は（Ｓ１０４：Ｙ）、解除処理実行部２６が、各文書情報グループに対応するチェック済フラグの値をＦａｌｓｅに設定する（Ｓ１０５）。そして、解除処理実行部２６が、チェック済フラグの値がＦａｌｓｅであり、かつ、メンバの数が最も少ない文書情報グループを特定する（Ｓ１０６）。なお、解除処理実行部２６は、メンバの数が最も少ない文書情報グループが複数存在する場合には、予め定められた規則に従って１つの文書情報グループを特定する。解除処理実行部２６は、例えば、複数の文書情報グループのうち最も先祖側の文書情報グループを特定する。なお、解除処理実行部２６は、文書情報グループに属するメンバの数を予め定められた順序に従って順次確認する場合には、最初に確認した文書情報グループを特定するようにしてもよい。以下、本実施形態では、Ｓ１０６に示す処理で特定された文書情報グループを変数ｇｒｏｕｐに代入する。
【００３０】
そして、解除処理実行部２６が、変数ｉの値を１に設定する（Ｓ１０７）。そして、解除処理実行部２６が、変数ｇｒｏｕｐが表す文書情報グループのｉ番目のメンバを特定する（Ｓ１０８）。そして、解除処理実行部２６は、この特定されたメンバの文書情報ＩＤを変数ｏｂｊＩＤに代入し、この特定されたメンバの親の文書情報の文書情報ＩＤの値を変数ｐａｒｅｎｔＩＤｓに代入する（Ｓ１０９）。Ｓ１０８に示す処理で特定されたメンバの親の文書情報の文書情報ＩＤは複数存在してもよい。また、このとき、この特定されたメンバの親の文書情報が存在しない場合は、変数ｐａｒｅｎｔＩＤｓの値はＮｕｌｌとなる。
【００３１】
そして、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループの親の文書情報グループが存在するか否かを確認する（Ｓ１１０）。存在しない場合は（Ｓ１１０：Ｎ）、Ｓ１２０に示す処理に進む。存在する場合は（Ｓ１１０：Ｙ）、解除処理実行部２６は、存在する親の文書情報グループを変数ｐａｒｅｎｔＧｒｏｕｐに代入して、フラグｃｏｎｔａｉｎｓの値をＦａｌｓｅに設定する（Ｓ１１１）。
【００３２】
そして、解除処理実行部２６は、変数ｊの値を１に設定する（Ｓ１１２）。そして、解除処理実行部２６は、変数ｐａｒｅｎｔＩＤｓに含まれるｊ番目の文書情報ＩＤの値を変数ｐａｒｅｎｔＩＤに代入する（Ｓ１１３）。そして、解除処理実行部２６が、文書情報ＩＤの値が変数ｐａｒｅｎｔＩＤの値と同一である変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループのメンバが存在するか否かを確認する（Ｓ１１４）。存在しなければ（Ｓ１１４：Ｎ）、Ｓ１１７に示す処理に進む。存在していれば（Ｓ１１４：Ｙ）、解除処理実行部２６は、変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループのメンバのうち、文書情報ＩＤの値が変数ｐａｒｅｎｔＩＤの値と同一であるメンバの確認済子ＩＤの値に、変数ｏｂｊＩＤの値を追加設定する（Ｓ１１５）。なお、確認済子ＩＤの値として複数の値が設定されていてもよい。
【００３３】
そして、解除処理実行部２６は、変数ｃｏｎｔａｉｎｓの値をＴｒｕｅに更新する（Ｓ１１６）。そして、上述のＳ１１４に示す処理において文書情報ＩＤの値が変数ｐａｒｅｎｔＩＤの値と同一である変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループのメンバが存在しないことが確認された場合（Ｓ１１４：Ｎ）、又は、Ｓ１１６に示す処理の終了後に、解除処理実行部２６は、変数ｐａｒｅｎｔＩＤｓに含まれるすべての文書情報ＩＤに対して上述のＳ１１３〜Ｓ１１６に示す処理を実行したか否かを確認する（Ｓ１１７）。実行していなければ（Ｓ１１７：Ｎ）、解除処理実行部２６は、変数ｊの値を１増加させて（Ｓ１１８）、Ｓ１１３以降に示す処理を実行する。実行していれば（Ｓ１１７：Ｙ）、解除処理実行部２６は、変数ｃｏｎｔａｉｎｓの値がＴｒｕｅであるか否かを確認する（Ｓ１１９）。
【００３４】
Ｓ１１０に示す処理において、変数ｇｒｏｕｐが表す文書情報グループの親の文書情報グループが存在しないことが確認された場合は（Ｓ１１０：Ｎ）、変数ｐａｒｅｎｔＩＤｓに含まれている文書情報ＩＤが存在する否かを確認する（Ｓ１２０）。存在する場合（Ｓ１２０：Ｙ）、又は、Ｓ１１９に示す処理で、ｃｏｎｔａｉｎｓの値がＴｒｕｅではないことが確認された場合は（Ｓ１１９：Ｎ）、解除処理実行部２６は、変数ｏｂｊＩＤに対応する文書情報と、変数ｇｒｏｕｐが表す文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、変数ｏｂｊＩＤに対応する文書情報を変数ｇｒｏｕｐが表す文書情報グループのメンバから除外する処理）を実行するとともに、変数ｏｂｊＩＤに対応する文書情報の子孫の文書情報のうち、いずれかの文書情報グループのメンバである文書情報が存在する場合は、その文書情報と、その文書情報が属する文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、その文書情報を、その文書情報が属する文書情報グループのメンバから除外する処理）を実行する。（Ｓ１２１）。
【００３５】
上述のＳ１１９に示す処理において変数ｃｏｎｔａｉｎｓの値がＴｒｕｅであることが確認された場合、上述のＳ１２０に示す処理において変数ｐａｒｅｎｔＩＤｓに含まれている文書情報ＩＤが存在しないことが確認された場合（Ｓ１２０：Ｎ）、又は、上述のＳ１２１に示す処理の終了後に、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループのすべてのメンバに対してＳ１０８〜Ｓ１２１に示す処理を実行したか否かを確認する（Ｓ１２２）。実行していない場合は（Ｓ１２２：Ｎ）、解除処理実行部２６は、変数ｉの値を１増加させて（Ｓ１２３）、Ｓ１０８以降に示す処理を実行する。
【００３６】
実行している場合は（Ｓ１２２：Ｙ）、解除処理実行部２６は、変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループのメンバのうちの、確認済子ＩＤの値がＮｕｌｌである文書情報と、変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、確認済子ＩＤの値がＮｕｌｌである文書情報を、変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループのメンバから除外する処理）を実行する（Ｓ１２４）。
【００３７】
そして、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループに対応するチェック済フラグの値をＴｒｕｅに更新する（Ｓ１２５）。
【００３８】
そして、解除処理実行部２６は、Ｓ１０３に示す処理で特定されたすべての文書情報グループに対応するチェック済フラグの値がＴｒｕｅに設定されているか否かを確認する（Ｓ１２６）。Ｔｒｕｅに設定されていない場合は（Ｓ１２６：Ｎ）、上述のＳ１０６以降に示す処理を実行する。Ｔｒｕｅに設定されている場合は（Ｓ１２６：Ｙ）、出力情報生成部２８は、複数の文書情報グループのうち最も子孫側の文書情報グループのメンバである文書情報が存在するか否かを確認する（Ｓ１２７）。存在する場合は（Ｓ１２７：Ｙ）、出力情報生成部２８が、その文書情報の文書情報ＩＤ（１又は複数あっても構わない。）を示す情報を生成し、情報出力部３０が、その情報をディスプレイなどのＵＩ部１６に表示出力する（Ｓ１２８）。このようにして、本実施形態では、情報出力部３０が、解除処理実行部２６による解除処理が終了してもタイトル条件に関連付けられている文書情報に応じた情報を出力する。
【００３９】
存在しない場合（Ｓ１２７：Ｎ）、又は、上述のＳ１０４に示す処理において、文書情報に関連付けられていないタイトル条件が存在しないことが確認された場合は（Ｓ１０４：Ｎ）、情報出力部３０が、出力される情報がない旨を示すエラーをディスプレイなどのＵＩ部１６に表示出力する（Ｓ１２９）。
【００４０】
以上で、本実施形態における情報処理装置１０で行われる処理の一例の説明を終了する。次に、上述のＳ１０１に示す処理で「Ａ１／Ｂ１／Ｃ１」というパス情報を表す文字列を受け付けた際における上述の処理例に示す処理の具体的な一例について説明する。
【００４１】
属性値条件受付部２２が、「Ａ１／Ｂ１／Ｃ１」という文字列を受け付けると（Ｓ１０１に対応）、関連付け部２４は、この文字列を区切り文字「／」により分割し、３つのタイトル条件「Ａ１」、「Ｂ１」、及び、「Ｃ１」を特定する（Ｓ１０２に対応）。そして、関連付け部２４は、タイトルが「Ａ１」、「Ｂ１」、及び、「Ｃ１」のいずれかである、情報記憶部２０に記憶されている文書情報を特定する。ここでは、文書情報（０１）、文書情報（０３）、文書情報（０４）、文書情報（０６）、文書情報（０７）、文書情報（０８）、文書情報（１２）、文書情報（１３）、の８つの文書情報が特定される。
【００４２】
そして、関連付け部２４は、特定された８つの文書情報を、タイトル条件「Ａ１」に対応する第１文書情報グループ（グループＩＤの値は１）、タイトル条件「Ｂ１」に対応する第２文書情報グループ（グループＩＤの値は２）、タイトル条件「Ｃ１」に対応する第３文書情報グループ（グループＩＤの値は３）、の３つに分類した、出力候補管理情報３４を生成する。出力候補管理情報３４では、第１文書情報グループの子の文書情報グループとして第２の文書情報グループが設定され、第２文書情報グループの子の文書情報グループとして第３の文書情報グループが設定される。
【００４３】
そして、関連付け部２４は、文書情報に関連付けられていないタイトル条件が存在しないことを確認して、３つのタイトル条件それぞれのチェック済みフラグの値にＦａｌｓｅの値を設定する。図５は、この時点における出力候補管理情報３４の一例を示す図である。
【００４４】
本実施形態では、メンバの数が少ない文書情報グループ（関連付けられている文書情報の数が少ないタイトル条件に対応する文書情報グループ）から順に、解除処理実行部２６は解除処理を実行する。そこで、まず、解除処理実行部２６が、属する文書情報の数が最も少ない文書情報グループとして、第１文書情報グループを特定する。第１文書情報グループは、最も先祖側の文書情報グループであるので、解除処理実行部２６は、Ｓ１０７〜Ｓ１１０、Ｓ１２０、Ｓ１２２、Ｓ１２４、Ｓ１２５、に示す処理を順に実行し、第１文書情報グループのチェック済みフラグの値をＴｒｕｅに更新する。
【００４５】
そして、解除処理実行部２６が、チェック済みフラグの値がＦａｌｓｅである文書情報グループのうちから、属する文書情報の数が最も少ない文書情報グループとして、第３文書情報グループを特定する。そして、解除処理実行部２６は、文書情報（１２）の親の文書情報である文書情報（０５）が、第２文書情報グループのメンバではないので、文書情報（１２）を第３文書情報グループのメンバから除外する。また、解除処理実行部２６は、文書情報（０４）及び文書情報（０７）については、第３文書情報グループのメンバである子の文書情報が存在しないので、第２文書情報グループのメンバから除外する。図６は、この処理の実行後における出力候補管理情報３４の一例を示す図である。
【００４６】
そして、解除処理実行部２６が、チェック済みフラグの値がＦａｌｓｅである文書情報グループのうちの、属する文書情報の数が最も少ない文書情報グループである、第２文書情報グループを特定する。そして、解除処理実行部２６は、文書情報（０６）の親の文書情報である文書情報（０２）が、第１文書情報グループのメンバではないので、文書情報（０６）を第２文書情報グループのメンバから除外する。また、解除処理実行部２６は、文書情報（１３）が、文書情報（０６）の子孫の文書情報であり、第３文書情報グループのメンバでもあるので、文書情報（１３）を、第３文書情報グループのメンバから除外する。図７は、この処理を実行した時点における出力候補管理情報３４の一例を示す図である。
【００４７】
そして、出力情報生成部２８は、複数のタイトル条件のうち最も子孫側のタイトル条件（子のタイトル条件が存在しないタイトル条件）である「Ｃ１」に対応する第３文書情報グループのメンバである文書情報の文書情報ＩＤの値０８を示す情報を生成する。そして、情報出力部３０は、この情報をディスプレイなどに表示出力する。
【００４８】
なお、上述の処理例において、属性値条件受付部２２が、同一のタイトル文字列が含まれるパス情報を表す文字列（例えば、「Ａ１／Ｂ１／Ａ１」）を受け付けた場合は、関連付け部２４は、複数の階層それぞれに対応する文書情報グループ情報３６が含まれる出力候補管理情報３４を生成する。図８に、この場合に関連付け部２４が生成する出力候補管理情報３４の一例を示す。図８に示すように、この場合は、タイトル条件「Ａ１」に対応する文書情報グループが２つ（第１文書情報グループ（グループＩＤの値は１）及び第３文書情報グループ（グループＩＤの値は３））が生成される。
【００４９】
また、上述の処理例において、Ｓ１０２に示す処理において、関連付け部２４が、種別がフォルダである文書情報のうちから、タイトルが、最も子孫側のタイトル条件以外のタイトル条件と同一である文書情報を特定する処理を実行して、その後、要求に応じて出力される対象となるすべての文書情報のうちから、最も子孫側のタイトル条件と同一である文書情報を特定する処理を実行するようにしてもよい。そして、関連付け部２４は、上述の２回の処理のいずれかにおいて特定された文書情報に対して上述のＳ１０３に示す処理を実行するようにしてもよい。
【００５０】
また、上述の処理例において、予め、関連付け部２４が、ルートの文書情報を特定していてもよい。そして、Ｓ１０２に示す処理において、関連付け部２４が、ルートの文書情報のうちから、タイトルが、最も先祖側のタイトル条件と同一である文書情報を特定する処理を実行して、その後、要求に応じて出力される対象となるすべての文書情報のうちから、最も先祖側のタイトル条件以外のタイトル条件と同一である文書情報を特定するようにしてもよい。そして、関連付け部２４は、上述の２回の処理のいずれかにおいて特定された文書情報に対して上述のＳ１０３に示す処理を実行するようにしてもよい。
【００５１】
ここで、図４Ａ及び図４Ｂに示す処理の流れの一変型例を図９Ａ、図９Ｂ、及び、図９Ｃに示すフロー図を参照しながら説明する。なお、図４Ａ及び図４Ｂに示す処理例と共通する処理についての詳細な説明については省略する。また、本処理例では、予め、情報記憶部２０に、メンバ数パラメータ、及び、親メンバ数パラメータが記憶されている。本処理例では、メンバ数パラメータや親メンバ数パラメータは整数値をとる。本処理例に示す処理では、階層構造探索モードが親一覧又は子一覧のいずれかに設定され、階層構造探索モードに応じた処理が実行されることとなる。
【００５２】
まず、情報処理装置１０は、上述のＳ１０１〜Ｓ１０５と同様の処理を実行する（Ｓ２０１〜Ｓ２０５）。そして、解除処理実行部２６が、チェック済みの値がＦａｌｓｅであり、かつ、メンバの数が最も少ない文書情報グループを特定するとともに、その文書情報グループのメンバの数が、メンバ数パラメータが示す値以上であり、その文書情報グループの親の文書情報グループのメンバの数が、親メンバ数パラメータが示す値以下である場合に、階層構造探索モードを子一覧に設定し、そうでない場合に、階層構造探索モードを親一覧に設定する（Ｓ２０６）。なお、上述の処理において、解除処理実行部２６は、特定された文書情報グループのメンバの数が、メンバ数パラメータが示す値より大であるか否かを判定してもよい。また、上述の処理において、解除処理実行部２６は、特定された文書情報グループの親の文書情報グループのメンバの数が、親メンバ数パラメータが示す値未満であるか否かを判定するようにしてもよい。
【００５３】
そして、情報処理装置１０は、上述のＳ１０７〜Ｓ１０８に示す処理と同様の処理を実行する（Ｓ２０７〜Ｓ２０８）。
【００５４】
そして、解除処理実行部２６は、階層構造探索モードが親一覧であるか否かを確認する（Ｓ２０９）。親一覧である場合は（Ｓ２０９：Ｙ）、上述のＳ１０９〜Ｓ１２１に示す処理と同様の処理を実行する（Ｓ２１０〜Ｓ２２２）。子一覧である場合は（Ｓ２０９：Ｎ）、解除処理実行部２６は、Ｓ１０８に示す処理に相当する処理であるＳ２０８に示す処理で特定されたメンバの文書情報ＩＤを変数ｏｂｊＩＤに代入し、文書情報ＩＤの値が変数ｏｂｊＩＤの値である文書情報の子の文書情報の文書情報ＩＤの値を変数ｃｈｉｌｄＩＤｓに代入する（Ｓ２２３）。そして、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループの子の文書情報グループを変数ｃｈｉｌｄＧｒｏｕｐに代入して、変数ｇｒｏｕｐが表す文書情報グループの子の文書情報グループのメンバの文書情報ＩＤを保持するための変数ｓｅｔ（初期値はＮｕｌｌ）を生成する（Ｓ２２４）。なお、変数ｇｒｏｕｐが表す文書情報グループの子の文書情報グループが存在しない場合は、解除処理実行部２６は、変数ｐａｒｅｎｔＧｒｏｕｐにＮｕｌｌを設定する。
【００５５】
そして、解除処理実行部２６は、変数ｊの値を１に設定する（Ｓ２２５）。そして、解除処理実行部２６は、変数ｃｈｉｌｄＩＤｓに含まれるｊ番目の文書情報ＩＤの値を変数ｃｈｉｌｄＩＤに代入する（Ｓ２２６）。そして、解除処理実行部２６が、文書情報ＩＤの値が変数ｃｈｉｌｄＩＤの値と同一である変数ｃｈｉｌｄＧｒｏｕｐが表す文書情報グループのメンバが存在するか否かを確認する（Ｓ２２７）。存在しなければ（Ｓ２２７：Ｎ）、Ｓ２３０に示す処理に進む。存在していれば（Ｓ２２７：Ｙ）、解除処理実行部２６は、文書情報ＩＤの値が変数ｏｂｊＩＤの値である文書情報の確認済子ＩＤの値に、変数ｃｈｉｌｄＩＤの値を追加設定する（Ｓ２２８）。そして、解除処理実行部２６は、変数ｓｅｔの値に変数ｃｈｉｌｄＩＤの値を追加設定する（Ｓ２２９）。
【００５６】
Ｓ２２７に示す処理で、変数ｃｈｉｌｄＧｒｏｕｐが表す文書情報グループのメンバに、文書情報ＩＤの値が変数ｃｈｉｌｄＩＤの値と同一であるものが存在しないことが確認された場合（Ｓ２２７：Ｎ）、又は、Ｓ２２９に示す処理の終了後に、解除処理実行部２６は、変数ｃｈｉｌｄＩＤｓに含まれるすべての文書情報ＩＤに対して上述のＳ２２６〜Ｓ２２９に示す処理を実行したか否かを確認する（Ｓ２３０）。実行していなければ（Ｓ２３０：Ｎ）、解除処理実行部２６は、変数ｊの値を１増加させて（Ｓ２３１）、Ｓ２２６以降に示す処理を実行する。実行していれば（Ｓ２３０：Ｙ）、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループの子の文書情報グループのメンバである文書情報のうちの、変数ｓｅｔの値として文書情報ＩＤの値が登録されていない文書情報とその文書情報が属する文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、変数ｓｅｔの値として文書情報ＩＤの値が登録されていない文書情報を、その文書情報が属する文書情報グループのメンバから除外する処理）を実行するとともに、除外された文書情報の子孫の文書情報のうち、いずれかの文書情報グループのメンバである文書情報が存在する場合は、その文書情報と、その文書情報が属する文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、その文書情報を、その文書情報が属する文書情報グループのメンバから除外する処理）を実行する。（Ｓ２３２）。
【００５７】
上述のＳ１１９に示す処理に相当する処理であるＳ２２０に示す処理において変数ｃｏｎｔａｉｎｓの値がＴｒｕｅであることが確認された場合（Ｓ２２０：Ｙ）、上述のＳ１２０に示す処理に相当する処理であるＳ２２１に示す処理においてにおいて変数ｐａｒｅｎｔＩＤｓに含まれている文書情報ＩＤが存在しないことが確認された場合（Ｓ２２１：Ｎ）、上述のＳ１２１に示す処理に相当する処理（Ｓ２２２）の終了後、又は、上述のＳ２３２に示す処理の終了後に、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループのすべてのメンバに対してＳ２０８〜Ｓ２３２に示す処理を実行したか否かを確認する（Ｓ２３３）。実行していない場合は（Ｓ２３３：Ｎ）、解除処理実行部２６は、変数ｉの値を１増加させて（Ｓ２３４）、Ｓ２０８以降に示す処理を実行する。
【００５８】
実行している場合は（Ｓ２３３：Ｙ）、解除処理実行部２６は、階層構造探索モードが親一覧であるか否かを確認する（Ｓ２３５）。親一覧である場合は（Ｓ２３５：Ｙ）、解除処理実行部２６は、変数ｐａｒｅｎｔＧｒｏｕｐが表す文書情報グループのメンバのうちの、確認済子ＩＤの値がＮｕｌｌである文書情報と、その文書情報が属する文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、確認済子ＩＤの値がＮｕｌｌである文書情報を、その文書情報が属する文書情報グループのメンバから除外する処理）を実行し（Ｓ２３６）、変数ｇｒｏｕｐが表す文書情報グループのチェック済フラグの値をＴｒｕｅに更新する（Ｓ２３７）。
【００５９】
子一覧である場合は（Ｓ２３５：Ｎ）、解除処理実行部２６は、変数ｇｒｏｕｐが表す文書情報グループのメンバのうちの、確認済子ＩＤの値がＮｕｌｌである文書情報と、その文書情報が属する文書情報グループに対応するタイトル条件との関連付けを解除する解除処理（すなわち、確認済子ＩＤの値がＮｕｌｌである文書情報を、その文書情報が属する文書情報グループのメンバから除外する処理）を実行し（Ｓ２３８）、変数ｇｒｏｕｐが表す文書情報グループの子の文書情報グループのチェック済フラグの値をＴｒｕｅに更新する（Ｓ２３９）。
【００６０】
そして、解除処理実行部２６は、Ｓ１０３に示す処理に相当する処理（Ｓ２０３）で特定されたすべての文書情報グループに対応するチェック済フラグの値がＴｒｕｅに設定されているか否かを確認する（Ｓ２４０）。Ｔｒｕｅに設定されていない場合は（Ｓ２４０：Ｎ）、上述のＳ２０６以降に示す処理を実行する。Ｔｒｕｅに設定されている場合は（Ｓ２４０：Ｙ）、情報処理装置１０は、上述のＳ１２７〜Ｓ１２９に示す処理と同様の処理を実行する（Ｓ２４１〜Ｓ２４３）。
【００６１】
なお、本発明は上述の実施形態にも限定されるものではない。
【００６２】
例えば、情報処理装置１０は、タイトルの代わりに、他の属性値（例えば、作成者名やキーワードなど）を条件とした、出力対象となる情報の特定処理を実行するようにしてもよい。また、本実施形態を文書情報以外の要素の特定や出力に応用してもよい。すなわち、本実施形態を、複数の要素のうちから属性値条件を満足する要素を出力する装置一般に応用してもよい。
【００６３】
なお、上述の具体的な数値や文字列は例示であり、これらの数値や文字列には限定されない。
【符号の説明】
【００６４】
１０  情報処理装置、１２  制御部、１４  記憶部、１６  ユーザインタフェース（ＵＩ）部、２０  情報記憶部、２２  属性値条件受付部、２４  関連付け部、２６  解除処理実行部、２８  出力情報生成部、３０  情報出力部、３２  出力対象情報群、３４  出力候補管理情報、３６  文書情報グループ情報、３８  メンバ情報。
【図１】
2012059207.tif 000003
【図２】
2012059207.tif 000004
【図３】
2012059207.tif 000005
【図４Ａ】
2012059207.tif 000006
【図４Ｂ】
2012059207.tif 000007
【図５】
2012059207.tif 000008
【図６】
2012059207.tif 000009
【図７】
2012059207.tif 000010
【図８】
2012059207.tif 000011
【図９Ａ】
2012059207.tif 000012
【図９Ｂ】
2012059207.tif 000013
【図９Ｃ】
2012059207.tif 000014