(57)【要約】【課題】文書の分類のための分類構造に関する情報の管理を容易にする。【解決手段】文書管理サーバ１０の分類処理部１４０は、複数の分類条件からなる階層構造を有する分類構造に従って、文書ＤＢ４０に格納された文書を分類する。第１属性情報ＤＢ６０は、複数の分類条件のそれぞれに対応する分類フォルダオブジェクトについて、各オブジェクト自体の第１属性情報を記憶する。第２属性情報ＤＢ７０は、分類フォルダオブジェクトの分類構造における位置によって特定される第２属性情報を記憶する。制御部１１０は、処理要求受付部１００を介して受け取ったクライアント２０からの要求に応じて、対象分類フォルダオブジェクトの第１属性情報と、対象分類フォルダオブジェクトの分類構造における位置に関連づけられる第２属性情報と、を対応づけて、処理結果出力部１２０を介して要求元のクライアント２０に出力する。【選択図】図１
2009217499.tif 000002
【特許請求の範囲】
【請求項１】
複数の分類条件からなる階層構造を有する分類構造に従って、記憶手段に記憶された分類対象の文書を分類する分類ステップと、
前記複数の分類条件それぞれについて当該分類条件の属性を表す第１属性情報を記憶する第１属性情報記憶手段と、前記分類構造中の分類箇所それぞれについて前記分類構造における当該分類箇所のそれぞれの位置によって特定される情報を含む第２属性情報を記憶する第２属性情報記憶手段と、を参照し、前記複数の分類条件のうちから処理対象とする対象分類条件と前記分類構造中の分類箇所のうちから処理対象とする対象分類箇所とを特定する出力指示に応じて、前記対象分類条件の前記第１属性情報と、前記対象分類箇所の前記第２属性情報と、を対応づけて出力する出力ステップと、
をコンピュータに実行させることを特徴とする文書分類プログラム。
【請求項２】
前記第２属性情報は、前記分類箇所それぞれに対応する検索条件を含み、
前記分類ステップにおいて、指定分類箇所を特定する分類指示に応じて、前記指定分類箇所に対応する検索条件を前記第２属性情報記憶手段から取得し、前記分類対象の文書のうち、取得した検索条件を満たす文書を前記指定分類箇所に関連付けることを特徴とする請求項１に記載の文書分類プログラム。
【請求項３】
前記分類ステップにおいて前記指定分類箇所に関連付けられた文書の数を、前記第２属性情報として前記指定分類箇所に対応づけて前記第２属性情報記憶手段に登録する第２属性情報登録ステップ、
をさらに前記コンピュータに実行させることを特徴とする請求項２に記載の文書分類プログラム。
【請求項４】
分類箇所を特定する表示要求に応じて、前記分類構造において前記表示要求により特定された分類箇所の一段階下位に位置する分類箇所のそれぞれに配置される分類条件を前記対象分類条件とし、かつ、前記一段階下位に位置する分類箇所のそれぞれを前記対象分類箇所とする出力指示を生成する生成ステップと、
前記生成ステップにおいて生成された出力指示に応じた前記出力ステップの処理を実行するステップと、
前記特定された分類箇所の一段階下位に位置する各分類箇所について前記出力ステップにおける処理の結果、出力された情報を表示装置に表示させる表示ステップと、
をさらに前記コンピュータに実行させることを特徴とする請求項１から３のいずれか１項に記載の文書分類プログラム。
【請求項５】
複数の分類条件からなる階層構造を有する分類構造に従って、記憶手段に記憶された分類対象の文書を分類する分類手段と、
前記複数の分類条件のそれぞれについて、当該分類条件の属性を表す第１属性情報を記憶する第１属性情報記憶手段と、
前記分類構造中の分類箇所それぞれについて、前記分類構造における当該分類箇所のそれぞれの位置によって特定される情報を含む第２属性情報を記憶する第２属性情報記憶手段と、
前記複数の分類条件のうちから処理対象とする対象分類条件と前記分類構造中の分類箇所のうちから処理対象とする対象分類箇所とを特定する出力指示に応じて、前記対象分類条件について前記第１属性情報記憶手段から取得した前記第１属性情報と、前記対象分類箇所について前記第２属性情報記憶手段から取得した前記第２属性情報と、を対応づけて出力する出力手段と、
を備えることを特徴とする文書分類装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書分類プログラム及び文書分類装置に関する。
【背景技術】
【０００２】
テキストデータや画像データ、音声データ、各種のデータを含むマルチメディアデータなどの電子文書（以下、単に「文書」とも呼ぶ）を管理するシステムでは、記憶装置に記憶された文書ファイルについて、通常、フォルダ（又はディレクトリ）による階層構造中の格納位置に格納されるものとして管理する。文書ファイル及びフォルダなど、文書管理システムの管理対象を、一般に、「オブジェクト」と呼ぶ。文書管理システムは、各オブジェクトに識別子を付与して管理する。また文書管理システムは、例えばオブジェクトの作成者や作成日時などの属性情報をオブジェクトに保持させる場合がある。
【０００３】
また、文書管理システムにおいて、記憶装置に記憶された文書ファイルを、指定された条件に従って分類して表示させる技術が開発されている。
【０００４】
例えば、特許文献１及び特許文献２には、管理対象の文書ファイルが格納される記憶装置における格納構造とは別に、分類用の階層構造を設けて文書ファイルを分類し、この分類に従って文書ファイルを参照する技術が開示されている。
【０００５】
また例えば、特許文献３には、与えられた文書を複数のカテゴリに分類する文書分類エンジンを再帰的に呼び出すことで、前段の分類で１つのカテゴリに分類された文書群を後段の分類でさらに複数のカテゴリに分類する多段階の文書分類を行なう技術が開示されている。特許文献３に記載の技術では、さらに、各段階で使用されたカテゴリの上下関係をツリー状に画面表示し、ツリーの末端のカテゴリが指定されると、当該カテゴリに分類された文書の一覧を画面表示する。
【０００６】
また例えば、特許文献４には、記憶手段に記憶された複数のファイルのそれぞれに対応する付加情報を備えた付加情報データベースを用いて付加情報に基づく階層構造を生成し、この階層構造に基づいて、記憶手段に記憶されたファイルを分類して表示画面上に表示させるコンピュータシステムが開示されている。
【０００７】
【特許文献１】特開平０９−０４４３９３号公報
【特許文献２】特開２００６−１６３８７３号公報
【特許文献３】特開２００３−１４１１２９号公報
【特許文献４】特開２００５−２１６１２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、階層構造を有する分類構造に従った文書の分類を実現するシステムとして、例えば、分類構造における各分類箇所に対応するオブジェクトを、分類フォルダとして生成して管理するシステムが考えられる。この例のシステムによると、分類フォルダに対応する分類箇所の条件を満たす文書ファイルの個数、又は、条件を満たす文書ファイルの記憶装置における位置情報など、その分類箇所に分類される文書に関する情報や、その分類箇所に対するアクセス権制御に関する情報などを、分類フォルダの属性情報として分類フォルダに静的に関連付けて管理できる。しかしながら、この例のシステムでは、分類構造における分類箇所のそれぞれについて実体を有するオブジェクトとして分類フォルダを生成するため、分類構造に関する情報について多くの記憶領域が必要となる場合がある。
【０００９】
本発明の目的は、階層構造を有する分類構造に従った文書の分類を実現する際、本構成を有しない場合と比較して、より少ない記憶領域を用いて分類構造に関する情報を管理する文書分類プログラム及び文書分類装置を提供することである。
【課題を解決するための手段】
【００１０】
請求項１に係る発明は、複数の分類条件からなる階層構造を有する分類構造に従って、記憶手段に記憶された分類対象の文書を分類する分類ステップと、前記複数の分類条件それぞれについて当該分類条件の属性を表す第１属性情報を記憶する第１属性情報記憶手段と、前記分類構造中の分類箇所それぞれについて前記分類構造における当該分類箇所のそれぞれの位置によって特定される情報を含む第２属性情報を記憶する第２属性情報記憶手段と、を参照し、前記複数の分類条件のうちから処理対象とする対象分類条件と前記分類構造中の分類箇所のうちから処理対象とする対象分類箇所とを特定する出力指示に応じて、前記対象分類条件の前記第１属性情報と、前記対象分類箇所の前記第２属性情報と、を対応づけて出力する出力ステップと、をコンピュータに実行させることを特徴とする文書分類プログラムである。
【００１１】
請求項２に係る発明は、請求項１に係る発明において、前記第２属性情報は、前記分類箇所それぞれに対応する検索条件を含み、前記分類ステップにおいて、指定分類箇所を特定する分類指示に応じて、前記指定分類箇所に対応する検索条件を前記第２属性情報記憶手段から取得し、前記分類対象の文書のうち、取得した検索条件を満たす文書を前記指定分類箇所に関連付ける。
【００１２】
請求項３に係る発明は、請求項２に係る発明において、前記分類ステップにおいて前記指定分類箇所に関連付けられた文書の数を、前記第２属性情報として前記指定分類箇所に対応づけて前記第２属性情報記憶手段に登録する第２属性情報登録ステップ、をさらに前記コンピュータに実行させる。
【００１３】
請求項４に係る発明は、請求項１から３のいずれか１項に係る発明において、分類箇所を特定する表示要求に応じて、前記分類構造において前記表示要求により特定された分類箇所の一段階下位に位置する分類箇所のそれぞれに配置される分類条件を前記対象分類条件とし、かつ、前記一段階下位に位置する分類箇所のそれぞれを前記対象分類箇所とする出力指示を生成する生成ステップと、前記生成ステップにおいて生成された出力指示に応じた前記出力ステップの処理を実行するステップと、前記特定された分類箇所の一段階下位に位置する各分類箇所について前記出力ステップにおける処理の結果、出力された情報を表示装置に表示させる表示ステップと、をさらに前記コンピュータに実行させる。
【００１４】
請求項５に係る発明は、複数の分類条件からなる階層構造を有する分類構造に従って、記憶手段に記憶された分類対象の文書を分類する分類手段と、前記複数の分類条件のそれぞれについて、当該分類条件の属性を表す第１属性情報を記憶する第１属性情報記憶手段と、前記分類構造中の分類箇所それぞれについて、前記分類構造における当該分類箇所のそれぞれの位置によって特定される情報を含む第２属性情報を記憶する第２属性情報記憶手段と、前記複数の分類条件のうちから処理対象とする対象分類条件と前記分類構造中の分類箇所のうちから処理対象とする対象分類箇所とを特定する出力指示に応じて、前記対象分類条件について前記第１属性情報記憶手段から取得した前記第１属性情報と、前記対象分類箇所について前記第２属性情報記憶手段から取得した前記第２属性情報と、を対応づけて出力する出力手段と、を備えることを特徴とする文書分類装置である。
【発明の効果】
【００１５】
請求項１又は５に係る発明によると、階層構造を有する分類構造に従った文書の分類を実現する際、本構成を有しない場合と比較して、より少ない記憶領域を用いて分類構造に関する情報を管理することができる。
【００１６】
請求項２に係る発明によると、分類構造において指定された分類箇所に分類すべき文書を、分類箇所に対応付けられた検索式を用いて検索できる。
【００１７】
請求項３に係る発明によると、分類構造における各分類箇所に分類された文書の数を当該分類箇所に対応づけて保持しておくことができる。
【００１８】
請求項４に係る発明によると、分類構造における特定の分類箇所の直下に位置する分類箇所に関する情報をユーザに提示できる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施の一形態について説明する前に、まず、図１８から図２０を参照し、記憶装置における文書（ファイル）の格納構造とは別に設けられた分類用の階層構造に従って文書を分類する技術の概略について説明する。
【００２０】
分類対象となる文書は、記憶装置における予め設定された分類対象領域内に格納される。各文書にはそれぞれ属性情報が付与される。例えば、図１８を参照し、各文書について、「地域」、「年齢」、及び「性別」の各項目の値が属性情報として付与されているとする。一例として、図１８に例示する属性情報を有する文書を図１９に例示する分類構造に従って分類する場合について考える。
【００２１】
図１９を参照し、分類構造は、分類ビュー１をルート（根）とする分類フォルダ２ａ，２ｂ，３ａ，３ｂ，…，４ａ，４ｂ，…の階層構造を有する。図１９では、各階層に配置される分類フォルダの一部を示す。
【００２２】
分類ビュー１の直下には、第１の分類階層として、属性情報の「地域」項目（図１８参照）の値による分類条件を表す分類フォルダ２ａ，２ｂ…が並ぶ。図１９の分類フォルダ２ａ，２ｂは、それぞれ、「地域」項目の値が「東京」及び「神奈川」である文書の分類に対応する。第１分類の各分類フォルダの下には、第２の分類階層として、属性情報の「年齢」項目（図１８参照）の値による分類条件を表す分類フォルダ３ａ，３ｂ，３ｃ，…が並ぶ。例えば、図１９の分類フォルダは３ａ，３ｂは、それぞれ、「年齢」項目の値が「１０代」及び「２０代」に該当する文書の分類に対応する。また、分類フォルダ３ａ，３ｂは、分類フォルダ２ａ「東京」の下に配置されているため、分類フォルダ３ａ，３ｂには、それぞれ、「地域」項目の値が「東京」であって「年齢」項目の値が「１０代」に該当する文書、及び、「地域」項目の値が「東京」であって「年齢」項目の値が「２０代」に該当する文書が分類される。
【００２３】
さらに、第２分類の各分類フォルダの下には、第３の分類階層として、属性情報の「性別」項目（図１８参照）の値による分類条件を表す分類フォルダ４ａ，４ｂ，４ｃ，…が並ぶ。図１９の分類フォルダ４ａ，４ｂには、それぞれ、「地域」項目が「東京」、「年齢」項目が「１０代」、かつ「性別」項目が「男性」である文書、及び、「地域」項目が「東京」、「年齢」項目が「１０代」、かつ「性別」項目が「女性」である文書が分類される。
【００２４】
図１９を参照すると、各分類階層において、異なる分類条件を有する一段階上位（親）の分類フォルダのそれぞれに対して、同様の分類フォルダが配置される。例えば、第３分類階層では、一段階上位である第２分類階層の異なる分類フォルダ「１０代」及び「２０代」のそれぞれについて、「性別」項目の分類条件を表す分類フォルダ「男性」及び「女性」が配置される。また例えば、第２分類階層では、第１分類階層の異なる分類フォルダ「東京」及び「神奈川」のそれぞれについて、「年齢」項目の分類条件を表す分類フォルダ「１０代」，「２０代」…が配置される。
【００２５】
図１９の例の分類構造を示すツリーを表示装置に表示させた場合に、例えば、ある分類箇所（ツリーのノード）の分類フォルダを指定してその分類フォルダを「開く」ことを指示するユーザ入力を受け付けると、文書管理サーバは、指定された分類箇所に対応する検索条件を満たす文書を記憶装置の分類対象領域から検索して表示する。例えば、図１９の分類フォルダ４ｃが指定されると、その分類箇所に対応する検索条件「“地域＝「東京」” AND “年齢＝「２０〜２９」” AND “性別＝「Ｍ」”」を満たす文書を検索し、検索結果の文書のファイル名のリストを表示装置に一覧表示させる。ここで一覧表示される文書は、記憶装置における複数の異なる格納位置に格納されている場合がある。しかしながら、ユーザが特定の分類フォルダを「開く」操作を行うことで文書が一覧表示されるため、ユーザにとって、外見上は一般的なファイルシステムにおけるフォルダと同様、その分類フォルダの中に、対応する検索条件に適合する文書が格納されているように見える。
【００２６】
また、例えば、通常のファイルシステムにおけるフォルダの下に文書ファイルなどのオブジェクトを登録する場合と同様に、分類フォルダの下にオブジェクトを登録することを可能としてもよい。この場合、分類フォルダは登録オブジェクトへの属性値の付加機能を持つことになる。属性値の付加機能は、分類フォルダの下にオブジェクトが登録されると、登録されたオブジェクトに対して、その分類フォルダの検索条件を満たす属性値を自動的に付加する機能である。なお、記憶装置において実際にオブジェクトを登録する格納位置は、その分類フォルダを含む分類構造に関して予め設定された分類対象領域内のいずれかの格納位置とすればよい。
【００２７】
図１９のような分類構造は、分類構造がどのような分類階層を有し、各分類階層でどのような条件に従って分類するか、を表す分類設定情報に従って生成される。例えば、図１９の例の分類構造は、図２０に例示する分類設定情報に従って生成されるものである。図２０の例の分類設定情報は、分類構造「アンケート調査結果」が、上位から順に第１分類、第２分類、及び第３分類の３つの分類階層を有することを表す。また、第１分類、第２分類、及び第３分類の各階層における分類条件の判定に用いられる属性情報の項目は、それぞれ、「地域」、「年齢」、及び「性別」であることを表す。さらに、各分類中の表ａ，ｂ，ｃは、各分類の属性情報の項目の値が「条件値」に示される値である場合に、対応する「分類名」の条件が満たされると判定されることを表す。図２０の表ａ，ｂ，ｃ中の分類名及び条件値の組で表される分類条件は、図１９において、図２０の表中の分類名と同一の名称を有する分類フォルダに対応する。例えば、図２０の表ｂ中の分類名「１０代」の分類条件（条件値「１０〜１９」）は、図１９の分類フォルダ３ａ，３ｂに対応し、図２０の表ｃ中の分類名「女性」の分類条件（条件値「Ｆ」）は、図１９の分類フォルダ４ｂ，４ｄ，４ｆ，４ｈに対応する。
【００２８】
以下で説明する本発明の各種の実施形態は、図１８から図２０を参照して説明したような、分類フォルダを含む分類構造による文書の分類を実現する。
【００２９】
図１は、文書管理システムの概略構成の例を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク３０を介して接続された文書管理サーバ１０とクライアント２０−１，２０−２，・・・（以下、クライアント２０と総称する）とから構成される。
【００３０】
文書管理サーバ１０は、本発明の１つの実施形態に係る文書分類装置として機能する。文書管理サーバ１０は、クライアント２０からの処理要求に応じて処理を行う。例えば、クライアント２０からの文書出力要求に応じて、要求された文書を要求元のクライアント２０に対して出力する処理を行う。また例えば、文書の分類のための分類構造における分類箇所の指定を受けて、指定された分類箇所に対応する検索条件を満たす文書ファイルの一覧をクライアント２０の表示装置に表示させる処理を行う。
【００３１】
文書管理サーバ１０は、処理要求受付部１００、制御部１１０、処理結果出力部１２０、分類構造管理部１３０、分類処理部１４０、第１オブジェクト情報管理部１５０、及び第２オブジェクト情報管理部１６０を備える。また、文書管理サーバ１０は、文書ＤＢ（データベース）４０、分類設定ＤＢ５０、第１属性情報ＤＢ６０、及び第２属性情報ＤＢ７０の各種ＤＢを参照可能である。これら各種ＤＢは、文書管理サーバ１０にネットワークを介して接続されていてもよいし、文書管理サーバ１０が備える記憶装置（図示しない）上に構築されていてもよい。
【００３２】
処理要求受付部１００は、ネットワークを介して接続されたクライアント２０からの処理要求を受け付けて、受け付けた要求の内容を制御部１１０に渡す。
【００３３】
制御部１１０は、文書管理サーバ１０の各部における処理を制御する。制御部１１０は、クライアント２０からの処理要求を処理要求受付部１００から受け取ると、受け取った要求の内容に応じた処理を行うよう文書管理サーバ１０の各部を制御し、その処理結果を取得して処理結果出力部１２０に渡す。
【００３４】
処理結果出力部１２０は、クライアント２０からの処理要求に応じた処理の結果を制御部１１０から取得して、取得した処理結果をクライアント２０に対して出力する。
【００３５】
分類構造管理部１３０は、分類構造に関する情報を管理する。例えば、分類構造管理部１３０は、処理要求受付部１００及び制御部１１０を介して分類設定情報をクライアント２０から取得した場合に、分類設定情報を分類設定ＤＢ５０に登録する。また例えば、分類構造管理部１３０は、取得した分類設定情報に従って、分類構造を実現するためのオブジェクトを生成する。
【００３６】
図２に、分類設定情報に従って分類構造管理部１３０が生成するオブジェクトの例を示す。図２の例は、図２０に例示する分類設定情報を分類構造管理部１３０が取得した場合に生成される各種のオブジェクトを示す。図２を参照し、分類構造管理部１３０は、分類フォルダオブジェクトα１，α２，…，β１，β２，…，γ１，γ２、分類階層オブジェクトｔｉｅｒα，ｔｉｅｒβ，ｔｉｅｒγ、及び分類ビューオブジェクトｖｉｅｗ１の３種類のオブジェクトを生成する。
【００３７】
分類フォルダオブジェクトは、１つの観点（例えば、属性情報の１項目）による分類を表すオブジェクトである。分類フォルダオブジェクトは、それぞれ、１つの分類条件に対応する。例えば、図２の分類フォルダオブジェクトα１「東京」は、図２０の第１分類の表ａにおける分類名「東京」の分類条件に対応する。また例えば、図２の分類フォルダオブジェクトγ２「女性」は、図２０の第３分類の表ｃにおける分類名「女性」の分類条件に対応する。
【００３８】
分類階層オブジェクトは、分類構造における各階層を表すオブジェクトである。図２の例の分類階層オブジェクトｔｉｅｒα，ｔｉｅｒβ，ｔｉｅｒγは、それぞれ、図２０の例の分類設定情報の第１分類、第２分類、及び第３分類に対応する。分類階層オブジェクトは、その階層に含まれる分類フォルダの集合を表す情報を有する。例えば、分類階層オブジェクトは、１つ以上の分類フォルダオブジェクトへの参照情報を有する。例えば図２の分類階層オブジェクトｔｉｅｒα「地域」は、図２０の第１分類の各分類条件に対応する分類フォルダオブジェクトα１「東京」，α２「神奈川」，α３「千葉」…への参照情報を有し、分類階層オブジェクトｔｉｅｒβ「年齢」は、図２０の第２分類の各分類条件に対応する分類フォルダオブジェクトβ１「１０代」，β２「２０代」，β３「３０代」…への参照情報を有し、分類階層オブジェクトｔｉｅｒγ「性別」は、図２０の第３分類の各分類条件に対応する分類フォルダオブジェクトγ１「男性」，γ２「女性」への参照情報を有する。また、分類階層オブジェクトは、対応する分類階層全体に関する情報を保持する。分類階層全体に関する情報の例は、その分類階層に対して付与された名前や、その分類階層において分類条件の判定に用いられる属性情報の項目の名前（例えば、第１分類の「地域」、第２分類の「年齢」など）である。
【００３９】
分類ビューオブジェクトは、分類構造の起点となるオブジェクトである。言い換えると、分類ビューオブジェクトは、分類構造を表すツリーのルートに相当するオブジェクトである。分類ビューオブジェクトは、分類構造全体に関する情報を保持する。よって、分類ビューオブジェクトは、分類構造管理部１３０が取得した分類設定情報を含むとも言える。分類構造全体に関する情報として、分類ビューオブジェクトは、１つ以上の分類階層オブジェクトへの参照情報を有する。分類構造全体に関する情報には、さらに、分類階層オブジェクトの順位を表す情報が含まれ、この情報により文書管理サーバ１０は分類階層間の上下関係を把握する。図２の例の分類ビューオブジェクトｖｉｅｗ１は、３つの分類階層オブジェクトｔｉｅｒα，ｔｉｅｒβ，ｔｉｅｒγへの参照情報を有し、これら３つの分類階層オブジェクトの順位情報（ｔｉｅｒα「地域」，ｔｉｅｒβ「年齢」，ｔｉｅｒγ「性別」の順）を有する。また、分類ビューオブジェクトは、分類構造に従って分類する対象の文書を特定する情報である分類範囲情報を有する。分類範囲情報は、例えば、分類対象の文書が格納される領域として予め設定された文書ＤＢ４０中の分類対象領域への参照情報であってよい。あるいは、例えば、分類範囲情報は、分類対象の文書（オブジェクト）の種別を表すものであってよい。さらに、分類ビューオブジェクトは、この分類ビューオブジェクトが表す分類構造中の分類箇所（分類フォルダ）の下に文書ファイルなどのオブジェクトを登録する場合のデータベースにおける登録先を表す登録先情報を含んでいてよい。登録先情報は、例えば、登録されるオブジェクトが格納される文書ＤＢ４０中の格納位置を表す情報であってよい。通常、登録先情報は、分類範囲情報が表す分類対象領域内のいずれかの格納位置に設定され、登録されるオブジェクトが文書ＤＢ４０中の分類対象領域内に格納されるようにする。
【００４０】
図２の例では、分類階層間の順位情報は、分類ビューオブジェクトが保持し、分類階層オブジェクトは、他の分類階層オブジェクトとの間の上下関係を表す情報を保持することはない。このような分類ビューオブジェクト及び分類階層オブジェクトの構成によると、分類ビューオブジェクトが有する分類階層オブジェクト間の順序づけを変更するだけで、分類階層オブジェクトが有する情報を変更することなく分類階層の順位が変更される。
【００４１】
また、複数の異なる分類ビューオブジェクトが１つの分類階層オブジェクトを参照することを可能としてもよい。
【００４２】
図２に例示する各種のオブジェクトを生成することで、図２０の分類設定情報に従った分類構造が実現される。文書管理サーバ１０は、例えば、図２の各種のオブジェクトを用いて、図１９のようなツリーをクライアント２０の表示装置に表示させる。例えば、分類ビューオブジェクトｖｉｅｗ１を表すアイコンを表示させ（図１９の分類ビュー１）、さらに、各分類階層について、各分類階層オブジェクトの参照先の分類フォルダオブジェクトに対応するアイコン（図１９の分類フォルダ２ａ，２ｂ，…，３ａ，３ｂ，…，４ｃ）を表示させる。
【００４３】
ここで、図１９において分類構造上の複数の異なる分類箇所に現れる同名の分類フォルダ（例えば、分類条件「男性」を表す分類フォルダ４ａ，４ｃ，４ｅ，４ｇ）は、文書管理サーバ１０において、１つの分類フォルダオブジェクト（上述の「男性」の例では、図２の分類フォルダオブジェクトγ１）として管理されることに注意されたい。一般に、サーバ上でツリーを実現する場合、ツリーの各ノードに対応するオブジェクトがその子ノードに対応するオブジェクトへの参照情報を有するが、本実施形態では、分類構造の各ノードに対応する分類フォルダオブジェクトは、子ノードに対応するオブジェクトへの参照情報を有しない。
【００４４】
また、文書管理サーバ１０が分類構造を表示装置に表示させる場合、原則として分類階層オブジェクトに対応するアイコンを表示することはない。分類階層は分類フォルダの集合であるため、分類階層オブジェクトの参照先の分類フォルダオブジェクトに対応するアイコンを並べて表示させることで、分類階層オブジェクト自体に対応するアイコンを表示させなくても、分類階層オブジェクトが表す分類階層は表現される。
【００４５】
再び図１を参照し、第１オブジェクト情報管理部１５０は、各オブジェクト及びその属性情報を管理する。例えば、第１オブジェクト情報管理部１５０は、文書管理サーバ１０の管理対象の文書ファイルのオブジェクトを管理する。文書管理サーバ１０の管理対象の文書ファイルは、文書ＤＢ４０に格納される。文書ＤＢ４０は、一般的なファイルシステムであってよい。第１オブジェクト情報管理部１５０は、例えば、処理要求受付部１００及び制御部１１０を介して受け取ったクライアント２０からの処理要求に応じて、文書ＤＢ４０に文書ファイルを新規に登録したり、文書ＤＢ４０中の文書ファイルの編集や削除を行ったりする。
【００４６】
また例えば、第１オブジェクト情報管理部１５０は、分類構造管理部１３０が生成した各オブジェクトに対してシステム内で一意な識別子（ＩＤ）を付与し、各オブジェクトのオブジェクトＩＤと、そのオブジェクトの属性情報と、を関連付けて第１属性情報ＤＢ６０に登録する。第１オブジェクト情報管理部１５０が第１属性情報ＤＢ６０に登録する属性情報は、オブジェクトのオブジェクトＩＤによって特定される属性情報である。このような、オブジェクト自体の属性情報を、以下では「第１属性情報」と呼ぶ。第１属性情報には、例えば、オブジェクトの名前、オブジェクトの種類（分類ビューオブジェクト、分類階層オブジェクト、分類フォルダオブジェクト、文書ファイルオブジェクト、及び画像ファイルオブジェクトなど）、及び、オブジェクトの実体データのデータベースにおける格納位置などがある。
【００４７】
図３に、第１属性情報ＤＢ６０に格納されるデータ内容の一例を示す。図３の表の１行は、１つのオブジェクトに対応する。図３を参照し、第１属性情報ＤＢ６０には、各オブジェクトのオブジェクトＩＤに関連付けて、第１属性情報の各項目「オブジェクト名」、「オブジェクトタイプ」、「アクセス権」、「ロック状態」、及び「格納位置」が登録される。オブジェクト名は、例えば、ユーザ又はシステムの管理者などによって設定されたオブジェクトの名称である。オブジェクトタイプは、オブジェクトの種類を表す。アクセス権は、オブジェクトに対する操作権限を表す。アクセス権の項目には、例えば、オブジェクトに対する操作の種類（例えば、閲覧、編集、削除など）と、その操作の実行を許可されたユーザのユーザＩＤと、を対応づけるリストであるＡＣＬ（Access Control List）が登録される。ロック状態は、排他制御を行うための情報である。格納位置は、オブジェクトが格納されているデータベース上の格納位置を表す。格納位置の項目には、例えば、ファイルシステムにおけるオブジェクトの格納位置を表すパス情報が登録される。文書管理サーバ１０は、この格納位置の項目の値を参照することでオブジェクトの実体データを取得する。
【００４８】
図３の表の第１属性情報の各項目は単なる例示であり、必要に応じて、図３に示す項目の一部又は全部を削除してもよいし、図３に示す項目以外の項目を設けてもよい。例えば、分類構造管理部１３０によって生成される各種オブジェクト（分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクト）について、各オブジェクトが保持する実体データを第１属性情報ＤＢ６０に登録してもよい。例えば、分類ビューオブジェクトが保持する分類構造情報、分類範囲情報、及び登録先情報や、分類階層オブジェクトが保持する分類フォルダオブジェクトへの参照情報などを、各オブジェクトのオブジェクトＩＤに関連付けて第１属性情報ＤＢ６０に登録しておく。なお、分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクトの各オブジェクトの実体データを第１属性情報ＤＢ６０に登録しておく場合、これらの各オブジェクト自体が第１属性情報ＤＢ６０に格納されているとも言える。よって、この場合、これらの各オブジェクトの図３の表の「格納位置」の項目の値は空（ＮＵＬＬ）にしておいてもよい。
【００４９】
再び図１を参照し、第２オブジェクト情報管理部１６０は、分類構造管理部１３０が生成する各種のオブジェクトに関し、分類構造における分類箇所によって特定される情報を管理する。本実施形態の文書管理サーバ１０は、上述のように、分類構造上の複数の異なる分類箇所に現れる分類フォルダであって同一の分類条件に対応する複数の分類フォルダを、１つの分類フォルダオブジェクトとして生成する。分類構造に従った文書の分類を実現するには、１つの分類条件に対応する分類フォルダオブジェクトに関連付けられる情報だけでなく、その分類フォルダオブジェクトの分類構造における位置（分類箇所の位置）に応じた情報も用いる必要がある。
【００５０】
例えば、図１９に示す分類構造において、分類フォルダ４ａ，４ｃ，４ｅ，４ｇは、すべて、図２の例の１つの分類フォルダオブジェクトγ１「男性」に対応するが、図１９の分類構造に従った文書の分類を実現するには、各分類フォルダ４ａ，４ｃ，４ｅ，４ｇに対して、それぞれ、異なる検索条件を満たす文書を分類する必要がある。例えば、分類フォルダ４ａには、検索条件「“地域＝「東京」” AND “年齢＝「１０〜１９」” AND “性別＝「Ｍ」”」を満たす文書を分類し、分類フォルダ４ｇには、検索条件「“地域＝「神奈川」” AND “年齢＝「２０〜２９」” AND “性別＝「Ｍ」”」を満たす文書を分類しなければならない。このように、分類構造中の各分類箇所に分類すべき文書を検索するための検索条件は、その分類箇所に配置される分類フォルダオブジェクト自体によっては特定されず、その分類箇所の分類構造における位置によって特定される。
【００５１】
以上で説明したような、分類構造における分類箇所の位置によって特定される情報を、以下では「第２属性情報」と呼ぶ。分類構造における各分類箇所の位置は、例えば、分類構造を表すツリーのルートから分類箇所に対応するノードまでの経路を表す経路情報によって表される。以下、図４及び図５を参照し、経路情報について説明する。
【００５２】
図４に、図２に例示する分類階層オブジェクトｔｉｅｒα，ｔｉｅｒβ，ｔｉｅｒγ及び分類フォルダオブジェクトα１，α２，…，β１，β２，…，γ１，γ２を示し、さらに、分類フォルダオブジェクトγ２について生じ得る経路の例を示す。図４では、各分類階層オブジェクトを表す実線四角の中に、その分類階層オブジェクトの参照先の分類フォルダを示す。また、図４では、経路の起点となる分類ビューオブジェクトは省略して図示する。図４を参照し、破線の曲線矢印ｒｔ１は、分類フォルダオブジェクトγ２「女性」が、分類構造において、分類フォルダオブジェクトα１「東京」の下に配置される分類フォルダオブジェクトβ３「３０代」の下に位置する場合の経路を表す。また、図３の一点鎖線の曲線矢印ｒｔ２は、分類フォルダオブジェクトγ２「女性」が、分類構造において、分類フォルダオブジェクトα３「千葉」の下の分類フォルダオブジェクトβ１「１０代」の下に位置する場合の経路を表す。
【００５３】
図５は、分類構造を表すツリーにおいて、図４に例示する各種オブジェクト及び経路ｒｔ１，ｒｔ２を示す図である。第２オブジェクト情報管理部１６０は、分類構造のルートから各分類箇所までの経路に対して経路ＩＤを付与することで、各分類箇所の分類構造における位置を識別する。図５に経路ＩＤの例を示す。図５を参照し、経路ｒｔ１の経路ＩＤ「ｖｉｅｗ１＠α１＠β３＠γ２」は、経路ｒｔ１上に現れる各オブジェクト（分類ビューオブジェクトｖｉｅｗ１、分類フォルダオブジェクトα１，β３，γ２）のオブジェクトＩＤを表す文字列を区切り文字「＠」で連結した文字列である。同様に、経路ｒｔ２の経路ＩＤ「ｖｉｅｗ１＠α３＠β１＠γ２」は、経路ｒｔ２上に現れる各オブジェクトのオブジェクトＩＤを表す文字列を連結した文字列である。以下の説明では、第２オブジェクト情報管理部１６０は、経路ＩＤとして、図５に例示するように、分類構造の起点から各分類箇所までの経路上に現れる各オブジェクトのオブジェクトＩＤを表す文字列を区切り文字「＠」で連結した文字列を用いるものとする。なお、区切り文字として「＠」以外の文字を用いてもよい。オブジェクトＩＤを表す文字列に含まれない文字として設定された文字を区切り文字として用いればよい。
【００５４】
再び図１を参照し、第２オブジェクト情報管理部１６０は、分類構造における各分類箇所の経路ＩＤと、その分類箇所の分類構造上の位置によって特定される情報と、を関連付けて第２属性情報ＤＢ７０に登録する。図６は、第２属性情報ＤＢ７０に格納されるデータ内容の一例を示す図である。
【００５５】
図６を参照すると、第２属性情報ＤＢ７０には、各経路ＩＤに対応づけて、第２属性情報の各項目「検索条件」及び「該当件数」が登録される。検索条件は、対応する分類箇所に分類される文書が満たすべき属性情報の条件を表す。該当件数は、対応する分類箇所の検索条件を満たす文書ファイルの数を表す。図６に示す第２属性情報の各項目は例示にすぎない。管理目的上、必要なければこれらの項目を登録しなくてもよいし、あるいは、図６に示す項目以外の項目を登録してもよい。例えば、その経路ＩＤに対応する分類箇所に分類される文書中に高頻度で出現するキーワードなどを登録しておいてもよい。分類箇所に応じて異なる情報を登録しておけばよい。
【００５６】
図１の説明に戻り、分類処理部１４０は、分類構造を用いた文書の分類に関する処理を行う。分類処理部１４０は、例えば、分類構造における各分類箇所に対応する検索条件を満たす文書を文書ＤＢ４０から検索したり、処理要求受付部１００及び制御部１１０を介してクライアント２０から受け取った表示要求に応じて、指定された分類フォルダの下に位置するオブジェクトの一覧を表示させる処理を行ったりする。
【００５７】
以下、文書管理サーバ１０の分類処理部１４０が行う処理の手順について説明する。
【００５８】
以下の説明では、図２０の例の分類設定情報に従って分類構造管理部１３０により図２に例示する各種のオブジェクトが生成され、第１属性情報ＤＢ６０には図３の表の各オブジェクトの第１属性情報が登録されているものとする。第１属性情報ＤＢ６０において、さらに、分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクトについては、各オブジェクトが保持する実体データも各オブジェクトＩＤに関連付けて登録されているものとする。また、第２属性情報ＤＢ７０には図６の例のデータ内容が登録されているものとする。つまり、以下の説明は、文書管理サーバ１０において、図１９に示す分類構造に従った文書の分類が実現可能な状態である場合の処理の一例である。
【００５９】
図７は、分類処理部１４０において、分類フォルダの一覧表示を行う場合の処理手順の例を示すフローチャートである。クライアント２０は、ユーザの指示に従って、分類構造における特定の分類箇所の直下に配置されるオブジェクトの表示を要求する表示要求を文書管理サーバ１０に対して送信する。クライアント２０からの表示要求は、例えば、クライアント２０において、分類ビューオブジェクトを表すアイコンが表示装置に表示されているときにユーザが当該アイコンを指定してその分類ビューを「開く」ことを指示する操作を行なった場合に送信される。また例えば、分類構造を表すツリーの少なくとも一部がクライアント２０の表示装置に表示されているときに当該ツリー上の特定の分類フォルダ（分類箇所）を指定してその分類フォルダを「開く」操作をユーザが行った場合も、クライアント２０は文書管理サーバ１０に対して表示要求を送信する。
【００６０】
文書管理サーバ１０の分類処理部１４０は、処理要求受付部１００及び制御部１１０を介して上述の表示要求をクライアント２０から受け取った場合に、図７の例の手順の処理を開始する。
【００６１】
図７を参照し、まず、分類処理部１４０は、表示要求において指定された分類箇所の経路ＩＤ（指定経路ＩＤ）を取得する（ステップＳ１０）。指定経路ＩＤは、クライアント２０からの表示要求に含まれる。例えば、クライアント２０においてユーザが分類ビューオブジェクトを指定していた場合、表示要求には当該分類ビューオブジェクトのオブジェクトＩＤが含まれ、分類処理部１４０は、このオブジェクトＩＤを指定経路ＩＤとして取得する。
【００６２】
次に、指定経路ＩＤから分類ビューオブジェクトのオブジェクトＩＤを抽出する（ステップＳ１２）。分類ビューオブジェクトのオブジェクトＩＤは、指定経路ＩＤを表す文字列の先頭から最初の区切り文字「＠」までの文字列を抽出することで抽出される。ステップＳ１０で、分類ビューオブジェクトのオブジェクトＩＤを指定経路ＩＤとして取得していた場合、指定経路ＩＤは区切り文字「＠」を含まない。よって、指定経路ＩＤが区切り文字「＠」を含まない場合は、指定経路ＩＤの文字列のすべてを分類ビューオブジェクトのオブジェクトＩＤとする。
【００６３】
その後、抽出したオブジェクトＩＤを第１オブジェクト情報管理部１５０に渡し、当該オブジェクトＩＤを有する分類ビューオブジェクトを第１属性情報ＤＢ６０から読み出すことを依頼する。そして、この依頼に応じて読み出された分類ビューオブジェクトを第１属性情報管理部１５０から受け取り、受け取った分類ビューオブジェクトに含まれる分類構造情報を取得する（ステップＳ１４）。なお、以下の説明では、ステップＳ１４のような、分類処理部１４０が第１オブジェクト情報管理部１５０を介して第１属性情報ＤＢ６０からオブジェクトを取得する処理について、単に、分類処理部１４０が第１属性情報ＤＢ６０を参照する、あるいは、分類処理部１４０が第１属性情報ＤＢ６０からオブジェクトを読み出す、などと記載する。
【００６４】
次に、指定経路ＩＤ及びステップＳ１４で取得した分類構造情報から、指定経路ＩＤが表す分類箇所が位置する分類階層の一段階下位の分類階層に対応する分類階層オブジェクトのオブジェクトＩＤを取得する（ステップＳ１６）。この一段階下位の分類階層は、表示すべき分類フォルダオブジェクトを含む分類階層である。ステップＳ１６で、分類処理部１４０は、例えば、まず、指定経路ＩＤにおいて先頭から最初の区切り文字「＠」の後に含まれるオブジェクトＩＤの個数を求める。このオブジェクトＩＤの個数は、指定経路ＩＤが表す分類箇所が分類構造において何番目の分類階層に位置するかを表す。そして、分類処理部１４０は、ステップＳ１４で取得した分類構造情報から、指定経路ＩＤに対応する分類箇所の一段階下位の階層を表す分類階層オブジェクトのオブジェクトＩＤを取得する。
【００６５】
なお、指定経路ＩＤに対応する分類箇所が分類構造において最下位の分類階層に位置する場合、ステップＳ１６で、一段階下位の分類階層の分類階層オブジェクトのオブジェクトＩＤは取得できない。
【００６６】
ステップＳ１８では、ステップＳ１６のオブジェクトＩＤ取得処理が成功したか否かを判定する。ステップＳ１６で分類階層オブジェクトのオブジェクトＩＤが取得されていれば、ステップＳ２０に進み、取得されていなければ、ステップＳ２６に進む。
【００６７】
ステップＳ２０では、分類処理部１４０は、まず、第１属性情報ＤＢ６０を参照し、ステップＳ１６で取得されたオブジェクトＩＤの分類階層オブジェクトを読み出す。そして、読み出した分類階層オブジェクトの参照先の分類フォルダオブジェクトのオブジェクトＩＤのリストを取得する。さらに、取得したリスト中のオブジェクトＩＤに関連付けられる第１属性情報を取得する。例えば、指定経路ＩＤが「ｖｉｅｗ１＠α１」である場合、指定経路ＩＤに対応する分類箇所の一段階下位の階層は、分類階層オブジェクトｔｉｅｒβ「年齢」によって表される（図２参照）。したがって、この例では、ステップＳ２０で、分類階層オブジェクトｔｉｅｒβの参照先の分類フォルダオブジェクトのオブジェクトＩＤのリストβ１，β２，β３，…と、リスト中の各オブジェクトβ１，β２，β３，…の第１属性情報と、が取得される。
【００６８】
次に、分類処理部１４０は、取得したリスト中の分類フォルダオブジェクトそれぞれの経路ＩＤを求め、求めた経路ＩＤに関連付けられる第２属性情報を取得する（ステップＳ２２）。リスト中の各分類フォルダオブジェクトの経路ＩＤは、指定経路ＩＤを表す文字列の末尾に、区切り文字「＠」及びその分類フォルダオブジェクトのオブジェクトＩＤを表す文字列を追加することで求められる。指定経路ＩＤが「ｖｉｅｗ１＠α１」である場合の上述の例では、各分類フォルダオブジェクトの経路ＩＤは、「ｖｉｅｗ１＠α１＠β１」，「ｖｉｅｗ１＠α１＠β２」，「ｖｉｅｗ１＠α１＠β３」，…として求められる。
【００６９】
ステップＳ２２で取得される第２属性情報は、例えば、各分類フォルダオブジェクトの経路ＩＤが表す分類箇所についての該当件数である。求めた経路ＩＤと関連付けて第２属性情報ＤＢ７０に該当件数がすでに登録されている場合、ステップＳ２２で、分類処理部１４０は、第２オブジェクト情報管理部１６０を介して第２属性情報ＤＢ７０から該当件数を取得する。未登録である場合、分類処理部１４０は、経路ＩＤが表す分類箇所に対応する検索条件に従って文書ＤＢ４０の検索を行うことで、その該当件数を求める。ステップＳ２２で該当件数を取得する場合の処理の詳細手順の例については後述する。
【００７０】
ステップＳ２２の後、分類処理部１４０は、リスト中の各分類フォルダオブジェクトの第１属性情報及び第２属性情報を対応づけた上で、分類フォルダオブジェクトのリストを処理結果として制御部１１０に対して出力する。制御部１１０は、分類処理部１４０から受け取ったリストを処理結果出力部１２０によってクライアント２０の表示装置に一覧表示させる（ステップＳ２４）。ステップＳ２４の後、処理は終了する。
【００７１】
図８は、図７のステップＳ２４の処理の結果、クライアント２０の表示装置に表示される画面の一例を示す図である。画面左側のツリー表示エリア２００には、分類構造がツリー表示される。画面右側の一覧表示エリア２０２には、ツリー表示エリア２００でユーザが選択した分類フォルダ（図８では、「東京」）の内容が表示される。図８は、ツリー表示エリア２００における分類フォルダ「東京」を指定した表示要求（ユーザによる分類フォルダ「東京」を「開く」操作）に応じて、文書管理サーバ１０が図７の手順の処理を行った結果、クライアント２０の表示装置に表示される画面の例である。一覧表示エリア２０２には、ユーザが選択した分類フォルダ「東京」が位置する分類階層「地域」の一段階下位の分類階層「年齢」に含まれる分類フォルダオブジェクトのリストが表示される。一覧表示エリア２０２では、各分類フォルダオブジェクトのアイコン、属性値（「名前」、「タイプ」、「該当件数」など）や、操作ボタンなどが表示される。一覧表示エリア２０２において破線で囲んだ部分に表示される各オブジェクトの「名前」及び「タイプ」は、オブジェクトＩＤを用いて第１属性情報ＤＢ６０から取得された（図７のステップＳ２０）第１属性情報である。一覧表示エリア２０２において一点鎖線で囲んだ部分に表示される各オブジェクトの「該当件数」の値は、各オブジェクトの経路ＩＤによって特定される第２属性情報であり、図７のステップＳ２２で取得された情報である。このように、各分類フォルダオブジェクトについて、第１属性情報と第２属性情報とが対応づけられて表示される。
【００７２】
図９は、図７のステップＳ２４の処理の結果、クライアント２０の表示装置に表示される画面の他の例を示す。図９は、ツリー表示エリア２００において、ユーザが分類フォルダ「茨城」を「開く」操作を行った場合に表示される画面の例である。図９を参照し、分類フォルダオブジェクト「茨城」についての文書管理サーバ１０の図７の手順の処理の結果、図８の例と同様に、分類フォルダオブジェクト「茨城」が位置する分類階層「地域」の一段階下位の分類階層「年齢」に含まれる分類フォルダオブジェクトのリストが一覧表示エリア２０２に表示される。図９では、リスト中の各分類フォルダオブジェクトは、図８の例と同様であるため、一覧表示エリア２０２の破線で囲んだ部分に表示される各分類フォルダオブジェクトの第１属性情報（「名前」及び「タイプ」）の値は、図８の値と同様である。しかしながら、図８の場合と図９の場合とで、リスト中の各分類フォルダオブジェクトの経路ＩＤは異なるため、経路ＩＤに基づいて取得される第２属性情報である該当件数の値（一覧表示エリア２０２の一点鎖線で囲んだ部分）は異なる。
【００７３】
以上、図７のステップＳ１８の判定の結果ＹＥＳに進んだ場合の処理（ステップＳ２０〜Ｓ２４）を説明した。ここで、図７のステップＳ１８の判定の結果ＮＯに進んだ場合の処理の説明に入る前に、図１０を参照し、分類処理部１４０が処理する各種のオブジェクトに関する情報の様子について説明する。
【００７４】
文書管理サーバ１０では、オブジェクトＩＤによって特定される第１属性情報と、経路ＩＤによって特定される第２属性情報と、を区別して管理するが、分類処理部１４０の処理では、処理対象のオブジェクトについて、第１属性情報と第２属性情報とを１つのオブジェクトに関する情報として関連付けた状態で処理を行う。図１０は、分類処理部１４０が処理する各種のオブジェクトに関して取得される情報の例を表す。図１０を参照し、実線四角６００，６０２，６０４内に、それぞれ、分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクトのオブジェクトＩＤによって特定される情報を示す。実線四角６００，６０２，６０４内に示す情報は、各オブジェクトが永続的に（あるいは、静的に）保持する情報であり、オブジェクトＩＤを用いて第１属性情報ＤＢ６０を参照することで取得される。
【００７５】
図１０において、破線四角内に示す情報は、処理対象の分類フォルダオブジェクトの経路ＩＤが取得された場合に、分類処理部１４０が読み出す分類階層オブジェクト又は処理対象の分類フォルダオブジェクトと関連付けられる情報である。破線四角内に示す情報は、処理対象の経路ＩＤに応じて各オブジェクトに対して動的に付加される情報であると言える。
【００７６】
例えば、分類階層オブジェクトには、経路ＩＤ７００ａ及び分類ビュー参照７０２が関連付けられる。例えば、図７のステップＳ１６で分類処理部１４０が読み出す分類階層オブジェクトには、指定経路ＩＤ（ステップＳ１０で取得）が経路ＩＤ７００ａとして関連付けられる。分類ビュー参照７０２は、処理対象の分類階層オブジェクトの参照元の分類ビューオブジェクトへの参照情報である。
【００７７】
また、分類フォルダオブジェクトには、例えば、経路ＩＤ７００ｂ及び第２属性情報７０４が関連付けられる。経路ＩＤ７００ｂは、その分類フォルダオブジェクトのオブジェクトＩＤを末端に有する。第２属性情報７０４は、経路ＩＤ７００ｂに関連付けられる第２属性情報である。第２属性情報７０４は、例えば、経路ＩＤ７００ｂを用いて第２属性情報ＤＢ７０を参照して取得したものである。あるいは、経路ＩＤ７００ｂに関する検索条件取得処理（図１１を参照して後述）又は該当件数取得処理（図１３を参照して後述）などの処理によって求められた検索条件又は該当件数を第２属性情報７０４としてもよい。分類フォルダオブジェクトには、さらに、分類階層オブジェクトに関連付けられるものと同様の分類ビュー参照７０２、及び、分類ビュー参照７０２の参照先の分類ビューオブジェクトが保持する分類範囲情報及び登録先情報（破線四角７０６）などを関連付けておいてもよい。
【００７８】
なお、文書管理サーバ１０とクライアント２０との間で分類フォルダオブジェクトに関する情報を送受信する際には、オブジェクトＩＤだけでなく経路ＩＤも特定した上で行われる。例えば、図７のステップＳ２４で文書管理サーバ１０からクライアント２０へ送信される表示対象のオブジェクトＩＤのリストには、各オブジェクトＩＤに関連付けて、当該オブジェクトの第１属性情報と共に、経路ＩＤ及び当該経路ＩＤに基づいて取得される第２属性情報も含まれる。したがって、クライアント２０の表示装置に表示された特定の分類フォルダオブジェクトをユーザが指定すると、指定された分類フォルダオブジェクトのオブジェクトＩＤと共に、その経路ＩＤがクライアント２０から文書管理サーバ１０へ送信される。
【００７９】
以下、図７のステップＳ１８の判定の結果ＮＯに進んだ場合の処理を説明する。
【００８０】
ステップＳ１８の判定の結果ＮＯに進むのは、指定経路ＩＤに対応する分類箇所が位置する分類階層が分類構造において最下位層であることから、ステップＳ１６で一段階下位の分類階層のオブジェクトＩＤを取得できない場合である。この場合、ステップＳ１８からステップＳ２６に進み、ステップＳ２６以降の処理によって、指定経路ＩＤが表す分類箇所に分類される文書のリストがクライアント２０の表示装置に一覧表示される。
【００８１】
ステップＳ２６では、分類処理部１４０は、指定経路ＩＤが表す分類箇所に対応する検索条件を取得する処理を行う。
【００８２】
図１１は、検索条件取得処理の詳細手順の例を示すフローチャートである。図７のステップＳ２６の処理が開始されると、分類処理部１４０は、図１１に例示する手順の処理を開始する。まず、対象分類フォルダの経路ＩＤを取得する（ステップＳ２６０）。本例では、図７の処理における指定経路ＩＤの位置に配置される分類フォルダが対象分類フォルダであるので、図７の処理における指定経路ＩＤを対象分類フォルダの経路ＩＤとして取得する。次に、分類処理部１４０は、第２オブジェクト情報管理部１６０に対して、取得した経路ＩＤを渡すとともに、この経路ＩＤに関連付けて検索条件がすでに第２属性情報ＤＢ７０に登録されているか否かを問合わせる（ステップＳ２６２）。検索条件が登録済みである場合、分類処理部１４０は、第２オブジェクト情報管理部１６０を介して、対象分類フォルダの経路ＩＤに関連付けられた検索条件を第２属性情報ＤＢ７０から取得し（ステップＳ２７４）、検索条件取得処理は終了する。検索条件が未登録である場合、処理はステップＳ２６２からステップＳ２６４へ進む。
【００８３】
ステップＳ２６４では、分類処理部１４０は、対象分類フォルダの分類条件を取得する。この分類条件は、例えば、以下の手順で取得する。まず、対象分類フォルダの経路ＩＤから、分類ビューオブジェクトのオブジェクトＩＤ及び対象分類フォルダに相当する分類フォルダオブジェクトのオブジェクトＩＤを抽出する。ここで、分類ビューオブジェクトのオブジェクトＩＤは、経路ＩＤの先頭から最初の区切り文字「＠」までの文字列を抽出することで得られ、対象分類フォルダに相当する分類フォルダオブジェクトのオブジェクトＩＤは、経路ＩＤの末尾から最初の区切り文字「＠」までの文字列を抽出することで得られる。次に、分類ビューオブジェクトのオブジェクトＩＤを用いて第１属性情報ＤＢ６０を参照し、該当する分類ビューオブジェクトを読み出して、読み出した分類ビューオブジェクト中の分類設定情報を取得する。そして、取得した分類設定情報において、分類フォルダオブジェクトのオブジェクトＩＤに関連付けて第１属性情報ＤＢ６０に登録されたオブジェクト名と同じ分類名を有する分類条件を対象分類フォルダの分類条件として取得する。
【００８４】
対象分類フォルダの分類条件を取得した後、分類処理部１４０は、分類構造において対象分類フォルダの一段階上位に位置するオブジェクトが分類ビューオブジェクトであるか否かを判定する（ステップＳ２６６）。この判定は、例えば、対象分類フォルダの経路ＩＤを用いて行う。例えば、対象分類フォルダの経路ＩＤがオブジェクトＩＤを２つだけ含む（つまり、区切り文字「＠」を１つだけ含む）場合、この経路ＩＤは、分類ビューオブジェクトから一段階下位の分類階層の分類フォルダオブジェクトまでの経路を表すため、対象分類フォルダの一段階上位に位置するオブジェクトは分類ビューオブジェクトであると判定する。対象分類フォルダの経路ＩＤが３以上のオブジェクトＩＤを含む（つまり、区切り文字「＠」を２以上含む）場合、この経路ＩＤは、分類ビューオブジェクトと、その経路の末尾の分類フォルダオブジェクト（対象分類フォルダ）と、の間に１以上の分類フォルダオブジェクトが存在することを表すので、対象分類フォルダの一段階上位に位置するオブジェクトは分類フォルダオブジェクトであって分類ビューオブジェクトではないと判定する。
【００８５】
対象分類フォルダの一段階上位のオブジェクトが分類ビューオブジェクトである場合、ステップＳ２６６からステップＳ２７４に進み、対象分類フォルダについてステップＳ２６４で取得した分類条件を、対象分類フォルダの検索条件とする。この検索条件は、分類処理部１４０からの指示を受けた第２オブジェクト情報管理部１６０によって、対象分類フォルダの経路ＩＤに関連付けて第２属性情報ＤＢ７０に登録される（ステップＳ２７０）。
【００８６】
対象分類フォルダの一段階上位のオブジェクトが分類フォルダオブジェクトである場合、この一段階上位の分類フォルダオブジェクトを処理対象として、図１１の検索条件取得処理を再帰的に呼び出す（ステップＳ２６）。一段階上位の分類フォルダオブジェクトについて検索条件が取得されると、この一段階上位の分類フォルダオブジェクトの検索条件と、ステップＳ２６４で取得した対象分類フォルダの分類条件と、を論理式のＡＮＤ演算子で結合した条件を、対象分類フォルダの検索条件とする（ステップＳ２６８）。そして、この検索条件は、対象分類フォルダの経路ＩＤに関連付けて第２属性情報ＤＢ７０に登録される（ステップＳ２７０）。
【００８７】
ステップＳ２７０の後、図１１の検索条件取得処理は終了する。
【００８８】
再び図７を参照し、分類処理部１４０は、検索条件取得処理（ステップＳ２６，図１１）によって指定経路ＩＤが表す分類箇所について検索条件を取得すると、取得した検索条件を満たす文書を文書ＤＢ４０中の分類対象領域から検索する（ステップＳ２８）。次に、分類処理部１４０は、この検索結果の文書ファイルのリストを処理結果として制御部１１０に渡し、制御部１１０は、受け取った文書ファイルのリストを処理結果出力部１２０によってクライアント２０の表示装置に表示させる（ステップＳ３０）。
【００８９】
ステップＳ２６〜Ｓ３０の処理により、分類構造の最下位層に位置する分類フォルダに分類される文書のリストがユーザに提示される。
【００９０】
以下、図１２を参照し、図７のステップＳ２２において、第２属性情報として該当件数を取得する場合の処理の詳細手順の例を説明する。なお、以下の説明において、分類処理部１４０が第２属性情報ＤＢ７０を参照する、あるいは、分類処理部１４０が第２属性情報ＤＢ７０に情報を登録する、と記載した場合、各処理は第２オブジェクト情報管理部１６０を介して行われるものである。分類処理部１４０は、図７のステップＳ２０で取得したリストに含まれる分類フォルダオブジェクトのそれぞれについて、図１２に例示する手順の処理を実行することによって該当件数を取得する。
【００９１】
図１２を参照し、まず、分類処理部１４０は、対象分類フォルダオブジェクトの経路ＩＤを取得する（ステップＳ２２０）。本例では、図７の指定経路ＩＤの文字列と、対象分類フォルダオブジェクトのオブジェクトＩＤを表す文字列と、を区切り文字「＠」によって連結した文字列が対象分類フォルダオブジェクトの経路ＩＤとして取得される。次に、第２属性情報ＤＢ７０を参照し、対象分類フォルダオブジェクトの経路ＩＤに関連付けて該当件数がすでに登録されているか否かを判定する（ステップＳ２２２）。登録済みである場合は、その経路ＩＤに関連付けられた該当件数を第２属性情報ＤＢ７０から取得して（ステップＳ２３０）、処理は終了する。未登録である場合は、該当件数を求める処理（ステップＳ２６，Ｓ２２４，Ｓ２２６）が実行される。
【００９２】
ステップＳ２６で、分類処理部１４０は、対象分類フォルダオブジェクトについて、図１１を参照して説明した検索条件取得処理を実行し、対象分類フォルダオブジェクトの検索条件を取得する。その後、取得した検索条件を満たす文書ファイルを文書ＤＢ４０中の分類対象領域から検索する（ステップＳ２２４）。分類処理部１４０は、この検索結果の文書ファイルの個数を対象分類フォルダオブジェクトの該当件数とする（ステップＳ２２６）。ステップＳ２２４で求められた該当件数は、対象分類フォルダの経路ＩＤに関連付けて第２属性情報ＤＢ７０に登録され（ステップＳ２２８）、処理は終了する。
【００９３】
以上で説明した図１２の処理の例によると、該当件数が第２属性情報ＤＢ７０に登録済みであれば、登録済みの該当件数が第２属性情報ＤＢ７０から取得される。しかしながら、文書ＤＢ４０中の文書ファイルの新規登録や削除が行われると、分類構造における各分類箇所の実際の該当件数は、第２属性情報ＤＢ７０に登録済みの該当件数と異なる値になる場合がある。したがって、文書管理サーバ１０は、定期的に、あるいは、ユーザやシステム管理者などの指示に応じて、第２属性情報ＤＢ７０中の該当件数を更新する処理を行う。
【００９４】
図１３は、該当件数の更新処理の手順の例を示すフローチャートである。制御部１１０は、予め設定された時間間隔で、又は、ユーザやシステム管理者などによる更新指示を処理要求受付部１００が受け付けた場合に、図１３に例示する手順の処理を分類処理部１４０に実行させる。
【００９５】
図１３を参照し、まず、分類処理部１４０は、更新指示において指定された対象オブジェクトの経路ＩＤを取得する（ステップＳ５０）。図１３の該当件数更新処理は、分類構造を表すツリーにおいて、対象オブジェクトの経路ＩＤが表す分類箇所をルートとする部分木に含まれる分類フォルダに対して行われる。例えば、図１９に示す分類構造のツリーにおいて、分類フォルダ２ａ「東京」が処理対象である（経路ＩＤは、「ｖｉｅｗ１＠α１」）場合、分類フォルダ２ａをルートとする部分木に含まれる分類フォルダ３ａ，３ｂ，４ａ，４ｂ，４ｃ，４ｄなどのそれぞれについて該当件数を求める処理が行われる。
【００９６】
ステップＳ５２で、分類処理部１４０は、対象オブジェクトが分類ビューオブジェクトであるか否かを判定する。ステップＳ５２では、例えば、取得された経路ＩＤに区切り文字「＠」が含まれていれば、対象オブジェクトは分類ビューオブジェクトではないと判定し、取得された経路ＩＤに区切り文字「＠」が含まれていなければ、対象オブジェクトは分類ビューオブジェクトであると判定する。対象オブジェクトが分類ビューオブジェクトでなければ処理はステップＳ２６に進み、対象オブジェクト（分類フォルダオブジェクト）について、図１１を参照して説明した検索条件取得処理を実行することで、対象分類フォルダオブジェクトの検索条件を取得する。そして、取得した検索条件を満たす文書ファイルを文書ＤＢ４０中の分類対象領域から検索し（ステップＳ５６）、検索結果の文書ファイルの個数を該当件数として、対象分類フォルダオブジェクトの経路ＩＤに関連付けて第２属性情報ＤＢ７０に登録する（ステップＳ５８）。次に、分類構造において対象分類フォルダオブジェクトが位置する分類階層が最下位層であるか否かを判定する（ステップＳ６０）。分類処理部１４０は、例えば、対象分類フォルダオブジェクトの経路ＩＤ及び分類ビューオブジェクトから得られる分類構造情報を用いて、図７のステップＳ１６及びステップＳ１８と同様の処理を行うことで、ステップＳ６０の判定を行う。
【００９７】
対象分類フォルダが分類構造において最下位層に位置する場合（ステップＳ６０の結果ＹＥＳ）、更新処理は終了する。
【００９８】
対象分類フォルダが分類構造において最下位層でない場合（ステップＳ６０の結果ＮＯ）、対象分類フォルダが位置する分類階層の一段階下位の分類階層に含まれる分類フォルダオブジェクトのそれぞれについて、図１３の該当件数更新処理を再帰的に呼び出して実行する（ステップＳ５）。
【００９９】
以上で説明した実施形態では、分類階層オブジェクト間の上下関係は、分類ビューオブジェクトが保持する。他の実施形態では、分類階層オブジェクトが他の分類階層オブジェクトとの間の上下関係を保持してもよい。図１４に、この場合の各オブジェクトが有する参照情報の様子を例示する。分類ビューオブジェクトは、少なくとも、第１階層の分類階層オブジェクトへの参照情報を有する。分類階層オブジェクトは、自己の分類階層に含まれる分類フォルダオブジェクトへの参照情報と共に、自己の分類階層の一段階下位に位置する分類階層オブジェクトへの参照情報を保持する。図１４のような分類階層オブジェクトを生成すると、分類処理部１４０は、例えば、図７又は図１３を参照して説明した各例の処理において、処理対象である分類フォルダオブジェクトの一段階下位に位置する分類階層の情報を取得する場合に、分類階層オブジェクトが有する下位分類階層オブジェクトへの参照情報を用いる。
【０１００】
また、以上の実施形態の説明で用いた分類構造の例では、ある分類階層の分類フォルダのそれぞれの下に、同じ分類フォルダの集合が配置される。例えば、図１９を参照し、第１分類階層の「東京」の下にも、「神奈川」の下にも、同様に第２分類階層の「１０代」，「２０代」，…が配置される。分類構造の他の例では、ある分類階層の分類フォルダのそれぞれの下に、異なる分類フォルダの集合が配置される。このような分類構造を表すツリーの例を図１５Ａに示す。
【０１０１】
図１５Ａを参照し、第１分類階層は「地方」であり、その下位の第２分類階層は「都道府県」である。第１分類階層に含まれる分類フォルダ「北海道」，「東北」，…のそれぞれに対し、その下位に配置される分類フォルダの集合は異なる。例えば、第１分類の分類フォルダ「東北」の下には、東北地方の都道府県に対応する分類フォルダ「青森」，「秋田」などが配置され、分類フォルダ「近畿」の下には、近畿地方の都道府県に対応する分類フォルダ「滋賀」，「奈良」，「京都」などが配置される。
【０１０２】
図１５Ｂに、図１５Ａに例示する分類構造を実現するため文書管理サーバ１０において生成される分類階層オブジェクト及び分類フォルダオブジェクトの例を示す。図１５Ｂでは、第１分類階層「地方」及び第２分類階層「都道府県」にそれぞれ対応する分類階層オブジェクトｔｉｅｒδ，ｔｉｅｒεを表す実線四角の中に、各分類階層オブジェクトの参照先の分類フォルダオブジェクトを示す。第１分類階層「地方」を表す分類階層オブジェクトｔｉｅｒδは、日本全国の地方の区分に対応する分類フォルダオブジェクトへの参照情報を有する。第２分類階層「都道府県」を表す分類階層オブジェクトｔｉｅｒεは、日本全国の都道府県それぞれに対応する分類フォルダオブジェクトへの参照情報を有する。さらに、分類階層オブジェクトｔｉｅｒεは、フィルタ情報を含む。フィルタ情報は、分類階層オブジェクトの参照先の分類フォルダオブジェクトへの参照を制限する情報である。例えば、分類階層オブジェクトｔｉｅｒεは、日本全国の地方の区分のそれぞれについて、当該地方に含まれる都道府県（に対応する分類フォルダオブジェクト）を表すフィルタ情報を備える。図１５Ａを参照し、例えば、破線で表すフィルタ情報ｆｉｌｔｅｒ１は、東北地方に含まれる県を表し、一点鎖線で表すフィルタ情報ｆｉｌｔｅｒ２は、近畿地方に含まれる県を表し、二点鎖線で表すフィルタ情報ｆｉｌｔｅｒ３は、九州地方に含まれる県を表す。
【０１０３】
フィルタ情報は、例えば、文書管理サーバ１０の処理において分類階層オブジェクトｔｉｅｒβの参照先の分類フォルダオブジェクトのリストを取得する（例えば、図７のステップＳ１６）際に用いられる。例えば、クライアント２０において、図１５Ａの分類構造の分類フォルダ「東北」を指定してユーザが分類フォルダを「開く」操作を行った場合、文書管理サーバ１０の分類処理部１４０は、「東北」の下の分類階層オブジェクトｔｉｅｒβ「都道府県」の参照先の分類フォルダオブジェクトのリストを取得する。このとき、処理対象の経路ＩＤに分類フォルダオブジェクト「東北」のオブジェクトＩＤが含まれることから、分類階層オブジェクトｔｉｅｒε中が備える東北地方についてのフィルタ情報ｆｉｌｔｅｒ１が用いられ、取得される分類フォルダオブジェクトのリストに含まれる分類フォルダオブジェクトは、「青森」，「秋田」，「岩手」…などの東北地方の都道府県に対応する分類フォルダオブジェクトに限定される。
【０１０４】
分類階層オブジェクトｔｉｅｒεの参照先の分類フォルダオブジェクトのリストを取得する際に用いられるフィルタ情報は、一段階上位の分類階層において選択された分類フォルダオブジェクトによって、つまり、経路によって異なる。したがって、用いるフィルタ情報を指定する情報を経路ＩＤに関連付けて第２属性情報ＤＢ７０に登録しておいてよい。例えば、第２属性情報ＤＢ７０において、日本全国の地方の各区分を表す分類フォルダオブジェクトのオブジェクトＩＤを含む経路ＩＤに関連付けて、分類階層オブジェクトｔｉｅｒεに関して用いるフィルタの種類を指定する情報を登録しておく。例えば、分類フォルダオブジェクト「東北」のオブジェクトＩＤを含む経路ＩＤに関連付けて、フィルタ情報ｆｉｌｔｅｒ１を指定する情報を、分類フォルダオブジェクト「近畿」のオブジェクトＩＤを含む経路ＩＤに関連付けて、フィルタ情報ｆｉｌｔｅｒ２を指定する情報を、第２属性情報ＤＢ７０に登録しておく。このように登録しておくと、分類階層オブジェクトｔｉｅｒεの参照先の分類フォルダオブジェクトのリストを取得する際に、処理対象の経路ＩＤに関連付けられたフィルタ情報を第２属性情報ＤＢ７０から取得して用いることで、対応する地方区分に含まれる都道府県に対応する分類フォルダオブジェクトのリストが取得される。
【０１０５】
また、例えば、分類階層オブジェクトｔｉｅｒε「都道府県」の上位に分類階層オブジェクトｔｉｅｒδ「地方」を含まない分類構造において分類階層オブジェクトｔｉｅｒεが用いられる場合、処理対象の経路ＩＤに地方の区分を表す分類フォルダオブジェクトのオブジェクトＩＤは含まれない。したがって、上述のように地方の区分を表す分類フォルダオブジェクトのオブジェクトＩＤを含む経路ＩＤに関連付けてフィルタ情報を指定する情報を第２属性情報ＤＢ７０に登録しておくと、分類階層オブジェクトｔｉｅｒδ「地方」を含まない分類構造において分類階層オブジェクトｔｉｅｒε「都道府県」の参照先の分類フォルダオブジェクトのリストを取得する場合、処理対象の経路ＩＤに基づいてフィルタ情報の指定が取得されることはなく、フィルタ情報が用いられることはない。よって、この例では、全国の都道府県に対応する分類フォルダオブジェクトのリストが取得される。
【０１０６】
以上で説明した実施形態では、経路ＩＤは、経路上に現れる各オブジェクトのオブジェクトＩＤを表す文字列を連結したものである。経路ＩＤの表現態様は、この例に限られない。例えば、経路ＩＤ自体にオブジェクトＩＤを含まないものであってよい。図１６及び図１７を参照し、オブジェクトＩＤを含まない経路ＩＤの例について説明する。この例では、各経路ＩＤは、図１６に例示する経路ＩＤ表により管理される。図１６の例の経路ＩＤ表は、第２属性情報ＤＢ７０に格納される。図１６を参照し、経路ＩＤ表には、各経路ＩＤに関連づけて、その経路の終着点に位置する分類フォルダオブジェクトのオブジェクトＩＤと、その分類フォルダオブジェクトの１つ前の分類フォルダオブジェクトまでの経路を表す経路ＩＤ（手前経路ＩＤ）と、が登録される。経路の起点（分類ビューオブジェクト）から１つ目の分類フォルダオブジェクトについては、「１つ前の分類フォルダオブジェクトまでの経路」は存在しないので、手前経路ＩＤの値はＮＵＬＬに設定される。なお、図１６の表中のオブジェクトＩＤは、図２に例示する分類フォルダオブジェクトのオブジェクトＩＤに対応するものとする。
【０１０７】
図１７に、図１６の経路ＩＤ表中の各経路ＩＤ「Ａ１」，「Ｂ３」，「Ｃ６」の表す経路上に現れるオブジェクトを示す。図１７を参照し、経路ＩＤ「Ａ１」は、分類ビューオブジェクトｖｉｅｗ１から第１分類階層中の分類フォルダオブジェクトα１「東京」までの経路を表す。図１６の経路ＩＤ表において、経路ＩＤ「Ａ１」の行（レコード）で、終着点オブジェクトＩＤは「α１」、手前経路ＩＤは「ＮＵＬＬ」に設定されている。分類ビューオブジェクトｖｉｅｗ１から、分類フォルダオブジェクトα１「東京」の下に配置される分類フォルダオブジェクトβ３「３０代」までの経路は、経路ＩＤ「Ｂ３」を有し、図１６の経路ＩＤ表において、経路ＩＤ「Ｂ３」のレコードの終着点オブジェクトＩＤは「β３」、手前経路ＩＤは「Ａ１」に設定されている。さらに、分類ビューオブジェクトｖｉｅｗ１から、分類フォルダオブジェクトα１「東京」の下の分類フォルダオブジェクトβ３「３０代」の下に配置される分類フォルダオブジェクトγ２「女性」までの経路は、経路ＩＤ「Ｃ６」を有し、図１６の経路ＩＤ表の経路ＩＤ「Ｃ６」のレコードにおいて、終着点オブジェクトＩＤは「γ２」、手前経路ＩＤは「Ｂ３」である。
【０１０８】
図１６のような経路ＩＤ表は、例えば、ある分類構造を表す分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクトが生成された場合に、分類構造管理部１３０によって生成される。例えば、分類設定情報を含む分類構造の生成指示を文書管理サーバ１０がクライアント２０から受けた場合に、分類構造管理部１３０は、分類設定情報に従って、各種のオブジェクトを生成するとともに経路ＩＤ表を生成する。
【０１０９】
分類構造管理部１３０は、例えば、以下のような手順により経路ＩＤ表を生成する。まず、分類構造管理部１３０は、分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクトを分類設定情報に従って生成すると、分類ビューオブジェクトの一段階下位の分類階層オブジェクト（第１の分類階層を表す）の参照先の各分類フォルダオブジェクトに対して、経路ＩＤを付与する。ここで付与される各経路ＩＤは、分類ビューオブジェクトから第１分類階層の各分類フォルダオブジェクトまでの経路を表す。そして、分類構造管理部１３０は、付与した各経路ＩＤに対応する経路ＩＤ表のレコードを生成し、各レコードの終着点オブジェクトＩＤとして第１分類階層の各分類フォルダオブジェクトのオブジェクトＩＤを設定し、手前経路ＩＤを「ＮＵＬＬ」に設定する。ここまでの処理で、図１６の表の例では、経路ＩＤ「Ａ１」から「Ａｎ」までのレコードが生成される。次に、経路ＩＤ表に生成した経路ＩＤ（レコード）ごとに、その経路ＩＤの値を手前経路ＩＤに有し、その経路ＩＤの終着点の階層の一段階下位の分類階層に含まれる各分類フォルダオブジェクトのオブジェクトＩＤを終着点オブジェクトＩＤとして有するレコードを生成する。ここで生成されるのは、図１６の表の例では、経路ＩＤ「Ｂ１」，「Ｂ２」，…，「Ｂ２ｍ」などのレコードである。そして、新たに生成した各レコードについて、さらに一段階下位の分類階層に含まれる各分類フォルダオブジェクトのオブジェクトＩＤを終着点オブジェクトＩＤとして有し、各レコードの経路ＩＤを手前経路ＩＤとして有するレコードを生成する。図１６の表の例では、経路ＩＤ「Ｃ１」，「Ｃ２」，…などのレコードである。以上の手順を最下位の分類階層まで繰り返すことで、図１６の例のような経路ＩＤ表が生成される。
【０１１０】
なお、第２属性情報ＤＢ７０には、複数の分類構造に対応する複数の分類ビューオブジェクトのそれぞれに対応する経路ＩＤ表が登録されていてよい。図１６には図示していないが、第２属性情報ＤＢ７０は、各経路ＩＤ表と、その経路ＩＤ表に対応する分類ビューオブジェクトのオブジェクトＩＤと、を関連付ける情報を有する。
【０１１１】
図１６に例示する経路ＩＤを用いて、図７及び図１１〜図１３を参照して説明した上述の分類処理部１４０の各処理を同様に実行してよい。ただし、図１６に例示する経路ＩＤを用いる場合、各処理において、処理対象の分類フォルダオブジェクトに対して上位又は下位の階層に位置するオブジェクトについての情報を取得する手順の詳細は、オブジェクトＩＤを表す文字列を連結した経路ＩＤを用いる上述の例と異なる。
【０１１２】
例えば、処理対象の分類フォルダオブジェクトの一段階上位のオブジェクトに関する情報を取得する場合（例えば、図１１のステップＳ２６６）、図１６の例の経路ＩＤ表を参照し、処理対象の分類フォルダオブジェクトの経路ＩＤに対応するレコード中の手前経路ＩＤの値を経路ＩＤの値として有するレコードを抽出する。この抽出したレコードの終着点オブジェクトＩＤの値は、処理対象の分類フォルダオブジェクトの一段階上位の分類フォルダオブジェクトのオブジェクトＩＤである。
【０１１３】
また例えば、処理対象の分類フォルダオブジェクトの一段階下位のオブジェクトに関する情報を取得する場合（例えば、図７のステップＳ１６、図１３のステップＳ６０，Ｓ６２）、図１６の例の経路ＩＤ表において、処理対象の分類フォルダオブジェクトについて取得された経路ＩＤの値を手前経路ＩＤの値として有するレコードを抽出する。この抽出した各レコードの終着点オブジェクトＩＤの値のリストは、すなわち、処理対象の分類フォルダオブジェクトの一段階下位に配置される分類フォルダオブジェクトのリストである。また、分類ビューオブジェクトの直下の階層の分類フォルダオブジェクトのリストを取得する場合は（図１３のステップＳ６２）、手前経路ＩＤの値として「ＮＵＬＬ」が登録されているレコードを図１６の例の経路ＩＤ表から抽出すればよい。また、リスト中の各分類フォルダオブジェクトの経路ＩＤは、図１６の例の表から上述のように抽出した各レコードの経路ＩＤの値を取得することで求められる。
【０１１４】
以上で説明した各種の実施形態では、各分類フォルダオブジェクトの分類条件は、分類ビューオブジェクトが保持する。よって、検索条件取得処理（図１１）において、分類処理部は、分類ビューオブジェクトを参照することで対象分類フォルダオブジェクトの分類条件を取得する。他の実施形態では、各分類フォルダオブジェクトの分類条件を各分類フォルダオブジェクトが保持してもよい。各分類フォルダオブジェクトが自己の分類条件を保持する場合、例えば、第１属性情報ＤＢ６０において、各分類フォルダオブジェクトのオブジェクトＩＤに関連付けて、その分類フォルダオブジェクトの分類条件が登録される。この例の場合、分類処理部は、経路ＩＤに関連付けられる検索条件を取得する際に、例えば、その経路ＩＤが表す経路に含まれる分類フォルダオブジェクトの分類条件を第１属性情報ＤＢ６０から取得し、取得した分類条件のすべてをＡＮＤ演算子で結合した条件を検索条件としてもよい。
【０１１５】
なお、以上の説明では、文書管理サーバ１０は、各オブジェクトの第１属性情報に含まれるアクセス権情報及びロック状態を用いた処理を行わないが、上述の各種の実施形態において、アクセス権情報を用いたアクセス権制御、及び、ロック状態を用いた排他制御の少なくとも一方を行ってもよい。例えば、上述の各種の処理の例において、処理対象のオブジェクトのアクセス権情報を参照し、閲覧（文書管理サーバ１０にとっては「表示」処理）や、該当件数の更新などの処理の実行を指示したユーザがアクセス権情報において当該処理の実行を許可されている場合にのみ、文書管理サーバ１０の制御部１１０は、ユーザの指示に従った処理を各部に実行させる。また例えば、処理対象のオブジェクトのロック状態を参照して排他制御を行う。
【０１１６】
また、以上で説明した実施形態の処理の例では、分類ビューオブジェクト、分類階層オブジェクト、及び分類フォルダオブジェクトの各種類のオブジェクトについて、アクセス権情報及びロック状態を第１属性情報として扱う。他の例では、アクセス権情報やロック状態は、分類ビューオブジェクトだけに設定し、分類階層オブジェクト及び分類フォルダオブジェクトについては、アクセス権情報やロック状態を設定しなくてもよい。例えば、処理対象の分類階層オブジェクト又は分類フォルダオブジェクトの上位の分類ビューオブジェクトのアクセス権情報やロック状態を参照して用いる。このようにすると、アクセス権制御や排他制御は、個別の分類階層オブジェクト又は分類フォルダオブジェクトでなく、分類構造全体に対して実現される。
【０１１７】
以上で説明した各種の実施形態では、分類構造における複数の異なる分類箇所に関して共通する情報は１つの分類フォルダオブジェクトの情報（第１属性情報）として管理し、分類構造上の位置によって異なる情報（第２属性情報）については、この分類フォルダオブジェクトから分離して管理する。よって、上述の各種の実施形態によると、同一の分類フォルダオブジェクトについて、分類構造において配置される位置（経路）、つまり、管理体系上の位置に応じて異なる情報が取得される。上述の各種の実施形態において生成される分類フォルダオブジェクトの数は、分類構造中のすべての分類箇所のそれぞれに対応する分類フォルダオブジェクトを生成することで分類構造を実現する場合と比較して少ない。例えば、６階層の分類階層を有し、各階層に１０個の分類条件が含まれる分類構造を実現する場合、分類構造中のすべての分類箇所それぞれについて対応する分類フォルダオブジェクトを生成すると、分類フォルダオブジェクトの総数は１０6個となる。一方、この例の分類構造を上述の各種の実施形態により実現すると、生成される分類フォルダオブジェクトの総数は６０個（６階層×１０個の分類条件）である。したがって、上述の各種の実施形態によると、分類構造中のすべての分類箇所のそれぞれに対応する分類フォルダオブジェクトを生成する場合と比較して、データベースにおいて分類構造に関する情報を記憶するために必要な記憶領域は小さくなる。
【０１１８】
以上に例示した文書管理サーバ１０は、典型的には、汎用のコンピュータにて上述の文書管理サーバ１０の各部の機能又は処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図２１に示すように、ＣＰＵ（中央演算装置）８０、メモリ（一次記憶）８２、各種Ｉ／Ｏ（入出力）インタフェース８４等がバス８６を介して接続された回路構成を有する。また、そのバス８６に対し、例えばＩ／Ｏインタフェース８４経由で、ハードディスクドライブ（ＨＤＤ）８８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ９０が接続される。このようなドライブ８８又は８０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、又はネットワーク経由で、ハードディスクドライブ８８などの固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【図面の簡単な説明】
【０１１９】
【図１】文書管理システムの概略構成の例を示すブロック図である。
【図２】文書管理サーバにおいて分類構造を実現するために生成されるオブジェクトの一例を示す図である。
【図３】第１属性情報ＤＢのデータ内容の例を示す図である。
【図４】分類構造における経路の例を示す図である。
【図５】分類構造を表すツリーにおける経路の例を示す図である。
【図６】第２属性情報ＤＢのデータ内容の例を示す図である。
【図７】文書管理サーバにおける分類フォルダ表示処理の手順の例を示すフローチャートである。
【図８】文書管理サーバによって表示される表示画面の一例を示す図である。
【図９】文書管理サーバによって表示される表示画面の他の一例を示す図である。
【図１０】各種のオブジェクトに関連付けられる情報の様子の例を示す図である。
【図１１】文書管理サーバにおける検索条件取得処理の手順の例を示すフローチャートである。
【図１２】文書管理サーバにおける該当件数取得処理の手順の例を示すフローチャートである。
【図１３】文書管理サーバにおける該当件数更新処理の手順の例を示すフローチャートである。
【図１４】文書管理サーバにおいて分類構造を実現するために生成されるオブジェクトの他の一例を示す図である。
【図１５Ａ】分類構造の一例を示す図である。
【図１５Ｂ】図１５Ａの分類構造を実現するために文書管理サーバが生成するオブジェクトの例を示す図である。
【図１６】経路情報の表現態様の一例を示す図である。
【図１７】図１６に示す経路情報の一部が表す経路を示す図である。
【図１８】文書ＤＢに登録される文書ファイルに付与される属性情報の例を示す図である。
【図１９】分類構造の他の一例を示す図である。
【図２０】分類構造を定義する分類設定情報の例を示す図である。
【図２１】コンピュータのハードウエア構成の例を示す図である。
【符号の説明】
【０１２０】
１０  文書管理サーバ、２０  クライアント、３０  ネットワーク、４０  文書ＤＢ、５０  分類設定ＤＢ、６０  第１属性情報ＤＢ、７０  第２属性情報ＤＢ、８４  インタフェース、８６  バス、８８  ＨＤＤ、９０  ディスクドライブ、１００  処理要求受付部、１１０  制御部、１２０  処理結果出力部、１３０  分類構造管理部、１４０  分類処理部、１５０  第１オブジェクト情報管理部、１６０  第２オブジェクト情報管理部。
【図１】
2009217499.tif 000003
【図２】
2009217499.tif 000004
【図３】
2009217499.tif 000005
【図４】
2009217499.tif 000006
【図５】
2009217499.tif 000007
【図６】
2009217499.tif 000008
【図７】
2009217499.tif 000009
【図８】
2009217499.tif 000010
【図９】
2009217499.tif 000011
【図１０】
2009217499.tif 000012
【図１１】
2009217499.tif 000013
【図１２】
2009217499.tif 000014
【図１３】
2009217499.tif 000015
【図１４】
2009217499.tif 000016
【図１５Ａ】
2009217499.tif 000017
【図１５Ｂ】
2009217499.tif 000018
【図１６】
2009217499.tif 000019
【図１７】
2009217499.tif 000020
【図１８】
2009217499.tif 000021
【図１９】
2009217499.tif 000022
【図２０】
2009217499.tif 000023
【図２１】
2009217499.tif 000024