(57)【特許請求の範囲】
【請求項１】
少なくとも構造化データ処理装置とユーザが利用するユーザ端末とがネットワークを介して相互に通信可能に接続されたコミュニケーションシステムにおいて、扱われるコンテンツとして蓄積される内部構造を有した構造化データを、当該構造化データで表現される内容ごとに木構造のルートノードの異なる複数のスキーマに分類したときの分類名および当該分類名の属性を示す属性名に関連付けて記憶する構造化データ記憶手段に対する制御モードとして、少なくとも、前記構造化データのスキーマを登録するスキーマ登録モードと、入力された構造化データを検索する検索モードと、前記スキーマが登録された構造化データを入力する構造化データ入力モードとを有する構造化データ処理装置であって、
前記スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致するか否かを判別する入力データ判別手段と、
前記入力されたスキーマの分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致しない場合に、前記入力されたスキーマの分類名を有するスキーマルートをノードとして生成するルートノード生成手段と、
前記スキーマ登録モードにおいて入力された構造化データのスキーマの木構造の有無に基づいて、１以上の木構造がある場合に、前記生成されたノードの分枝に対して前記１以上の木構造を有したノードを生成するノード生成手段と、
前記スキーマ登録モードにおいて入力された構造化データの属性を識別する属性名に基づいて、前記分枝に対して生成されたノードに前記属性名を関連付ける属性生成手段と、
前記スキーマ登録モードにおいて入力された構造化データの属性名のデータ型を識別する型名に基づいて、前記分枝に対して生成されたノードに前記型名を関連付けるデータ型生成手段と、
前記属性名および前記型名を関連付けられたノードを、前記構造化データのスキーマとして、前記構造化データ記憶手段に格納する格納手段と、
前記検索モードにおいて入力される、前記スキーマの分類名の属性を示す属性名の値であるインスタンスを含むスキーマ検索対象に基づいて、前記構造化データ記憶手段に記憶された構造化データを検索するスキーマ検索手段と、
前記検索された結果を出力する検索結果出力手段と、
前記構造化データ入力モードにおいて、一連の構造化データの集合体を示すエントリを構成する構造化データのスキーマ毎に、前記インスタンスを入力するための入力フォームまたはテキストを入力するための入力フォームを表示させる制御を行う入力フォーム表示制御手段と、
前記入力フォームに前記属性名の値として入力されたインスタンスにおいて、当該属性名のデータ型のエラーがあるか否かを判別するエラー判別手段と、
前記データ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行う入力エラー表示制御手段と、
前記構造化データのスキーマ毎に入力されたインスタンスにおいて前記属性名のデータ型のエラーがない場合に、前記エントリとして、前記構造化データを入力された順序で表示させる制御を行うエントリ表示制御手段と、
を備えることを特徴とする構造化データ処理装置。
【請求項２】
前記構造化データ記憶手段に対する制御モードとして、前記構造化データのスキーマおよびインスタンスを編集するエディタモードをさらに有し、
前記エディタモードにおいて、前記構造化データのスキーマに対する編集を示す入力に基づいて、前記スキーマを編集する制御を行うスキーマ編集制御手段と、
前記構造化データ記憶手段に記憶され、かつ、前記編集される前のスキーマの属性に対して妥当な構造化データの集合が、前記編集されたスキーマの属性に対して妥当であるか否かを判別する編集スキーマ判別手段と、
前記構造化データの集合が、前記編集されたスキーマの属性に対して妥当ではない場合に、当該編集されたスキーマの再編集を指示するメッセージを表示させる制御を行う編集エラー表示制御手段と、
をさらに備えることを特徴とする請求項１に記載の構造化データ処理装置。
【請求項３】
前記構造化データ記憶手段とネットワークを介して通信可能に接続されていることを特徴とする請求項１または請求項２に記載の構造化データ処理装置。
【請求項４】
少なくとも構造化データ処理装置とユーザが利用するユーザ端末とがネットワークを介して相互に通信可能に接続されたコミュニケーションシステムにおいて、扱われるコンテンツとして蓄積される内部構造を有した構造化データを、当該構造化データで表現される内容ごとに木構造のルートノードの異なる複数のスキーマに分類したときの分類名および当該分類名の属性を示す属性名に関連付けて記憶する構造化データ記憶手段に対する制御モードとして、少なくとも、前記構造化データのスキーマを登録するスキーマ登録モードと、入力された構造化データを検索する検索モードと、前記スキーマが登録された構造化データを入力する構造化データ入力モードとを有する構造化データ処理装置の構造化データ処理方法であって、
前記スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致するか否かを判別する入力データ判別ステップと、
前記入力されたスキーマの分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致しない場合に、前記入力されたスキーマの分類名を有するスキーマルートをノードとして生成するルートノード生成ステップと、
前記スキーマ登録モードにおいて入力された構造化データのスキーマの木構造の有無に基づいて、１以上の木構造がある場合に、前記生成されたノードに対して前記１以上の木構造を有したノードを生成するノード生成ステップと、
前記スキーマ登録モードにおいて入力された構造化データの属性を識別する属性名に基づいて、前記分枝に対して生成されたノードに前記属性名を関連付ける属性生成ステップと、
前記スキーマ登録モードにおいて入力された構造化データの属性名のデータ型を識別する型名に基づいて、前記分枝に対して生成されたノードに前記型名を関連付けるデータ型生成ステップと、
前記属性名および前記型名を関連付けられたノードを、前記構造化データのスキーマとして、前記構造化データ記憶手段に格納する格納ステップと、
前記検索モードにおいて入力される、
前記スキーマの分類名の属性を示す属性名の値であるインスタンスを含むスキーマ検索対象に基づいて、前記構造化データ記憶手段に記憶された構造化データを検索するスキーマ検索ステップと、
前記検索された結果を出力する検索結果出力ステップと、
前記構造化データ入力モードにおいて、一連の構造化データの集合体を示すエントリを構成する構造化データのスキーマ毎に、前記インスタンスを入力するための入力フォームまたはテキストを入力するための入力フォームを表示させる制御を行う入力フォーム表示制御ステップと、
前記入力フォームに前記属性名の値として入力されたインスタンスにおいて、当該属性名のデータ型のエラーがあるか否かを判別するエラー判別ステップと、
前記データ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行う入力エラー表示制御ステップと、
前記構造化データのスキーマ毎に入力されたインスタンスにおいて前記属性名のデータ型のエラーがない場合に、前記エントリとして、前記構造化データを入力された順序で表示させる制御を行うエントリ表示制御ステップと、
を含むことを特徴とする構造化データ処理方法。
【請求項５】
前記構造化データ記憶手段に対する制御モードとして、前記構造化データのスキーマおよびインスタンスを編集するエディタモードをさらに有し、
前記エディタモードにおいて、前記構造化データのスキーマに対する編集を示す入力に基づいて、前記スキーマを編集する制御を行うスキーマ編集制御ステップと、
前記構造化データ記憶手段に記憶され、かつ、前記編集される前のスキーマの属性に対して妥当な構造化データの集合が、前記編集されたスキーマの属性に対して妥当であるか否かを判別する編集スキーマ判別ステップと、
前記構造化データの集合が、前記編集されたスキーマの属性に対して妥当ではない場合に、当該編集されたスキーマの再編集を指示するメッセージを表示させる制御を行う編集エラー表示制御ステップと、
をさらに含むことを特徴とする請求項４に記載の構造化データ処理方法。
【請求項６】
前記構造化データ記憶手段とネットワークを介して前記構造化データを送受信することを特徴とする請求項４または請求項５に記載の構造化データ処理方法。
【請求項７】
請求項４ないし請求項６のいずれか一項に記載の構造化データ処理方法をコンピュータに実行させるための構造化データ処理プログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースへの登録およびデータベースの検索に係る構造化データ処理装置、構造化データ処理方法、および構造化データ処理プログラムが記録された記録媒体に関する。
【背景技術】
【０００２】
従来、ブログ（blog：日記サイト）やウィキ（Wiki）、ＣＭＳ（Contents Management System）、グループウェア（groupware）等のコミュニケーションシステムに用いられる情報処理装置が知られている（例えば、特許文献１参照）。特許文献１に記載された技術は、ユーザの嗜好情報の収集を目的として、ブログを対象にデータベースを利用している。また、そのようなコミュニケーションシステムで扱われるコンテンツに記述されたデータを情報として再利用する技術も知られている（例えば、特許文献２参照）。特許文献２に記載された技術は、生活情報に特化したデータ収集を目的とするものである。なお、コンテンツは、コミュニケーションシステムで蓄積され、ユーザ（利用者）の望む有用な情報のことである。
【０００３】
また、いわゆるインターネットデータベースと呼ばれるソフトウェアやサービスが登場している。このインターネットデータベースでは、Ｗｅｂ上のデータベースを実現している。また、ブログ等に関係モデルを埋め込む方法が提案されている。
【特許文献１】特開２００１−３５７３０９号公報（段落００１７−００１８、図１）
【特許文献２】特開２００２−２９７６２３号公報（段落００２４−００２８、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記したコミュニケーションシステムで扱われるコンテンツは、自然言語で記述されることが多い。自然言語は、データの意味が曖昧な形で記述されるので、コンテンツ内の検索をしようとしてもキーワードベースの検索しかできない。その結果、検索の精度が悪く、コンテンツに記述されたデータを情報として再利用しようとしても扱いにくい。
【０００５】
また、既存のインターネットデータベースは、ブログ等のコミュニケーションシステムでの利用は想定していない。また、既存のインターネットデータベースで扱われているデータモデルは、簡単な関係モデルに限られており、拡張性がなく、インターネットの基本データフォーマットであるＸＭＬ（eXtesible Markup Language）との親和性も良くない。
【０００６】
また、ブログ等に関係モデルを埋め込む方法は、埋め込まれた構造化データが配布されるのみであり、データの検索方法・再利用方法や、エントリ（コンテンツの構成単位）の構築方法・表示方法が明確ではない。ここで、エントリとは、例えば、ブログの場合、ある日の日記や一件の書き込みや一件のコメントが相当する。
さらに、ユーザが利用する際に、コンテンツを形成するデータを柔軟に定義してコンテンツを構築できるような高い拡張性を有したコミュニケーションシステムが要望されている。
【０００７】
そこで、本発明では、前記した問題を解決し、取り扱うデータの検索精度を高めると共に、データを柔軟に定義できる構造化データ処理装置、構造化データ処理方法および記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、請求項１に記載の構造化データ処理装置は、少なくとも構造化データ処理装置とユーザが利用するユーザ端末とがネットワークを介して相互に通信可能に接続されたコミュニケーションシステムにおいて、扱われるコンテンツとして蓄積される内部構造を有した構造化データを、当該構造化データで表現される内容ごとに木構造のルートノードの異なる複数のスキーマに分類したときの分類名および当該分類名の属性を示す属性名に関連付けて記憶する構造化データ記憶手段に対する制御モードとして、少なくとも、前記構造化データのスキーマを登録するスキーマ登録モードと、入力された構造化データを検索する検索モードと、前記スキーマが登録された構造化データを入力する構造化データ入力モードとを有する構造化データ処理装置であって、前記スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致するか否かを判別する入力データ判別手段と、前記入力されたスキーマの分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致しない場合に、前記入力されたスキーマの分類名を有するスキーマルートをノードとして生成するルートノード生成手段と、前記スキーマ登録モードにおいて入力された構造化データのスキーマの木構造の有無に基づいて、１以上の木構造がある場合に、前記生成されたノードの分枝に対して前記１以上の木構造を有したノードを生成するノード生成手段と、前記スキーマ登録モードにおいて入力された構造化データの属性を識別する属性名に基づいて、前記分枝に対して生成されたノードに前記属性名を関連付ける属性生成手段と、前記スキーマ登録モードにおいて入力された構造化データの属性名のデータ型を識別する型名に基づいて、前記分枝に対して生成されたノードに前記型名を関連付けるデータ型生成手段と、前記属性名および前記型名を関連付けられたノードを、前記構造化データのスキーマとして、前記構造化データ記憶手段に格納する格納手段と、前記検索モードにおいて入力される、前記スキーマの分類名の属性を示す属性名の値であるインスタンスを含むスキーマ検索対象に基づいて、前記構造化データ記憶手段に記憶された構造化データを検索するスキーマ検索手段と、前記検索された結果を出力する検索結果出力手段と、前記構造化データ入力モードにおいて、一連の構造化データの集合体を示すエントリを構成する構造化データのスキーマ毎に、前記インスタンスを入力するための入力フォームまたはテキストを入力するための入力フォームを表示させる制御を行う入力フォーム表示制御手段と、前記入力フォームに前記属性名の値として入力されたインスタンスにおいて、当該属性名のデータ型のエラーがあるか否かを判別するエラー判別手段と、前記データ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行う入力エラー表示制御手段と、前記構造化データのスキーマ毎に入力されたインスタンスにおいて前記属性名のデータ型のエラーがない場合に、前記エントリとして、前記構造化データを入力された順序で表示させる制御を行うエントリ表示制御手段と、を備えることを特徴とする。
【０００９】
かかる構成によれば、構造化データ処理装置は、スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名が構造化データ記憶手段に未登録である場合に、入力されたスキーマに関する属性名や型名と関連付けられたノードを、構造化データのスキーマとして、構造化データ記憶手段に格納する。また、構造化データ処理装置は、構造化データ入力モードにおいて、スキーマが登録されている場合に構造化データを入力する。また、構造化データ処理装置は、検索モードにおいて入力されたスキーマ検索対象に基づいて、構造化データ記憶手段に記憶された構造化データを検索し、その検索結果を出力する。
【００１１】
また、かかる構成によれば、構造化データ処理装置は、構造化データ入力モードにおいて、一連の構造化データの入力フォームを表示させる制御を行い、入力フォームに属性名の値として入力されたインスタンスにおいて、当該属性名のデータ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行い、エラーがない場合に、一連の構造化データの集合体を示すエントリとして表示させる制御を行う。ここで、インスタンス(instance)とは、スキーマにおける実際の値としてのデータのことである。例えば、レストランスキーマの属性「名前」に対しては、具体的なレストランの名称がインスタンスとなる。
【００１２】
また、請求項２に記載の構造化データ処理装置は、請求項１に記載の構造化データ処理装置において、前記構造化データ記憶手段に対する制御モードとして、前記構造化データのスキーマおよびインスタンスを編集するエディタモードをさらに有し、前記エディタモードにおいて、前記構造化データのスキーマに対する編集を示す入力に基づいて、前記スキーマを編集する制御を行うスキーマ編集制御手段と、前記構造化データ記憶手段に記憶され、かつ、前記編集される前のスキーマの属性に対して妥当な構造化データの集合が、前記編集されたスキーマの属性に対して妥当であるか否かを判別する編集スキーマ判別手段と、前記構造化データの集合が、前記編集されたスキーマの属性に対して妥当ではない場合に、当該編集されたスキーマの再編集を指示するメッセージを表示させる制御を行う編集エラー表示制御手段とをさらに備えることが好ましい。
【００１３】
かかる構成によれば、構造化データ処理装置は、エディタモードにおいて、構造化データのスキーマに対する編集を示す入力に基づいて、スキーマを編集する制御を行い、編集される前のスキーマに対して妥当であった構造化データの集合が、編集されたスキーマに対しては妥当ではなくなった場合に、スキーマの再編集を指示するメッセージを表示させる制御を行う。
【００１４】
また、請求項３に記載の構造化データ処理装置は、請求項１または請求項２に記載の構造化データ処理装置において、前記構造化データ記憶手段とネットワークを介して通信可能に接続されていることが好ましい。
【００１５】
かかる構成によれば、構造化データ処理装置は、ネットワークデータサーバである構造化データ記憶手段に構造化データを登録し、ネットワークデータサーバである構造化データ記憶手段から構造化データを検索することができる。ここで、ネットワークデータサーバは、例えば、インターネットデータサーバである。
【００１６】
また、前記課題を解決するため、請求項４に記載の構造化データ処理方法は、少なくとも構造化データ処理装置とユーザが利用するユーザ端末とがネットワークを介して相互に通信可能に接続されたコミュニケーションシステムにおいて、扱われるコンテンツとして蓄積される内部構造を有した構造化データを、当該構造化データで表現される内容ごとに木構造のルートノードの異なる複数のスキーマに分類したときの分類名および当該分類名の属性を示す属性名に関連付けて記憶する構造化データ記憶手段に対する制御モードとして、少なくとも、前記構造化データのスキーマを登録するスキーマ登録モードと、入力された構造化データを検索する検索モードと、前記スキーマが登録された構造化データを入力する構造化データ入力モードとを有する構造化データ処理装置の構造化データ処理方法であって、前記スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致するか否かを判別する入力データ判別ステップと、前記入力されたスキーマの分類名と、前記構造化データ記憶手段に記憶されたスキーマの分類名とが一致しない場合に、前記入力されたスキーマの分類名を有するスキーマルートをノードとして生成するルートノード生成ステップと、前記スキーマ登録モードにおいて入力された構造化データのスキーマの木構造の有無に基づいて、１以上の木構造がある場合に、前記生成されたノードに対して前記１以上の木構造を有したノードを生成するノード生成ステップと、前記スキーマ登録モードにおいて入力された構造化データの属性を識別する属性名に基づいて、前記分枝に対して生成されたノードに前記属性名を関連付ける属性生成ステップと、前記スキーマ登録モードにおいて入力された構造化データの属性名のデータ型を識別する型名に基づいて、前記分枝に対して生成されたノードに前記型名を関連付けるデータ型生成ステップと、前記属性名および前記型名を関連付けられたノードを、前記構造化データのスキーマとして、前記構造化データ記憶手段に格納する格納ステップと、前記検索モードにおいて入力される、前記スキーマの分類名の属性を示す属性名の値であるインスタンスを含むスキーマ検索対象に基づいて、前記構造化データ記憶手段に記憶された構造化データを検索するスキーマ検索ステップと、前記検索された結果を出力する検索結果出力ステップと、前記構造化データ入力モードにおいて、一連の構造化データの集合体を示すエントリを構成する構造化データのスキーマ毎に、前記インスタンスを入力するための入力フォームまたはテキストを入力するための入力フォームを表示させる制御を行う入力フォーム表示制御ステップと、前記入力フォームに前記属性名の値として入力されたインスタンスにおいて、当該属性名のデータ型のエラーがあるか否かを判別するエラー判別ステップと、前記データ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行う入力エラー表示制御ステップと、前記構造化データのスキーマ毎に入力されたインスタンスにおいて前記属性名のデータ型のエラーがない場合に、前記エントリとして、前記構造化データを入力された順序で表示させる制御を行うエントリ表示制御ステップとを含むことを特徴とする。
【００１７】
かかる手順によれば、構造化データ処理装置は、スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名が構造化データ記憶手段に未登録である場合に、入力されたスキーマに関する属性名や型名と関連付けられたノードを、構造化データのスキーマとして、構造化データ記憶手段に格納する。また、構造化データ処理装置は、検索モードにおいて入力されたスキーマ検索対象に基づいて、構造化データ記憶手段に記憶された構造化データを検索し、その検索結果を出力する。
【００１９】
また、かかる手順によれば、構造化データ処理装置は、構造化データ入力モードにおいて、一連の構造化データの入力フォームを表示させる制御を行い、入力フォームに属性名の値として入力されたインスタンスにおいて、当該属性名のデータ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行い、エラーがない場合に、一連の構造化データの集合体を示すエントリとして表示させる制御を行う。
【００２０】
また、請求項５に記載の構造化データ処理方法は、請求項４に記載の構造化データ処理方法において、前記構造化データ記憶手段に対する制御モードとして、前記構造化データのスキーマおよびインスタンスを編集するエディタモードをさらに有し、前記エディタモードにおいて、前記構造化データのスキーマに対する編集を示す入力に基づいて、前記スキーマを編集する制御を行うスキーマ編集制御ステップと、前記構造化データ記憶手段に記憶され、かつ、前記編集される前のスキーマの属性に対して妥当な構造化データの集合が、前記編集されたスキーマの属性に対して妥当であるか否かを判別する編集スキーマ判別ステップと、前記構造化データの集合が、前記編集されたスキーマの属性に対して妥当ではない場合に、当該編集されたスキーマの再編集を指示するメッセージを表示させる制御を行う編集エラー表示制御ステップとをさらに含むことが好ましい。
【００２１】
かかる手順によれば、構造化データ処理装置は、エディタモードにおいて、構造化データのスキーマに対する編集を示す入力に基づいて、スキーマを編集する制御を行い、編集される前のスキーマに対して妥当であった構造化データの集合が、編集されたスキーマに対しては妥当ではなくなった場合に、スキーマの再編集を指示するメッセージを表示させる制御を行う。
【００２２】
また、請求項６に記載の構造化データ処理方法は、請求項４または請求項５に記載の構造化データ処理方法において、前記構造化データ記憶手段とネットワークを介して前記構造化データを送受信することが好ましい。
【００２３】
かかる手順によれば、構造化データ処理装置は、ネットワークデータサーバである構造化データ記憶手段に構造化データを登録し、ネットワークデータサーバである構造化データ記憶手段から構造化データを検索することができる。
【００２４】
また、請求項７に記載の記録媒体は、請求項４ないし請求項６のいずれか一項に記載の構造化データ処理方法をコンピュータに実行させるための構造化データ処理プログラムが記録されたことを特徴とする。このように構成されることにより、この記録媒体を装着されたコンピュータは、この記録媒体に記録された構造化データ処理プログラムに基づいた各機能を実現することができる。
【発明の効果】
【００２５】
本発明によれば、取り扱うデータの検索精度を高めると共に、データを柔軟に定義できすることができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照して本発明の構造化データ処理装置および構造化データ処理方法を実施するための最良の形態（以下「実施形態」という）について、第１の実施形態ないし第３の実施形態に分けて詳細に説明する。まず、図１〜図３を参照して構造化データ処理方法の概要を説明する。
【００２７】
［構造化データ処理方法の概要］
図１は、Ｗｅｂに登録されたデータの表示例を示す説明図であって、（ａ）は従来の方法によるもの、（ｂ）は本実施形態の構造化データ処理方法によるものをそれぞれ示している。従来の方法では、図１（ａ）に示すように、単純に自然言語（テキスト）のみで、インターネットのブログとして、ある日の日記のデータ（エントリ）が構成される。ここで、エントリとは、ある日の日記や一件の書き込みや一件のコメントが相当する。
【００２８】
一方、本実施形態の構造化データ処理方法では、図１（ｂ）に示すように、構造化データによって、エントリが構成される。ここでは、構造化データが、所定の分類名を有する複数のスキーマに区分されて示されている。すなわち、エントリは、例えば、日付１０１、天候１０２、テキスト１０３、美術館１０４、テキスト１０５、レストラン１０６、テキスト１０７、映画レビュー１０８、テキスト１０９およびスケジュール１１０の各分類名を有した構造化データがこの順番に配置されることによって構成される。
【００２９】
図２は、図１に示した表示データにおける検索例を示す説明図であって、（ａ）は従来の方法によるもの、（ｂ）は本実施形態の構造化データ処理方法によるものをそれぞれ示している。従来の方法では、図２（ａ）に示すように、テキストによる全文検索のみなので、例えば、「ロアブル美術館」を検索したいときに、例えば、「レストラン“ロアブル”」や「ビデオショップ“ロアブル”」が検索されてしまうことになる。一方、本実施形態の構造化データ処理方法では、図２（ｂ）に示すように、スキーマによって、検索フォームを設ける。したがって、例えば、「ロアブル美術館」を検索したいときに、スキーマとして「美術館」を指定して検索すれば、正確に検索できる。
【００３０】
[コミュニケーションシステム]
図３は、本実施形態の構造化データ処理装置を適用できるコミュニケーションシステムの一例を示す構成図である。図３に示すコミュニケーションシステムでは、blogアプリケーション１と、ＣＭＳアプリケーション２と、グループウェア３と、スケジューラ４と、ネットワークデータサーバ５と、ユーザ端末６とが、例えば、インターネット等のネットワークＮを介して相互に通信可能に接続されている。
【００３１】
blogアプリケーション１は、アプリケーションサーバ１０と、ルータ１１と、ＬＡＮ（Local Area Network）１２とを備えている。
ＣＭＳアプリケーション２は、アプリケーションサーバ２０と、データベースサーバ２１と、ルータ２２と、ＬＡＮ２３とを備えている。
グループウェア３は、アプリケーションサーバ３０と、データベースサーバ３１と、ルータ３２と、ＬＡＮ３３とを備えている。
【００３２】
スケジューラ４は、アプリケーションサーバ４０と、ルータ４１と、ＬＡＮ４２とを備えている。
ネットワークデータサーバ５は、ネットワークサーバ５０と、データベースサーバ５１と、ルータ５２と、ＬＡＮ５３とを備えている。
ユーザ端末６は、このコミュニケーションシステムを利用するユーザが使用するものである、例えば、ネットワークＮに接続可能なパーソナルコンピュータ、携帯電話機、情報携帯端末等である。
【００３３】
本実施形態の構造化データ処理装置は、例えば、アプリケーションサーバ１０，２０，３０，４０である。以下では、blogアプリケーション１に含まれるアプリケーションサーバ１０を構造化データ処理装置として説明する。
【００３４】
（第１の実施形態）
[アプリケーションサーバの構成]
図４は、本発明の第１実施形態に係るアプリケーションサーバの構成を示す機能ブロック図である。アプリケーションサーバ（構造化データ処理装置）１０は、ネットワークデータサーバ５の構造化データ記憶手段５１１とネットワークＮを介して通信可能に接続されている。
構造化データ記憶手段５１１は、内部構造を有した構造化データを、当該構造化データで表現される内容ごとにスキーマルートの異なる複数のスキーマに分類した木構造の要素として、スキーマの分類名に関連付けて記憶するものである。
【００３５】
アプリケーションサーバ１０は、構造化データ記憶手段５１１に対する制御モードとして、スキーマ登録モードと、構造化データ入力モードと、検索モードとを有する。
スキーマ登録モードは、構造化データのスキーマを登録するモードである。構造化データ入力モードは、スキーマが登録された構造化データを入力するモードである。検索モードは、入力された構造化データを検索するモードである。
【００３６】
アプリケーションサーバ１０は、図４に示すように、通信インタフェース１１１と、記憶手段１２０と、制御手段１３０とを備えている。
通信インタフェース１１１は、ユーザ端末６やネットワークデータサーバ５から、所定の命令や情報を入力したり、ユーザ端末６やネットワークデータサーバ５に所定の情報を出力したりするものである。
【００３７】
記憶手段１２０は、ＲＯＭ（Read Only Memory）１２１と、ＲＡＭ（Random Access Memory）１２２と、ＨＤＤ（Hard Disk Drive）１２３とを備えている。
ＲＯＭ１２１は、例えば、所定のプログラム等を格納する。
ＲＡＭ１２２は、制御手段１３０による演算処理等に利用されると共に、通信インタフェース１１１を介して取得した情報等を記憶する。
ＨＤＤ１２３は、例えば、所定のプログラム、各種データベース、制御手段１３０の処理結果等を格納する。
【００３８】
制御手段１３０は、例えば、ＣＰＵ（Central Processing Unit）等から構成され、通信インタフェース１１１および記憶手段１２０を制御するものであり、モード判別手段１３１と、スキーマ登録モード管理手段１４０と、構造化データ入力モード管理手段１５０と、検索モード管理手段１６０とを備えている。なお、これらモード判別手段１３１、スキーマ登録モード管理手段１４０、構造化データ入力モード管理手段１５０、検索モード管理手段１６０は、ＣＰＵが記憶手段１２０のＨＤＤ１２３等に格納された所定のプログラムをＲＡＭ１２２に展開して実行することにより実現されるものである。
【００３９】
モード判別手段１３１は、構造化データ記憶手段５１１に対する制御モードとして、スキーマ登録モードと、構造化データ入力モードと、検索モードとのうち、いずれのモードが選択されたのかを判別し、判別結果を、スキーマ登録モード管理手段１４０、構造化データ入力モード管理手段１５０、検索モード管理手段１６０のいずれかに通知する。
【００４０】
スキーマ登録モード管理手段１４０は、入力データ判別手段１４１と、ルートノード生成手段１４２と、ノード生成手段１４３と、属性生成手段１４４と、データ型生成手段１４５と、格納手段１４６と、読出手段１４７とを備えている。
【００４１】
入力データ判別手段１４１は、スキーマ登録モードにおいて入力された構造化データのスキーマの任意の分類名と、構造化データ記憶手段５１１に記憶されたスキーマの分類名とが一致するか否かを判別するものである。
入力データ判別手段１４１は、入力されたスキーマの分類名が既存であると判別した場合に、その旨を読出手段１４７に通知する。一方、入力されたスキーマの分類名が未登録であると判別した場合に、入力データ判別手段１４１は、その旨をルートノード生成手段１４２に通知する。また、詳細は後記するが、入力データ判別手段１４１は、判別後に入力されるデータ（チャイルド（子供）、属性、データ型など）に基づいて、スキーマ登録に係る判別処理、選択処理等を行う。
【００４２】
ルートノード生成手段１４２は、入力されたスキーマの分類名と、構造化データ記憶手段５１１に記憶されたスキーマの分類名とが一致しない場合に、入力されたスキーマの分類名を有するスキーマルートをノードとして生成するものである。
ノード生成手段１４３は、スキーマ登録モードにおいて入力された構造化データの木構造の有無に基づいて、１以上の木構造がある場合に、ルートノード生成手段１４２で生成されたノードの分枝に対して１以上の木構造を有したノードを生成するものである。
【００４３】
属性生成手段１４４は、スキーマ登録モードにおいて入力された構造化データの属性を識別する属性名に基づいて、分枝に対して生成されたノードに属性名を関連付けるものである。
データ型生成手段１４５は、スキーマ登録モードにおいて入力された構造化データの型名に基づいて、分枝に対して生成されたノードに前記型名を関連付けるものである。
【００４４】
格納手段１４６は、属性名および型名を関連付けられたノードを、構造化データとして、構造化データ記憶手段５１１に格納するものである。
読出手段１４７は、入力された構造化データのスキーマの分類名が、構造化データ記憶手段５１１に記憶されている場合に、当該分類名のスキーマを読み出し、通信インタフェース１１１を介して、ユーザ端末６に出力するものである。
【００４５】
ここで、スキーマの新規登録について図５および図６を参照して説明する。図５は、新規登録に用いるスキーマの木構造の一例を示す図であり、図６は、図５に示したスキーマの登録の流れの示す図である。ここでは、図５に示したスキーマを登録することを想定する。この木構造は、ルートノード５０１と、その分枝（チャイルド）にノード５０２，５０３，５０４，５０５，５０６を有し、ノード５０４の分枝（チャイルド）にノード５０７，５０８，５０９を有している。新規に登録するスキーマの分類名は、「文献情報」である。
【００４６】
この場合、図６（ａ）に示すように、この分類名「文献情報」を有するルートノード６０１を作成する。そして、図６（ｂ）に示すように、チャイルドの１つとして、ノード６０２を作成する。ここで、属性名「タイトル」が関連付けられるが、データ型は未入力（null）であり、ノード６０２は未完成である。そして、図６（ｃ）に示すように、データ型「string」が関連付けられて、このノードに対する処理が終了してノード６０３が完成する。ここで、ノード６０３に対するチャイルドは無いので、図６（ｄ）に示すように、ルートノード６０１の次のチャイルドとして、属性名「isbn」と、データ型「isbn」が関連付けられたノード６０４が作成される。なお、データ型「isbn」は、予め登録されているものとする。そして、図６（ｅ）に示すように、属性名「著者」が関連付けられたノード６０５が作成される。ノード６０５には、チャイルドが存在するので、データ型「null」が関連付けられる。そして、ノード６０５に対して、ルートノード６０１に行った手法で、３個のチャイルドを示すノード６０６，６０７，６０８が作成される。以下、同様なので説明を省略する。
【００４７】
図４に戻って説明を続ける。
構造化データ入力モード管理手段１５０は、構造化データ入力モードにおいて入力される構造化データのスキーマの属性が構造化データ記憶手段５１１に登録されている場合に当該構造化データを入力するものである。
【００４８】
具体的には、構造化データ入力モード管理手段１５０は、入力されたスキーマとインスタンスとの組合せが妥当か否かを判定し、妥当なものだけ入力する。なお、妥当でない場合、その旨を表示させるようにしてもよい。ここで、「妥当」の具体例として、レストランスキーマ（属性名＝名前、場所、メニュー、感想、最寄り駅、駐車場）を想定する。
この場合、妥当なものは、組合せ１（名前=“居酒屋Ａ”，場所=“横須賀市”，感想=“結構おいしかった”）、組合せ２（名前=“西洋料理Ｂ”，場所=“横須賀市葉山”，感想=“とてもおいしかった”，駐車場=“なし”）などとなる。
一方、妥当でないものは、組合せ３ （名前=“居酒屋Ａ”，場所=“横須賀市”，個室=“あり”）、組合せ４      （レストラン名=“西洋料理Ｂ”，場所=“横須賀市葉山”）などとなる。
【００４９】
検索モード管理手段１６０は、検索フォーム表示制御手段１６１と、スキーマ検索手段１６２と、検索結果出力手段１６３とを備えている。
検索フォーム表示制御手段１６１は、検索モードにおいて入力されたスキーマの分類名に基づいて、予め作成された検索フォームをユーザ端末６に表示させる制御を行うものである。
【００５０】
ここで、検索フォームの例を図７に示す。図７（ａ）に示すように、１つのスキーマを選択する検索フォームは、複数の項目（ジャンル等）を備えている。ユーザが「ジャンル」の入力欄の右側の検索記号「or」を選択すると、図７（ｂ）に示すように、入力欄が上下２つに分割され、１つの項目に対して一度に２つのキーワードを入力することができる。なお、各項目は、検索記号「and」で結合される検索式となっている。また、図示は省略したが、検索フォームには、検索開始ボタンや検索終了ボタン等の一般的なボタンが表示される。また、すべての入力欄に入力する必要はない。
【００５１】
スキーマ検索手段１６２は、検索モードにおいて入力される、構造化データの分類名と、当該構造化データの属性名とを含むスキーマ検索対象に基づいて、構造化データ記憶手段５１１に記憶された構造化データを検索するものである。
このスキーマ検索手段１６２は、入力されたスキーマ検索対象の絞り込みがあるか否かを判別し、絞り込みがある場合には、絞り込まれた検索対象も検索する。
検索結果出力手段１６３は、検索された結果を出力するものである。
【００５２】
なお、ユーザ端末６ではなく、キーボードやマウス等の入力装置Ｍから構造化データを入力して、登録や検索を行うようにしてもよい。この場合、登録状況や検索結果を、液晶ディスプレイ等の出力装置Ｄに出力するようにしてもよい。
【００５３】
[アプリケーションサーバの動作]     
図４に示したアプリケーションサーバ１０の動作について図８および図９を参照（適宜図４参照）して説明する。
【００５４】
＜スキーマ登録方法＞
図８は、図４に示したスキーマ登録モード管理手段によるスキーマ登録方法を示すフローチャートである。スキーマ登録モード管理手段１４０は、入力データ判別手段１４１によって、入力された構造化データのスキーマの分類名が、構造化データ記憶手段５１１に記憶されているか（既存か）否かを判別する（ステップＳ１：入力データ判別ステップ）。スキーマの分類名が既存である場合（ステップＳ１：Ｙｅｓ）、スキーマ登録モード管理手段１４０は、読出手段１４７によって、その分類名のスキーマを読み出して出力し（ステップＳ２）、処理を終了する。一方、スキーマの分類名が未登録である場合（ステップＳ１：Ｎｏ）、スキーマ登録モード管理手段１４０は、ルートノード生成手段１４２によって、入力されたスキーマの分類名を有するスキーマルートをノード（ルートノード）として生成する（ステップＳ３：ルートノード生成ステップ）。
【００５５】
続いて、スキーマ登録モード管理手段１４０は、入力データ判別手段１４１によって、処理対象のノード（現ノード）に対して木構造におけるチャイルドが選択されたか否かを判別する（ステップＳ４）。現ノードに対してチャイルドが選択された場合（ステップＳ４：Ｙｅｓ）、スキーマ登録モード管理手段１４０は、ノード生成手段１４３によって、チャイルドとして新たなノードを生成する（ステップＳ５：ノード生成ステップ）。そして、スキーマ登録モード管理手段１４０は、属性生成手段１４４によって、入力された構造化データの属性を、ステップＳ５で生成したノードに関連付ける（ステップＳ６：属性生成ステップ）。次に、スキーマ登録モード管理手段１４０は、データ型生成手段１４５によって、入力された構造化データの型名を、ステップＳ５で生成したノードに関連付け（ステップＳ７：データ型生成ステップ）、ステップＳ４の判別処理に戻る。
【００５６】
ステップＳ４において、現ノードに対してチャイルドが選択されなかった場合（ステップＳ４：Ｎｏ）、スキーマ登録モード管理手段１４０は、入力データ判別手段１４１によって、現ノードがスキーマルートであるか否かを判別する（ステップＳ８）。現ノードがスキーマルートではない場合（ステップＳ８：Ｎｏ）、スキーマ登録モード管理手段１４０は、入力データ判別手段１４１によって、現ノードからスキーマルート側に１段階シフトしたノードを処理対象として選択し（ステップＳ９）、ステップＳ４の判別処理に戻る。一方、現ノードがスキーマルートである場合（ステップＳ８：Ｙｅｓ）、スキーマ登録モード管理手段１４０は、格納手段１４６によって、属性名および型名を関連付けられたノードを、構造化データとして、構造化データ記憶手段５１１に登録して（ステップＳ１０：格納ステップ）、処理を終了する。
【００５７】
＜検索方法＞
図９は、図４に示した検索モード管理手段による検索方法を示すフローチャートである。検索モード管理手段１６０は、検索フォーム表示制御手段１６１によって、入力されたスキーマの分類名に基づいて、予め作成された検索フォームをユーザ端末６に表示させる制御を行う（ステップＳ１１）。これによって、ユーザ端末６（図１参照）の利用者に、当該スキーマに対応した検索フォームが提示される。
【００５８】
続いて、検索モード管理手段１６０は、スキーマ検索手段１６２によって、入力されたスキーマ検索対象に基づいて、構造化データ記憶手段５１１に記憶された構造化データを検索する（ステップＳ１２：スキーマ検索ステップ）。そして、検索モード管理手段１６０は、検索結果出力手段１６３によって、検索された結果を出力する（ステップＳ１３：検索結果出力ステップ）。
【００５９】
続いて、検索モード管理手段１６０は、スキーマ検索手段１６２によって、入力されたスキーマ検索対象の絞り込みがあるか否かを判別する（ステップＳ１４）。絞り込みがある場合（ステップＳ１４：Ｙｅｓ）、検索モード管理手段１６０は、ステップＳ１２に戻って、絞り込まれた検索対象を検索する。一方、絞り込みがない場合（ステップＳ１４：Ｎｏ）、検索モード管理手段１６０は、処理を終了する。
【００６０】
なお、アプリケーションサーバ（構造化データ処理装置）１０は、一般的なコンピュータに、前記した各ステップを実行させる構造化データ処理プログラムを実行することで実現することもできる。これらのプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。
【００６１】
第１の実施形態によれば、アプリケーションサーバ１０は、スキーマ登録モードにおいて、構造化データ記憶手段５１１に未登録の任意のスキーマを登録することが可能である。また、アプリケーションサーバ１０は、検索モードにおいて入力されたスキーマを反映して検索結果を出力する。したがって、取り扱うエントリの検索精度を高めると共に、構造化データを柔軟に定義することができる。
【００６２】
（第２実施形態）
［アプリケーションサーバの構成］
図１０は、本発明の第２実施形態に係るアプリケーションサーバの構成を示す機能ブロック図である。アプリケーションサーバ（構造化データ処理装置）１０Ａは、図１０に示すように、制御手段１３０において、構造化データ入力モード管理手段１５０Ａの機能が異なる点を除いて、図４に示したアプリケーションサーバ１０と同様の構成なので、同一の構成には同一の符号を付して説明を省略する。
【００６３】
構造化データ入力モード管理手段１５０Ａは、入力フォーム表示制御手段１５１と、エラー判別手段１５２と、入力エラー表示制御手段１５３と、エントリ表示制御手段１５４とを備えている。
【００６４】
入力フォーム表示制御手段１５１は、構造化データ入力モードにおいて、一連の構造化データのそれぞれのスキーマおよびインスタンスを入力するための入力フォームを表示させる制御を行うものである。入力フォームとしては、タイトル用入力フォーム、タイトルに応じた内容を入力するための入力フォーム、スキーマリストに挙げられたスキーマ用の入力フォーム等が予め作成されている。
【００６５】
エラー判別手段１５２は、入力フォームに入力された、各構造化データのスキーマおよびインスタンスの組合せにおいて、データ型のエラーがあるか否かを判別するものである。ここで、型エラーとは、例えば、半角英数文字を入力すべき入力フォームに全角漢字が入力された場合などである。
【００６６】
入力エラー表示制御手段１５３は、データ型のエラーがある場合に、再入力を指示するメッセージを表示させる制御を行うものである。
エントリ表示制御手段１５４は、入力された一連の構造化データにおいてデータ型のエラーがない場合に、一連の構造化データの集合体を示すエントリとして、構造化データを入力された順序で表示する制御を行うものである。
【００６７】
[アプリケーションサーバの動作]     
図１０に示したアプリケーションサーバ１０Ａの動作について図１１を参照（適宜図１０参照）して説明する。図１１は、図１０に示した構造化データ入力モード管理手段による構造化データ入力方法を示すフローチャートである。
【００６８】
構造化データ入力モード管理手段１５０Ａは、入力フォーム表示制御手段１５１によって、制御変数ｉを「０」として入力データを初期化する（ステップＳ２１）。そして、構造化データ入力モード管理手段１５０Ａは、入力フォーム表示制御手段１５１によって、タイトル用入力フォームをユーザ端末６に表示させる制御を行う（ステップＳ２２：入力フォーム表示制御ステップ）。そして、構造化データ入力モード管理手段１５０Ａは、エラー判別手段１５２によって、タイトル用入力フォームにデータが入力されたか否かを判別する（ステップＳ２３）。データが入力されない場合（ステップＳ２３：Ｎｏ）、構造化データ入力モード管理手段１５０Ａは、処理を終了する。一方、データが入力された場合（ステップＳ２３：Ｙｅｓ）、引き続き、エラー判別手段１５２は、入力フォームに入力された、各構造化データのスキーマおよびインスタンスの組合せにおいて、データ型のエラーがあるか否かを判別する（ステップＳ２４：エラー判別ステップ）。
【００６９】
ステップＳ２４において、データ型のエラーがある場合（ステップＳ２４：Ｙｅｓ）、構造化データ入力モード管理手段１５０Ａは、入力エラー表示制御手段１５３によって、再入力を指示するメッセージ（エラーメッセージ）を表示させる制御を行い（ステップＳ２５：入力エラー表示制御ステップ）、ステップＳ２３に戻る。一方、データ型のエラーがない場合（ステップＳ２４：Ｎｏ）、構造化データ入力モード管理手段１５０Ａは、入力フォーム表示制御手段１５１によって、入力されたタイトルに基づいて、内容を入力するための入力フォームをユーザ端末６に表示させる制御を行う（ステップＳ２６）。
【００７０】
そして、構造化データ入力モード管理手段１５０Ａは、入力フォーム表示制御手段１５１によって、スキーマリストからスキーマが選択されたか否かを判別する（ステップＳ２７）。スキーマリストからスキーマが選択された場合（ステップＳ２７：Ｙｅｓ）、構造化データ入力モード管理手段１５０Ａは、入力フォーム表示制御手段１５１によって、選択されたスキーマ用の入力フォームをユーザ端末６に表示させる制御を行い（ステップＳ２８：入力フォーム表示制御ステップ）、ステップＳ２９に進む。一方、スキーマリストからスキーマが選択されなかった場合（ステップＳ２７：Ｎｏ）、構造化データ入力モード管理手段１５０Ａは、ステップＳ２８をスキップしてステップＳ２９に進む。
【００７１】
ステップＳ２９において、構造化データ入力モード管理手段１５０Ａは、エラー判別手段１５２によって、スキーマ用の入力フォームにデータが入力されたか否かを判別する。データが入力された場合（ステップＳ２９：Ｙｅｓ）、引き続き、エラー判別手段１５２は、スキーマ用の入力フォームに入力されたデータに対して、データ型のエラーがあるか否かを判別する（ステップＳ３０：エラー判別ステップ）。データ型のエラーがある場合（ステップＳ３０：Ｙｅｓ）、構造化データ入力モード管理手段１５０Ａは、入力エラー表示制御手段１５３によって、エラーメッセージを表示させる制御を行い（ステップＳ３１：入力エラー表示制御ステップ）、ステップＳ２９に戻る。一方、データ型のエラーがない場合（ステップＳ３０：Ｎｏ）、入力フォーム表示制御手段１５１によって、制御変数ｉに「１」を加算し（ステップＳ３２）、終了命令が入力されたか否かを判別する（ステップＳ３３）。
【００７２】
ステップＳ３３において、終了命令が入力されていない場合（ステップＳ３３：Ｎｏ）、構造化データ入力モード管理手段１５０Ａは、ステップＳ２７に戻る。終了命令が入力された場合（ステップＳ３３：Ｙｅｓ）、ステップＳ３４に進む。また、前記したステップＳ２９においてデータが入力されない場合（ステップＳ２９：Ｎｏ）、途中の処理をスキップしてステップＳ３４に進む。ステップＳ３４（エントリ表示制御ステップ）において、エントリ表示制御手段１５４によって、「１」〜「ｉ」番目までに入力された一連の構造化データをユーザ端末６にエントリとして表示させる制御を行い、処理を終了する。
【００７３】
［エントリ作成の具体例］
図１２および図１３は、図１（ｂ）に示したデータの作成処理の流れを示す図である。
まず、図１２（ａ）に示すように、タイトル用入力フォームにタイトル１２０１が入力される。そして、図１２（ｂ）に示すように、タイトル１２０１である「今日の記録」に対応して、スキーマとして、日付１２０２と、天候１２０３とを入力するための入力フォームを表示させる。ここでは、予め作成しておいたプルダウンメニューを表示できるようにした。そして、図１２（ｃ）に示すように、スキーマリスト１２０４の中から作成対象１２０５のスキーマが選択されると、図１２（ｄ）に示すように、対応する入力フォームを表示する。ここでは、図１２（ｃ）に示すように、作成対象１２０５として、「テキスト」スキーマが選択され、図１２（ｄ）に示すように、テキスト１２０６が入力される。そして、図１２（ｄ）に示すように、スキーマリスト１２０４の中から作成対象１２０７として、「美術館」スキーマが選択されると、図１２（ｅ）に示すように、対応する入力フォームを表示する。ここで、美術館スキーマデータ１２０８が入力される。さらに、図１２（ｅ）では、次の作成対象として、「テキスト」スキーマが選択される。そして、図１３（ａ）に示すように、テキスト１３０１が入力される。次の作成対象として、「レストラン」スキーマが選択されると、図１３（ｂ）に示すように、対応する入力フォームを表示する。そこで、レストランスキーマデータ１３０２が入力される。以下、同様なので説明を省略する。
【００７４】
第２の実施形態によれば、アプリケーションサーバ１０Ａは、構造化データ入力モードにおいて、エントリを形成する一連の構造化データを入力エラーなしに入力して、その入力順に表示させることができる。したがって、ユーザが利用し易くなる。
【００７５】
（第３の実施形態）
[アプリケーションサーバの構成]
図１４は、本発明の第３実施形態に係るアプリケーションサーバの構成を示す機能ブロック図である。アプリケーションサーバ（構造化データ処理装置）１０Ｂは、図１４に示すように、制御手段１３０において、エディタモード管理手段１７０を備えたことを除いて、図１０に示したアプリケーションサーバ１０Ａと同様の構成なので、同一の構成には同一の符号を付して説明を省略する。
【００７６】
アプリケーションサーバ１０Ｂは、構造化データ記憶手段５１１に対する制御モードとして、構造化データのスキーマおよびインスタンスを編集するエディタモードをさらに有し、モード判別手段１３１は、エディタモードの判別にも対応する。
【００７７】
エディタモード管理手段１７０は、スキーマ編集制御手段１７１と、インスタンス編集制御手段１７２と、編集スキーマ判別手段１７３と、編集エラー表示制御手段１７４と、データコピー処理制御手段１７５とを備えている。
【００７８】
スキーマ編集制御手段１７１は、エディタモードにおいて、構造化データのスキーマに対する編集を示す入力に基づいて、スキーマを編集する制御を行うものである。
スキーマ編集制御手段１７１は、エディタモードの編集対象として、構造化データのスキーマが選択されたかインスタンスが選択されたかを判別し、インスタンスが選択されたと判別した場合に、その後の制御をインスタンス編集制御手段１７２に引き渡す。
【００７９】
インスタンス編集制御手段１７２は、エディタモードにおいて、構造化データのインスタンスに対する編集を示す入力に基づいて、インスタンスを編集する制御を行うものである。
編集スキーマ判別手段１７３は、前記構造化データ記憶手段５１１に記憶され、かつ、編集される前のスキーマの属性に対応した構造化データの集合（ここでは、ＩＴＥＭＳと呼ぶ）が、編集されたスキーマの属性に対応しているか（妥当であるか）否かを判別するものである。
編集スキーマ判別手段１７３は、ＩＴＥＭＳが、編集されたスキーマの属性に対して対応していない（妥当ではない）と判別した場合に、その旨を編集エラー表示制御手段１７４に通知する。
【００８０】
編集エラー表示制御手段１７４は、構造化データの集合（ＩＴＥＭＳ）が、編集されたスキーマに対して妥当ではない旨を通知された場合に、当該編集されたスキーマの再編集を指示するメッセージをユーザ端末６（図１参照）に表示させる制御を行うものである。
【００８１】
データコピー処理制御手段１７５は、構造化データのスキーマまたはインスタンスの編集において、コピー命令が選択された場合に、構造化データ記憶手段５１１に記憶された構造化データのスキーマまたはインスタンスを記憶手段１２０のＲＡＭ１２２に一時格納し、ペースト（貼り付け）命令に従って、構造化データ記憶手段５１１に記憶された構造化データの指定された位置に貼り付ける制御を行うものである。具体的には、ユーザは、データコピー処理制御手段１７５の機能によって、例えば、記憶手段１２０に、一時的なテンポラリフォルダを用意し、そこにコピーしたいエントリや構造化データを格納する。そして、ユーザは、記憶手段１２０のテンポラリフォルダからコピーしたいデータを選択して新規エントリの構築時に貼り付ける。
【００８２】
[アプリケーションサーバの動作]     
図１４に示したアプリケーションサーバ１０Ｂの動作について図１５を参照（適宜図１４参照）して説明する。図１５は、図１４に示したエディタモード管理手段による構造化データの編集方法を示すフローチャートである。
エディタモード管理手段１７０は、スキーマ編集制御手段１７１によって、エディタモードの編集対象として、構造化データのスキーマが選択されたか否かを判別する（ステップＳ４１）。編集対象として構造化データのインスタンスが選択された場合（ステップＳ４１：Ｎｏ）、エディタモード管理手段１７０は、インスタンス編集制御手段１７２によって、インスタンスの編集を示す入力があるか否かを判別する（ステップＳ４２）。
【００８３】
ステップＳ４２において、インスタンスの編集を示す入力がない場合（ステップＳ４２：Ｎｏ）、エディタモード管理手段１７０は、処理を終了する。一方、インスタンスの編集を示す入力がある場合（ステップＳ４２：Ｙｅｓ）、エディタモード管理手段１７０は、インスタンス編集制御手段１７２によっては、入力に基づいて、インスタンスを編集する制御を行う（ステップＳ４３）。そして、エディタモード管理手段１７０は、インスタンス編集制御手段１７２によって、構造化データ記憶手段５１１に記憶され、かつ、編集される前のスキーマ（現在のスキーマ）に対して妥当であった構造化データの集合（ＩＴＥＭＳ）に、編集されたインスタンスを追加し（ステップＳ４４）、処理を終了する。
【００８４】
ステップＳ４１において、編集対象として構造化データのスキーマが選択された場合（ステップＳ４１：Ｙｅｓ）、エディタモード管理手段１７０は、スキーマ編集制御手段１７１によって、スキーマの編集を示す入力があるか否かを判別する（ステップＳ４５）。スキーマの編集を示す入力がない場合（ステップＳ４５：Ｎｏ）、エディタモード管理手段１７０は、処理を終了する。一方、スキーマの編集を示す入力がある場合（ステップＳ４５：Ｙｅｓ）、エディタモード管理手段１７０は、スキーマ編集制御手段１７１によって、入力に基づいて、スキーマを編集する制御を行う（ステップＳ４６：スキーマ編集制御ステップ）。
【００８５】
続いて、エディタモード管理手段１７０は、スキーマ編集制御手段１７１によって、編集されたスキーマに対して、現在のスキーマに対して妥当であった構造化データの集合（ＩＴＥＭＳ）が妥当であるか否かを判別する（ステップＳ４７：編集スキーマ判別ステップ）。編集されたスキーマに対して、ＩＴＥＭＳが妥当である場合（ステップＳ４７：Ｙｅｓ）、編集エラー表示制御手段１７４は、処理を終了する。一方、編集されたスキーマに対して、ＩＴＥＭＳが妥当ではない場合（ステップＳ４７：Ｎｏ）、編集エラー表示制御手段１７４は、当該編集されたスキーマの再編集を指示するメッセージをユーザ端末６に表示させる制御を行い（ステップＳ４８：編集エラー表示制御ステップ）、ステップＳ４５に戻る。
【００８６】
第３の実施の形態によれば、アプリケーションサーバ１０Ｂは、エディタモードにおいて、インスタンスと共に、ユーザが自由に定義したスキーマを編集することができる。その際、スキーマの編集がインスタンスに影響を与えた場合に、ユーザに対して、スキーマの再編集を指示することによって、構造化データ記憶手段５１１には、スキーマに対して妥当な構造化データの集合のみを採用することが可能となる。
【００８７】
以上、本発明の各実施形態について説明したが、本発明はこれらに限定されるものではなく、その趣旨を変えない範囲で実施することができる。例えば、各実施形態では、構造化データ記憶手段５１１は、ネットワークデータサーバ５に配置したが、アプリケーションサーバ１０の記憶手段１２０のＨＤＤ１２３に配置するようにしてもよい。この場合、ＨＤＤ１２３は、アプリケーションサーバ１０の外部記憶装置としてもよい。
【図面の簡単な説明】
【００８８】
【図１】Ｗｅｂに登録されたデータの表示例を示す説明図であって、（ａ）は従来の方法によるもの、（ｂ）は本実施形態の構造化データ処理方法によるものをそれぞれ示している。
【図２】図１に示した表示データにおける検索例を示す説明図であって、（ａ）は従来の方法によるもの、（ｂ）は本実施形態の構造化データ処理方法によるものをそれぞれ示している。
【図３】本実施形態の構造化データ処理装置を適用できるコミュニケーションシステムの一例を示す構成図である。
【図４】本発明の第１実施形態に係るアプリケーションサーバの構成を示す機能ブロック図である。
【図５】新規登録に用いるスキーマの木構造の一例を示す図である。
【図６】図５に示したスキーマの登録の流れの示す図である。
【図７】検索フォームの一例を示す図である。
【図８】図４に示したスキーマ登録モード管理手段によるスキーマ登録方法を示すフローチャートである。
【図９】図４に示した検索モード管理手段による検索方法を示すフローチャートである。
【図１０】本発明の第２実施形態に係るアプリケーションサーバの構成を示す機能ブロック図である。
【図１１】図１０に示した構造化データ入力モード管理手段による構造化データ入力方法を示すフローチャートである。
【図１２】図１（ｂ）に示したデータの作成処理の流れを示す図である。
【図１３】図１（ｂ）に示したデータの作成処理の流れを示す図である。
【図１４】本発明の第３実施形態に係るアプリケーションサーバの構成を示す機能ブロック図である。
【図１５】図１４に示したエディタモード管理手段による構造化データの編集方法を示すフローチャートである。
【符号の説明】
【００８９】
１      blogアプリケーション
１０    アプリケーションサーバ
１１    ルータ
１２    ＬＡＮ
２      ＣＭＳアプリケーション
２０    アプリケーションサーバ
２１    データベースサーバ
２２    ルータ
２３    ＬＡＮ
３      グループウェア
３０    アプリケーションサーバ
３１    データベースサーバ
３２    ルータ
３３    ＬＡＮ
４      スケジューラ
４０    アプリケーションサーバ
４１    ルータ
４２    ＬＡＮ
５      ネットワークデータサーバ
５０    ネットワークサーバ
５１    データベースサーバ
５１１  構造化データ記憶手段
５２    ルータ
５３    ＬＡＮ
６      ユーザ端末
１０（１０Ａ，１０Ｂ）  アプリケーションサーバ（構造化データ処理装置）
１１１  通信インタフェース
１２０  記憶手段
１２１  ＲＯＭ
１２２  ＲＡＭ
１２３  ＨＤＤ
１３０  制御手段
１３１  モード判別手段
１４０  スキーマ登録モード管理手段
１４１  入力データ判別手段
１４２  ルートノード生成手段
１４３  ノード生成手段
１４４  属性生成手段
１４５  データ型生成手段
１４６  格納手段
１４７  読出手段
１５０（１５０Ａ）  構造化データ入力モード管理手段
１５１  入力フォーム表示制御手段
１５２  エラー判別手段
１５３  入力エラー表示制御手段
１５４  エントリ表示制御手段
１６０  検索モード管理手段
１６１  検索フォーム表示制御手段
１６２  スキーマ検索手段
１６３  検索結果出力手段
１７０  エディタモード管理手段
１７１  スキーマ編集制御手段
１７２  インスタンス編集制御手段
１７３  編集スキーマ判別手段
１７４  編集エラー表示制御手段
１７５  データコピー処理制御手段
Ｎ      ネットワーク
Ｍ      入力装置
Ｄ      出力装置
【図１】
0004755531.tif 000002
【図２】
0004755531.tif 000003
【図３】
0004755531.tif 000004
【図４】
0004755531.tif 000005
【図５】
0004755531.tif 000006
【図６】
0004755531.tif 000007
【図７】
0004755531.tif 000008
【図８】
0004755531.tif 000009
【図９】
0004755531.tif 000010
【図１０】
0004755531.tif 000011
【図１１】
0004755531.tif 000012
【図１２】
0004755531.tif 000013
【図１３】
0004755531.tif 000014
【図１４】
0004755531.tif 000015
【図１５】
0004755531.tif 000016