JP3914081B2 - Access authority setting method and structured document management system - Google Patents
Access authority setting method and structured document management system Download PDFInfo
- Publication number
- JP3914081B2 JP3914081B2 JP2002087071A JP2002087071A JP3914081B2 JP 3914081 B2 JP3914081 B2 JP 3914081B2 JP 2002087071 A JP2002087071 A JP 2002087071A JP 2002087071 A JP2002087071 A JP 2002087071A JP 3914081 B2 JP3914081 B2 JP 3914081B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- access authority
- structured
- search
- display
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、異なる文書構造の複数の構造化文書を、階層化された論理構造を持つ構造化文書データベースに対するアクセス権限の設定方法に関する。
【0002】
【従来の技術】
XML(eXtensible Markup Language)は、組織内データや、企業間の交換フォーマットの世界標準として現在注目を浴びている。これらXMLで記述された文書(以下、XML文書と呼ぶ)に構造情報を付加することが可能であり、構造化文書と呼ばれる。これら構造化文書を格納、検索を行うためのデータベースの開発が現在進んでいる。構造化文書をデータベース化することで、データ問合せ言語(以後、クエリと呼ぶ)によって、データベースから所望の構造化文書を検索して、それらを合成した新たな構造化文書(加工された構造化文書)を生成することが可能となる。例えば、クエリによって、論文データベースと従業員データベースの内容から、1つの加工された構造化文書を作成する、といったことが可能となる。
【0003】
構造化文書をブラウザ等に表示するためものが、XSL(eXtensible Stylesheet Language)に代表されるスタイルシートである。XSLはW3Cによって勧告になっているもので、これ自体がXMLで記述されている。これは、表示を規定する言語から成り、主にパターンマッチングにより表示形式を決定するものである。
【0004】
アプリケーションからデータベースを利用する形式としては以下の手順が一般的である。
【0005】
▲1▼ 構造化文書をデータベースに格納する
▲2▼ クエリによりこれらデータベースから所望のデータを取得する
▲3▼ スタイルによりブラウザなどの画面にこれらデータを表示させる
ここで、クエリとは格納したデータを取得する、という操作も含む。よって、データベースに格納した文書をそのまま表示させたい場合もクエリが発行されていることになる。
【0006】
アプリケーションによっては、構造化文書の階層構造に応じてアクセス権限を設定できるようにしたいといった要求が多く発生してくる。例えば、ある構造化文書中のある1つの要素に対するアクセス権限はユーザA,ユーザBで、他の1つの要素に対してはユーザAだけである、といった文書構造に応じた指定を行いたいといったことである。
【0007】
このようなアクセス権限の設定は、RDBのようなテーブルとレコード単位でのアクセス権限の設定でなく、木構造に対するアクセス権限の設定となり、そのための手法が幾つか提案されている。
【0008】
例えば、階層構造に応じたアクセス権限の設定方法として、PH07−44579がある。これは、構造化文書の階層構造ごとにアクセス権限を設定可能とするもので、アクセス権限の継承等も可能とするものである。いわばオブジェクト指向型データに対するアクセス権限に近い実現方法を示している。アクセス権限の設定は文書に対して行うことから、格納されている文書全てに対してアクセス権限を設定しなければならない。XMLはスキーマがない場合も許容されるので、スキーマに対してアクセス権限を設定するという場合だけでは不十分である。よって、膨大な数の文書それぞれにアクセス権限を設定するのは非常に手間が掛かる作業である。また、これは、XML文書に対して直接アクセス権限を設定するものであるが、XML文書はあくまでデータであり、このデータをどのように使うかはアプリケーション側に依存する場合が多い。
【0009】
アプリケーションによっては、同じアクセス権限を持つユーザでも、ある画面ではある要素に対する表示を認めず、ある画面では表示を許す、などといった設定を行いたいという要求がある。また、アクセス権限は同じでも、XML文書そのものの表示は認めないが、クエリによる集計結果として加工された場合には表示は可能とするといった設定を行いたい場合もあるであろう。つまり、格納されているXML文書というよりは、前者は表示に対するアクセス権限、後者はクエリに対するアクセス権限の設定である。
【0010】
このように、アプリケーション側にとっては、表示形式(スタイル)によって表示されたデータに対する権限をアクセス権限とする場合が多い。スタイルごとにアクセス権限を設定しようとしているものとして、P2001−22749がある。これは、単に、ユーザIDとスタイルIDを関連付けて管理し、ユーザ毎にアクセス可能なスタイルを指定するものであり、XML文書そのものが持つ文書構造は全く考慮していない。
【0011】
また、PH11−25076においては、構造化文書のアクセス権限設定において、表示部とデータ管理部を別に管理し、ユーザに対してアクセス権限のある情報だけを提示し、更新を行いたい場合にはその部分だけの更新を許す構成をとっている。しかし、これも文書毎にアクセス権限を設定しなければならず、やはり設定に対する負荷に関する問題が残る。
【0012】
RDBのようにスキーマが必須の場合は、そのスキーマにアクセス権限を設定することなども考えられるが、XMLはスキーマはあっても良いし、なくても良い、などといった特徴や、同じ名前を持つ要素が同一レベルに複数存在しても良い、などといった特徴があり、構造が曖昧になる場合が多い。これらを考えると、構造化文書の構成要素毎にアクセス権限を設定する必要性がある。
【0013】
また、実際にアクセス権限を設定するのは、アプリケーションレベルになってからであり、データを作成した段階ではない場合が多い。例えば、同じデータを用いたとしても、ある用途(検索条件)あるいはスタイル(表示形式)では、ユーザAにはある要素xに対してアクセス権限を与えるが、別のある用途あるいはスタイル(表示形式)ではアクセス権限を無くすといった柔軟な処理を行うことも十分考えられる。つまり、アプリケーション作成の段階になってアクセス権限を設定することが多く、その段階でアクセス権限の設定が容易に行えるような機能が必要となってくる。
【0014】
さらに、アプリケーション面から捕らえた場合、スタイルごと、或いは、用途ごとにアクセス権限を設定できる機能が望まれる。例えば、スタイルに関していえば、ユーザAに対しては、ある要素xのグラフを見せるが、ユーザBに対しては、グラフ表示は不可能で、例えばモザイクをかけて表示する、などといった制限などである。ただ、ユーザBはグラフとしての表示は不可能であるが、XMLデータとしてその値を取得することは可能、などといった場合もある。また、クエリによって集計された結果はアクセスできるが、それ以外の個々の文書にはアクセスできない、といったアクセス権限を設定する場合も考えられる。これらは、データベースに格納されている文書に対してのみアクセス権限を持たせる方法では実現できない。
【0015】
【発明が解決しようとする課題】
以上説明したように、従来からある構造化文書へのアクセス権限の設定方法は、アクセス権限を構造化文書の構成要素毎に設定することは可能であるが、その設定に手間がかかるという問題点があった。特に、論理空間を有する構造化文書データベースにおける膨大な量の構造化文書に対して、その個々の構成要素に対してアクセス権限を設定する手間とコストは相当大きなものとなる。
【0016】
また、構造化文書データベースに格納されている構造化文書の構成要素にアクセス権限を設定するだけでなく、表示形式や用途に応じて(すなわち、スタイルシートやクエリに応じて)、構造化文書の構成要素に対し、異なるアクセス権限を設定するといったきめ細かなアクセス権限の設定が行えないという問題点があった。
【0017】
そこで、本発明は、上記問題点に鑑み、アクセス権限を構造化文書の構成要素毎にきめ細かく設定することが容易に行えるアクセス権限設定方法および構造化文書管理装置を提供することを目的とする。
【0018】
また、構造化文書データベースに格納されている構造化文書の構成要素の用途や表示形式(検索結果として表示する際の表示形式)に応じて、異なる内容のアクセス権限を設定することが容易に行えるアクセス権限設定方法および構造化文書管理装置を提供することを目的とする。
【0019】
【課題を解決するための手段】
本発明は、複数の構造化文書を格納した階層化された論理構造を持つ構造化文書データベースの前記論理構造を構成する前記構造化文書の構成要素に対し、アクセス権限を設定するためのものであって、前記構造化文書データベースから前記論理構造に基づき所望の構成要素を検索するための検索要求文(クエリ)を用いて検索した結果得られた複数の構成要素からなる検索結果文書を表示した表示画面上の任意の表示領域が指定されたとき、その指定された表示領域に表示されているデータに対応する前記検索結果文書中の第1の構成要素を特定し、この第1の構成要素に関連付けられた前記検索要求文中の第2の記述部分の記述に基づき、前記構造化文書データベース中の前記第1の構成要素に対応する第2の構成要素を検索して、この第2の構成要素に対し、少なくとも該第2の構成要素にアクセスが制限されるユーザの範囲を定めてアクセス権限を設定することを特徴とする。
【0020】
本発明によれば、ユーザは、検索結果の表示画面上で、少なくとも所望の表示領域を指定するだけで、当該指定された表示領域に表示されているデータに対応する構造化文書データベース中の所望の構成要素にアクセス権限の設定が容易に行える。
【0021】
また、本発明は、複数の構造化文書を格納した階層化された論理構造を持つ構造化文書データベースの前記論理構造を構成する前記構造化文書の構成要素に対し、アクセス権限を設定するものであって、前記構造化文書データベースから前記論理構造に基づき所望の構成要素を検索するための検索要求文(クエリ)を用いて検索した結果得られた複数の構成要素からなる検索結果文書を表示した表示画面上の任意の表示領域が指定されたとき、この指定された表示領域に表示されているデータに関連付けられた、前記検索結果文書を所定の表示形式で表示するために用いた前記検索結果文書の文書構造の変換規則(スタイルシート)中の第1の記述部分と、この第1の記述部分に関連付けられた前記検索結果文書中の第1の構成要素を抽出し、少なくとも、前記変換規則中の前記第1の記述部分にアクセス権限を設定する第1のレベル(スタイルレベル)と、前記検索要求文中の、前記第1の構成要素に対応する第2の記述部分にアクセス権限を設定する第2のレベルと(クエリレベル)、前記第2の記述部分に関連付けられた前記検索要求文中の第3の記述部分の記述に基づき特定される前記構造化文書データベース中の前記第1の構成要素に対応する第2の構成要素にアクセス権限を設定する第3のレベル(データレベル)を含む複数のレベルのうち、ユーザにより指定されたレベルに、少なくとも、そのレベルについてアクセスが制限されるユーザの範囲を定めてアクセス権限を設定することを特徴とする。
【0022】
本発明によれば、ユーザにより所望の表示領域が指定されると、ユーザにより指定されたレベルに応じて、該指定された表示領域に対応するスタイルシートの記述部分、さらに、それに関連付けられた検索結果文書中の構成要素、さらに、それに対応するクエリ中の記述部分、さらにそれに関連付けられた構造化文書データベース中の要素と、順次特定していくことにより、指定されたレベルにアクセス権限を設定することが容易に行える。ユーザは、検索結果の表示画面上で、少なくとも所望の表示領域と、アクセスレベルを指定するだけで、構造化文書データベース中の構成要素にアクセス権限の設定が行える。
【0023】
アクセス権限をスタイルシート、クエリといったレベルに設定することにより、あるスタイルシートを用いていたときには表示されなかったデータが他の異なるスタイルシートを用いれば表示される、あるクエリを用いた検索結果では表示されなかったデータが他の異なるクエリを用いたときには表示されるといった、柔軟なアクセス権限の設定が可能になる。また、アクセス権限をあるクエリレベルで設定すると、このクエリに用いた結果得られた検索結果文書を表示するためにどのスタイルシートに利用しても、このアクセス権限が適用される。また、アクセス権限をデータレベルで設定すると、このアクセス権限の設定された構成要素を利用するためにどのクエリ、どのスタイルシートを用いても、このアクセス権限が適用される。
【0024】
クエリレベルでアクセス権限を設定すると、構造化文書データベース中の構成要素に対し、その用途に応じてアクセス権限を設定することができる。また、スタイルレベルでアクセス権限を設定すると、構造化文書データベース中の構成要素に対し、その表示形式に応じてアクセス権限を設定することができる。
【0025】
さらに、前記複数のレベルは、前記構造化文書データベースに格納されている前記第2の構成要素を含む構造化文書と同じ文書構造を持つ他の構造化文書に含まれる前記第2の構成要素の要素名と同じである全ての構成要素にアクセス権限を設定する第4のレベルを含むことにより、スタイルシートの記述部分、クエリ中の記述部分、構造化文書データベース中の前記第2の構成要素の他に、さらに、当該第2の構成要素を含む構造化文書と同じ文書構造を持つ他の構造化文書中の当該第2の構成要素と同じ要素名の要素に対しても、それ対応のレベル(第4のレベル)を指定するだけで一括してアクセス権限を容易に設定することができる。
【0026】
特に、ユーザにより前記第4のレベルが指定されたとき、前記第2の構成要素を含む構造化文書と同じ文書構造を持つ複数の構造化文書が格納されている前記論理構造に従って指定される前記構造化データベースの論理的なエリアに、そのエリア内に格納される構造化文書が従うべき文書構造を定義した文書構造定義文書(スキーマ)が存在するときは、当該文書構造定義文書中の前記第2の構成要素と同じ要素名の構成要素に関する記述部分に、前記第2の構成要素と同じ要素名の構成要素に対する前記アクセス権限を設定するようにしてもよい。
【0027】
さらに、前記変換規則(スタイルシート)は、前記検索結果文書を該検索結果文書の各構成要素の少なくとも要素値をそれぞれ1つの表示領域で表示する表示用文書(HTML文書)に変換するためのものであって、前記変換規則を用いて前記検索結果文書を表示用文書に変換する際には、該表示用文書の記述部分と、該記述部分に関連する前記変換規則中の記述部分との対応関係を抽出し、前記表示画面上の任意の表示領域が指定されたとき、該指定された表示領域に表示されているデータに対応する前記表示用文書中の第4の記述部分に対応する前記変換規則中の前記第1の記述部分を前記対応関係に基づき抽出することにより、指定された表示領域に表示されているデータに関連付けられた変換規則中の第1の記述部分が容易に抽出できる。
【0028】
【発明の実施形態】
以下、本発明の実施形態について図面を参照して説明する。
【0029】
構造化文書として、XMLやSGMLなどで記述した文書が挙げられる。SGML(Standard Generalized Markup Language)とは、ISO(国際標準化機構)で定められた規格である。XML(eXtensible Markup Language)とは、W3C(World Wide Web Consortium)にて定められた規格である。それぞれ文書を構造化することを可能とする構造化文書規約である。
【0030】
以下、構造化文書として、XMLにて記述された文書を例に説明を進める。構造化文書の文書構造を定義したデータ(文書構造定義データ)をスキーマと呼ぶ。XMLではそのスキーマを定義するためにXML−SchemaやXDR(XML Data Reduced)などのスキーマ言語が提案されている。ここでは、例えば、XDRでのスキーマを記述する場合を例にとり説明する。
【0031】
スキーマも、本発明の構造化文書管理システムの管理対象の構造化文書であり、従って、スキーマ文書と呼ぶことがある。スキーマ文書と区別するために、特許明細書やメール、週報、広告などの種々雑多な内容を有す文書をコンテンツ文書と呼ぶこともある。
【0032】
本発明の構造化文書管理システムでは、上記スキーマ文書、上記コンテンツ文書、さらに、後述するようなユーザからの検索要求内容を記述したクエリ、すなわち、クエリ文書も管理対象とし、これらを総称して「文書」と呼ぶ。
【0033】
以下、特にことわりがない場合、「文書」と呼ぶときは、コンテンツ文書、スキーマ文書、クエリ文書を全て指すものとする。
【0034】
まず、実施形態の説明を前に、XMLについて簡単に説明する。
【0035】
図3は、XMLで記述された構造化文書の一例として、「特許」情報の例を示したものである。XMLやSGMLは、文書の構造の表現にタグが用いられる。タグには、開始タグと終了タグがあり、文書構造情報の構成要素を開始タグと終了タグで囲むことにより、文書中の文字列(テキスト)区切りと、そのテキストが構造上どの構成要素に属するのかを明確に記述することができる。
【0036】
ここで開始タグとは要素名称を記号「<」、「>」で閉じたものであり、終了タグとは要素名称を記号「</」と「>」で閉じたものである。タグに続く構成要素の内容が、テキスト(文字列)または子供の構成要素の繰り返しである。また開始タグには「<要素名称 属性=“属性値”>」などのように属性情報を設定することができる。「<特許DB></特許DB>」のようにテキストを含まない構成要素は、簡易記法として「<特許DB/>」のように表わすこともできる。
【0037】
図3に示した文書は、「特許」タグから始まる要素をルート(根)とし、その子要素として「タイトル」、「出願日」、「出願者」、「要約」タグから始まる要素集合が存在する。また、例えば、「タイトル」タグから始まる要素には「XMLデータベース」といった、1つのテキスト(文字列)が存在する。
【0038】
XMLなどの構造化文書は、任意の構成要素を繰り返し含んでいたり、さらには文書構造があらかじめ決まっていない(RDB(リレーショナルデータベース)やOODB(オブジェクト指向データベース)のスキーマでは定義できない)のが普通である。
【0039】
図3に示したような構造化文書を論理的に表現するために、図4に示すようなツリー表現が用いられる。ツリーは、ノード(番号が付され、円形で示されたもの)とアーク(ノードを表す円形間をつなぐデータ付き線)と四角形で囲まれたテキストから構成されている。
【0040】
ノードは文書オブジェクトに対応し、ノードからタグ名や属性名に相当するラベルが付与された複数のアークが出てきている。そのアークの先は、ノードまたは要素値としての文字列(テキスト)である。ノードの中に記載されている英数字(#0、#49)などはオブジェクトIDである。
【0041】
図4に示したツリー構造を図3に示した構造化文書の文書オブジェクトツリーと呼ぶ。
【0042】
図1は、本実施形態に係る構造化文書管理システムの構成例を示したものである。図1において、構造化文書管理システムは、大きく分けて、要求制御部1、アクセス要求処理部2、検索要求処理部3、データアクセス部4、文書記憶部5、インデックス記憶部6、アクセス権限設定管理部201から構成されている。文書記憶部5、インデックス記憶部6は例えば、外部記憶装置を用いて構成される。
【0043】
図1のシステム構成は、ソフトウエアを用いて実現可能である。
【0044】
なお、アクセス権限設定管理部201については、後述する(「アクセス権限の設定」参照)。
【0045】
要求制御部1は、要求受付部11と結果処理部12から構成されている。要求受付部11は、ユーザからの文書格納や文書取得、文書検索などの要求を受け付けて、アクセス要求処理部2を呼び出す。結果処理部12は、アクセス要求処理部2が処理した結果を要求元のユーザに返す処理を行う。
【0046】
アクセス要求処理部2は、ユーザからの文書格納や文書取得などの要求に対応した複数の処理部から構成されている。つまり、文書格納部21、文書取得部22、文書削除部23から構成されている。
【0047】
文書格納部21は、文書記憶部5中の論理的な指定エリアに文書を格納する処理を行う。
【0048】
文書取得部22は、文書記憶部5中の論理的なエリアが指定されたときに、その指定エリアに存在する文書を取得する処理を行う。
【0049】
文書削除部23は、文書記憶部5中の論理的な指定エリアに存在する文書を削除する処理を行う。
【0050】
文書記憶部5は、構造化文書データベースであり、例えば、図8に示すように、文書をUNIXのディレクトリ構造のように階層的にツリー構造状に格納している。
【0051】
図8に示すように、構造化文書データベースは、図4に示したような1つの構造化文書のツリー構造と同様に表現できる。すなわち、任意のノード以下の部分階層木(部分ツリー)は、構造化文書データベースから切り出された構造化文書であり、ここでは、これを文書オブジェクトツリーと呼ぶ。各ノードにはオブジェクトIDが割り当てられている。オブジェクトIDは、構造化文書データベース内ではユニークな数値を持つものとする。
【0052】
階層木のルートとなるノードには、それがルートノードであることを特定するためのオブジェクトID「#0」が割り当てられるものとする。
【0053】
ルートノード、すなわち、「#0」のノードからは「root」タグを先頭に持つ「#1」のノードへリンクが張られている。「#1」のノードからは、「特許DB」タグを先頭にもつ「#2」ノードへのリンクが張られている。「#2」ノードからは、「特許」タグを先頭に持つ「#42」ノード、「#52」ノード、「#62」ノードへのリンクがそれぞれ張られている。
【0054】
図3に示した「特許」情報は、「#42」ノード以下の部分ツリーに対応している。このノードからは「タイトル」タグ、「出願者」タグ、「要約」タグなどを先頭にもつノードへリンクが張られ、末端のノードからは、「XMLデータベース」、「T社」。「XMLを統一的に管理するデータベースを提供する…」などの文字列(要素値)へのリンクが張られている。
【0055】
「#52」ノード以下の部分ツリー、「#62」ノード以下の部分ノードも1つの「特許」情報に対応する部分である。
【0056】
ところで、例えば、「#43」ノードにリンクされた「XMLデータベース」という要素値は、「#43」ノードと「#value」という特殊なタグ名で接続されている。このタグ名は、「#」で始まるためXML規格においては標準的なタグ名として利用することはできない。
【0057】
このような構造化文書データベースの特定ノードを指定するために構造化文書パスを用いる。構造化文書パスは「uix://root」から始まる文字列である。uix(Universal Identifier for XML)は構造化文書パスであることを示す前置文字列である。
【0058】
例えば、「uix://root/特許DB」は、「#1」ノードから「特許DB」が付与されたアークが指し示すノード、つまり「#2」ノードに対応する。このように「root」から「/」で区切られた部分文字列をタグ名とみなすことで「#0」ノードからタグ名の並びに沿って対応するアークを下っていき、その最後のアークが指すノードが、パスの場所を指し示す。
【0059】
例えば、「uix://root/特許DB/特許」は、「#42」ノード、「uix://root/特許DB/出願日/年」は、「#45」ノードを指し示す。
【0060】
「#2」ノード以下に、すなわち、「特許DB」に、複数の「特許」情報を格納する場合には、個々の「特許」情報を識別するために、構造化文書パスにインデックス表現が可能である。
【0061】
「特許DB」の最初の「特許」情報であれば、「uix://root/特許DB/特許[0]」となるが、これは「uix://root/特許DB/特許」と同じとみなす。
【0062】
「特許DB」の2番目の「特許」情報であれば、「uix://root/特許DB/特許[1]DB」の5番目の「特許」情報であれば、「uix://root/特許DB/特許[4]」となる。
【0063】
インデックス記憶部6には検索時に用いる、要素名称生起インデックスとデータ生起インデックスが記憶されている。
【0064】
要素名生起インデックスとは構造化文書データベースに格納されている要素名称のリストと、各要素名称が先頭にある構造化文書(文書オブジェクトツリー)の位置とを関連付けてインデックスファイル化したものである。例えば、図8の構造化文書データベースのように、(「特許」情報に対応する)「特許」という要素名称が「#42」ノード以下の構造化文書、「#52」ノード以下の構造化文書、「#62」ノード以下の構造化文書に存在する場合、これらをインデックス化すると、図9に示すように、それらの親ノード、「#2」ノードが、要素名称生起インデックスファイルに「特許」キーからのチェーンで格納される。
【0065】
このように、親ノードでインデックス化すると、インデックスファイルを圧縮することができる。すなわち、親ノードでインデックス化すれば、子ノードが増大しようとも、親ノードで代用しているので、チェーンサイズは増大しない。これに対し、実ノードをインデックス化すれば「特許」情報の格納数の増大とともにチェーンサイズはそれに比例して増加してしまう。
【0066】
データ生起インデックスとは、構造化文書データベースに格納されている文字列データのリストと各文字列データがある構造化文書(文書オブジェクトツリー)の位置とを関連付けてインデックスファイル化したものである。例えば、図8の構造化文書データベースのように、「XML」という文字列データ(および、「XML」という文字列を含む文字列)が「#43」ノード以下の構造化文書、「#49」ノード以下の構造化文書に存在する場合、これらをインデックス化すると、図10に示すように、「#43」ノード、「#49」ノードが、データ生起インデックスファイルに「XML」キーからのチェーンで格納される。
【0067】
なお、逆階層インデックスなど、その他のインデックスファイルを用いてもよい。逆階層インデックスとは、あるノードとその親ノードとの対応を格納したものである(あるノードからその親ノードを求めることができる)。
【0068】
文書記憶部5中の論理的な指定エリアとは、ユーザにより構造化文書パスを用いて指定された文書の格納場所を指す。構造化文書パス(簡単にパスと呼ぶことがある)は、ユーザにとって認識可能な表現である。
【0069】
図1の説明に戻る。
【0070】
データアクセス部4は、文書記憶部5をアクセスする基本インターフェイスの集合である。データアクセス部4は、文書オブジェクトツリー格納部47、文書オブジェクトツリー削除部48、文書オブジェクトツリー取得部49、文書文字列取得部44、パスから文書オブジェクトツリー取得部45、文書パーサ部46、合成文書作成部47、インデックス更新部48から構成される。
【0071】
文書オブジェクトツリー格納部41は、文書記憶部5中の物理的な指定エリアに文書オブジェクトツリーを格納する処理を行う。
【0072】
文書オブジェクトツリー削除部42は、文書記憶部5中の物理的な指定エリアに存在する文書オブジェクトツリーを削除する処理を行う。
【0073】
文書オブジェクトツリー取得部43は、文書記憶部5中の物理的な指定エリアに存在する文書オブジェクトツリーを取得する処理を行う。
【0074】
文書文字列取得部44は、文書オブジェクトツリーを構造化文書(XML文書)に変換する処理を行う。
【0075】
パスから文書オブジェクトツリー取得部45は、構造化文書パスを解析して文書記憶部5中の物理的なエリアを特定して、そのエリアに存在する文書オブジェクトツリーを取り出す処理を行う。
【0076】
文書パーサ部46は、ユーザにより入力された構造化文書を読み込んで構文解析して整合性の検査を行い、さらに文書構造定義データであるスキーマが存在すれば構造的に妥当かどうかの検証を行う。出力結果は文書オブジェクトツリーとなる。文書パーサは、通常、lex(lexical analyzer generator)といったレキシカルアナライザ(字句解析を行い,トークンに分解する)とyacc(yet another compiler compiler)といったパーサジェネレータを組み合わせて構築することができる。
【0077】
合成文書作成部47は、文書格納や文書削除などをする際に、スキーマに合致しているかどうか検査しなければならないが、この検査時に必要となるデータを作成して出力する。
【0078】
インデックス更新部48は、文書格納や文書削除などにより、構造化文書データベースの格納内容が更新されるたびに、図9、図10に示した要素名称生起インデックスとデータ生起インデックスを更新する。
【0079】
文書記憶部5中の物理的な指定エリアとは、ファイルオフセットやオブジェクトIDなどの構造化文書データベース内ではユニークな文書データの存在場所を指し示す内部データである。ユーザにとっては認識不能なデータである。
【0080】
文書記憶部5中に格納された文書を検索する処理を行う。要求制御部1の要求受付部11でユーザからの文書検索の要求が受け付けられると、検索要求処理部3には、要求受付部11からクエリ言語で記述されたクエリ文書が入力する。そしてデータアクセス部4を通してインデックス記憶部6,文書記憶部5にアクセスし、検索要求に合致する文書集合を取得して、その結果を結果処理部12を介して出力する。
【0081】
図2は、図1に示した構造化文書管理システムの一利用形態を示したもので、図2では、WWW(World Wide Web)のバックエンドで、図1に示した構成の構造化文書管理システム100が動作している場合を示している。
【0082】
複数(ここでは、例えば3つ)のクライアント端末(例えばパーソナルコンピュータ、携帯通信端末など)102のそれぞれでWWWブラウザ103が動作している。ユーザは、各クライアント端末からWWWサーバ101にアクセスすることにより、構造化文書管理システム100にアクセスすることができる。WWWブラウザ103とWWWサーバ101とは、HTTP(Hyper TextTransfer Protocol)で通信している。また、WWWサーバ101と構造化文書管理システム100とは、CGI(Common Gateway Interface)またはCOM(Component Object Model)などで通信している。
【0083】
ユーザからの文書格納、文書取得、文書検索などの要求は、WWWブラウザ103から送信されて、WWWサーバ101を通して構造化文書管理システム100にて受け付けられ、処理された結果は、WWWサーバ101を通して要求元のWWWブラウザ103へ返信される。
【0084】
以下、図1の構造化文書管理システムの(1)格納機能、(2)検索機能について詳細に説明する。そして、(3)適用例では、概念検索を用いた特許調査の場合を例にとり説明する。
【0085】
(1) 格納機能
図1の構造化文書管理システムにおける格納系のコマンドには以下のものがある。
【0086】
insertXML(パス、N番目、XML):文書格納
appendXML(パス、XML) :文書格納
getXML(パス) :文書取得
removeXML(パス) :文書削除
setSchema(パス、スキーマ) :スキーマ格納
getSchema(パス) :スキーマ取得
「insertXML」は、( )内に指定した構造化文書パス以下のN番目に文書を挿入するコマンド(以下、簡単に挿入コマンドと呼ぶ)である。
【0087】
「appendXML」は、( )内に指定した構造化文書パス以下の最後に文書を挿入するコマンド(以下、簡単に追加コマンドと呼ぶ)である。
【0088】
「getXML」は、( )内に指定した構造化文書パス以下の文書を取り出すコマンド(以下、簡単に取得コマンドと呼ぶ)である。
【0089】
「removeXML」は、( )内に指定した構造化文書パス以下の文書(スキーマ文書以外の文書で、主に、コンテンツ文書)を削除するコマンド(以下、簡単に削除コマンドと呼ぶ)である。
【0090】
「setSchema」は、( )内に指定した構造化文書パスにスキーマを設定するコマンド(以下、簡単にスキーマ格納コマンドと呼ぶ)である。
【0091】
「getSchema」は、( )内に指定した構造化文書パスに設定されているスキーマを取り出すコマンド(以下、簡単にスキーマ取得コマンドと呼ぶ)である。
【0092】
上記コマンドのうち、挿入コマンド、追加コマンド、スキーマ格納コマンドについての処理はアクセス要求処理部2の文書格納部21で実行され、取得コマンド、スキーマ取得コマンドについての処理は文書取得部22で実行され、削除コマンドについての処理は文書削除部23で実行される。
【0093】
図5を参照して、構造化文書データベースの初期状態(図5(a)参照)において、追加コマンドを実行する場合について説明する。
【0094】
図5(a)に示すように、「#0」ノードと「#1」ノードが「root」アークで接続されている初期状態に対して、
「appendXML(“uix://root”,“<特許DB/>”)」
を実行した結果、図5(b)に示すように、「#2」ノードと「特許DB」アークが作成される。
【0095】
図5(b)に示した状態の構造化文書データベースに対して、取得コマンドを実行する場合について説明する。
【0096】
例えば、「getXML(“uix://root”)」を実行すると、図5(b)の「root」アークが示す「#0」ノード以下の文書オブジェクトツリーが取り出され、それをXMLの文字列表現に変換する。その結果、図6に示すように、「<root><特許DB/></root>」なる文字列が取り出される。取得コマンドの処理は、アクセス要求処理部2の文書取得部22にて実行される。
【0097】
次に、図5(b)に示した状態の構造化文書データベースに対して、図3に示すようなコンテンツ文書(XML文書)としての「特許」情報を格納するための追加コマンドを実行する場合について説明する。すなわち、この場合、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」を実行する。このコマンド中「“<特許>…</特許>”」が、図3に示した「特許」情報に対応する。
【0098】
上記追加コマンドの処理が実行されると、図7に示すように、「#2」ノード以下に「#42」ノードをトップとする文書オブジェクトツリー(図4に対応)が追加される。
【0099】
図5(b)に示した状態の構造化文書データベースに対して、次に示すような追加コマンドを3回繰り返して実行したとする。
【0100】
「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」
上記コマンド中、「<特許>…</特許>」は、図3に示した文書構造のコンテンツ文書に対応する。
【0101】
すると、図8に示すように、「#2」ノード以下に「#42」ノード、「#52」ノード、「#62」ノードをトップとする文書オブジェクトツリーが追加される。
【0102】
次に、図8に示した状態の構造化文書データベースに対して、3つの「特許」情報を取り出すための取得コマンドを実行した場合について説明する。この場合、「getXML(“uix://root/特許DB”)」を実行する。すると、「特許DB」アークが示す「#2」ノード以下の文書オブジェクトツリーが取り出され、それをXMLの文字列表現(XML文書)に変換する。その結果、図11に示すように、「<特許DB><特許>…</特許><特許>…</特許><特許>…</特許></特許DB>」なる文字列が取り出される。
【0103】
構造化文書データベースでは、上記の「特許」情報などのコンテンツ文書(XML文書)の文書構造を定義したデータ、すなわち、スキーマも管理対象とする。
【0104】
図12は、XML文書の文書構造を定義するスキーマの一例を示したものである。ここでは、XMLの文書構造定義言語の一つであるXDR(XML−Data Reduced)を取り上げる。もちろん、XML−Schemaなど他の文書構造定義言語を用いてもかまわない。
【0105】
図12に示したスキーマは、図3に示した「特許」情報の文書構造をXDRで定義したものである。図12からも容易に分かるとおり、スキーマもXML形式の構造化文書である。「Schema」タグから始まる構成要素から始まり、その子要素として、「ElementType」タグから始まる要素集合が存在する。
【0106】
図12に示したスキーマにおいて、例えば、最初の「ElementType」タグから始まる子要素は以下の情報を意味している。
【0107】
・「特許」タグを持つ要素の文書構造定義(「ElementType name=”特許”」)である。
【0108】
・子要素は要素だけ(「content=”eltOnly”」)である。
【0109】
・「タイトル」、「出願日」、「要約」タグから始まる子要素から構成される(「element type=”タイトル”、…」)。さらに、その順番は一意に決まっている(「order=”seq”」)。
【0110】
・上記「特許」タグから始まる要素の文書構造定義の他に、「タイトル」「出願者」「要約」「年」「月」「日」「出願日」の文書構造定義を記述している。すなわち、「出願日」を除く、「タイトル」「出願者」「要約」「年」「月」「日」タグから始まる構成要素の子要素はテキストだけと定義されている(「content=”textOnly”」)。
【0111】
・「出願日」タグから始まる構成要素の子要素は、「年」、「月」、「日」の並びである。
【0112】
図8に示した状態の構造化文書データベースに対して、図12に示したスキーマ文書を格納するためのスキーマ格納コマンドを実行する場合について説明する。この場合、「setSchema(“uix://root/特許DB”,“<Schema>…</Schema>”)」を実行する。このコマンド中、「“<Schema>…</Schema>”」」が図12に示したスキーマ文書に対応する。
【0113】
上記コマンドの実行により、図13に示すように、「#2」ノード以下に「#schema」アークが追加され、その先には、「#3」ノードをトップノードとする文書オブジェクトツリーが追加される。スキーマ自身がXML文書表現になっているため、前述した「特許」情報のようなコンテンツ文書格納のケースと同様にツリー展開可能である。
【0114】
図13において、「@name」など「@」で始まるアークは属性に対応する。タグ名「#schema」も「#」、「@」で始まるためXML規格においては標準的なタグ名として利用することはできない。
【0115】
「#2」ノード下に図12に示したスキーマ文書が格納されたことにより、以後、「#2」ノード以下にこれから格納される文書の文書構造は、図12に示したスキーマ文書により定義された文書構造に適合することが要求される。すなわち、「#2」ノード以下に図12に示したスキーマが設定されることになる。
【0116】
「#2」ノード以下に図12に示したスキーマが設定されると、図14に示すように、「#2」ノードの文書オブジェクトのファイルには、「#2」ノード以下の文書オブジェクトツリーには、当該スキーマが存在する旨の属性値がセットされる。
【0117】
「#2」ノード以下に図12に示したスキーマが設定された後に、このスキーマで定義された文書構造に一致する図3に示したような「特許」情報を、図14に示したように、文書オブジェクトツリーとして構造化文書データベースに格納したとき、この文書の文書構造には図12に示したスキーマが存在する旨の属性値が、当該文書オブジェクトツリーを構成する各文書オブジェクトにセットされる。例えば、当該文書オブジェクトツリーを構成する各文書オブジェクトのファイルに対して、スキーマが存在している旨の属性値((例えば、「スキーマ適合有無」)に「1」がセットされる。図14では、スキーマに適合している各文書オブジェクト(ノード)は2重丸で示している。2重丸で示した各文書オブジェクトには、その文書オブジェクトに対応した文書構造定義が存在することになる。
【0118】
図15は、各文書オブジェクトのファイルの内容を概念的に示したもので、例えば、オブジェクトIDが「#42」の文書オブジェクトのファイルには、その文書オブジェクトにリンクされている他の文書オブジェクトに関する情報(例えば、アークや、リンク先の文書オブジェクトへのポインタ値など)とともに、上記属性値が記述されている。なお、当該文書オブジェクトに適用するスキーマが存在しないときは、「スキーマ適合有無」の値は「0」となる。
【0119】
図16、図17は、図1の構造化文書管理システムで、必要に応じて検索で使用される概念階層を構造化文書で表現した例を示す。図16、図17に示す「概念」情報はXMLで記述したコンテンツ文書である。
【0120】
図16に示した「概念」情報の例は、いわゆる特許調査における特許文書の内容を分類するための1つの分類軸として用いる「情報モデル」を概念階層で表現している。「概念」タグで囲まれた「概念」情報は、入れ子構造を持った文書構造をもっている。つまり、図16の例では、概念「情報モデル」の子供概念として、概念「ドキュメント」、概念「リレーション」、概念「オブジェクト」が存在している。また、概念「ドキュメント」の子供概念として、概念「構造化訴求メント」、概念「非構造化ドキュメント」が存在し、さらに、概念「構造化ドキュメント」の子供概念として、概念「XML」、概念「SGML」が存在している。
【0121】
図17に示す「概念」情報の記述例は、図16とは異なる分類軸「情報操作」を概念階層で表現している。図17の例では、概念「情報操作」の子供概念として、概念「検索」、概念「格納」、概念「加工」、概念「流通」が存在している。
【0122】
図16,図17に示したような「概念」情報も、前述の「特許」情報と同様にして、構造化文書データベース内に格納することができる。すなわち、例えば、まず、図8に示した状態の構造化文書データベースに対して、「appendXML(“uix://root”,“<概念DB/>”)」を実行して、図18に示すように、「#201」ノードと「概念DB」アークが作成される。この状態において、図16に示した「概念」情報を格納する場合には、「appendXML(“uix://root/概念DB”,“<概念名前>…</概念>”)」を実行する。このコマンド中「“<概念名前>…</概念>”」が、図16に示した「概念」情報に対応する。
【0123】
上記追加コマンドの処理が実行されると、図19に示すように、「#201」ノード以下に「#202」ノードをトップとする文書オブジェクトツリーが追加される。
【0124】
以上説明したように、図1の構造化文書管理システムでは、構造化文書データベース上に登録される文書構造が異なる膨大な数のXML文書群(コンテンツ文書、スキーマ文書、クエリ文書など)を、図18,図19に示すように、「root」タグを先頭に持つツリー状の1つの巨大なXML文書として取り扱う。そのため、部分的なXML文書をアクセスするには巨大なXML文書に対するパスという文書構造に依存しない統一的なアクセス手段を用いることにより、幅広くXML文書を検索したり加工したりすることが可能になる。
【0125】
また、構造化文書データベース上の一部にスキーマを設定することで、格納しようとする文書の文書構造がそのスキーマにより定義されている文書構造に一致するか否かの妥当性のチェックが自動的に行なえる(後述)。
【0126】
(1−1)文書格納処理
次に、図1の構造化文書管理システムの文書格納処理動作について、図20に示すフローチャートを参照して説明する。
【0127】
クライアント端末から構造化文書管理システムに対し、文書格納要求として、挿入コマンド、追加コマンド、スキーマ格納コマンドのうちのいずれかが送信されて、要求受付部11にて受け付けられたとき、図20に示した処理動作を行う。
【0128】
クライアント端末の所定の表示装置には、構造化文書管理システム100(の例えば、要求制御部1)から提供された、例えば、図31に示すようなユーザインターフェイスとしての画面が表示されている。
【0129】
図31に示す画面には、構造化文書管理システム100への操作項目の一覧(メニュー)が表示されている。操作項目として、「XML登録/削除」、「スキーマ設定」、「XML検索」とがある。
【0130】
ユーザが例えば、この画面上で「XML登録/削除」をマウス等のポインティングデバイスなどを用いて選択すると、図32に示したような文書の格納/削除を行うためのユーザインタフェースとしての画面が表示される。
【0131】
図32において、領域W1には、文書構造化文書データベースの現在のツリー構造の要素名(タグ名)がユーザが理解可能なように簡略的に表示されている。なお、図32では、上位階層の要素名のみを表示しているが、末端の要素名まで表示可能である。また、領域W2は、構造化文書パスの入力領域であり、領域W1の表示内容に従って、構造化文書パスを入力するようになっている。また、領域W3は、格納する文書を入力したり、取得した文書を表示するようになっている。
【0132】
例えば、構造化文書パスとして「root」を入力する場合には、領域W1の「root」をマウス等で選択すればよい。すると、図32に示すように、領域W2の構造化文書パスの入力領域に「uix://root」と表示される。また、新たに、「特許DB」という要素を追加する場合は、図32に示すように、領域W3に、「特許DB」を入力する。そして、「登録」ボタンB1を選択すると、クライアント端末からappendXML(“uix://root”,“<特許DB/>”)」なる追加コマンドが構造化文書管理システムへ送信される。構造化文書管理システムでは、上記追加コマンドを受け、後述するような処理を実行した結果、例えば、図5(b)に示すように、「#2」ノードと「特許DB」アークが作成される。また、領域W1には、図33に示すように、「root」の下に「特許DB」が追加表示される。
【0133】
さて、ユーザが図34に示したような文書の格納/削除画面上の領域W3に、例えば、文書「<A>データ</A>」を入力し(あるいはCD−ROM等の所定の記録媒体等から読み込むことにより入力し)、領域W1の「特許[0]」をマウス等で選択すると、構造化文書パスの入力領域W2に、「uix://root/特許DB/特許[0]」と表示される。そして、「登録」ボタンB1を選択すると、クライアント端末からappendXML(“uix://root”,“<特許DB/>”)」なる追加コマンドが構造化文書管理システムへ送信される。
【0134】
ここでは、例えば、構造化文書データベースが、図14に示した状態のときに、「appendXML(“uix://root/特許DB/特許[0]”,“<A>データ</A>”)」なる追加コマンドを受け付けた場合を例にとり説明する。
【0135】
要求受付部11は、上記追加コマンドを受け付けると、上記追加コマンド中の2つのパラメータである構造化文書パス「uix://root/特許DB/特許[0]」と文書「<A>データ</A>」(以下、格納文書と呼ぶ)とを文書格納部21へ渡す(ステップS1)。
【0136】
まず、文書格納部21は、文書パーサ部46に格納文書を渡す。文書パーサ部46は、格納文書を読み込んで、構文解析を行い、当該格納文書の文書構造がXMLにて規定された正しい形式であるか否かの整合性の検査を行う(ステップS2)。
【0137】
この整合性の検査でエラーが見つかれば(ステップS3)、文書格納部21,結果処理部12を介して、クライアント端末に「文書格納失敗」の旨のメッセージを返す(ステップS4)。
【0138】
整合性の検査でエラーが見つからなければ、次に、文書格納部21は、パスから文書オブジェクトツリー取得部45へ構造化文書パスを渡す。パスから文書オブジェクトツリー取得部45は、構造化文書パスから文書記憶部5中の物理的なエリアを特定することにより、そのエリアに存在する構造化文書パスにて表されたノード(文書オブジェクトOx0)を含む文書オブジェクトツリーを取り出す(ステップS5)。構造化文書パスの指定が正しければ、文書オブジェクトOx0のオブジェクトIDを取得することができるので(ステップS6)、その場合は、ステップS8へ進む。
【0139】
例えば、上記追加コマンドの場合、「#42」ノードが文書オブジェクトOx0となるので、そのオブジェクトIDとして、「#42」を取得するとともに、この「#42」ノードを含む文書オブジェクトツリー(例えば、「#42」ノードの全ての子孫ノードと「#42」ノードと同じ階層にある全ての(兄弟)ノードと、「#42」ノードの親ノードである「#2」ノードとからなる文書オブジェクトツリー)を取得する。
【0140】
指定された構造化文書パスからそれに対応する文書オブジェクトOx0が見つからなければ、エラーとなり(ステップS6)、文書格納部21,結果処理部12を介して、クライアント端末に「文書格納失敗」の旨のメッセージを返す(ステップS7)。
【0141】
例えば、構造化文書データベースが、図18に示した状態のときに、追加コマンドのパラメータとして、構造化文書パスが「uix://root/その他」と表されていたとき、これに対応する文書オブジェクトは存在しないので、ステップS6でエラーとなり、ステップS7へ進む。
【0142】
次に、ステップS8では、文書オブジェクトOx0にスキーマが存在するか否かを検査する。この検査は、前述したように、各文書オブジェクトのファイルに属性値が記述されているので、この値をチェックすればよい。文書オブジェクトOx0のもつ「スキーマ適合有無」の値が「1」のときは、ステップS9へ進む。
【0143】
以下、図20のステップS9の処理(合成文書作成部47の処理)について、図21に示すフローチャートを参照して詳細に説明する。
【0144】
文書格納部21は、ステップS5で取得した文書オブジェクトツリーを合成文書作成部47へ渡す。
【0145】
合成文書作成部47は、この文書オブジェクトツリーを文書オブジェクトOx0から遡り、「Schema」タグを子要素として持つ文書オブジェクトOx1を検索する(ステップS21)。
【0146】
例えば、図14に示した構造化文書データベースでは、文書オブジェクトOx0としての「#42」ノードの親ノードである「#2」ノードから「Schema」タグをトップ(先頭)にもつノード(「#3」ノード)へのリンクが張られているので(「Schema」タグを子要素として持つので)、この「#2」ノードが文書オブジェクトOx1となる。よって、ステップS22をスキップして、ステップS23へ進む。
【0147】
この文書オブジェクトOx1から文書オブジェクトOx0、さらに文書オブジェクトOx0からアークを辿って、その下流にある、文書オブジェクトの属性値の値が「1」である全ての子ノードからなる文書オブジェクトツリーOt1を取り出す(ステップS23)。
【0148】
例えば、上記追加コマンド中のパラメータの構造化文書パスが「uix://root/特許DB/特許[0]」と指定されているとき、文書オブジェクトツリーOt1は、「#42」ノード〜「#49」ノードから構成されたものとなる(図14参照)。
【0149】
次に、ステップS25へ進む。
【0150】
ステップS25では、文書オブジェクトツリーOt1に格納文書の文書オブジェクトツリーを文書オブジェクトOx0の子ノードとして挿入する。その結果得られた新たな文書オブジェクトツリーを文書オブジェクトツリーOt2とする。
【0151】
この文書オブジェクトツリーOt2をXML文書に変換し、それをテンポラリファイルAに出力する(ステップS27)。
【0152】
例えば、上記追加コマンド中のパラメータの格納文書「<A>データ</A>」の文書オブジェクトツリー(この場合は、1つの文書オブジェクト)を「#42」ノード〜「#49」ノードで構成された文書オブジェクトツリーOt1に「#42」ノードの子ノードとして挿入して得られた合成文書の文書オブジェクトツリーOt2をXML文書に変換した結果を図22に示す。この合成文書は、もともとある「特許」情報に「<A>データ</A>」というデータを追加したものとなっている。
【0153】
図22に示したXML文書、すなわち、合成文書がテンポラリファイルAに出力され、テンポラリファイルAに一時格納される。
【0154】
一方、スキーマタグ以下の文書オブジェクトツリーOt3をXML文書に変換して、それをテンポラリファイルBに出力する(ステップS28)。すなわち、テンポラリファイルBには、スキーマ文書が一時格納されることになる。
【0155】
例えば、文書オブジェクトツリーOt3である「#3」ノードをトップノードとする文書オブジェクトツリーをXML文書に変換した結果を図23に示す。図23に示したXML文書がテンポラリファイルBに出力され、テンポラリファイルBに一時格納される。
【0156】
図22に示すように、テンポラリファイルA(「tmp000.xml」)には、もともとある「特許」情報の要素の他に、格納文書、すなわち、ここでは、例えば、「<A>データ</A>」が挿入されている。また、「xmlns=”x−schema:tmp001.xml”」という、テンポラリファイルB(「tmp001.xml」)へのリンク情報の記述がある。この記述は、「特許」情報に適用されるスキーマが出力されているテンポラリファイルBを指定している。
【0157】
次に、図20の説明に戻る。
【0158】
ステップS10では、文書格納部21は文書パーサ部46に、合成文書のテンポラリファイルAとスキーマのテンポラリファイルBとを与えて、合成文書の文書構造の妥当性をチェックする。すなわち、文書パーサ部46は、合成文書のテンポラリファイルAとスキーマのテンポラリファイルBとを読み込み、合成文書の文書構造が、スキーマにより定義されている文書構造に一致するか否かをチェックする。
【0159】
例えば、図22に示した合成文書と、図23に示したスキーマとで妥当性のチェックを行った場合、合成文書には、スキーマにより定義されていない「A」という要素が存在するため、図23の合成文書は、妥当性のチェックでエラーとなる(ステップS11)。この場合、文書格納部21,結果処理部12を介して、クライアント端末に「文書格納失敗」の旨のメッセージを返す(ステップS12)。
【0160】
例えば、クライアント端末の所定の表示装置には、図35に示すようなメッセージが表示される。
【0161】
次に、構造化文書データベースが、図14に示した状態のときに、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」なる追加コマンドを受け付けた場合について、図20を参照して説明する。前述同様にして、文書オブジェクトOx0のオブジェクトID「#2」を取得する(ステップS5)、この文書オブジェクトには、スキーマが存在するので(ステップS8)、ステップS9において合成文書を作成する。
【0162】
この場合、文書オブジェクトOx0である「#2」ノード自体から「Schema」タグをトップ(先頭)にもつノード(「#3」ノード)へのリンクが張られているので、この「#2」ノードが文書オブジェクトOx1となる(図21のステップS21)。すなわち、文書オブジェクトOx0と文書オブジェクトOx1が同じなので(ステップS22)、ステップS29へ進み、格納文書「<特許>…</特許>」の文書オブジェクトツリーをXML文書に変換し、テンポラリファイルAに出力する(ステップS29)。
【0163】
例えば、図24に示すように、テンポラリファイルA(「tmp000.xml」)には、格納文書である「特許」情報、すなわち、ここでは、「<特許>…</特許>」が出力されている。また、「xmlns=”x−schema:tmp001.xml”」という、テンポラリファイルB(「tmp001.xml」)へのリンク情報の記述がある。
【0164】
次に、ステップS28へ進む。図25に示すように、テンポラリファイルBには、「#3」ノードをトップノードとするスキーマの文書オブジェクトツリーをXML文書に変換した結果が出力されている。
【0165】
図20のステップS10で、図24に示した合成文書と、図25に示したスキーマとで妥当性のチェックを行ったとき、合成文書の文書構造と、スキーマにより定義されている文書構造とは一致する、この場合、ステップS11からステップS13へ進む。
【0166】
ステップS13では、格納文書の文書オブジェクトツリーが、文書オブジェクトOx0下に追加される。すなわち、文書格納部21により、格納文書の文書オブジェクトツリーを構成する各文書オブジェクト(のファイル)にオブジェクトIDが与えられ、文書オブジェクトOx0から格納文書の文書オブジェクトツリーの先頭の文書オブジェクトへリンクが張られる。そして、文書オブジェクトツリー格納部41により、格納文書の文書オブジェクトツリーを構成する各文書オブジェクト(のファイル)が文書記憶部5に格納される。
【0167】
次に、ステップS14へ進み、インデックス記憶部6のインデックスを更新する。
【0168】
なお、ステップS8で、文書オブジェクトOx0のもつ属性値の値が「0」のときは、上述したスキーマを用いた合成文書の文書構造の妥当性のチェックを行わずに、そのままマステップS13へ進み、格納文書の文書オブジェクトツリーを、文書オブジェクトOx0下に追加し(ステップS13)、それに伴い、インデックス記憶部6のインデックスを更新する(ステップS14)。
【0169】
(1−2)文書取得処理
次に、図1の構造化文書管理システムの文書取得処理動作について、図26に示すフローチャートを参照して説明する。
【0170】
クライアント端末から構造化文書管理システムに対し、文書取得要求として、取得コマンド、スキーマ取得コマンドのうちのいずれかが送信されて、要求受付部11にて受け付けられたとき、図26に示した処理動作を行う。
【0171】
例えば、ユーザが図36に示したような文書の格納/削除画面上の領域W1の「特許DB」をマウス等で選択すると(クリックすると)、構造化文書パスの入力領域W2に、「uix://root/特許DB」と表示されとともに、「getXML(“uix://root/特許DB”)」なる取得コマンドが構造化文書管理システムへ送信される。
【0172】
ここでは、例えば、構造化文書データベースが、図8に示した状態のときに、「getXML(“uix://root/特許DB”)」なる取得コマンドを受け付けた場合を例にとり説明する。
【0173】
要求受付部11は、上記取得コマンドを受け付けると、上記取得コマンド中のパラメータである構造化文書パス「uix://root/特許DB」を文書取得部22へ渡す(ステップS31)。
【0174】
文書取得部22は、パスから文書オブジェクトツリー取得部45へ構造化文書パスを渡す。パスから文書オブジェクトツリー取得部45は、構造化文書パスから文書記憶部5中の物理的なエリアを特定することにより、そのエリアに存在する構造化文書パスにて表されたノード(文書オブジェクトOx5)を取り出す(ステップS32)。構造化文書パスの指定が正しければ、文書オブジェクトOx5のオブジェクトIDを取得することができるので(ステップS33)、その場合は、ステップS35へ進む。
【0175】
例えば、上記取得コマンドの場合、「#2」ノードが文書オブジェクトOx5となるので、そのオブジェクトIDとして、「#2」を取得するとともに、この「#2」ノード以下の文書オブジェクトツリーOt5(「#2」ノード、「#42」ノード〜「#49」ノード、「#52」ノード以下、「#62」ノード以下)を取得する(ステップS35)。
【0176】
ステップS32において、指定された構造化文書パスからそれに対応する文書オブジェクトOx5が見つからなければ、エラーとなり(ステップS33)、文書取得部22,結果処理部12を介して、クライアント端末に「文書取得失敗」の旨のメッセージを返す(ステップS34)。
【0177】
ステップS35で取得した文書オブジェクトツリーOt5は、文書文字列取得部44でXML文書に変換される。例えば、上記取得コマンドの場合、取得したXML文書は、図11に示すような3つの「特許」情報のXML文書となる。
【0178】
文書取得部22は、結果処理部12を介して、図11に示したようなXML文書を(例えば、XSL(eXtensible Style Language)といった所定のスタイルシートとともに)、クライアント端末へ返す(ステップS37)。
【0179】
クライアント端末では、図11に示したXML文書を、スタイルシートを用いてHTMLデータに変換して、例えば、図36に示すように、領域W2に表示する。
【0180】
XSLを利用すると、XML文書を様々な形に変換することが出来る。違う構文書造のXML文書に変換することも出来るし、XML文書からHTMLページを生成することも出来る。
【0181】
(1−3)文書削除処理
次に、図1の構造化文書管理システムの文書削除処理動作について、図27に示すフローチャートを参照して説明する。
【0182】
クライアント端末から構造化文書管理システムに対し、文書削除要求として、削除コマンドが送信されて、要求受付部11にて受け付けられたとき、図27に示した処理動作を行う。
【0183】
例えば、ユーザが図36に示したような文書の格納/削除画面上の領域W1の「特許DB」をマウス等で選択すると(クリックすると)、構造化文書パスの入力領域W2に、「uix://root/特許DB」と表示され、さらに、「削除」ボタンB2を選択すると「removeXML(“uix://root/特許DB”)」なる削除コマンドが構造化文書管理システムへ送信される。
【0184】
ここでは、例えば、構造化文書データベースが、図14に示した状態のときに、「removeXML(“uix://root/特許DB/特許[0]/出願日”)」なる削除コマンドを受け付けた場合を例にとり説明する。
【0185】
要求受付部11は、上記削除コマンドを受け付けると、上記削除コマンド中のパラメータである構造化文書パス「uix://root/特許DB/特許[0]/出願日」を文書削除部23へ渡す(ステップS41)。
【0186】
次に、文書削除部23は、パスから文書オブジェクトツリー取得部45へ構造化文書パスを渡す。パスから文書オブジェクトツリー取得部45は、構造化文書パスから文書記憶部5中の物理的なエリアを特定することにより、そのエリアに存在する構造化文書パスにて表されたノード(文書オブジェクトOx0)を含む文書オブジェクトツリーを取り出す(ステップS42)。構造化文書パスの指定が正しければ、文書オブジェクトOx0のオブジェクトIDを取得することができるので(ステップS43)、その場合は、ステップS45へ進む。
【0187】
例えば、上記削除コマンドの場合、「#44」ノードが文書オブジェクトOx0となるので、そのオブジェクトIDとして、「#44」を取得するとともに、この「#44」ノードを含む文書オブジェクトツリー(例えば、「#44」ノードの全ての子孫ノードと「#44」ノードと同じ階層にある全ての(兄弟)ノードと、「#44」ノードの親ノードである「#42」ノード、その親ノードである「#2」ノードとからなる文書オブジェクトツリー)を取得する。
【0188】
指定された構造化文書パスからそれに対応する文書オブジェクトOx0が見つからなければ、エラーとなり(ステップS43)、文書格納部21,結果処理部12を介して、クライアント端末に「文書削除失敗」の旨のメッセージを返す(ステップS44)。
【0189】
次に、ステップS45では、文書オブジェクトOx0にスキーマが存在するか否かを検査する。この検査は、前述したように、各文書オブジェクトのファイルに属性値が記述されているので、この値をチェックすればよい。文書オブジェクトOx0のもつ属性値の値が「1」のときは、ステップS46へ進む。
【0190】
以下、図27のステップS46の処理(合成文書作成部47の処理(削除コマンド用))について、図28に示すフローチャートを参照して詳細に説明する。
【0191】
なお、図28において、図21と同一部分は同一符号を付している。
【0192】
文書格納部21は、ステップS42で取得した文書オブジェクトツリーを合成文書作成部47へ渡す。
【0193】
合成文書作成部47は、この文書オブジェクトツリーを文書オブジェクトOx0から遡り、「Schema」タグを子要素として持つ文書オブジェクトOx1を検索する(ステップS21)。
【0194】
例えば、図14に示した構造化文書データベースでは、文書オブジェクトOx0としての「#44」ノードの上流にある「#2」ノードから「Schema」タグをトップ(先頭)にもつノード(「#3」ノード)へのリンクが張られているので(「Schema」タグを子要素として持つので)、この「#2」ノードが文書オブジェクトOx1となる。
【0195】
この文書オブジェクトOx1から文書オブジェクトOx0、さらに文書オブジェクトOx0からアークを辿って、その下流にある、文書オブジェクトの属性値の値が「1」である全ての子ノードからなる文書オブジェクトツリーOt1を取り出す(ステップS23)。
【0196】
例えば、上記追加コマンド中のパラメータの構造化文書パスが「uix://root/特許DB/特許[0]/出願日」と指定されているとき、文書オブジェクトツリーOt1は、「#42」ノード〜「#49」ノードから構成されたものとなる(図14参照)。
【0197】
次に、ステップS26ヘ進み、文書オブジェクトツリーOt1から文書オブジェクトOx0以下の文書オブジェクトツリーを削除する。その結果得られた新たな文書オブジェクトツリーを文書オブジェクトツリーOt2とする。
【0198】
この文書オブジェクトツリーOt2をXML文書に変換し、それをテンポラリファイルAに出力する(ステップS27)。
【0199】
例えば、上記削除コマンド中のパラメータの構造化文書パス「uix://root/特許DB/特許[0]/出願日」が指し示す「#44」ノード以下の文書オブジェクトツリーを「#42」ノード〜「#49」ノードで構成された文書オブジェクトツリーOt1から削除することにより得られた合成文書の文書オブジェクトツリーOt2をXML文書に変換した結果を図29に示す。この合成文書は、もともとある「特許」情報から「<出願日>…</出願日>」というデータを削除したものとなっている。
【0200】
図29に示したXML文書、すなわち、合成文書がテンポラリファイルAに出力され、テンポラリファイルAに一時格納される。
【0201】
一方、スキーマタグ以下の文書オブジェクトツリーOt3をXML文書に変換して、それをテンポラリファイルBに出力する(ステップS28)。すなわち、テンポラリファイルBには、スキーマ文書が一時格納されることになる。
【0202】
例えば、文書オブジェクトツリーOt3である「#3」ノードをトップノードとする文書オブジェクトツリーをXML文書に変換した結果を図30に示す。図30に示したXML文書がテンポラリファイルBに出力され、テンポラリファイルBに一時格納される。
【0203】
次に、図27の説明に戻る。
【0204】
ステップS47では、文書削除部21は文書パーサ部46に、合成文書のテンポラリファイルAとスキーマのテンポラリファイルBとを与えて、文書格納処理の場合と同様にして、合成文書の文書構造の妥当性をチェックする。
【0205】
例えば、図29に示した合成文書と、図30に示したスキーマとで妥当性のチェックを行った場合、合成文書には、スキーマにより定義されている「出願日」という要素が存在しないため、図29の合成文書は、妥当性のチェックでエラーとなる(ステップS48)。この場合、文書削除部21,結果処理部12を介して、クライアント端末に「文書削除失敗」の旨のメッセージを返す(ステップS49)。
【0206】
なお、構造化文書データベースが、図14に示した状態のときに、「removeXML(“uix://root/特許DB/特許[0]”)」なる削除コマンドを、図27に従って処理を行うと、図28のステップS27において、図24に示したような合成文書がテンポラリファイルAに出力される。テンポラリファイルBは、図30と同様である。
【0207】
このとき、図24に示した合成文書と、図30に示したスキーマとで妥当性のチェックを行った場合、合成文書の文書構造と、スキーマにより定義されている文書構造とは一致するので、ステップS48からステップS50へ進む。
【0208】
ステップS50では、文書オブジェクトOx0以下の文書オブジェクトツリーを削除する。すなわち、文書オブジェクトツリー削除部42により、文書オブジェクトOx0以下の文書オブジェクトツリーを構成する各文書オブジェクト(のファイル)が文書記憶部5から削除される。例えば、「#2」ノードから「#42」ノード以下の文書オブジェクトのファイルが削除される。
【0209】
次に、ステップS51へ進み、インデックス記憶部6のインデックスを更新する。また、クライアント端末の図36に示したような表示画面の領域W1には、「特許[0]」が表示さなくなる。
【0210】
なお、ステップS45で、文書オブジェクトOx0のもつ属性値の値が「0」のときは、上述したスキーマを用いた合成文書の文書構造の妥当性のチェックを行わずに、そのままマステップS50へ進み、文書オブジェクトOx0以下の文書オブジェクトツリーを削除し(ステップS50)、それに伴う、インデックス記憶部6のインデックスを更新する(ステップS51)。
【0211】
(1−4)スキーマの設定、スキーマを用いた文書格納
図31に示した画面上で、ユーザが「Schema設定Win」をマウス等のポインティングデバイスなどを用いて選択すると、図37に示したようなスキーマの設定を行うためのユーザインタフェースとしての画面が表示される。
【0212】
ユーザが、領域W3に、例えば、図12に示したような「特許」情報のスキーマを入力し、この入力したスキーマを「特許DB」以下のノードに設定する場合には、領域W1から「特許DB」をマウス等でクリックして選択した後(領域W2には、「uix://root/特許DB」が表示される)、「スキーマ設定」ボタンB3を選択する。すると、「setSchema(“uix://root/特許DB”,“<Schema>…</Schema>”)」なるスキーマ格納コマンドが構造化文書管理システムへ送信される。このコマンドの処理は前述した文書格納処理動作と同様である。
【0213】
次に、「uix://root/特許DB」の下に「特許」情報を格納しようとするとき、「特許DB」以下のノードに既に設定されているスキーマを用いて「特許」情報を入力する場合について説明する。
【0214】
まず、スキーマを取得する。例えば、図38に示すような文書の格納/削除を行うための画面の領域W1から「スキーマ」をマウス等を用いて選択すると、文書パスの入力領域W2に、「uix://root/特許DB/#Schema」と表示されとともに、「getXML(“uix://root/特許DB/Schema”)」なるスキーマ取得コマンドが構造化文書管理システムへ送信される。
【0215】
このコマンドの処理は、前述した文書取得処理と同様である。構造化文書管理システムから返されるXML文書は、図38の画面の領域W3に表示される。
【0216】
図38に示すように、領域R3には、「特許」情報のデータ入力領域が各要素毎に設定されて表示されている。この表示に従って、ユーザは、データを入力すればよい。例えば、「タイトル」、「年」などのデータ入力領域が階層的に配置され、表示されている。ユーザは、このデータ入力領域にデータを入力することで、スキーマにより定義された文書構造の格納文書が容易に作成することができる。
【0217】
また、領域W3に入力した「特許」情報の格納先として、領域W1で「特許DB」をマウス等を用いて選択すると、領域W2に構造化文書パスとして、「uix://root/特許DB」が表示される。その後、「登録」ボタンB1を選択すると、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」なる追加コマンドが構造化文書管理システムへ送信される。
【0218】
この場合、格納文書は、予めスキーマに従って入力されたものなので、図20のステップS10の妥当性チェックでエラーとなることはない。
【0219】
(2)検索機能
図1の構造化文書管理システムにおける検索系のコマンドには以下のものがある。
【0220】
query(ql)
「query」は、パラメータとして( )内のクエリqlを実行し、その結果のXML文書を取得するコマンド(以下、検索コマンドと呼ぶ)である。
【0221】
クエリは、図39に示すように、SQL(Structured QueryLanguage)に似た形式の言語により、検索位置、検索条件、情報抽出部分などを記述した、構造化されたXML文書である。クエリ文書も本発明の構造化文書管理システムの管理対象である。
【0222】
「kf:from」タグから始まる要素には、検索位置の指定と文書要素の値に変数を対応付ける記述があり、「kf:where」タグのから始める要素には、変数に関する条件づけの記述があり、「kf:select」タグから始まる要素には、検索結果の出力形式が記述される。
【0223】
検索には、単純検索と概念検索とがある。単純検索とは、クエリ中に指定された検索条件を満たす情報を検索・抽出するものであり、概念検索とは、クエリ中に指定された概念情報を利用して、クエリ中に指定された検索条件を満たす情報を検索・抽出するものである。
【0224】
図40は、単純検索のクエリの例を示したものである。図40のクエリは、例えば、図14に示したような状態の構造化文書データベースに対し、「特許DB」アークが示すノード以下に格納されている「特許」情報の文書群において、「1999年でかつ、「PC」のような内容の「要約」という要素をもつ文書(「特許」情報)の「タイトル」を列挙せよ」という検索要求を意味している。
【0225】
「kf:from」タグから始まる要素の記述により、変数「$t」、「$y」、「$s」に、それぞれ「特許」情報の「タイトル」、「年」、「要約」という文書要素の値が代入される。
【0226】
「kf:where」タグから始める要素の記述により、変数「$y」=「1999」という比較がなされる。また、コンポーネント「MyLike」は変数「$s」と「PC」を引数として、「PC」と類似する値の変数「$s」を検知するための関数である。
【0227】
「kf:from」タグから始まる要素の記述により、変数「$t」が出力値として利用される。
【0228】
なお、「kf:star」タグは構造の曖昧表現であり、例えば「<特許><kf:star><年>」は「タグ名が「特許」である要素の子孫の要素としていずれかに存在し、タグ名が「年」である要素」を意味する。
【0229】
図41に図40の単純検索のクエリを用いた検索結果を示す。この検索結果(検索結果文書)もXML文書である。この検索結果文書は、「kf:select」タグから始まる要素に記述されている、検索結果の出力形式に従った文書構造の文書であり、クエリ中に指定された検索条件を満たす構造化文書データベース中の構成要素を合成して生成される場合もある。
【0230】
図42は、概念検索のクエリの例を示したものである。図42のクエリは、例えば図18,図19に示すような状態の構造化文書データベースに対し、「特許DB」アークが示すノード以下に格納されている「特許」情報の文書群に対し、「概念DB」アークが示すノード以下に格納されている「概念」情報を利用して検索するための検索要求である。ここで、概念「周辺装置」の値をもつタグの子要素の値には、概念「SCSI」、「メモリ」、「HDD」などがあるものとする。また、図18には示していないが、各「特許」情報の構成要素には、「キーワード」タグから始める要素も存在するものとする。
【0231】
すなわち、図42のクエリは、「概念「周辺装置」以下の概念のいずれかを「キーワード」という要素の値にもつ文書(「特許」情報)の「タイトル」を列挙せよ」という検索要求を意味している。
【0232】
「kf:from」タグから始まる要素の記述により、変数「$t」、変数「$k」に、それぞれ、「特許」情報の「タイトル」、「キーワード」という要素の値が代入される。また、変数「$x」は「概念」情報として「周辺装置」の値をもつタグの子要素の値(「SCSI」、「メモリ」、「HDD」など)が代入される。
【0233】
「kf:where」タグから始める要素の記述により、「$k」=「周辺装置」もしくは「$k」=「$x」という比較がなされる。
【0234】
次に、図1の構造化文書管理システムの文書検索処理動作について、図43に示すフローチャートを参照して説明する。
【0235】
図31に示した画面上で、ユーザが「XML検索Win」をマウス等のポインティングデバイスなどを用いて選択すると、図44に示すような文書検索を行うためのユーザインタフェースとしての画面が表示される。
【0236】
図44の検索画面において、領域W1には、前述同様、構造化文書データベースの現在のツリー構造の要素名(タグ名)がユーザが理解可能なように簡略的に表示されている。
【0237】
領域W2は、検索対象の範囲(ツリー構造上の検索範囲)や、検索条件などを入力するための領域である。領域W3には、検索結果が表示される。
【0238】
例えば、「「uix://root」以下の「特許」を先頭タグに持つ文書の中から、「タイトル」タグに「文書」という文字列を含み、「1998」年以降に作成された文書を検索せよ」という検索要求の場合には、領域W1から「root」をマウス等で選択して検索対象の範囲として、構造化文書パスを入力する。そして、トップノードとして、「特許」を入力する(この場合、領域W1から「特許」をマウス等で選択することにより入力してもよい)。また、検索条件として、「「タイトル」という要素の値に「文書」という文字列を含む」「「年」という要素の値が「1998」以上である」という内容を予め設定されたデータ入力領域に入力すればよい。
【0239】
その後、「検索」ボタンB21を選択することにより、例えば、図45に示すようなクエリが、当該クエリを構造化文書データベース上に格納するための追加コマンドとともに構造化文書管理システムへ送信される。クエリの格納場所は、予め定められており、システム側が自動的に、この追加コマンドのパラメータを設定することとなる。例えば、構造化文書データベースが図18に示した状態のとき、当該クエリの格納場所を表すパラメータとしての構造化文書パスは、「uix://root/クエリDB」となる。また、追加コマンドのもう一方のパラメータは、当該クエリ文書である。
【0240】
要求受付部11は、上記クエリを受け付けると(ステップS101)、当該クエリを検索要求処理部3へ渡す。そして、当該クエリ文書を格納するための追加コマンドのパラメータを文書格納部21へ渡す。この追加コマンドの処理を、前述同様に行って、当該クエリは、文書記憶部5に格納される。
【0241】
例えば、図42に示すようなクエリの場合、構造化文書データベースには、図46に示すように展開されて、構造化文書パス「uix://root/クエリDB」の示す「#301」ノード以下にリンクされる。
【0242】
一方、検索要求処理部3では、受け取ったクエリを基に、データアクセス部4を通してインデックス記憶部6,文書記憶部5にアクセスし、検索要求に合致する文書集合などを取得して、クエリの中で要求された情報を抽出して結果処理部12を介して出力する。
【0243】
例えば、上記クエリの場合、まず、「「タイトル」タグに「文書」という文字列を含む」という条件に合致するものを検索することが検索対象を絞り込む上で効率がよい。そこで、図10に示したようなデータ生起インデックスを用いて、「文書」という文字列にリンクされているノード(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを上流側に1つ遡り、「タイトル」というタグ名にたどり着いたときは、更に上流に辿っていき、「特許」というタグ名にたどり着いたときは、そのノード以下の文書オブジェクトツリーOt11を抽出する。
【0244】
次に、この抽出された複数の文書オブジェクトツリーOt11の中から、さらに、「年」という要素の値が「1998」年以上の文書オブジェクトツリーOt12を抽出する。
【0245】
この文書オブジェクトツリーOt12が上記クエリの内容に適合する文書となる。さらに上記クエリの要求内容に従えば、各文書オブジェクトツリーOt12のトップノードへの構造化文書パスを求める(ステップS102)。
【0246】
なお、上記検索処理は、上記した方法に限るものではなく、インデックス情報を用いた様々な効率のよい検索方法が可能である。
【0247】
検索要求処理部3は、ステップS102で得られた結果を統合して、検索結果としてのXML文書を作成する(ステップS103)。
【0248】
例えば、検索結果のXML文書は、
となる。
【0249】
検索要求処理部3は、検索結果処理部12を介して、上記XML文書をスタイルシートとともに、要求元のクライアント端末に返す(ステップS104)。
【0250】
クライアント端末では、図11に示したXML文書を、スタイルシートを用いてHTMLデータに変換して、例えば、図44に示すように、領域W12に表示する。
【0251】
同様にして、スキーマの検索も行える。
【0252】
例えば、「「uix://root」以下の「schema」を先頭タグに持つ文書の中から、「特許」と「要約」というタグ名を持つスキーマを検索せよ」という検索要求の場合には、図47に示すように、領域W1から「root」をマウス等で選択して検索対象の範囲として、構造化文書パスを入力する。そして、トップノードとして、「#schema」を入力する。また、検索条件として、「要素の属性名に「特許」という文字列を含む」「要素の属性名に「要約」という文字列を含む」という内容を予め設定されたデータ入力領域に入力すればよい。
【0253】
その後、「検索」ボタンB21を選択することにより、上記検索要求を記述したクエリ(図48参照)が、当該クエリを構造化文書データベース上に格納するための追加コマンドとともに構造化文書管理システムへ送信される。
【0254】
さて、上記クエリの場合、例えば、「「#schema」を先頭タグに持つ」という条件に合致するものを検索する。そこで、図9に示したような要素名称生起インデックスを用いて、「#schema」という要素にリンクされているノードの(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを下流側にアークを辿っていき、属性名が「特許」と「要約」という要素にたどり着いたときは、当該「#schema」を先頭タグにもつ文書オブジェクトツリーOt21を抽出する。この文書オブジェクトツリーOt21が上記クエリの内容に適合する文書となる。さらに、図48に示したクエリの要求内容に従えば、各文書オブジェクトツリーOt21のトップノードへの構造化文書パスを求める。
【0255】
検索要求処理部3は、文書オブジェクトツリーOt21が複数あれば、それぞれのトップノードへの構造化文書パスをまとめて、検索結果としてのXML文書を作成し、検索結果処理部12を介して、上記XML文書をスタイルシートとともに、要求元のクライアント端末に返す。
【0256】
クライアント端末では、検索結果として受け取ったXML文書を、スタイルシートを用いてHTMLデータに変換して、例えば、図44に示すように、領域W12に表示する。
【0257】
クライアント端末では、検索結果の中の1つのスキーマを選択して、表示させると、例えば、図38に示すような文書の格納/削除を行うための画面とともに、その領域W3に、「特許」情報のデータ入力領域が各要素毎に設定されて表示される。
【0258】
ユーザは、このデータ入力領域にデータを入力することで、スキーマにより定義された文書構造の格納文書が容易に作成することができる。
【0259】
例えば、図38の領域W3に入力した「特許」情報の格納先として、領域W1で「特許DB」をマウス等を用いて選択すると、領域W2に構造化文書パスとして、「uix://root/特許DB」が表示される。その後、「登録」ボタンB1を選択すると、「appendXML(“uix://root/特許DB”,“<特許>…</特許>”)」なる追加コマンドが構造化文書管理システムへ送信される。
【0260】
この場合、格納文書は、予めスキーマに従って入力されたものなので、図20のステップS10の妥当性チェックでエラーとなることはない。
【0261】
同様にして、クエリの検索も行える。クエリを検索して、検索結果として得られた既存のクエリを加工して、再利用することもできる(クエリの再利用)。
【0262】
クエリの検索は、前述したような構造化文書の検索と同様にして行われ、その検索範囲は、クエリ群の格納されている構造化データベース上の一部の文書オブジェクトツリーとなる。
【0263】
例えば、図18に示したような状態の構造化文書データベースから、「kf:from」タグに「特許DB」を含むクエリを検索する場合について説明する。そのような検索要求を記述したクエリを図49に示す。
【0264】
図49に示すクエリは、「「uix://root/クエリDB」の示す「#301」ノード以下に存在するクエリの中から「kf:from」タグに「特許DB」を含むクエリを検索し、その内容(タグ名が「query」である要素以下の文書オブジェクトツリーの文書)を列挙せよ」を意味するものである。
【0265】
なお、「kf:as」タグの内容で変数「$elt」に、「kf:from」タグに「特許DB」を含むクエリのタグ名が「query」である要素以下の文書オブジェクトツリーが代入される。
【0266】
このクエリを検索要求処理部3が処理する際には、前述同様にして、例えば、図9に示したような要素名称生起インデックスを用いて、「kf:from」という要素にリンクされているノードの(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを下流側にアークを辿っていき、「特許」というタグ名にたどり着いたときは、さらに、上流側にアークを辿って「query」というタグ名に辿りついたとき、当該「query」を先頭タグにもつ文書オブジェクトツリーOt31を抽出する。この文書オブジェクトツリーOt31が上記クエリの内容に適合する文書となる。
【0267】
複数の文書オブジェクトツリーOt31が検索されたら、それらを統合して、XML文書を作成して、それをスタイルシートとともにクライアント端末へ返す。
【0268】
クライアント端末では、検索結果の中の1つのクエリを選択して、表示させると、例えば、図44に示した検索画面の領域W11に、各データ入力領域にデータの入力された状態で、当該クエリに記述された検索要求の内容が表示される。
【0269】
ユーザは、この状態から、「「uix://root」以下の「特許」を先頭タグに持つ文書の中から、「タイトル」タグに「文書」という文字列を含み、「1998」年以降に作成された文書を検索せよ」という当該クエリに記述された検索要求中の「文書」を「XML」に変更して、「検索」ボタンB21を選択すれば、「「uix://root」以下の「特許」を先頭タグに持つ文書の中から、「タイトル」タグに「XML」という文字列を含み、「1998」年以降に作成された文書を検索せよ」という意味のクエリが構造化文書管理システムへ送信される。
【0270】
以上説明したように、図1の構造化文書管理システムでは、構造化文書データベース上に登録される文書構造が異なる膨大な数のXML文書群(コンテンツ文書、スキーマ文書、クエリ文書など)を、図18,図19に示すように、「root」タグを先頭に持つツリー状の1つの巨大なXML文書として取り扱う。従って、文書構造が異なる、様々なスキーマを持つ膨大な数の文書の中から検索条件に合致する文書を容易に検索できる。
【0271】
また、検索に用いるクエリも構造化文書であるので、構造化文書データベースにログとして格納することにより、過去のクエリを再利用するようなアプリケーションも容易に構築することができる。
【0272】
(3)適用例
次に、上記概念検索の特許調査への適用例について説明する。
【0273】
図50は、特許調査における構造化文書データベースの一例であり、「特許」情報の他に、「概念」情報も格納している。
【0274】
特許調査において、最も重要となってくる作業は、関連する「特許」情報を収集し、「特許」情報を様々な観点から分析し、特許マップ(図54参照)を作成することである。特許マップを作成するために、従来、特許マップにおける縦軸、横軸を予め決定し、それに従い、縦軸に並ぶ任意の項目と横軸に並ぶ任意の項目とを検索条件とした検索を逐次行うという方法がとられ、この部分に非常に莫大なコストがかかっていた。しかし、本発明の構造化文書管理システムを用いることで、この部分のコストを大幅に減少させることが可能となる。
【0275】
なお、ここで、マップとは、縦軸(y軸)に並ぶ任意の項目と横軸(x軸)に並ぶ任意の項目とを検索条件とした検索結果をx軸とy軸とを分類軸として分類整理するものである。
【0276】
本発明の構造化文書管理システムで、クライアント端末のユーザが図54に示すような特許マップを作成しようとする場合、ユーザは、クライアント端末上の表示装置に表示される図50に示すような構造化文書データベースの現在のツリー構造を参照して、図51に示すような検索画面上に、分析対象の範囲とする「特許」情報のパスと、分析の軸(例えば、x軸、y軸)となる要素を、それぞれ領域W21、W22に入力する。分析の軸となる要素は、構造化文書データベース内の「特許」情報の要素、「概念」情報の要素のいずれであってもよい。
【0277】
例えば、図51では、x軸に「機能」、y軸に「技術」という「概念」情報の要素を入力している。
【0278】
その後、ユーザは、「実行」ボタンB31を選択すると、クライアント端末から図1の構造化文書管理システムへ、図52に示したようなクエリが送出される。
【0279】
この場合のクエリには、「「特許DB」アークが示すノード以下に格納されている「特許」情報の文書群の中から、「概念DB」アークが示すノード以下に格納されている、概念「機能」の子要素のいずれかと概念「技術」の子要素のいずれかとを、「キーワード」や「要約」などの要素の値に含む「特許」情報を検索せよ。検索結果として、「機能」の子要素と「技術」の子要素と、それらに対応する「特許」情報の「公開番号」との組を列挙せよ。」という意味の検索要求である。
【0280】
概念「機能」には、「検索」「格納」…「分析支援」という子要素があり、概念「技術」には、「実装データベース」「反構造データベース」「自然言語処理」…という子要素があるものとする。
【0281】
上記クエリを受けた構造化文書検索システムの検索要求処理部3では、例えば、図10に示したようなデータ生起インデックスを用いて、概念「機能」の各子要素(文字列)にリンクされているノード(文書オブジェクト)のオブジェクトIDを得る。そして、そのそれぞれについて、文書オブジェクトツリーを上流側に遡り、「特許」というタグにたどり着いたときは、さらに、そのノード以下の文書オブジェクトツリーを下流側に辿って概念「技術」の子要素(文字列)のいずれかにリンクされているタグ名にたどり着いたときは、当該文書オブジェクトツリーと、その「公開番号」タグにリンクされている文字列(要素値)を抽出する。このようにして、抽出された「特許」情報のそれぞれについて、対応の「機能」の子要素と「技術」の子要素と「公開番号」との組を統合して、図53に示すような検索結果としてのXML文書を作成、要求元のクライアント端末へ、所定のスタイルシートとともに返す。
【0282】
これらを受け取ったクライアント端末の表示装置には、図54に示したような表形式の特許マップが表示されることになる。
【0283】
このように、所望の概念を「軸」として指定するだけで、構造化文書データベースに蓄積された情報を「軸」として指定された概念に基づき集計・分類して、マップ表示することが容易に行える。すなわち、構造化文書データベースに蓄積された情報を、「概念」情報を用いて様々な観点で集計・分類することが容易に行える。
【0284】
(アクセス権限の設定)
ここでは、図2に示した利用形態(WWWのバックエンドで、図1に示した構成の構造化文書管理システム100が動作する利用形態)の場合を例にとり説明する。すなわち、図2に示すように、複数(ここでは、例えば3つ)のクライアント端末102のそれぞれでWWWブラウザ103が動作しており、ユーザは、各クライアント端末からWWWサーバ101にアクセスすることにより、構造化文書管理システム100にアクセスすることができる。
【0285】
ユーザからの文書格納、文書取得、文書検索などの要求は、WWWブラウザ103から送信されて、WWWサーバ101を通して構造化文書管理システム100にて受け付けられ、処理された結果は、WWWサーバ101を通して要求元のWWWブラウザ103へ返信される。
【0286】
クライアント端末装置102の要部の構成例を図55に示す。
【0287】
クエリの実行結果としてのXML文書は、スタイルシートとともに、構造化文書管理システム100からクライアント端末装置102に送られてくるものとする。以下、図56、図57に示すフローチャートを参照して、図55の各構成部の処理動作について説明する。
【0288】
クエリは、前述したように、検索位置、検索条件、情報抽出部分などを記述した、構造化されたXML文書である。クエリ文書も本発明の構造化文書管理システムの管理対象である。ここで、構造化文書データベースに対しその論理構造に基づき所望の構成要素を検索するクエリを例にとり説明する。
【0289】
XML文書受信部111で、構造化文書管理システム100から送られてきた検索結果文書である表示対象のXML文書と、スタイルシートとを受信すると(図56のステップS201)、XML/HTML変換部112では、受信したスタイルシートを用いて、受信した表示対象のXML文書をHTML文書に変換する(ステップS202)。その変換処理中、テーブル作成部113は、HTML文書中の記述部分と、その記述部分を生成したスタイルシート中の記述部分との対応関係を示したテーブル、すなわち、対応テーブル114を作成する(ステップS203、ステップS204)。
【0290】
構造化文書管理システム100から送られてくるスタイルシートの各記述部分には予め識別子SIDが与えられているものとする。例えば、この識別子SIDは、コメント文(コメント文でなくとも、ブラウザでは表示されない記述形式の文)として、予めスタイルシートに書き込まれていてもよい。
【0291】
テーブル作成部113は、まず、XML/HTML変換部112での変換作業中に、得られたHTML文書の各記述部分のそれぞれに識別子HIDを与える。そして、HTML文書中の記述部分と、その記述部分を生成したスタイルシート中の記述部分との対応関係をSIDとHIDを用いて表した対応テーブル114を作成する。
【0292】
描画部115では、XML/HTML変換部112で生成されたHTML文書を基に表示データを作成し、その表示データは、ディスプレイ装置121に表示される(ステップS205)。その際、描画部115は、HTML文書中の記述部分とその記述部分に与えられた識別子HIDとの対応を記憶しておいてもよい。
【0293】
アクセス権限の設定は、ディスプレイ装置121の表示画面を基に行う。
【0294】
例えば、ユーザがアクセス権限の設定開始の所定の指示操作を入力部116で行うと、アクセス権限設定部117が起動される。まず、表示画面上でアクセス権限を設定する領域の選択が行われる(ステップS111)。すなわち、マウス等の入力装置122を用いて、表示対象の文書が表示されたディスプレイ装置121の表示画面上で、アクセス権限を設定したい文字列(テキスト)や画像などの表示領域の選択を行う。
【0295】
アクセス権限を設定したい表示領域がマウス等で選択されれば、描画部115でその指定された領域に文字列や画像などを表示するHTML文書中の記述部分を検知することができる。この検知されたHTML文書中の記述部分に対応する識別子HIDがアクセス権限設定部116に渡される(ステップS112)。
【0296】
アクセス権限設定部116は、描画部115で検知されたHTML文書中の記述部分の識別子HIDから、対応テーブル114を参照して、当該識別子HIDに対応するスタイルシートの記述部分の識別子SIDを得る(ステップS113)。
【0297】
さらに、クライアント端末装置102のアクセス権限設定部117では、アクセス権限の設定されるユーザの範囲や、アクセスレベルや、アクセスタイプなどをユーザに入力してもらうための入力画面を表示して、アクセス権限の設定のために必要な上記各情報を収集する(ステップS114〜ステップS116)。上記各情報の入力が終了すると、それらは、識別子SIDとともに、送信部118を介して構造化文書管理システム100へ送信される(ステップS117)。
【0298】
なお、図55に示した構成部のうち、テーブル作成部113,対応テーブル114,アクセス権限設定部116以外は、ほぼ従来技術に属するものである。
【0299】
次に、図1のアクセス権限設定管理部201について、図58を参照して説明する。図58は、アクセス権限設定管理部201の機能ブロック図である。
【0300】
アクセス権限設定管理部201は、アクセス権限設定部202とアクセス権限管理部201とから構成され、アクセス権限設定管理部201は、スキーマアクセス権限管理部211と、データアクセス権限管理部212と、クエリアクセス権限管理部213と、スタイルアクセス権限管理部214と、パスアクセス権限管理部215とから構成されている。
【0301】
アクセス権限設定部202は、クライアント端末装置102から送信されてきた、上記SIDや、アクセス権限の設定されるユーザの範囲や、アクセスレベルや、アクセスタイプなどの情報を基に、実際に、アクセス権限の設定を行うようになっている。
【0302】
アクセス権限管理部201では、上記アクセス権限設定部202で設定された、各レベル(スキーマ、データ、クエリ、スタイル、パス)のアクセス権限の管理を行うためのものである。
【0303】
図59は、構造化文書データベースの論理構造の一部を模式的に示したものである。構造化文書データベースに新たにXML文書を登録していくと、それら各XML文書は、「root」という1つの大きなXML文書の部分文書として参照できる構成になっている。図59に示した構造化文書データベースでは、XML文書としての「報告書」情報は、「報告書DB」ノード以下に格納され、同じくXML文書としての「従業員」情報は、「従業員DB」ノード以下に格納され、同じくXML文書としての「特許」情報は、「特許DB」ノード以下に格納されている。
【0304】
図60は、XMLで記述された構造化文書の一例として、「報告書DB」ノード以下の上記「報告書」情報に対応する1つの部分文書を示したものであり、図61は、「従業員DB」ノード以下の上記「従業員」情報に対応する3つの部分文書を示したものである。
【0305】
図62は、クライアント端末装置102のディスプレイ装置121の画面表示例を示したもので、クライアント端末装置102から入力されたクエリを実行した結果得られたXML文書(検索結果文書)の表示例を示している。
【0306】
前述したように、クエリの「kf:from」タグから始まる要素には、検索位置の指定と文書要素の値に変数を対応付ける記述があり、「kf:where」タグから始める要素には、変数に関する条件づけの記述があり、「kf:select」タグから始まる要素には、検索結果の出力形式が記述される。クエリを実行することより、単純検索の場合には、クエリ中に指定された検索条件を満たす情報を検索・抽出し、概念検索の場合には、クエリ中に指定された概念情報を利用して、クエリ中に指定された検索条件を満たす情報を検索・抽出する。そして、検索要求処理部3では、抽出された情報(構成要素)を、「kf:select」タグから始まる要素の記述に従った形式の情報に合成・加工し、その結果得られたXML文書を結果処理部12を介して、要求元のクライアント端末装置102に所定のスタイルシートとともに送信する。要求元のクライアント端末装置102では、構造化文書管理システム100から送られてきたクエリの実行結果としてのXML文書(検索結果文書)を図56のフローチャートに従って、図62に示すように表示する。なお、検索結果文書は、クエリ中の検索条件の記述によっては、上記のように、構造化文書データベース中の複数の構造化文書から生成された加工された文書である場合も、構造化文書データベース中の構造化文書そのものである場合もあり得る。
【0307】
この状態において、クライアント端末装置102では、アクセス権限の設定が行える。
【0308】
クライアント端末装置102上でのアクセス権限の設定を行うための操作手順の概略を説明する。
【0309】
(a)表示画面からアクセス権限の設定を行いたい文字列や画像などの表示されている領域を指定(選択)する。ここで、指定される文字列や画像などは、構造化文書データベース中のXML文書を構成する要素の要素名や要素値に対応するものである。
【0310】
(b)アクセス権限を設定するユーザの範囲を指定(選択)する。アクセス権限は、ユーザ1人1人に対し設定することも、複数のユーザからなる特定のグループ単位に(例えば、会社組織上の所属部署単位に)設定することも可能であるとする。前者を個人に対するアクセス権限の設定と呼び、後者をグループに対するアクセス権限の設定と呼ぶ。
【0311】
(c)アクセスレベルを指定(選択)する。アクセスレベルには、ここでは、スタイル、クエリ、データ、スキーマ、パスがある。スタイルレベルは、スタイルシート毎にアクセス権限を設定するもので、表示形式が異なれば、同じ構成要素であっても表示されたりされなかったりすることがあり得る。また、クエリレベルは、クエリ文書毎にアクセス権限を設定するもので、クエリレベルでアクセス権限を設定すると、このレベルでアクセスが制限されたユーザに対しては、同じ構成要素であっても、その構成要素を得るために用いたクエリに応じて(すなわち、当該構成要素の用途が異なれば)、表示されたりされなかったりすることがあり得る。また、データレベルは、構造化文書データベースに格納されている検索対象のXML文書中の構成要素に対しアクセス権限を設定するもので、このレベルでアクセスが制限されたユーザからは、その構成要素に対しては、たとえ、クエリやスタイルが異なっても、アクセス不可能である(見ることはできない)。さらに、スキーマレベル、パスレベルは、構造化文書データベース中の同じ文書構造を持つ構造化文書中の同じ要素名の構成要素に対しアクセス権限を設定するもので、このレベルでアクセスが制限されたユーザからは、そのような構成要素に対しては、たとえ、クエリやスタイルが異なっても、アクセス不可能である(見ることはできない)。
【0312】
(d)上記(a)で指定した領域に表示されるデータの表示方法(ここでは、アクセス態様あるいはアクセスタイプと呼ぶ)を指定(選択)する。アクセスタイプとして、大きく分けると、その表示領域に何も表示しなかったり、黒く塗り潰して表示したりと、そこに表示されているデータがあるのかないのかもわからないようにする非表示にする場合と、特殊な表示を行う場合(特殊表示)とが設定可能である。特殊表示とは、その表示領域には、何らかのデータが表示されているが、それが何であるかが判別できないように表示を行うもので、例えば、上記(a)で指定した領域に表示される文字列や画像などを伏せ字で表示したり、モザイクをかけて表示したりすることである。伏せ字で表示するのか、モザイクなどをかけて表示するのかなどは選択可能であり、また、伏せ字を選択した場合は、どのような伏せ字を用いるかも(例えば「○」「×」など)選択可能である。
【0313】
さて、図62に示すように、クライアント端末装置102の表示画面には、上記のようにして、表示対象のXML文書が表示されている。すなわち、「報告書」情報の構成要素である「報告番号」、「タイトル」、「報告者」、「報告日」、「要約」、「代表図」と、本文へのリンクが表示され、さらに、「従業員」情報の構成要素である「報告者プロフィール」などの情報が表示されている。このように、ここで表示されているXML文書は、構造化文書データベースに格納されている検索対象の複数のXML文書のそれぞれに含まれる構成要素を合成したものである。
【0314】
表示画面に表示されているデータは、あくまでも表示データであって(例えば、上記の例の場合、複数のXML文書から抽出された構成要素を合成したもの)、構造化文書データベースには、表示画面通りの構造のXML文書が存在しているわけではない。そこで、構造化文書管理システム100のアクセス権限設定管理部201では、ユーザにより、アクセスレベルとして、例えば、「データ」が指定されたときには、表示形式を基に逆に遡り構造化文書データベース中の元のデータを特定し、アクセス権限の設定を行うようになっている。
【0315】
では、実際に、図62の表示からアクセス権限を設定する方法について述べる。図62の表示は、構造化文書データベース中の複数のXML文書の構成要素をクエリにより合成した(加工した)結果得られたXML文書を、スタイルシートを通して、HTML形式に変換したものをブラウザで表示したものである。表示対象のXML文書を図63に示す。また、適用しているスタイルシートを図64に示す。
【0316】
図63に示したXML文書をHTML文書に変換する際には、前述したように、HTML文書の各記述部分(例えば、表示対象の文字列などを所定のタグで囲んだもの)のそれぞれに識別子HIDが与えられるが、図65に、その様子を示す。図65には、HTML文書そのものではなく、説明の簡単のため、HTML文書中のどのような記述部分にどのような識別子HIDが与えられたかを、そのHTML文書を表示した図62と同じ表示画面上で示したものであって、各記述部分に対し識別子HID(ここでは、例えば、HID1〜HID18)を符号として示している。ここでは、識別子HIDの与えられたHTML文書中の1つの記述部分は、1つの表示領域に対応する。すなわち、図65に示すように、1つの表示窓(テキストボックス)に対し1つの記述部分が対応し、HIDが与えられているものとする。
【0317】
クライアント端末装置102のXML/HTML変換部112では、図56のステップS102において、図63に示したXML文書に、図64に示したスタイルシートを適用して、図65に示したように表示されるHTML文書を作成するようになっている。その際、図56のステップS203に示したように、テーブル作成部113は、図66に示すような対応テーブル114を作成する。
【0318】
例えば、図65において、識別子「HID6」の与えられているHTML文書中の記述部分は、「報告者」という文字列を表示領域306(図62参照)に表示するものであって、識別子「HID7」の与えられているHTML文書中の記述部分は、「山田太郎」という文字列を表示領域307(図62参照)に表示するものである。この2つの記述部分は、図64に示したスタイルシートの識別子「SID4」の与えられている記述部分の記述に従って図63のXML文書の6行目に記述されている要素から生成されたものである。従って、クライアント端末装置102のテーブル作成部113は、図66に示したように、HID6,HID7には、それぞれSID4が対応付けられている。なお、図66の対応テーブルでは、HIDのそれぞれに対し、「type」という項目によって、その要素は、変換前のXML文書中では、要素名であったものか、要素値であったものかを区別している。
【0319】
図88は、図65に示した表示画面に対応するHTML文書の一部を示したものである。例えば、図65に示した、識別子「HID1」「HID2」「HID3」「HID6」「HID7」の与えらた記述部分の一例を示している。これら記述部分には、それらの符号として識別子「HID1」「HID2」「HID3」「HID6」「HID7」を示している。
【0320】
例えば、表示領域307に「山田太郎」という文字列を表示するための、図88に示したHTML文書の記述部分(識別子「HID7」の与えられている記述部分)のように、「報告書」「報告番号」「報告者」などの項目名(要素名である場合もある)以外のXML文書の要素値が表示される表示領域(例えば、表示領域307など)に対応する記述部分には、そのような記述部分がマウス等により指示(選択)されたとき、描画部115に、当該表示領域が指示された旨を通知するためのイベント関数「func()」が埋め込まれているものとする。
【0321】
このような関数の埋め込みは、図64に示したスタイルシートにて指示することができる。すなわち、例えば、識別子「HID7」の与えられているHTML文書の記述部分に上記関数を埋め込むための指示は、図64に示したスタイルシートの記述部分401には記述されている。
【0322】
このように、公知のスタイルシートを用いることにより、表示対象のXML文書をHTML文書に変換する際に、識別子HIDの与えられたHTML文書中の1つの記述部分に、1つの表示領域を対応させ、その表示領域がマウス等で指示されたとき、描画部115に、当該表示領域が指示(選択)された旨を通知するためのイベント関数「func()」を埋め込むことができる。
【0323】
描画部115は、イベント関数により、ユーザにより指示(選択)された表示領域がどれであるか、また、その表示領域のHIDは何であるかを検知することができる。
【0324】
さて、図62に示したような表示が行われている状態で、ユーザが、アクセス権限の設定開始の所定の指示操作を入力部116を介して行うと、アクセス権限設定部117が起動される。まず、図57のステップS111に示したように、アクセス権限を設定する領域の選択を行う。
【0325】
例えば、図62の表示画面上の、「山田太郎」という文字列の表示されている、その文字列を表示するために予め定められた表示領域(テキストボックス)307が、マウス等を用いて選択されたとする。この選択されたテキストボックスを表示するためのHTML文書中の記述部分の識別子は、「HID7」である。描画部115は、これを検知すると、当該識別子「HID7」をアクセス権限設定部116へ渡す(図57のステップS112)。
【0326】
アクセス権限設定部116は、対応テーブル114を参照して、「HID7」に対応するスタイルシート中の記述部分の識別子を取得する(図57のステップS113)。この場合、図66から「SID4」が得られる。
【0327】
次に、アクセス権限を設定するユーザの範囲の選択を行う(図57のステップS114)が、その際、アクセス権限設定部116は、図67に示したようなウインドウを表示してもよい。このウインドウ上で、ユーザは、個人あるいはグループを選択し、個人を選択した場合には、さらに、その個人を特定するユーザ名を選択すればよい。ここでは、ユーザの範囲として、例えば「山田太郎」という個人が選択されたとする。
【0328】
次に、アクセスレベルの選択を行う(図57のステップS115)が、その際、アクセス権限設定部116は、図68に示したようなウインドウを表示してもよい。このウインドウ上で、ユーザは、スタイル、クエリ、データ、スキーマ、パスのいずれかを選択すればよい。
【0329】
さらにアクセスタイプの選択を行う(図57のステップS116)が、その際、アクセス権限設定部116は、図69に示したようなウインドウを表示してもよい。このウインドウ上で、ユーザは、「非表示」か「特殊表示」のいずれかを選択すればよい。「特殊表示」を選択した場合には、さらに、伏せ字、モザイクのうちのいずれかを選択すればよい。
【0330】
最後に、ユーザによりアクセス権限設定完了を指示する所定の操作が行われると、上記のようにして収集された情報は、アクセス権限設定要求とともに、クライアント端末装置102から、構造化文書管理システムへ送信される(図57のステップS117)。構造化文書管理システムでは、要求制御部1で上記アクセス権限設定要求を受け取ると、それをアクセス権限設定管理部201に出力する。
【0331】
アクセス権限設定要求には、例えば、クライアント端末装置102でアクセス権限の設定対象となった(表示対象の)XML文書、そのXML文書を画面表示する際に用いたスタイルシート、さらに、そのXML文書を得るために用いたクエリを特定するための情報が含まれていることが望ましい。
【0332】
次に、図70〜図71に示すフローチャートを参照して、アクセス権限設定管理部201の処理動作について説明する。
【0333】
アクセス権限設定管理部201に、アクセス権限設定要求とともに、クライアント端末装置102から送られてきた、SID、ユーザの範囲、アクセスレベル、アクセスタイプが入力されると(ステップS121)、まず、アクセス権限設定要求を基に、そのアクセス権限設定要求にて特定しているスタイルシート中の当該SID対応の記述部分に関連付けられた、表示対象のXML文書中の要素のパスを取得する(ステップS122)。例えば、図57のステップS111において、識別子「HID7」の付されたHTML文書中の記述部分に対応する表示領域が選択されて、識別子「HID7」に対応する図64に示したスタイルシート中の記述部分の識別子「SID4」が、図70のステップS121で入力したとする。このとき、図64に示したスタイルシート中の識別子「SID4」の付された記述部分は、「<xsl:value−of select=“/報告者/名前”/>」である。この記述部分において、「“/報告者/名前”/」は、表示対象のXML文書(検索結果文書)中の当該要素のパスの一部を表したものである。また、当該スタイルシートを「SID4」の付された記述部分から上の行に辿っていくと、「SID1」の付された記述部分には、「“/報告者/名前”/」の上流のパスとして、「”/報告書リスト/報告書/“」が記述されている。従って、当該スタイルシートの「SID4」対応の記述部分に関連付けられた、表示対象のXML文書中の当該要素の全体としてのパスは「”/報告書リスト/報告書/報告者/名前”」であることがわかる。また、上記例の場合、識別子「HID7」の付されたHTML文書中の記述部分に対応する表示領域には、「山田太郎」が表示されていた。従って、「”/報告書リスト/報告書/報告者/名前”」というパスにて特定される要素であって、その要素値が「山田太郎」である要素が、検索結果文書中のアクセス権限を設定する箇所(構成要素)である。これをもとに、以後、指定されたアクセスレベルに応じて、構造化文書データベースを探索していく。
【0334】
アクセスレベルがスタイルと指定されていた場合(ステップS123)、アクセス権限設定部202は、アクセス権限設定管理部203のスタイルアクセス権限管理部214に格納されている、図72に示すようなスタイルアクセス権限テーブルに、指定されたアクセス権限を登録する(ステップS124)。スタイルアクセス権限テーブルは、図72に示すように、複数種類あるスタイルシートのうちのどれであるかを識別するためのスタイルシートの識別子毎に、そのスタイルシート中のアクセス権限の設定された記述部分を示すSIDとユーザ範囲とアクセスタイプとが登録されるようになっている。例えば、アクセス権限を設定しようとしているスタイルシートの識別子が「SSID1」であるとすると、スタイルシート中の識別子「SID4」の付された記述部分に対し、ユーザ範囲として「グループB」というグループに、アクセスタイプとして「非表示」がアクセス権限として設定されたことになる。
【0335】
アクセスレベルがスタイルでないときは、次に、ステップS125へ進む。
【0336】
上記ステップS122において、表示対象のXML文書(検索結果文書)中の「”/報告書リスト/報告書/報告者/名前”」というパスで特定され、しかも要素値が「山田太郎」である要素が取得された。すなわち、これは、図63に示した表示対象のXML文書中において、第6行目に記述されている要素が特定されたことになる(ステップS125)。
【0337】
図63に示したXML文書は、図77に示すようなクエリを実行することにより得られたXML文書である。なお、図77に示したクエリの識別子を「QRY1」であるとする。そこで、このクエリを基に、構造化文書データベース中のリソースを検索する。
【0338】
次に、クエリを解析して、当該クエリから上記ステップS125で得た要素のパスに対応する記述部分を取得する(ステップS126)。例えば、図77に示したクエリと、このクエリを実行することにより得られた図63に示したXML文書とを参照して、クエリの解析方法について説明する。なお、構造化文書データベースに格納されている全てのクエリの各記述部分には予め識別子QIDが与えられているものとする。
【0339】
まず、図63の6行目に記述されている要素「<名前>山田太郎</名前>」の当該XML文書中でのパスは、「報告書/報告者/名前」であることがわかっているので、クエリにおいて、この要素を作り出している部分に着目する。これはクエリの出力形式の記述部、すなわち、<kf:select>タグで囲まれた記述部を調べることでわかる。この場合、図77において、当該<kf:select>タグで囲まれた記述部で定めた記述形式(文書構造)から、先ほどの「<名前>山田太郎</名前>」という要素を作り出した記述部分は、識別子「QID5」の付された「<名前>$name</名前>」であることが容易に判別できる。
【0340】
アクセスレベルがクエリと指定されていた場合(ステップS127)、アクセス権限設定部202は、アクセス権限設定管理部203のクエリアクセス権限管理部213に格納されている、図73に示すようなクエリアクセス権限テーブルに、指定されたアクセス権限を登録する(ステップS128)。クエリアクセス権限テーブルは、図73に示すように、複数種類あるクエリのうちのどれであるかを識別するためのクエリの識別子毎に、そのクエリ中のアクセス権限の設定された記述部分を示すQIDとユーザ範囲とアクセスタイプとが登録されるようになっている。例えば、上記例の場合、アクセス権限を設定しようとしているクエリの識別子が「QRY1」であるとすると、当該クエリ中の識別子「QID5」の付された記述部分に対し、ユーザ範囲として「グループB」というグループに、アクセスタイプとして「非表示」がアクセス権限として設定されたことになる。
【0341】
さて、次に、当該クエリの記述に基づき、構造化文書データベース中から、ステップS125で得られた要素、すなわち、「<名前>山田太郎</名前>」の格納されている箇所(パス)を探索する(ステップS129)。ここでは、まず、当該クエリ中の<kf:from>タグで囲まれた記述部から、変数「$name」が要素の値として関連付けられている記述部分を探索する。この場合、16行目と22行目の記述部分において、変数「$name」が要素「報告者」「名前」のそれぞれの要素値に関連付けられている。すなわち、「QID5」の付された記述部分「<名前>$name</名前>」は、<kf:from>タグで囲まれた記述部において、「”uix://root/報告書DB”」以下にある「<報告者>$name</報告者>」および「”uix://root/従業員DB”」以下にある「<名前>$name</名前>」を出力結果として出力するための記述であることがわかる。また、変数「$name」はテキストであり、「山田太郎」が指定されているので、これを条件として更にデータベース中のパスを検索する。
【0342】
そこで、アクセス権限設定部202は、図78に示すような、構造化文書データベースの「”uix://root/報告書DB”」以下から、「山田太郎」という値を持つ「報告者」という構成要素のパスを検索するためのクエリと、図79に示すような、構造化文書データベースの「”uix://root/従業員DB”」以下から、「山田太郎」という値を持つ「名前」という要素名の構成要素へのパスを検索するためのクエリとを生成して(発行して)、それを検索要求処理部3へ送る。
【0343】
なお、上記例の場合、図65の表示画面上の、HID7の「山田太郎」という文字列の表示されているテキストボックスがアクセス権限を設定する領域として指定されたので、これに対応するように、図78,図79に示したクエリでは要素値「山田太郎」をもつ構成要素を検索条件としているが、もし、HID6の「報告者」という文字列の表示されているテキストボックスが指定されているのであれば、要素値「山田太郎」をもつ構成要素を検索条件とする必要がない。すなわち、<kf:where>タグで囲まれた記述部は必要ない。
【0344】
検索要求処理部3では、前述したようにして、各クエリに記述された検索条件に基づき、構造化文書データベースを検索する。すると、図80に示すように、「”uix://root/報告書DB”」以下にある「山田太郎」という値を持つ「報告者」という要素名の構成要素301へのパスと、「”uix://root/従業員DB”」以下から、「山田太郎」という値を持つ「名前」という要素名の構成要素302へのパスを取得することができる。
【0345】
例えば、構成要素301のパスが、「uix://root/報告書DB/報告書[0]/報告者」であり、構成要素302のパスが、「uix://root/従業員DB/従業員[3]/名前」であるとする。パスは必ずしも1つだけ検索されるのでなく、場合によっては複数検索される場合がある。
【0346】
アクセスレベルがデータと指定されていた場合(図71のステップS131)、アクセス権限設定部202は、アクセス権限設定管理部203のデータアクセス権限管理部212に格納されている、図74に示すようなデータアクセス権限テーブルに、指定されたアクセス権限を登録する(ステップS132)。データアクセス権限テーブルは、図74に示すように、ステップS130で取得したパスとユーザ範囲とアクセスタイプとが登録されるようになっている。例えば、上記例の場合、アクセス権限を設定しようとしているパスが「uix://root/報告書DB/報告書[0]/報告者」であり、このパスにより表された格納エリアに格納されている要素(要素値が「山田太郎」で要素名「報告者」の構成要素)に対し、ユーザ範囲として「グループB」というグループに、アクセスタイプとして「伏せ字(○)」がアクセス権限として設定されたことになる。
【0347】
一方、アクセスレベルがスキーマと指定されていた場合(ステップS133)、ステップS134へ進み、ステップS130で取得したパスにスキーマが設定されているかをチェックする。例えば、ステップS130で、「uix://root/報告書DB/報告書[0]/報告者」というパスを取得したとき、このパスにて特定される「報告者」という構成要素(ノード)301に、スキーマが存在する旨の属性値がセットされているときは(ステップS134)、当該スキーマ文書の「報告者」という構成要素に対応する記述部分に対し、アクセス権限を設定する。すなわち、アクセス権限設定部202は、アクセス権限設定管理部203のスキーマ権限管理部211に格納されている、図75に示すようなスキーマアクセス権限テーブルに、指定されたアクセス権限を登録する(ステップS135)。
【0348】
例えば、上記の例の場合、「報告者」という構成要素(ノード)301を含む、「報告書DB」ノード以下に、図81に示すスキーマ文書が格納されているとする。図81に示すスキーマ文書において、構成要素301に対応する記述部分は、実線で囲まれた部分である。構造化文書データベース中で、この記述部分を特定するパスは、例えば、「uix://root/schema/elementType[4]/name」であるとする。この場合、スキーマアクセス権限テーブルには、図75に示すように、スキーマ文書の「報告者」という構成要素に対応する記述部分を特定するパス、すなわち、「uix://root/schema/elementType[4]/name」とユーザ範囲とアクセスタイプとが登録されるようになっている。例えば、上記例の場合、アクセス権限を設定しようとしているスキーマ文書の記述部分(構成要素)のパスは「uix://root/schema/elementType[4]/name」であり、このパスにより特定された記述部分に対し、ユーザ範囲として「グループA」というグループに、アクセスタイプとして「モザイク」がアクセス権限として設定されたことになる。
【0349】
このように、スキーマにアクセス権限を設定することにより、以後、このスキーマの設定された構造化文書データベース中の格納領域(例えば、上記例の場合、「報告書DB」ノード以下の格納領域)に格納された、このスキーマが適用される全ての構造化文書に対して、スキーマアクセス権限テーブルに登録されたのと同一のアクセス権限が適用される。
【0350】
さて、アクセスレベルがパスに対しても設定可能である。例えば、図82に示すように、「報告書DB」ノード以下には、複数の「報告書」情報(構造化文書)が格納されている。この複数の「報告書」情報のそれぞれは、「報告者」という要素名の構成要素(ノード)を持つ。そこで、この複数の「報告書」情報中の1つに含まれる「報告者」ノードが図70のステップS130で特定されたとき、他の全ての「報告書」情報中の「報告者」ノードについても、アクセス権限を設定することも可能である。アクセスレベルがパスと指定されたときは、この他の全ての「報告書」情報中の「報告者」ノードに対し、同一のアクセス権限を設定する。この効果は、「報告書DB」ノード以下にスキーマが設定されている場合に、スキーマに対しアクセス権限を設定する場合(図71のステップS135)と同じである。従って、ステップS133でアクセスレベルがスキーマと設定されている場合に、ステップS134で、当該スキーマが存在しないときは、ステップS137へ進むようにしてもよい。また、図71には示していないが、ステップS136でアクセスレベルがパスと設定されている場合に、例えば、「uix://root/報告書DB/報告書[0]/報告者」というパスにて特定される「報告者」という構成要素(ノード)301にスキーマが設定されているときは、ステップS135に進みようにしてもよい。
【0351】
アクセスレベルがパスと指定されていた場合(ステップS136)、ステップS137へ進み、アクセス権限設定部202は、構造化文書データベースの「”uix://root/報告書DB”」以下から、「報告者」という構成要素のパスを検索するためのクエリ生成して(発行して)、それを検索要求処理部3へ送る。
【0352】
検索要求処理部3では、前述したようにして、クエリに記述された検索条件に基づき、構造化文書データベースを検索する。すると、「”uix://root/報告書DB”」以下にある全ての「報告者」という要素名の構成要素へのパスを取得することができる。このときのクエリ中の要素値を検索条件とする「記述はない。
【0353】
アクセス権限設定部202は、アクセス権限設定管理部203のパスアクセス権限管理部215に格納されている、図76に示すようなパスアクセス権限テーブルに、指定されたアクセス権限を登録する(ステップS138)。パスアクセス権限テーブルは、図76に示すように、ステップS137で取得したパスとユーザ範囲とアクセスタイプとが登録されるようになっている。例えば、上記例の場合、アクセス権限を設定しようとしているパスが「uix://root/報告書DB/報告書[1]/報告者」、「uix://root/報告書DB/報告書[2]/報告者」、…であり、これらパスにより特定された格納エリアに格納されている要素(要素名「報告者」の構成要素)に対し、ユーザ範囲として「グループB」というグループに、アクセスタイプとして「伏せ字(○)」がアクセス権限として設定されたことになる。
【0354】
このように、上記実施形態では、構造化文書データベースを検索した結果得られた表示対象のXML文書(検索結果文書)は、クライアント端末装置102で所定のスタイルシート(検索結果文書を所定の表示形式で表示するために用いた検索結果文書の文書構造の変換規則)を適用してHTML文書に変換された後、表示画面上に表示される。変換の際には、HTML文書の1つの記述部分を1つの表示領域(テキストボックス)で表示するようなスタイルシートをXML文書に適用する。この表示画面上で、所望の表示領域(テキストボックス)を指定することにより、クライアント端末装置102の描画部115は、(a)このテキストボックスに表示されているHTML文書の記述部分を特定することができるので、さらに、クライアント端末装置102のアクセス権限設定部116は、対応テーブル114を参照して、当該HTML文書の記述部分に対応するスタイルシート中の記述部分を特定する。次に、(b)スタイルシート中の当該記述部分に関連付けられた検索結果文書中の要素のパスを特定した後、(c)当該検索結果文書を得るために用いたクエリ中の出力形式の記述部から当該パスに対応する記述部分を特定する。そして、(d)構造化文書データベースにアクセスして(クエリを発行して)、当該記述部分に関連付けられた構造化文書データベース中の要素のパス(パスリスト)を取得する。以上のように、ユーザにより所望の表示領域が指定されると、ユーザにより指定されたレベルに応じて、該指定された表示領域に対応するスタイルシートの記述部分、さらに、それに対応するクエリ中の記述部分、さらにそれに関連付けられた構造化文書データベース中の要素を順次特定していくことにより、指定されたレベルにアクセス権限を設定することが容易に行える。ユーザは、検索結果の表示画面上で、少なくとも所望の表示領域と、アクセスレベルを指定するだけで、構造化文書データベース中の構成要素にアクセス権限の設定が行える。さらに、スタイルシートの記述部分、クエリ中の記述部分、当該要素を含む構造化文書と同じ文書構造を持つ他の構造化文書中の当該要素と同じ要素名の要素に対しても、それ対応のレベルを指定するだけでアクセス権限を設定することができるので、各種アプリケーションに柔軟に対処できる。
【0355】
なお、上記アクセス権限の設定は、1つの表示領域を選択して、その表示領域に対応する、スタイルシート、クエリ、構造化文書データベース中の要素(データ)、スキーマ、パスのうちの1つレベルにアクセス権限を設定する場合について説明したが、一度に複数の表示領域を選択して、それらに対応する上記複数のレベルのうちの1つのレベルに一括して(ユーザ範囲、アクセスタイプを同じくした)アクセス権限を設定することも上記同様にして容易に行える。
【0356】
また、スタイルに対しアクセス権限を設定した場合、スタイル権限テーブルに登録された内容に基づき、スタイルシート自体に、指定されたユーザ範囲やアクセスタイプを登録するようにしてもよい。この場合、例えば、図83の実線で囲まれた部分に示すように、スタイルシート中のアクセス権限を設定する記述部分(SIDにて特定される記述部分)に、ユーザ範囲とアクセスタイプを書き込み、クライアント端末装置102が、当該スタイルシートを適用する段階で、このアクセス権限の記述を解釈できる機能があればよい。
【0357】
また、クエリに対しアクセス権限を設定した場合、クエリ権限テーブルに登録された内容に基づき、クエリ文書自体に、指定されたユーザ範囲やアクセスタイプを登録するようにしてもよい。この場合も例えば、図84の実線で囲まれた部分に示すように、クエリ文書中のアクセス権限を設定する記述部分(QIDにて特定される記述部分)に、ユーザ範囲とアクセスタイプを書き込み、検索要求処理部3が、当該クエリを実行する際に、このアクセス権限の記述を解釈できる機能があればよい。
【0358】
次に、上記のようにしてアクセス権限が設定された後、クエリを用いた検索実行結果の表示例について説明する。
【0359】
ここでは、例えば、図62の中、「HID7」という識別子を持つ記述部分に対応する表示領域307と、「HID11」という識別子を持つ記述部分に対応する表示領域311と、「HID13」という識別子を持つ記述部分に対応する表示領域313とが指定されて、「山田太郎」という個人をユーザ範囲としたアクセス権限が設定されたとする。表示領域307、311には、アクセスタイプとして「伏せ字」が指定され、表示領域313にはアクセスタイプとして「モザイク」が指定されたとする。
【0360】
さらに、上記3つの表示領域に、アクセスレベルが「データ」と指定されてアクセス権限が設定されたとする。この場合、「山田太郎」というユーザが、クライアント端末装置102から、所定の操作を行って、図1に示した構造化文書管理システムにアクセスして、図77に示したクエリを用いて検索を行ったとする。なお、ユーザ名「山田太郎」は、構造化文書管理システムにアクセスする際に、クライアント端末装置102を介して、構造化文書管理システムの要求制御部1,アクセス権限設定管理部201にも入力するようになっている。
【0361】
すると、検索結果として得られた検索結果文書(XML文書)は、クライアント端末装置102の表示画面には、図85に示すように表示される。すなわち、表示領域307、311に表示されるデータは、伏せ字「×」や「○」で表示されている。また、表示領域313は、モザイクがかけられて表示されている。さらに、表示領域307に表示されるデータと同じデータを表示している表示領域315にも、表示領域307と同様の伏せ字「×」が表示されている。これは、表示領域307に表示されているデータ(この場合、テキスト)は、そのデータを要素値とする構造化文書データベース中の構成要素、すなわち、例えば、「uix://root/報告書DB/報告書[0]/報告者」というパスにて表現される論理的な格納エリアに格納されている構成要素と、「uix://root/従業員DB/従業員[3]/名前」というパスにて表現される論理的な格納エリアに格納されている構成要素とに対しアクセス権限が設定されているからである。
【0362】
検索要求処理部3では、例えば、図77に示したクエリを実行して、検索条件を満たす構成要素を構造化文書データベースから取り出す際に、アクセス権限設定管理部201と通信を行い、アクセス権限設定管理部201にて管理されている図74に示したようなアクセス権限テーブルに基づき、「uix://root/報告書DB/報告書[0]/報告者」というパスにて特定される構成要素と、「uix://root/従業員DB/従業員[3]/名前」というパスにて特定される構成要素とに、アクセス権限が設定されていることを知る。
【0363】
このアクセス権限の設定された、「uix://root/報告書DB/報告書[0]/報告者」というパスにて特定される構成要素と、「uix://root/従業員DB/従業員[3]/名前」というパスにて特定される構成要素は、図77に示したクエリにより、検索結果文書中の「報告書/報告者/名前」というパスで特定される検索結果文書の構成要素として用いられる(バインドされている)。この段階で、当該検索結果文書中に当該構成要素のアクセスタイプなどをクライアント端末装置102の所定の機能により解釈可能なように書き込むようにしてもよい。
【0364】
あるいは、検索要求処理部3で検索結果文書を作成した段階で、アクセス権限設定管理部201が、この検索結果文書中の構成要素にアクセス権限が設定されているか否かをアクセス権限テーブルを参照することによりチェックして、当該検索結果文書中のアクセス権限の設定された構成要素にアクセスタイプなどをクライアント端末装置102の所定の機能により解釈可能なように書き込むようにしてもよい。
【0365】
この検索結果文書は、図64に示すようなスタイルシートとともに、検索要求元のクライアント端末装置102に送信される。
【0366】
図64に示すようなスタイルシートにより、「報告書/報告者/名前」というパスで特定される検索結果文書の構成要素は、図85に示すように、表示領域307と315の両方に表示されるように、当該検索結果文書としてのXML文書をHTML文書に変換するようになっている。なお、図64に図示していないが、図64のスタイルシートには、「報告書/報告者/名前」というパスで特定される検索結果文書の構成要素を、図85に示すように、表示領域307と315の両方に表示するようなHTML文書に変換するための変換規則が記述されている。
【0367】
表示領域307にアクセスレベルが「スタイル」と指定されてアクセス権限が設定されたとする。この場合、スタイルシートには、図83に示すように、アクセス権限が書き込まれているものとする。また、クライアント端末装置102で検索結果文書をHTML文書に変換する際に、当該スタイルシート中のアクセス権限に関する記述を解釈する機能が必要である。スタイルシートには、「報告書/報告者/名前」というパスで特定される検索結果文書の構成要素を表示領域307に表示するようなHTML文書に変換するための記述部分には、例えばユーザ範囲とアクセスタイプとが書き込まれているが、表示領域315に表示するようなHTML文書に変換するための記述部分には、そのようなアクセス権限に関する記述は書き込まれていない。従って、図86に示すように、表示領域315には、伏せ字ではなく、実際のデータが表示される。
【0368】
「山田太郎」というユーザが、クライアント端末装置102から、所定の操作を行って、図1に示した構造化文書管理システムにアクセスして、図77に示したクエリとは異なるクエリを用いて検索を行ったとする。このクエリは、例えば、構造化文書データベース中の「従業員DB」ノード以下に格納されている情報から所定の条件を満たす「従業員」情報を検索するものであるとする。この検索の結果得られる検索結果文書は、上記所定の条件を満たす複数の「従業員」情報を合成したものであるとする。
【0369】
この検索結果文書には、上記のようにしてアクセス権限の設定された「uix://root/従業員DB/従業員[3]/名前」というパスにて特定される構成要素が含まれているとする。すると、上記同様にして、図87に示すように、この構成要素を表示する表示領域321には伏せ字「x」による表示がなされている。
【0370】
しかし、表示領域307にアクセスレベルが「クエリ」と指定されてアクセス権限が設定されたとする。すなわち、表示領域307に表示されるデータに対応する検索結果文書中の構成要素に対応する図77に示したクエリ中の記述部分に、(検索結果文書中の構成要素に対する)アクセス権限が設定されていた場合には、今回のクエリは図77に示したクエリとは異なるものであるから、図87に示した表示領域321には伏せ字「x」ではなく、実際のデータ、すなわち、「山田太郎」が表示される。
【0371】
このように、アクセス権限をスタイルシート、クエリといったレベルに設定することにより、あるスタイルシートを用いていたときには表示されなかったデータが他の異なるスタイルシートを用いれば表示される、あるクエリを用いた検索結果では表示されなかったデータが他の異なるクエリを用いたときには表示されるといった、柔軟なアクセス権限の設定が可能になる。
【0372】
以上説明したように、上記実施形態は、1つの表示領域(テキストボックス)には、1つの構成要素の要素名あるいは要素値が表示されていて、クエリによって検索した結果得られた検索結果文書を表示した表示画面上の複数の表示領域のうちの1つが選択されたら、その選択された表示領域に表示されているデータ(要素名あるいは要素値)を起点にして、スタイルシート、検索結果文書、クエリ、構造化文書データベース中の構造化文書とレベルを掘り下げていく過程に存在する、ユーザにより指定されたレベルのアクセス権限の設定対象にアクセス権限を設定するものであり、ユーザは、検索結果の表示画面上で、少なくとも所望の表示領域と、アクセスレベルを指定するだけで、構造化文書データベース中の構成要素にアクセス権限の設定が行える。さらに、スタイルシートの記述部分、クエリ中の記述部分、当該要素を含む構造化文書と同じ文書構造を持つ他の構造化文書中の当該要素と同じ要素名の要素に対しても、それ対応のレベルを指定するだけでアクセス権限を設定することができるので、構造化文書データベースに格納されている構造化文書の構成要素の用途や表示形式(検索結果として表示する際の表示形式)に応じて、異なる内容のアクセス権限を容易に設定することができる。
【0373】
なお、上記実施形態では、アクセス権限の設定は、クエリを用いて、構造化文書データベースを検索した結果得られた文書を表示した表示画面上で行ったが、この場合に限らず、例えば、前述した取得コマンド「getXML」を実行する際においても、そのコマンドにて指定されたパス以下の文書(を構成する全ての構成要素)に、あるいは、当該指定されたパス以下の文書の一部の構成要素に、上記したようなアクセス権限が設定されている場合には、当該指定されたパス以下の文書を表示する際には、そのアクセス権限の設定された構成要素を非表示にしたり、特殊表示にしたりすればよい。
【0374】
また、上記実施形態では、アクセスタイプとして、非表示にするか、特殊表示にするかのいずれかを選択するようになっているが、アクセスタイプとしては、これ以外に、削除禁止、編集禁止などがあってもよい。削除禁止、編集禁止といいた構造化文書データベース中の構成要素自体に対する操作を制限するようなアクセスタイプを設定するときは、このアクセスタイプととともに設定されるアクセスレベルはデータレベルである。
【0375】
例えば、アクセスタイプとして削除禁止が構造化文書データベース中のある構成要素に設定されると、当該構成要素あるいは、そのような構成要素を含む構造化文書データベース中の論理的なエリア(パス)を指定した領域削除コマンドが実行されても、少なくとも当該アクセス権限の設定された構成要素は削除されることはない。また、アクセスタイプとして編集禁止が構造化文書データベース中のある構成要素に設定されると、当該構成要素の要素値を書き換えることはできない。
【0376】
なお、本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピーディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
【0377】
また、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0378】
【発明の効果】
以上説明したように、本発明によれば、検索結果の表示画面上で、少なくとも所望の表示領域とアクセスレベルを指定するだけで、構造化文書データベース中の所望の構成要素に、用途や表示形式などに応じた所望のアクセス権限を容易にしかもきめ細かく設定することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る構造化文書管理システムの構成例を示した図。
【図2】図1に示した構造化文書管理システムの一利用形態を示したもので、WWWのバックエンドで、構造化文書管理システムが動作している場合を示した図。
【図3】XMLで記述された構造化文書の一例を示した図。
【図4】図3の構造化文書の文書構造を模式的に示した図。
【図5】追加コマンドの機能を説明するための図で、構造化文書データベースの初期状態に追加コマンドを実行した場合について示している。
【図6】図5(b)に示した状態の構造化文書データベースに対し、取得コマンドを実行した場合の処理結果を示した図。
【図7】図5(b)に示した状態の構造化文書データベースに対し、追加コマンドを実行して1つの「特許」情報の文書オブジェクトツリーを追加した場合を示している。
【図8】図5(b)に示した状態の構造化文書データベースに対し、追加コマンドを実行して3つの「特許」情報の文書オブジェクトツリーを追加した場合を示している。
【図9】要素名生起インデックスの格納例を示した図。
【図10】データ生起インデックスの格納例を示した図。
【図11】図8に示した状態の構造化文書データベースに対して、3つの「特許」情報を取り出すための取得コマンドを実行した場合の実行結果を示した図。
【図12】XML文書の文書構造を定義するスキーマの一例を示した図。
【図13】図8に示した状態の構造化文書データベースに、スキーマ格納コマンドを実行して、図12に示したスキーマを追加格納(設定)した場合を示した図。
【図14】スキーマが設定されて、スキーマが存在している旨の属性値のセットされた文書オブジェクトツリーを示した図。
【図15】各オブジェクトファイルに、スキーマが存在している旨の属性値が格納されている様子を概念的に示した図。
【図16】必要に応じて検索で使用される概念階層を構造化文書で表現した例を示した図。
【図17】必要に応じて検索で使用される概念階層を構造化文書で表現した例を示した図。
【図18】図8に示した状態の構造化文書データベースに対し、追加コマンドを実行して、図16,図17に示した「概念」情報の文書オブジェクトツリーを追加した場合を示した図。
【図19】図8に示した状態の構造化文書データベースに対し、追加コマンドを実行して、図16,図17に示した「概念」情報の文書オブジェクトツリーを追加した場合を示した図。
【図20】図1の構造化文書管理システムの文書格納処理動作について説明するためのフローチャート。
【図21】図20のステップS9の処理(合成文書作成部の処理)について説明するためのフローチャート
【図22】追加コマンド中のパラメータの格納文書の文書オブジェクトツリーを構造化文書データベースから取得した文書オブジェクトツリーに挿入して得られた合成文書の文書オブジェクトツリーをXML文書に変換した結果であって、テンポラリファイルAに格納される合成文書の一例を示した図。
【図23】テンポラリファイルBに格納される、構造化文書データベースから取得されたスキーマ文書の一例を示した図。
【図24】テンポラリファイルAに格納される合成文書の他の例を示した図。
【図25】テンポラリファイルBに格納される、構造化文書データベースから取得されたスキーマ文書の一例を示した図。
【図26】図1の構造化文書管理システムの文書取得処理動作について説明するためのフローチャート。
【図27】図1の構造化文書管理システムの文書削除処理動作について説明するためのフローチャート。
【図28】図27のステップS46の処理(合成文書作成部の処理(削除コマンド用))について説明するためのフローチャート。
【図29】テンポラリファイルAに格納される合成文書のさらに他の例であって、削除コマンドの実行時に作成される合成文書の一例を示した図。
【図30】テンポラリファイルBに格納される、構造化文書データベースから取得されたスキーマ文書の一例を示した図。
【図31】ユーザインタフェースとしての画面の表示例を示した図。
【図32】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図33】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図34】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図35】妥当性のチェックでエラーとなっときにクライアント端末へ返すメッセージの表示例を表示例を示した図。
【図36】文書の格納/削除を行うためのユーザインタフェースとしての画面の表示例を示したもので、文書取得動作を説明するための図。
【図37】スキーマの設定を行うためのユーザインタフェースとしての画面の表示例を示したもので、スキーマの設定動作を説明するための図。
【図38】スキーマの取得するためのユーザインタフェースとしての画面の表示例を示したもので、取得されたスキーマの表示例を示している。
【図39】クエリ(XML文書)の一例を示した図。
【図40】単純検索のクエリ(XML文書)の一例を示した図。
【図41】図40の単純検索のクエリを用いた検索結果(XML文書)を示した図。
【図42】概念検索のクエリ(XML文書)の一例を示した図。
【図43】図1の構造化文書管理システムの文書検索処理動作について説明するためのフローチャート。
【図44】文書検索を行うためのユーザインタフェースとしての画面の表示例を示した図。
【図45】図44に示した画面上から入力された情報に基づき作成されるクエリを示した図。
【図46】図42に示したクエリの構造化文書データベース内における格納例を示した図。
【図47】文書検索を行うためのユーザインタフェースとしての画面の表示例であって、スキーマの検索処理動作を説明するための図。
【図48】スキーマ検索のクエリの一例を示した図。
【図49】クエリを検索するためのクエリの一例を示した図。
【図50】特許調査における構造化文書データベースの一例を示した図。
【図51】概念検索のための入力画面の表示例を示した図。
【図52】図51に示した入力画面上の入力情報に対応するクエリを示した図。
【図53】図52に示したクエリに対応する検索結果としてのXML文書を示した図。
【図54】特許マップの一例を示した図。
【図55】クライアント端末装置の要部の構成例を示した図。
【図56】クライアント端末装置で構造化文書管理システムから送信されてきたXML文書を表示する際の処理動作を説明するためのフローチャート。
【図57】アクセス権限の設定のためのクライアント端末装置における処理動作を説明するためのフローチャート。
【図58】アクセス権限設定管理部の機能ブロック図。
【図59】構造化文書データベースの論理構造の一部を模式的に示した図。
【図60】XMLで記述された構造化文書の一例として、「報告書DB」ノード以下の論理的な格納エリアに格納されている「報告書」情報を示した図。
【図61】XMLで記述された構造化文書の一例として、「従業員DB」ノード以下の論理的な格納エリアに格納されている複数の「報告書」情報を示した図。
【図62】クライアント端末装置のディスプレイ装置の画面表示例を示したもので、クライアント端末装置から入力されたクエリを実行した結果得られたXML文書(検索結果文書)の表示例を示した図。
【図63】図62に対応する検索結果文書を示した図。
【図64】図63に示した検索結果文書を図62に示したような表示形式で表示するためのHTML文書に変換するためのスタイルシートの一例を示した図。
【図65】HTML文書の各記述部分と各記述部分に与えられている識別子HIDとの対応を説明するための図。
【図66】HTML文書中の記述部分と、スタイルシート中の記述部分との対応関係を示した対応テーブルの一例を示した図。
【図67】ユーザの範囲を入力するためのGUI画面の一例を示した図。
【図68】アクセスレベルを入力するためのGUI画面の一例を示した図。
【図69】アクセスタイプを入力するためのGUI画面の一例を示した図。
【図70】アクセス権限設定管理部で、アクセス権限を設定するための処理動作を説明するためのフローチャート。
【図71】アクセス権限設定管理部で、アクセス権限を設定するための処理動作を説明するためのフローチャート。
【図72】スタイルアクセス権限管理部に格納されているスタイルアクセス権限テーブルの一例を示した図。
【図73】クエリアクセス権限管理部に格納されているクエリアクセス権限テーブルの一例を示した図。
【図74】データアクセス権限管理部に格納されているデータアクセス権限テーブルの一例を示した図。
【図75】スキーマアクセス権限管理部に格納されているスキーマアクセス権限テーブルの一例を示した図。
【図76】パスアクセス権限管理部に格納されているパスアクセス権限テーブルの一例を示した図。
【図77】図63に示したXML文書を得るために用いたクエリ文書を示した図。
【図78】図77に示したクエリの記述を基に、アクセス権限の設定対象の構成要素を構造化文書データベースから検索するために発行するクエリの一例を示した図。
【図79】図77に示したクエリの記述を基に、アクセス権限の設定対象の構成要素を構造化文書データベースから検索するために発行するクエリの一例を示した図。
【図80】図78、79に示したクエリを実行したことにより得られた構造化文書データベース中の構成要素の論理的な格納位置(パス)を示した図。
【図81】図62の表示領域307が指定され、しかもアクセスレベルがスキーマと指定されたときに、アクセス権限が設定されるスキーマ中の記述部分を示した図。
【図82】図62の表示領域307が指定され、しかもアクセスレベルがパスと指定されたときに、アクセス権限が設定される構成要素を示した図。
【図83】アクセス権限の内容が書き込まれたスタイルシートの一例を示した図。
【図84】アクセス権限の内容が書き込まれたクエリの一例を示した図。
【図85】データレベルでアクセス権限が設定された後に、図77に示したクエリを実行した際に得られた検索結果文書の表示例を示した図。
【図86】スタイルレベルでアクセス権限が設定された後に、図77に示したクエリを実行した際に得られた検索結果文書の表示例を示した図。
【図87】データレベルでアクセス権限が設定された後に、図77に示したクエリとは異なるクエリを実行した際に得られた検索結果文書の表示例を示した図。
【図88】図65に示した表示画面に対応するHTML文書の一部を示した図。
【符号の説明】
1…要求制御部
2…アクセス要求処理部
3…検索要求処理部
4…データアクセス部
5…文書記憶部
6…インデックス記憶部
11…受付要求部
12…結果処理部
21…文書格納部
22…文書取得部
23…文書削除部
41…文書オブジェクトツリー格納部
42…文書オブジェクトツリー削除部
43…文書オブジェクトツリー取得部
44…文書文字列取得部
45…パスから文書オブジェクトツリー取得部
46…文書パーサ
47…合成文書作成部
48…インデックス更新部
100…構造化文書管理システム
101…WWWサーバ
102…クライアント端末
103…WWWブラウザ
111…XML文書受信部
112…XML/HTML変換部
113…テーブル作成部
114…対応テーブル
115…描画部
116…アクセス権限設定部
117…送信部
121…ディスプレイ装置
122…入力装置
201…アクセス権限設定管理部
202…アクセス権限設定部
203…アクセス権限管理部
211…スキーマアクセス権限管理部
212…データアクセス権限管理部
213…クエリアクセス権限管理部
214…スタイルアクセス権限管理部
215…パスアクセス権限管理部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for setting access authority for a structured document database having a hierarchical logical structure for a plurality of structured documents having different document structures.
[0002]
[Prior art]
XML (extensible Markup Language) is currently attracting attention as a global standard for intra-organizational data and exchange formats between companies. Structural information can be added to these XML documents (hereinafter referred to as XML documents), which is called a structured document. Development of a database for storing and retrieving these structured documents is currently in progress. By creating a structured document into a database, a new structured document (processed structured document) in which a desired structured document is retrieved from the database using a data query language (hereinafter referred to as a query) and synthesized. ) Can be generated. For example, a query makes it possible to create one processed structured document from the contents of a paper database and an employee database.
[0003]
A style sheet represented by XSL (extensible stylesheet language) is used to display a structured document on a browser or the like. XSL is recommended by the W3C, and is itself described in XML. This consists of a language that defines the display, and determines the display format mainly by pattern matching.
[0004]
The following procedure is generally used as a format for using a database from an application.
[0005]
(1) Store structured documents in database
(2) Obtain desired data from these databases by query
▲ 3 ▼ Display these data on the screen of the browser etc. according to the style
Here, the query includes an operation of acquiring stored data. Therefore, a query is issued even when a document stored in the database is to be displayed as it is.
[0006]
Depending on the application, there are many requests to be able to set the access authority according to the hierarchical structure of the structured document. For example, you want to specify according to the document structure that user A and user B have access authority to one element in a structured document, and only user A has access to the other element. It is.
[0007]
Such an access authority setting is not an access authority setting for each table and record such as an RDB, but an access authority setting for a tree structure, and several methods have been proposed.
[0008]
For example, there is PH07-44579 as an access authority setting method according to the hierarchical structure. This allows setting of access authority for each hierarchical structure of the structured document, and also allows inheritance of access authority. In other words, it shows an implementation method close to access authority for object-oriented data. Since access authority is set for a document, it is necessary to set access authority for all stored documents. Since XML is allowed even when there is no schema, it is not sufficient to set access authority for a schema. Therefore, setting the access authority for each of the enormous number of documents is a laborious operation. Also, this is to set direct access authority for the XML document, but the XML document is only data, and how to use this data often depends on the application side.
[0009]
Depending on the application, there is a request that even a user with the same access authority does not allow display on an element on a certain screen but allows display on a certain screen. In addition, even if the access authority is the same, the display of the XML document itself is not permitted, but there may be a case where it is desired to perform the setting so that the display is possible when the result is processed as a total result by the query. In other words, rather than a stored XML document, the former is an access authority for display, and the latter is an access authority for a query.
[0010]
As described above, on the application side, the authority for the data displayed in the display format (style) is often used as the access authority. There is P2001-22749 as an attempt to set access authority for each style. This is simply managed by associating a user ID and a style ID and specifying an accessible style for each user, and does not consider the document structure of the XML document itself.
[0011]
In PH11-25076, in the access authority setting of the structured document, when the display unit and the data management unit are separately managed and only the information having the access authority is presented to the user and it is desired to perform the update, It has a configuration that allows only part of the update. However, this also requires setting the access authority for each document, and there still remains a problem regarding the load on the setting.
[0012]
If a schema is required, such as RDB, it may be possible to set access authority to the schema. However, XML has the same name and features such as whether or not the schema is present. There are features such as the fact that multiple elements may exist at the same level, and the structure is often ambiguous. Considering these, it is necessary to set access authority for each component of the structured document.
[0013]
In addition, the access authority is actually set after the application level, and is not at the stage of creating data in many cases. For example, even if the same data is used, in a certain usage (search condition) or style (display format), the user A is given access authority to a certain element x, but another certain usage or style (display format). Then, it is also possible to perform flexible processing such as losing access authority. In other words, the access authority is often set at the application creation stage, and a function is required to easily set the access authority at that stage.
[0014]
Furthermore, when captured from the application side, a function that can set access authority for each style or for each application is desired. For example, regarding the style, the graph of a certain element x is shown to the user A, but the graph display is not possible to the user B, for example, due to restrictions such as displaying with a mosaic. is there. However, although user B cannot display it as a graph, it may be possible to acquire the value as XML data. It is also conceivable to set an access right such that the results aggregated by the query can be accessed, but other individual documents cannot be accessed. These cannot be realized by a method of giving access authority only to documents stored in the database.
[0015]
[Problems to be solved by the invention]
As described above, the conventional method for setting access authority to a structured document can set the access authority for each component of the structured document, but the setting is troublesome. was there. In particular, the labor and cost of setting access authority for each component of a huge amount of structured documents in a structured document database having a logical space are considerably large.
[0016]
In addition to setting access rights to the components of the structured document stored in the structured document database, depending on the display format and usage (ie, depending on the style sheet or query), There was a problem that fine access authority settings such as setting different access authority for a component could not be performed.
[0017]
In view of the above problems, an object of the present invention is to provide an access authority setting method and a structured document management apparatus in which it is easy to finely set an access authority for each component of a structured document.
[0018]
In addition, it is easy to set access privileges for different contents according to the usage and display format of the components of the structured document stored in the structured document database (display format when displaying as a search result). An object is to provide an access authority setting method and a structured document management apparatus.
[0019]
[Means for Solving the Problems]
The present invention is for setting an access authority for the components of the structured document constituting the logical structure of the structured document database having a hierarchical logical structure storing a plurality of structured documents. A search result document composed of a plurality of components obtained as a result of a search using a search request statement (query) for searching for a desired component based on the logical structure from the structured document database is displayed. When an arbitrary display area on the display screen is designated, the first constituent element in the search result document corresponding to the data displayed in the designated display area is specified, and the first constituent element is specified. A second component corresponding to the first component in the structured document database is searched based on the description of the second description part in the search request sentence associated with To 2 components, and sets the access privileges define the range of the user to access at least the second component is limited.
[0020]
According to the present invention, the user simply designates at least a desired display area on the search result display screen, and the user can select a desired document in the structured document database corresponding to the data displayed in the designated display area. The access authority can be easily set for the components.
[0021]
Further, the present invention sets an access authority for the components of the structured document constituting the logical structure of the structured document database having a hierarchical logical structure storing a plurality of structured documents. A search result document composed of a plurality of components obtained as a result of a search using a search request statement (query) for searching for a desired component based on the logical structure from the structured document database is displayed. When an arbitrary display area on the display screen is specified, the search result used to display the search result document associated with the data displayed in the specified display area in a predetermined display format A first description part in a document structure conversion rule (style sheet) of a document and a first component in the search result document associated with the first description part are extracted. At least a first level (style level) for setting access authority to the first description part in the conversion rule, and a second description part corresponding to the first component in the search request sentence A second level (query level) for setting an access right, and the structured document database in the structured document database identified based on a description of a third description part in the search request sentence associated with the second description part. Of the plurality of levels including the third level (data level) for setting the access authority to the second component corresponding to the first component, at least the level designated by the user is accessed. The access authority is set by determining the range of restricted users.
[0022]
According to the present invention, when a desired display area is designated by the user, the description portion of the style sheet corresponding to the designated display area and a search associated therewith are specified according to the level designated by the user. By specifying the components in the result document, the corresponding description part in the query, and the elements in the structured document database associated therewith, the access authority is set to the specified level. Can be done easily. The user can set the access authority to the components in the structured document database only by designating at least a desired display area and access level on the search result display screen.
[0023]
By setting the access authority to a level such as a style sheet or query, data that was not displayed when a certain style sheet was used will be displayed if another different style sheet is used. In search results using a certain query, it will be displayed. It is possible to set flexible access authority such that data that has not been displayed is displayed when other different queries are used. Further, when the access authority is set at a certain query level, this access authority is applied to any style sheet used for displaying the search result document obtained as a result of the query. Further, when the access authority is set at the data level, this access authority is applied regardless of which query or style sheet is used in order to use the component for which the access authority is set.
[0024]
When access authority is set at the query level, it is possible to set access authority according to the purpose of use for components in the structured document database. When the access authority is set at the style level, the access authority can be set according to the display format for the component in the structured document database.
[0025]
Further, the plurality of levels may include the second component included in another structured document having the same document structure as the structured document including the second component stored in the structured document database. By including a fourth level for setting the access authority to all the components that are the same as the element name, the description portion of the style sheet, the description portion in the query, the second component in the structured document database In addition, the level corresponding to the element having the same element name as the second component in the other structured document having the same document structure as the structured document including the second component is also provided. The access authority can be easily set in a lump by simply designating (fourth level).
[0026]
In particular, when the fourth level is designated by the user, the designation is made according to the logical structure in which a plurality of structured documents having the same document structure as the structured document including the second component are stored. When there is a document structure definition document (schema) that defines a document structure to be followed by a structured document stored in the structured database in a logical area, the first item in the document structure definition document The access authority for the component having the same element name as that of the second component may be set in the description part regarding the component having the same element name as that of the second component.
[0027]
Further, the conversion rule (style sheet) is for converting the search result document into a display document (HTML document) that displays at least element values of each component of the search result document in one display area. When the search result document is converted into a display document using the conversion rule, the correspondence between the description part of the display document and the description part in the conversion rule related to the description part When a relation is extracted and an arbitrary display area on the display screen is designated, the relation corresponding to the fourth description portion in the display document corresponding to the data displayed in the designated display area By extracting the first description part in the conversion rule based on the correspondence relationship, the first description part in the conversion rule associated with the data displayed in the designated display area can be easily extracted. That.
[0028]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0029]
Examples of structured documents include documents described in XML, SGML, and the like. SGML (Standard Generalized Markup Language) is a standard defined by ISO (International Organization for Standardization). XML (extensible Markup Language) is a standard defined by W3C (World Wide Web Consortium). Each is a structured document convention that allows documents to be structured.
[0030]
Hereinafter, description will be given by taking a document described in XML as a structured document. Data defining the document structure of a structured document (document structure definition data) is called a schema. In XML, schema languages such as XML-Schema and XDR (XML Data Reduced) have been proposed to define the schema. Here, for example, a description will be given of a case where a schema in XDR is described.
[0031]
The schema is also a structured document to be managed by the structured document management system of the present invention, and therefore may be called a schema document. In order to distinguish from a schema document, a document having various contents such as a patent specification, an email, a weekly report, and an advertisement may be referred to as a content document.
[0032]
In the structured document management system of the present invention, the schema document, the content document, and a query describing a search request content from a user as described later, that is, a query document is also managed, and these are collectively referred to as “ Called “Document”.
[0033]
Hereinafter, when there is no special notice, when referring to “document”, it means all content documents, schema documents, and query documents.
[0034]
First, XML will be briefly described before describing the embodiment.
[0035]
FIG. 3 shows an example of “patent” information as an example of a structured document described in XML. In XML and SGML, tags are used to express the structure of a document. A tag has a start tag and an end tag. By enclosing a component of document structure information with a start tag and an end tag, a character string (text) delimiter in the document and which component the text belongs to in the structure Can be clearly described.
[0036]
Here, the start tag is an element name closed with symbols “<” and “>”, and the end tag is an element name closed with symbols “</” and “>”. The content of the component following the tag is a text (character string) or a repetition of a child component. Further, attribute information such as “<element name attribute =“ attribute value ”>” can be set in the start tag. A component that does not include text, such as “<patent DB></ patent DB>”, can also be expressed as “<patent DB />” as a simple notation.
[0037]
The document shown in FIG. 3 has an element set starting from a “title”, “application date”, “applicant”, and “summary” tag as an element starting from the “patent” tag. . Further, for example, one element (character string) such as “XML database” exists in the element starting from the “title” tag.
[0038]
Structured documents such as XML usually contain arbitrary constituent elements, and the document structure is not determined in advance (cannot be defined by RDB (relational database) or OODB (object-oriented database) schema). is there.
[0039]
In order to logically express the structured document as shown in FIG. 3, a tree expression as shown in FIG. 4 is used. The tree is composed of nodes (numbered and indicated by circles), arcs (line with data connecting the circles representing the nodes), and text surrounded by a rectangle.
[0040]
A node corresponds to a document object, and a plurality of arcs with labels corresponding to tag names and attribute names appear from the node. The destination of the arc is a character string (text) as a node or element value. Alphanumeric characters (# 0, # 49) described in the node are object IDs.
[0041]
The tree structure shown in FIG. 4 is called the document object tree of the structured document shown in FIG.
[0042]
FIG. 1 shows an example of the structure of a structured document management system according to this embodiment. In FIG. 1, the structured document management system is roughly divided into a
[0043]
The system configuration of FIG. 1 can be realized using software.
[0044]
The access authority
[0045]
The
[0046]
The access
[0047]
The
[0048]
When a logical area in the
[0049]
The
[0050]
The
[0051]
As shown in FIG. 8, the structured document database can be expressed in the same manner as the tree structure of one structured document as shown in FIG. That is, the partial hierarchical tree (partial tree) below an arbitrary node is a structured document cut out from the structured document database, and here, this is called a document object tree. Each node is assigned an object ID. The object ID has a unique numerical value in the structured document database.
[0052]
It is assumed that an object ID “# 0” for specifying that the node is the root node is assigned to the node serving as the root of the hierarchical tree.
[0053]
A link is extended from the root node, that is, the node “# 0” to the node “# 1” having the “root” tag at the head. The “# 1” node has a link to the “# 2” node having the “patent DB” tag at the head. From the “# 2” node, links to a “# 42” node, a “# 52” node, and a “# 62” node having a “patent” tag at the head are provided.
[0054]
The “patent” information shown in FIG. 3 corresponds to a partial tree below the “# 42” node. From this node, a link is made to a node having “title” tag, “applicant” tag, “summary” tag, etc. at the head, and from the end node are “XML database”, “T company”. A link to a character string (element value) such as “Provide a database for uniformly managing XML” is provided.
[0055]
The partial tree below the “# 52” node and the partial node below the “# 62” node are also portions corresponding to one “patent” information.
[0056]
By the way, for example, the element value “XML database” linked to the “# 43” node is connected to the “# 43” node by a special tag name “#value”. Since the tag name starts with “#”, it cannot be used as a standard tag name in the XML standard.
[0057]
A structured document path is used to designate a specific node of such a structured document database. The structured document path is a character string that starts with “ux: /// root”. uix (Universal Identifier for XML) is a prefix character string indicating a structured document path.
[0058]
For example, “uix: // root / patent DB” corresponds to the node indicated by the arc to which “patent DB” is assigned from the “# 1” node, that is, the “# 2” node. In this way, the partial character string delimited by “/” from “root” is regarded as the tag name, and the corresponding arc is descended from the “# 0” node along the sequence of the tag name, and the last arc points to it. The node points to the path location.
[0059]
For example, “uix: // root / patent DB / patent” indicates a “# 42” node, and “uix: // root / patent DB / application date / year” indicates a “# 45” node.
[0060]
If multiple "patent" information is stored below the "# 2" node, that is, in the "patent DB", an index can be expressed in the structured document path to identify each "patent" information. It is.
[0061]
If it is the first “patent” information of “patent DB”, it will be “uix: // root / patent DB / patent [0]”, which is the same as “uix: // root / patent DB / patent” It is considered.
[0062]
If it is the second “patent” information of “patent DB”, if it is the fifth “patent” information of “uix: // root / patent DB / patent [1] DB”, then “uix: // root / Patent DB / Patent [4] ".
[0063]
The
[0064]
The element name occurrence index is an index file created by associating a list of element names stored in the structured document database with the position of the structured document (document object tree) having each element name at the head. For example, as in the structured document database of FIG. 8, a structured document whose element name “patent” (corresponding to “patent” information) is “# 42” node or less, and a structured document “# 52” node or less. , If they are indexed in the structured document below the “# 62” node, as shown in FIG. 9, their parent node, “# 2” node, is “patent” in the element name occurrence index file. Stored in a chain from the key.
[0065]
Thus, when indexing is performed at the parent node, the index file can be compressed. In other words, if indexing is performed at the parent node, the chain size does not increase because the parent node substitutes even if the child node increases. On the other hand, if the real nodes are indexed, the chain size increases in proportion to the increase in the number of stored “patent” information.
[0066]
The data occurrence index is an index file formed by associating a list of character string data stored in the structured document database with the position of the structured document (document object tree) where each character string data is stored. For example, as in the structured document database of FIG. 8, a structured document whose character string data “XML” (and a character string including a character string “XML”) is “# 43” or lower node, “# 49”. If they are present in the structured document below the node, as shown in FIG. 10, the “# 43” node and the “# 49” node are chained from the “XML” key to the data occurrence index file as shown in FIG. Stored.
[0067]
Note that other index files such as a reverse hierarchy index may be used. The reverse hierarchy index stores the correspondence between a certain node and its parent node (the parent node can be obtained from a certain node).
[0068]
The logical designation area in the
[0069]
Returning to the description of FIG.
[0070]
The
[0071]
The document object
[0072]
The document object
[0073]
The document object
[0074]
The document character
[0075]
From the path, the document object
[0076]
The
[0077]
The composite
[0078]
The
[0079]
The physical designation area in the
[0080]
A process for retrieving a document stored in the
[0081]
FIG. 2 shows one use form of the structured document management system shown in FIG. 1. In FIG. 2, the structured document management of the configuration shown in FIG. 1 is performed on the back end of the WWW (World Wide Web). The case where the system 100 is operating is shown.
[0082]
The
[0083]
Requests such as document storage, document acquisition, and document search from the user are transmitted from the
[0084]
The (1) storage function and (2) search function of the structured document management system in FIG. 1 will be described in detail below. In (3) Application Example, a case of patent search using concept search will be described as an example.
[0085]
(1) Storage function
The storage system commands in the structured document management system of FIG.
[0086]
insertXML (path, Nth, XML): document storage
appendXML (path, XML): document storage
getXML (path): Document acquisition
removeXML (path): Delete document
setSchema (path, schema): Schema storage
getSchema (path): Schema acquisition
“InsertXML” is a command (hereinafter simply referred to as an insert command) that inserts a document at the Nth position below the structured document path specified in ().
[0087]
“AppendXML” is a command for inserting a document at the end of the structured document path specified in () (hereinafter simply referred to as an add command).
[0088]
“GetXML” is a command for retrieving a document below the structured document path specified in () (hereinafter simply referred to as an acquisition command).
[0089]
“RemoveXML” is a command (hereinafter simply referred to as a delete command) for deleting a document below the structured document path specified in () (a document other than a schema document, mainly a content document).
[0090]
“SetSchema” is a command (hereinafter simply referred to as a schema storage command) for setting a schema in the structured document path specified in ().
[0091]
“GetSchema” is a command for retrieving the schema set in the structured document path specified in () (hereinafter simply referred to as a schema acquisition command).
[0092]
Among the above commands, processing for the insert command, addition command, and schema storage command is executed by the
[0093]
With reference to FIG. 5, the case where an additional command is executed in the initial state of the structured document database (see FIG. 5A) will be described.
[0094]
As shown in FIG. 5A, with respect to the initial state in which the “# 0” node and the “# 1” node are connected by the “root” arc,
“AppendXML (“ uix: // root ”,“ <patent DB /> ”)”
As a result of the above, as shown in FIG. 5B, a “# 2” node and a “patent DB” arc are created.
[0095]
A case where an acquisition command is executed on the structured document database in the state shown in FIG.
[0096]
For example, when “getXML (“ uix: /// root ”)” is executed, the document object tree below the “# 0” node indicated by the “root” arc in FIG. 5B is taken out, and is stored in the XML character string table. Convert to actual. As a result, as shown in FIG. 6, a character string “<root><patent DB /></root>” is extracted. The processing of the acquisition command is executed by the
[0097]
Next, when an additional command for storing “patent” information as a content document (XML document) as shown in FIG. 3 is executed for the structured document database in the state shown in FIG. Will be described. That is, in this case, “appendXML (“ uix: // root / patent DB ”,“ <patent>... </ Patent> ”)” is executed. In this command, ““ <patent>... </ Patent> ”” corresponds to the “patent” information shown in FIG.
[0098]
When the processing of the additional command is executed, as shown in FIG. 7, a document object tree (corresponding to FIG. 4) with the “# 42” node at the top is added below the “# 2” node.
[0099]
Assume that the following additional command is repeatedly executed three times for the structured document database in the state shown in FIG.
[0100]
"AppendXML (" uix: // root / patent DB ","<patent> ... </ patent>")"
In the above command, “<patent>... </ Patent>” corresponds to the content document having the document structure shown in FIG.
[0101]
Then, as shown in FIG. 8, a document object tree with “# 42” node, “# 52” node, and “# 62” node at the top is added below the “# 2” node.
[0102]
Next, a case where an acquisition command for extracting three pieces of “patent” information is executed on the structured document database in the state shown in FIG. 8 will be described. In this case, “getXML (“ uix: // root / patent DB ”)” is executed. Then, the document object tree below the “# 2” node indicated by the “patent DB” arc is extracted, and is converted into an XML character string representation (XML document). As a result, as shown in FIG. 11, a character string “<patent DB><patent> ... </ patent><patent> ... </ patent><patent> ... </ patent></ patent DB>” is extracted. It is.
[0103]
In the structured document database, data defining the document structure of the content document (XML document) such as the “patent” information, that is, the schema, is also managed.
[0104]
FIG. 12 shows an example of a schema that defines the document structure of an XML document. Here, XDR (XML-Data Reduced), which is one of XML document structure definition languages, will be taken up. Of course, other document structure definition languages such as XML-Schema may be used.
[0105]
The schema shown in FIG. 12 defines the document structure of the “patent” information shown in FIG. 3 in XDR. As can be easily seen from FIG. 12, the schema is also a structured document in the XML format. There is an element set that starts with a component starting with a “Schema” tag and starts with an “ElementType” tag as its child elements.
[0106]
In the schema shown in FIG. 12, for example, a child element starting from the first “ElementType” tag means the following information.
[0107]
A document structure definition of an element having a “patent” tag (“ElementType name =“ patent ””).
[0108]
A child element is only an element (“content =“ eltOnly ””).
[0109]
-It is composed of child elements starting with "title", "application date", and "summary" tags ("element type =" title ", ..."). Further, the order is uniquely determined (“order =“ seq ””).
[0110]
In addition to the document structure definition of the element starting from the “patent” tag, the document structure definition of “title”, “applicant”, “summary”, “year”, “month”, “day”, and “application date” is described. That is, the child element of the component starting from the “title”, “applicant”, “summary”, “year”, “month”, and “day” tags, excluding “application date”, is defined as text only (“content =“ textOnly ”). "").
[0111]
The child elements of the constituent elements starting from the “application date” tag are a sequence of “year”, “month”, and “day”.
[0112]
A case where a schema storage command for storing the schema document shown in FIG. 12 is executed on the structured document database in the state shown in FIG. 8 will be described. In this case, “set Schema (“ uix: // root / patent DB ”,“ <Schema>... </ Schema> ”)” is executed. In this command, ““ <Schema>... </ Schema> ”” corresponds to the schema document shown in FIG.
[0113]
By executing the above command, as shown in FIG. 13, a “#schema” arc is added below the “# 2” node, and a document object tree having the “# 3” node as a top node is added to the “# 3” node. The Since the schema itself is expressed as an XML document, the tree can be expanded as in the case of storing content documents such as the “patent” information described above.
[0114]
In FIG. 13, arcs beginning with “@” such as “@name” correspond to attributes. Since the tag name “#schema” also begins with “#” and “@”, it cannot be used as a standard tag name in the XML standard.
[0115]
Since the schema document shown in FIG. 12 is stored under the “# 2” node, the document structure of the documents to be stored below the “# 2” node is defined by the schema document shown in FIG. Conform to the document structure. That is, the schema shown in FIG. 12 is set below the “# 2” node.
[0116]
When the schema shown in FIG. 12 is set below the “# 2” node, as shown in FIG. 14, the document object file of the “# 2” node has a document object tree below the “# 2” node. Is set to an attribute value indicating that the schema exists.
[0117]
After the schema shown in FIG. 12 is set below the “# 2” node, the “patent” information shown in FIG. 3 that matches the document structure defined in this schema is shown in FIG. When the document object tree is stored in the structured document database, an attribute value indicating that the schema shown in FIG. 12 exists in the document structure of this document is set in each document object constituting the document object tree. . For example, “1” is set to an attribute value (for example, “schema conformity presence / absence”) indicating that a schema exists for each document object file constituting the document object tree. Each document object (node) conforming to the schema is indicated by a double circle, and each document object indicated by the double circle has a document structure definition corresponding to the document object.
[0118]
FIG. 15 conceptually shows the contents of a file of each document object. For example, a file of a document object whose object ID is “# 42” relates to another document object linked to the document object. The attribute value is described together with information (for example, an arc or a pointer value to a linked document object). Note that when there is no schema to be applied to the document object, the value of “existence of schema conformance” is “0”.
[0119]
FIGS. 16 and 17 show examples in which the conceptual hierarchy used in the search is expressed as a structured document as needed in the structured document management system of FIG. The “concept” information shown in FIGS. 16 and 17 is a content document described in XML.
[0120]
The example of “concept” information shown in FIG. 16 represents an “information model” used as one classification axis for classifying the contents of a patent document in a so-called patent search in a concept hierarchy. “Concept” information surrounded by “concept” tags has a document structure with a nested structure. That is, in the example of FIG. 16, there are a concept “document”, a concept “relation”, and a concept “object” as child concepts of the concept “information model”. Further, there are a concept “structured appeal” and a concept “unstructured document” as child concepts of the concept “document”, and a concept “XML” and a concept “ SGML "exists.
[0121]
The description example of the “concept” information illustrated in FIG. 17 represents a classification axis “information operation” different from that in FIG. In the example of FIG. 17, there are a concept “search”, a concept “store”, a concept “processing”, and a concept “distribution” as child concepts of the concept “information operation”.
[0122]
The “concept” information as shown in FIGS. 16 and 17 can also be stored in the structured document database in the same manner as the “patent” information described above. That is, for example, first, “appendXML (“ uix: // root ”,“ <concept DB /> ”)” is executed on the structured document database in the state shown in FIG. Thus, a “# 201” node and a “concept DB” arc are created. In this state, when “concept” information shown in FIG. 16 is stored, “appendXML (“ uix: // root / concept DB ”,“ <concept name>... </ Concept> ”)” is executed. . In this command, ““ <concept name>... </ Concept> ”” corresponds to the “concept” information shown in FIG.
[0123]
When the processing of the addition command is executed, as shown in FIG. 19, a document object tree with the “# 202” node at the top is added below the “# 201” node.
[0124]
As described above, in the structured document management system in FIG. 1, a large number of XML document groups (content documents, schema documents, query documents, etc.) having different document structures registered in the structured document database are displayed. 18. As shown in FIG. 19, it is handled as one large XML document in the form of a tree having a “root” tag at the head. Therefore, in order to access a partial XML document, it is possible to search and process a wide range of XML documents by using a unified access means that does not depend on the document structure, which is a path for a large XML document. .
[0125]
In addition, by setting a schema in a part of the structured document database, the validity of whether or not the document structure of the document to be stored matches the document structure defined by the schema is automatically checked. (See below).
[0126]
(1-1) Document storage processing
Next, the document storage processing operation of the structured document management system of FIG. 1 will be described with reference to the flowchart shown in FIG.
[0127]
When one of an insert command, an add command, and a schema storage command is transmitted as a document storage request from the client terminal to the structured document management system and received by the
[0128]
On a predetermined display device of the client terminal, for example, a screen as a user interface as shown in FIG. 31 provided from the structured document management system 100 (for example, the request control unit 1) is displayed.
[0129]
On the screen shown in FIG. 31, a list (menu) of operation items for the structured document management system 100 is displayed. The operation items include “XML registration / deletion”, “schema setting”, and “XML search”.
[0130]
For example, when the user selects “XML registration / deletion” on this screen using a pointing device such as a mouse, a screen as a user interface for storing / deleting a document as shown in FIG. 32 is displayed. Is done.
[0131]
In FIG. 32, in the area W1, element names (tag names) of the current tree structure of the document structured document database are simply displayed so that the user can understand them. In FIG. 32, only the element name of the upper layer is displayed, but it is possible to display the element name at the end. The area W2 is an input area for the structured document path, and the structured document path is input according to the display contents of the area W1. In the area W3, a document to be stored is input and the acquired document is displayed.
[0132]
For example, when “root” is input as the structured document path, “root” in the area W1 may be selected with a mouse or the like. Then, as shown in FIG. 32, “ux: // root” is displayed in the input area of the structured document path in the area W2. When a new element “patent DB” is added, “patent DB” is input in the area W3 as shown in FIG. When the “Register” button B1 is selected, an additional command “appendXML (“ uix: // root ”,“ <patent DB /> ”)” is transmitted from the client terminal to the structured document management system. In the structured document management system, as a result of executing the processing as described later upon receiving the additional command, for example, as shown in FIG. 5B, a “# 2” node and a “patent DB” arc are created. . In the area W1, “patent DB” is additionally displayed under “root” as shown in FIG.
[0133]
Now, the user inputs, for example, a document “<A> data </A>” into an area W3 on the document storage / deletion screen as shown in FIG. 34 (or a predetermined recording medium such as a CD-ROM). When “patent [0]” in the area W1 is selected with a mouse or the like, “uix: // root / patent DB / patent [0]” is entered in the structured document path input area W2. Is displayed. When the “Register” button B1 is selected, an additional command “appendXML (“ uix: // root ”,“ <patent DB /> ”)” is transmitted from the client terminal to the structured document management system.
[0134]
Here, for example, when the structured document database is in the state shown in FIG. 14, “appendXML (“ uix: // root / patent DB / patent [0] ”,“ <A> data </A> ”). ) ”Will be described as an example.
[0135]
Upon receipt of the additional command, the
[0136]
First, the
[0137]
If an error is found in the consistency check (step S3), a message “document storage failure” is returned to the client terminal via the
[0138]
If no error is found in the consistency check, the
[0139]
For example, in the case of the above addition command, since the “# 42” node becomes the document object Ox0, “# 42” is acquired as the object ID, and the document object tree including this “# 42” node (for example, “ A document object tree comprising all descendant nodes of the “# 42” node, all (sibling) nodes in the same hierarchy as the “# 42” node, and a “# 2” node that is a parent node of the “# 42” node) To get.
[0140]
If the corresponding document object Ox0 is not found from the specified structured document path, an error occurs (step S6), and a message “document storage failure” is sent to the client terminal via the
[0141]
For example, when the structured document database is in the state shown in FIG. 18 and the structured document path is represented as “ux: /// root / other” as a parameter of the additional command, the corresponding document is displayed. Since the object does not exist, an error occurs in step S6, and the process proceeds to step S7.
[0142]
Next, in step S8, it is checked whether or not a schema exists in the document object Ox0. As described above, since this attribute value is described in the file of each document object, this value may be checked. When the value of “whether or not schema conforms” of the document object Ox0 is “1”, the process proceeds to step S9.
[0143]
Hereinafter, the process of step S9 of FIG. 20 (process of the composite document creation unit 47) will be described in detail with reference to the flowchart shown in FIG.
[0144]
The
[0145]
The composite
[0146]
For example, in the structured document database shown in FIG. 14, a node (“# 3”) having a “Schema” tag at the top from the “# 2” node that is the parent node of the “# 42” node as the document object Ox0. The “# 2” node becomes the document object Ox1 because the link to the “node” is established (because it has the “Schema” tag as a child element). Therefore, step S22 is skipped and it progresses to step S23.
[0147]
The document object Ox0 is traced from this document object Ox1, and the arc is further traced from the document object Ox0, and a document object tree Ot1 composed of all the child nodes whose attribute value is “1” downstream from the document object Ox0 is extracted ( Step S23).
[0148]
For example, when the structured document path of the parameter in the additional command is designated as “uix: // root / patent DB / patent [0]”, the document object tree Ot1 includes “# 42” node to “#” 49 ”nodes (see FIG. 14).
[0149]
Next, the process proceeds to step S25.
[0150]
In step S25, the document object tree of the stored document is inserted into the document object tree Ot1 as a child node of the document object Ox0. The new document object tree obtained as a result is set as a document object tree Ot2.
[0151]
This document object tree Ot2 is converted into an XML document, which is output to a temporary file A (step S27).
[0152]
For example, the document object tree (in this case, one document object) of the parameter storage document “<A> data </A>” in the additional command is composed of “# 42” node to “# 49” nodes. FIG. 22 shows the result of converting the document object tree Ot2 of the synthesized document obtained by inserting the document object tree Ot1 as a child node of the “# 42” node into an XML document. This composite document is obtained by adding data “<A> data </A>” to the original “patent” information.
[0153]
The XML document shown in FIG. 22, that is, the synthesized document, is output to the temporary file A and temporarily stored in the temporary file A.
[0154]
On the other hand, the document object tree Ot3 below the schema tag is converted into an XML document and output to the temporary file B (step S28). In other words, the schema document is temporarily stored in the temporary file B.
[0155]
For example, FIG. 23 shows a result of converting a document object tree having the “# 3” node as the top node in the document object tree Ot3 into an XML document. The XML document shown in FIG. 23 is output to the temporary file B and temporarily stored in the temporary file B.
[0156]
As shown in FIG. 22, in the temporary file A (“tmp000.xml”), in addition to the original “patent” information element, a stored document, that is, “<A> data </ A > ”Is inserted. In addition, “xmlns =” x-schema: tmp001. There is a description of link information to the temporary file B (“tmp001.xml”), “xml” ”. This description specifies the temporary file B in which the schema applied to the “patent” information is output.
[0157]
Next, the description returns to FIG.
[0158]
In step S10, the
[0159]
For example, when the validity check is performed on the composite document shown in FIG. 22 and the schema shown in FIG. 23, the composite document includes an element “A” that is not defined by the schema. In the case of 23 composite documents, an error occurs in the validity check (step S11). In this case, a message “document storage failure” is returned to the client terminal via the
[0160]
For example, a message as shown in FIG. 35 is displayed on a predetermined display device of the client terminal.
[0161]
Next, when the structured document database is in the state shown in FIG. 14, an additional command “appendXML (“ uix: // root / patent DB ”,“ <patent>... / Patent> ”)” is accepted. The case will be described with reference to FIG. In the same manner as described above, the object ID “# 2” of the document object Ox0 is acquired (step S5). Since this document object has a schema (step S8), a composite document is created in step S9.
[0162]
In this case, since the link from the “# 2” node itself, which is the document object Ox0, to the node (“# 3” node) having the “Schema” tag at the top (the top) is established, the “# 2” node Becomes the document object Ox1 (step S21 in FIG. 21). That is, since the document object Ox0 and the document object Ox1 are the same (step S22), the process proceeds to step S29, and the document object tree of the stored document “<patent>... </ Patent>” is converted into an XML document and output to the temporary file A. (Step S29).
[0163]
For example, as shown in FIG. 24, “patent” information that is a stored document, that is, “<patent>... / Patent>” is output to the temporary file A (“tmp000.xml”). Yes. In addition, “xmlns =” x-schema: tmp001. There is a description of link information to the temporary file B (“tmp001.xml”), “xml” ”.
[0164]
Next, the process proceeds to step S28. As shown in FIG. 25, the temporary file B is output as a result of converting a document object tree having a schema whose top node is the “# 3” node into an XML document.
[0165]
When the validity check is performed on the composite document shown in FIG. 24 and the schema shown in FIG. 25 in step S10 in FIG. 20, the document structure of the composite document and the document structure defined by the schema are: In this case, the process proceeds from step S11 to step S13.
[0166]
In step S13, the document object tree of the stored document is added under the document object Ox0. That is, the
[0167]
Next, it progresses to step S14 and the index of the index memory |
[0168]
If the attribute value of the document object Ox0 is “0” in step S8, the process proceeds directly to step S13 without checking the validity of the document structure of the composite document using the above-described schema. Then, the document object tree of the stored document is added under the document object Ox0 (step S13), and accordingly, the index of the
[0169]
(1-2) Document acquisition processing
Next, the document acquisition processing operation of the structured document management system of FIG. 1 will be described with reference to the flowchart shown in FIG.
[0170]
When one of an acquisition command and a schema acquisition command is transmitted as a document acquisition request from the client terminal to the structured document management system and received by the
[0171]
For example, when the user selects (clicks) “patent DB” in the area W1 on the document storage / deletion screen as shown in FIG. 36 with a mouse or the like (“click”), the structured document path input area W2 displays “uix: // root / patent DB ”is displayed, and an acquisition command“ getXML (“uix: // root / patent DB”) ”is transmitted to the structured document management system.
[0172]
Here, for example, a case where the acquisition command “getXML (“ uix: // root / patent DB ”)” is received when the structured document database is in the state shown in FIG. 8 will be described as an example.
[0173]
When receiving the acquisition command, the
[0174]
The
[0175]
For example, in the case of the above acquisition command, the “# 2” node becomes the document object Ox5. Therefore, “# 2” is acquired as the object ID, and the document object tree Ot5 (“#” below this “# 2” node is acquired. 2 ”node,“ # 42 ”node to“ # 49 ”node,“ # 52 ”node and below,“ # 62 ”node and below) are acquired (step S35).
[0176]
In step S32, if the corresponding document object Ox5 is not found from the designated structured document path, an error occurs (step S33), and the
[0177]
The document object tree Ot5 acquired in step S35 is converted into an XML document by the document character
[0178]
The
[0179]
In the client terminal, the XML document shown in FIG. 11 is converted into HTML data using a style sheet and displayed in the area W2, for example, as shown in FIG.
[0180]
Using XSL, XML documents can be converted into various forms. It can be converted into an XML document with a different syntax, and an HTML page can be generated from the XML document.
[0181]
(1-3) Document deletion processing
Next, the document deletion processing operation of the structured document management system of FIG. 1 will be described with reference to the flowchart shown in FIG.
[0182]
When a deletion command is transmitted as a document deletion request from the client terminal to the structured document management system and received by the
[0183]
For example, when the user selects (clicks) “patent DB” in the area W1 on the document storage / deletion screen as shown in FIG. 36 with a mouse or the like (“click”), the structured document path input area W2 displays “uix: // root / patent DB ”is displayed. When the“ delete ”button B2 is selected, a delete command“ removeXML (“uix: // root / patent DB”) ”is transmitted to the structured document management system.
[0184]
Here, for example, when the structured document database is in the state shown in FIG. 14, a delete command “removeXML (“ uix: // root / patent DB / patent [0] / application date ”)” is accepted. A case will be described as an example.
[0185]
Upon receiving the delete command, the
[0186]
Next, the
[0187]
For example, in the case of the delete command, since the “# 44” node becomes the document object Ox0, “# 44” is acquired as the object ID, and the document object tree including the “# 44” node (for example, “ All descendant nodes of the “# 44” node, all (sibling) nodes in the same hierarchy as the “# 44” node, the “# 42” node that is the parent node of the “# 44” node, and the parent node “ Document object tree (# 2) node is acquired.
[0188]
If the corresponding document object Ox0 is not found from the designated structured document path, an error occurs (step S43), and a message “document deletion failure” is sent to the client terminal via the
[0189]
Next, in step S45, it is checked whether or not a schema exists in the document object Ox0. As described above, since this attribute value is described in the file of each document object, this value may be checked. When the attribute value of the document object Ox0 is “1”, the process proceeds to step S46.
[0190]
In the following, the processing in step S46 in FIG. 27 (processing by the composite document creation unit 47 (for deletion command)) will be described in detail with reference to the flowchart shown in FIG.
[0191]
In FIG. 28, the same parts as those in FIG. 21 are denoted by the same reference numerals.
[0192]
The
[0193]
The composite
[0194]
For example, in the structured document database shown in FIG. 14, a node (“# 3”) having a “Schema” tag at the top from the “# 2” node upstream of the “# 44” node as the document object Ox0. Since a link to (node) is established (because it has a “Schema” tag as a child element), this “# 2” node becomes the document object Ox1.
[0195]
The document object Ox0 is traced from this document object Ox1, and the arc is further traced from the document object Ox0, and a document object tree Ot1 composed of all the child nodes whose attribute value is “1” downstream from the document object Ox0 is extracted ( Step S23).
[0196]
For example, when the structured document path of the parameter in the additional command is specified as “uix: // root / patent DB / patent [0] / application date”, the document object tree Ot1 includes a “# 42” node. To "# 49" nodes (see FIG. 14).
[0197]
In step S26, the document object tree below the document object Ox0 is deleted from the document object tree Ot1. The new document object tree obtained as a result is set as a document object tree Ot2.
[0198]
This document object tree Ot2 is converted into an XML document, which is output to a temporary file A (step S27).
[0199]
For example, the document object tree below the “# 44” node indicated by the structured document path “uix: // root / patent DB / patent [0] / application date” of the parameter in the delete command is set to the “# 42” node˜ FIG. 29 shows a result of converting the document object tree Ot2 of the composite document obtained by deleting from the document object tree Ot1 configured with the “# 49” node into an XML document. This composite document is obtained by deleting data “<application date>... </ Application date>” from the original “patent” information.
[0200]
The XML document shown in FIG. 29, that is, the composite document, is output to the temporary file A and temporarily stored in the temporary file A.
[0201]
On the other hand, the document object tree Ot3 below the schema tag is converted into an XML document and output to the temporary file B (step S28). In other words, the schema document is temporarily stored in the temporary file B.
[0202]
For example, FIG. 30 shows a result of converting a document object tree having the “# 3” node as the top node in the document object tree Ot3 into an XML document. The XML document shown in FIG. 30 is output to the temporary file B and temporarily stored in the temporary file B.
[0203]
Next, the description returns to FIG.
[0204]
In step S47, the
[0205]
For example, when the validity check is performed with the composite document shown in FIG. 29 and the schema shown in FIG. 30, the composite document does not have an element “application date” defined by the schema. The composite document in FIG. 29 results in an error in the validity check (step S48). In this case, a message “document deletion failure” is returned to the client terminal via the
[0206]
When the structured document database is in the state shown in FIG. 14, if a delete command “removeXML (“ uix: // root / patent DB / patent [0] ”)” is processed according to FIG. 28, the composite document as shown in FIG. 24 is output to the temporary file A in step S27. The temporary file B is the same as that shown in FIG.
[0207]
At this time, when the validity check is performed on the composite document shown in FIG. 24 and the schema shown in FIG. 30, the document structure of the composite document matches the document structure defined by the schema. The process proceeds from step S48 to step S50.
[0208]
In step S50, the document object tree below the document object Ox0 is deleted. That is, the document object
[0209]
Next, it progresses to step S51 and the index of the index memory |
[0210]
If the attribute value of the document object Ox0 is “0” in step S45, the process proceeds to step S50 without checking the validity of the document structure of the composite document using the schema described above. The document object tree below the document object Ox0 is deleted (step S50), and the index in the
[0211]
(1-4) Schema setting and document storage using schema
When the user selects “Schema setting Win” on the screen shown in FIG. 31 using a pointing device such as a mouse, a screen as a user interface for setting the schema shown in FIG. 37 is displayed. Is done.
[0212]
For example, when the user inputs a schema of “patent” information as shown in FIG. 12 in the area W3 and sets the input schema to a node below the “patent DB”, the “patent” After selecting “DB” by clicking with the mouse or the like (“ux: // root / patent DB” is displayed in the area W2), the “Schema setting” button B3 is selected. Then, a schema storage command “setSchema (“ uix: // root / patent DB ”,“ <Schema>... </ Schema> ”)” is transmitted to the structured document management system. Processing of this command is the same as the document storage processing operation described above.
[0213]
Next, when storing "patent" information under "uix: // root / patent DB", enter "patent" information using the schema already set in the nodes below "patent DB" The case where it does is demonstrated.
[0214]
First, get the schema. For example, if “schema” is selected from the area W1 of the screen for storing / deleting a document as shown in FIG. 38 by using a mouse or the like, “ux: // root / patent” is entered in the input area W2 of the document path. “DB / # Schema” is displayed, and a schema acquisition command “getXML (“ uix: // root / patent DB / Schema ”)” is transmitted to the structured document management system.
[0215]
Processing of this command is the same as the document acquisition processing described above. The XML document returned from the structured document management system is displayed in the area W3 of the screen in FIG.
[0216]
As shown in FIG. 38, a data input area for “patent” information is set and displayed for each element in the area R3. According to this display, the user may input data. For example, data input areas such as “title” and “year” are arranged hierarchically and displayed. The user can easily create a stored document having a document structure defined by the schema by inputting data in the data input area.
[0217]
Further, when “patent DB” is selected in the area W1 using a mouse or the like as the storage destination of the “patent” information input in the area W3, “uix: // root / patent DB” is used as a structured document path in the area W2. Is displayed. Thereafter, when the “Register” button B1 is selected, an additional command “appendXML (“ uix: // root / patent DB ”,“ <patent>... </ Patent> ”)” is transmitted to the structured document management system. .
[0218]
In this case, since the stored document is input in accordance with the schema in advance, an error does not occur in the validity check in step S10 in FIG.
[0219]
(2) Search function
The search commands in the structured document management system of FIG.
[0220]
query (ql)
“Query” is a command (hereinafter referred to as a search command) that executes the query ql in () as a parameter and acquires the resulting XML document.
[0221]
As shown in FIG. 39, the query is a structured XML document in which a search position, a search condition, an information extraction portion, and the like are described in a language similar to SQL (Structured Query Language). The query document is also a management target of the structured document management system of the present invention.
[0222]
The element starting from the “kf: from” tag has a description for associating a variable with the specification of the search position and the value of the document element, and the element starting from the “kf: where” tag has a description of conditioning regarding the variable , The output format of the search result is described in the element starting from the “kf: select” tag.
[0223]
Search includes simple search and concept search. Simple search searches and extracts information that satisfies the search conditions specified in the query, and concept search uses the concept information specified in the query to search specified in the query. It searches and extracts information that satisfies the conditions.
[0224]
FIG. 40 shows an example of a simple search query. The query shown in FIG. 40, for example, in the “patent” information document group stored below the node indicated by the “patent DB” arc in the structured document database in the state shown in FIG. In addition, this means a search request “list enumeration of“ titles ”of documents (“ patent ”information) having an element of“ summary ”such as“ PC ”.
[0225]
Document elements of “Title”, “Year”, and “Summary” of “Patent” information are respectively added to the variables “$ t”, “$ y”, and “$ s” by the description of the element that starts with the “kf: from” tag. The value of is assigned.
[0226]
The variable “$ y” = “1999” is compared based on the description of the element starting from the “kf: where” tag. The component “MyLike” is a function for detecting the variable “$ s” having a value similar to “PC” with the variables “$ s” and “PC” as arguments.
[0227]
The variable “$ t” is used as the output value by the description of the element starting from the “kf: from” tag.
[0228]
The “kf: star” tag is an ambiguous expression of the structure. For example, “<patent><kf:star><year>” exists as a descendant element of an element whose tag name is “patent”. And an element whose tag name is “year”.
[0229]
FIG. 41 shows a search result using the simple search query of FIG. This search result (search result document) is also an XML document. This search result document is a document structure document according to the output format of the search result described in the element starting from the “kf: select” tag, and a structured document database that satisfies the search conditions specified in the query. It may be generated by synthesizing the components inside.
[0230]
FIG. 42 shows an example of a query for concept search. The query shown in FIG. 42, for example, with respect to a document group of “patent” information stored under the node indicated by the “patent DB” arc in the structured document database in the state shown in FIGS. This is a search request for searching using “concept” information stored under the node indicated by the “concept DB” arc. Here, the values of the child elements of the tag having the value of the concept “peripheral device” include the concepts “SCSI”, “memory”, “HDD”, and the like. Further, although not shown in FIG. 18, it is assumed that elements of each “patent” information include elements starting from “keyword” tags.
[0231]
That is, the query of FIG. 42 means a search request “list enumeration of“ titles ”of documents (“ patent ”information) having any of the concepts below“ peripheral devices ”as the value of the element“ keyword ”. is doing.
[0232]
By the description of the element starting from the “kf: from” tag, the values of the elements “title” and “keyword” of the “patent” information are substituted into the variable “$ t” and the variable “$ k”, respectively. The variable “$ x” is substituted with the values of tag child elements (“SCSI”, “memory”, “HDD”, etc.) having the value of “peripheral device” as “concept” information.
[0233]
A comparison of “$ k” = “peripheral device” or “$ k” = “$ x” is made based on the description of the element starting from the “kf: where” tag.
[0234]
Next, the document search processing operation of the structured document management system of FIG. 1 will be described with reference to the flowchart shown in FIG.
[0235]
When the user selects “XML search Win” using a pointing device such as a mouse on the screen shown in FIG. 31, a screen as a user interface for performing a document search as shown in FIG. 44 is displayed. .
[0236]
In the search screen of FIG. 44, the element name (tag name) of the current tree structure of the structured document database is simply displayed in the area W1 so that the user can understand, as described above.
[0237]
The area W2 is an area for inputting a search target range (search range on the tree structure), search conditions, and the like. A search result is displayed in the area W3.
[0238]
For example, among documents having “patent” under “uix: // root” as the first tag, a document created after “1998” including the character string “document” in the “title” tag is created. In the case of a search request “search,” “root” is selected from the area W1 with a mouse or the like, and a structured document path is input as a search target range. Then, “patent” is input as the top node (in this case, “patent” may be input from the area W1 by selecting with a mouse or the like). Further, as a search condition, a data input area in which contents of “the element value“ title ”includes the character string“ document ”” and “the value of the element“ year ”is“ 1998 ”or more” are set in advance. You can enter in
[0239]
Thereafter, by selecting the “search” button B21, for example, a query as shown in FIG. 45 is transmitted to the structured document management system together with an additional command for storing the query on the structured document database. The storage location of the query is determined in advance, and the system side automatically sets the parameter of this additional command. For example, when the structured document database is in the state shown in FIG. 18, the structured document path as a parameter indicating the storage location of the query is “uix: // root / query DB”. The other parameter of the additional command is the query document.
[0240]
When receiving the query (step S101), the
[0241]
For example, in the case of the query as shown in FIG. 42, the “# 301” node indicated by the structured document path “uix: // root / query DB” is expanded in the structured document database as shown in FIG. Linked to:
[0242]
On the other hand, the search
[0243]
For example, in the case of the above query, it is efficient to narrow down the search target by first searching for a query that satisfies the condition “character string“ document ”is included in the“ title ”tag” ”. Therefore, the object ID of the node (document object) linked to the character string “document” is obtained using the data occurrence index as shown in FIG. Then, for each of them, the document object tree is moved up one upstream, and when the tag name “title” is reached, further upstream is reached. When the tag name “patent” is reached, the node The following document object tree Ot11 is extracted.
[0244]
Next, a document object tree Ot12 whose element value “year” is “1998” or more is extracted from the extracted document object trees Ot11.
[0245]
This document object tree Ot12 is a document that matches the contents of the query. Further, according to the request contents of the query, a structured document path to the top node of each document object tree Ot12 is obtained (step S102).
[0246]
The search process is not limited to the above-described method, and various efficient search methods using index information are possible.
[0247]
The search
[0248]
For example, the XML document of the search result is
It becomes.
[0249]
The search
[0250]
In the client terminal, the XML document shown in FIG. 11 is converted into HTML data using a style sheet, and displayed in the area W12, for example, as shown in FIG.
[0251]
Similarly, a schema can be searched.
[0252]
For example, in the case of a search request “search for a schema having tag names“ patent ”and“ summary ”from documents having“ schema ”below“ uix: /// root ”as the first tag, As shown in FIG. 47, “root” is selected from the area W1 with a mouse or the like, and a structured document path is input as a search target range. Then, “#schema” is input as the top node. In addition, if a search condition is entered in the data input area set in advance, the contents of “element attribute name includes character string“ patent ”” “element attribute name includes character string“ summary ”” Good.
[0253]
Thereafter, by selecting a “search” button B21, the query describing the search request (see FIG. 48) is transmitted to the structured document management system together with an additional command for storing the query on the structured document database. Is done.
[0254]
In the case of the above query, for example, a search is made that matches the condition of “having“ #schema ”as the first tag”. Therefore, using the element name occurrence index as shown in FIG. 9, the object ID of the (document object) of the node linked to the element “#schema” is obtained. Then, for each of them, the arc is traced downstream in the document object tree, and when the attribute name reaches the elements “patent” and “summary”, the document object tree having “#schema” as the top tag Extract Ot21. This document object tree Ot21 is a document that matches the contents of the query. Further, according to the request contents of the query shown in FIG. 48, a structured document path to the top node of each document object tree Ot21 is obtained.
[0255]
If there are a plurality of document object trees Ot21, the search
[0256]
In the client terminal, the XML document received as the search result is converted into HTML data using a style sheet, and displayed in the area W12 as shown in FIG. 44, for example.
[0257]
In the client terminal, when one schema in the search result is selected and displayed, for example, the “patent” information is displayed in the area W3 together with a screen for storing / deleting a document as shown in FIG. The data input area is set and displayed for each element.
[0258]
The user can easily create a stored document having a document structure defined by the schema by inputting data in the data input area.
[0259]
For example, when “patent DB” is selected in the area W1 using a mouse or the like as the storage destination of the “patent” information input in the area W3 in FIG. 38, “uix: /// root” is used as a structured document path in the area W2. / Patent DB ”is displayed. Thereafter, when the “Register” button B1 is selected, an additional command “appendXML (“ uix: // root / patent DB ”,“ <patent>... </ Patent> ”)” is transmitted to the structured document management system. .
[0260]
In this case, since the stored document is input in accordance with the schema in advance, an error does not occur in the validity check in step S10 in FIG.
[0261]
Similarly, queries can be searched. It is also possible to search for a query, process an existing query obtained as a search result, and reuse the query (reuse of query).
[0262]
The query search is performed in the same manner as the structured document search described above, and the search range is a partial document object tree on the structured database in which the query group is stored.
[0263]
For example, a case will be described in which a query including “patent DB” in the “kf: from” tag is searched from the structured document database in the state shown in FIG. A query describing such a search request is shown in FIG.
[0264]
The query shown in FIG. 49 searches for a query including “patent DB” in the “kf: from” tag from queries existing under the “# 301” node indicated by “uix: // root / query DB”. , Enumerate its contents (document object tree documents below the element whose tag name is “query”) ”.
[0265]
The document object tree below the element whose query tag name is “query” including “patent DB” in the “kf: from” tag is substituted into the variable “$ elt” in the contents of the “kf: as” tag. The
[0266]
When the search
[0267]
When a plurality of document object trees Ot31 are retrieved, they are integrated to create an XML document, which is returned to the client terminal together with the style sheet.
[0268]
In the client terminal, when one query in the search result is selected and displayed, for example, the query is displayed in the data input area in the area W11 of the search screen shown in FIG. The contents of the search request described in is displayed.
[0269]
From this state, the user includes the character string “document” in the “title” tag from among documents having “patent” below “uix: // root” as the top tag, and after “1998”. If “document” in the search request described in the query “search the created document” is changed to “XML”, and the “search” button B21 is selected, “uix: // root” or less A query that means “search for documents created after“ 1998 ”containing the character string“ XML ”in the“ title ”tag from among documents having“ patent ”in the top tag” is a structured document. Sent to the management system.
[0270]
As described above, in the structured document management system in FIG. 1, a large number of XML document groups (content documents, schema documents, query documents, etc.) having different document structures registered in the structured document database are displayed. 18. As shown in FIG. 19, it is handled as one large XML document in the form of a tree having a “root” tag at the head. Accordingly, it is possible to easily search for a document that matches the search condition from among a large number of documents having different schemas and different schemas.
[0271]
Further, since the query used for the search is also a structured document, an application that reuses a past query can be easily constructed by storing the query in the structured document database as a log.
[0272]
(3) Application examples
Next, an application example of the concept search to patent search will be described.
[0273]
FIG. 50 shows an example of a structured document database in patent research, in which “concept” information is stored in addition to “patent” information.
[0274]
In patent research, the most important task is to collect related “patent” information, analyze the “patent” information from various viewpoints, and create a patent map (see FIG. 54). Conventionally, in order to create a patent map, the vertical axis and the horizontal axis in the patent map are determined in advance, and in accordance therewith, a search is sequentially performed using an arbitrary item aligned on the vertical axis and an arbitrary item aligned on the horizontal axis. The method of doing was taken and this part was very expensive. However, by using the structured document management system of the present invention, the cost of this part can be greatly reduced.
[0275]
Here, the map refers to a search result using an arbitrary item arranged on the vertical axis (y axis) and an arbitrary item arranged on the horizontal axis (x axis) as a search condition, and the x axis and the y axis are classified axes. It is classified and arranged as.
[0276]
In the structured document management system of the present invention, when a user of a client terminal tries to create a patent map as shown in FIG. 54, the user has a structure as shown in FIG. 50 displayed on the display device on the client terminal. Referring to the current tree structure of the document database, on the search screen as shown in FIG. 51, the path of “patent” information to be analyzed and the analysis axes (for example, x-axis and y-axis) Are input to the areas W21 and W22, respectively. The element serving as the axis of analysis may be either “patent” information element or “concept” information element in the structured document database.
[0277]
For example, in FIG. 51, elements of “concept” information, “function” on the x-axis and “technology” on the y-axis, are input.
[0278]
Thereafter, when the user selects the “execute” button B31, a query as shown in FIG. 52 is sent from the client terminal to the structured document management system of FIG.
[0279]
In the query in this case, the concept “stored in the node indicated by the“ concept DB ”arc from the document group of the“ patent ”information stored in the node indicated by the“ patent DB ”arc is stored. Search for “patent” information that includes one of the child elements of “function” and one of the child elements of the concept “technology” in the values of elements such as “keyword” and “summary”. As a search result, list a set of “function” child elements, “technology” child elements, and “patent” information “publication numbers” corresponding to them. Is a search request meaning "."
[0280]
The concept “function” has child elements “search”, “storage”… “analysis support”, and the concept “technology” has child elements “implementation database”, “anti-structure database”, “natural language processing”, etc. It shall be.
[0281]
The search
[0282]
Upon receipt of these, a tabular patent map as shown in FIG. 54 is displayed on the display device of the client terminal.
[0283]
In this way, simply by specifying the desired concept as an “axis”, the information stored in the structured document database can be aggregated and classified based on the concept specified as the “axis” and displayed on a map. Yes. That is, the information stored in the structured document database can be easily aggregated and classified from various viewpoints using “concept” information.
[0284]
(Access authority setting)
Here, the case of the usage mode shown in FIG. 2 (the usage mode in which the structured document management system 100 having the configuration shown in FIG. 1 operates in the back end of the WWW) will be described as an example. That is, as shown in FIG. 2, the
[0285]
Requests such as document storage, document acquisition, and document search from the user are transmitted from the
[0286]
A configuration example of a main part of the
[0287]
It is assumed that the XML document as the query execution result is sent from the structured document management system 100 to the
[0288]
As described above, the query is a structured XML document describing a search position, a search condition, an information extraction part, and the like. The query document is also a management target of the structured document management system of the present invention. Here, a query for searching for a desired component based on the logical structure of the structured document database will be described as an example.
[0289]
When the XML
[0290]
Assume that an identifier SID is given in advance to each description portion of the style sheet sent from the structured document management system 100. For example, this identifier SID may be written in the style sheet in advance as a comment sentence (a sentence in a description format that is not displayed in the browser even if it is not a comment sentence).
[0291]
First, the
[0292]
The
[0293]
The access authority is set based on the display screen of the
[0294]
For example, when the user performs a predetermined instruction operation for starting setting of access authority with the
[0295]
If a display area to which access authority is to be set is selected with a mouse or the like, the
[0296]
The access
[0297]
Further, the access
[0298]
Of the components shown in FIG. 55, components other than the
[0299]
Next, the access authority
[0300]
The access authority
[0301]
The access
[0302]
The access
[0303]
FIG. 59 schematically shows a part of the logical structure of the structured document database. When new XML documents are registered in the structured document database, each XML document can be referred to as a partial document of one large XML document called “root”. In the structured document database shown in FIG. 59, “report” information as an XML document is stored below the “report DB” node, and “employee” information as an XML document is also “employee DB”. The “patent” information as an XML document is stored below the “patent DB” node.
[0304]
FIG. 60 shows one partial document corresponding to the “report” information below the “report DB” node as an example of a structured document described in XML, and FIG. 3 shows three partial documents corresponding to the “employee” information below the “employee DB” node.
[0305]
FIG. 62 shows a screen display example of the
[0306]
As described above, the element starting from the “kf: from” tag of the query has a description of associating a variable with the specification of the search position and the value of the document element, and the element starting from the “kf: where” tag relates to the variable. There is a description of conditioning, and an output format of a search result is described in an element starting from a “kf: select” tag. By executing a query, in the case of a simple search, information that satisfies the search conditions specified in the query is searched and extracted, and in the case of a concept search, the concept information specified in the query is used. Search and extract information that satisfies the search conditions specified in the query. Then, the search
[0307]
In this state, the
[0308]
An outline of an operation procedure for setting access authority on the
[0309]
(A) Designate (select) a displayed area of a character string or image for which access authority is to be set from the display screen. Here, the designated character string, image, or the like corresponds to the element name or element value of the element constituting the XML document in the structured document database.
[0310]
(B) Designate (select) a range of users to set access authority. It is assumed that the access authority can be set for each user, or can be set for a specific group consisting of a plurality of users (for example, for each department in a company organization). The former is called access authority setting for an individual, and the latter is called access authority setting for a group.
[0311]
(C) Specify (select) an access level. Here, the access level includes style, query, data, schema, and path. The style level sets access authority for each style sheet. If the display format is different, the same component may or may not be displayed. In addition, the query level sets the access authority for each query document. When the access authority is set at the query level, even if it is the same component for users whose access is restricted at this level, Depending on the query used to obtain the component (ie, the usage of the component is different), it may or may not be displayed. The data level is used to set access authority for a component in the XML document to be searched that is stored in the structured document database. A user whose access is restricted at this level is assigned to the component. On the other hand, even if the query or style is different, it is inaccessible (not visible). Furthermore, the schema level and the path level are used to set access authority for components with the same element name in a structured document having the same document structure in the structured document database, and users whose access is restricted at this level. From the point of view, such components are inaccessible (not visible) even if the query or style is different.
[0312]
(D) Designates (selects) a display method of data displayed in the area designated in (a) above (referred to here as access mode or access type). As an access type, it can be roughly divided to display nothing in the display area, display it in black, or hide it so that you do not know whether there is data displayed there or not The special display (special display) can be set. The special display is a display in which some data is displayed in the display area so that it cannot be determined what the data is. For example, the special display is displayed in the area specified in (a) above. It is to display a character string, an image, etc. with face-down characters or display with a mosaic. It is possible to select whether to display with a hidden character or to display with a mosaic, etc. Also, when selecting a hidden character, it is possible to select what hidden character is used (for example, “○”, “×”, etc.) is there.
[0313]
As shown in FIG. 62, the XML document to be displayed is displayed on the display screen of the
[0314]
The data displayed on the display screen is only display data (for example, in the case of the above example, a combination of components extracted from a plurality of XML documents), and the structured document database includes a display screen. An XML document with a street structure does not exist. Therefore, in the access authority
[0315]
Now, a method of actually setting access authority from the display of FIG. 62 will be described. The display of FIG. 62 is an XML document obtained as a result of combining (processing) the constituent elements of a plurality of XML documents in the structured document database, converted into HTML format through a style sheet, and displayed in a browser. It is a thing. An XML document to be displayed is shown in FIG. FIG. 64 shows the applied style sheet.
[0316]
When the XML document shown in FIG. 63 is converted into an HTML document, as described above, an identifier is assigned to each description part of the HTML document (for example, a character string to be displayed surrounded by a predetermined tag). An HID is given, which is shown in FIG. FIG. 65 shows not the HTML document itself but the same display screen as FIG. 62 that displays what kind of identifier HID is given to what descriptive part in the HTML document for the sake of simplicity. The identifier HID (here, for example, HID1 to HID18) is shown as a code for each description part. Here, one description portion in the HTML document given the identifier HID corresponds to one display area. That is, as shown in FIG. 65, it is assumed that one description portion corresponds to one display window (text box) and an HID is given.
[0317]
In the XML /
[0318]
For example, in FIG. 65, the description part in the HTML document to which the identifier “HID6” is given displays the character string “reporter” in the display area 306 (see FIG. 62), and the identifier “HID7 The description portion in the HTML document to which “is given” displays the character string “Taro Yamada” in the display area 307 (see FIG. 62). These two description parts are generated from the element described in the sixth line of the XML document in FIG. 63 according to the description of the description part given the identifier “SID4” of the style sheet shown in FIG. is there. Therefore, the
[0319]
FIG. 88 shows a part of the HTML document corresponding to the display screen shown in FIG. For example, FIG. 65 shows an example of a description portion given identifiers “HID1”, “HID2”, “HID3”, “HID6”, and “HID7”. In these description portions, identifiers “HID1”, “HID2”, “HID3”, “HID6”, and “HID7” are shown as codes.
[0320]
For example, as in the description part of the HTML document shown in FIG. 88 (the description part given the identifier “HID7”) for displaying the character string “Taro Yamada” in the
[0321]
Such function embedding can be instructed by the style sheet shown in FIG. That is, for example, an instruction for embedding the above function in the description portion of the HTML document given the identifier “HID7” is described in the
[0322]
In this way, by using a well-known style sheet, when converting an XML document to be displayed into an HTML document, one display area is made to correspond to one description part in the HTML document given the identifier HID. When the display area is instructed with a mouse or the like, an event function “func ()” for notifying the
[0323]
The
[0324]
Now, in the state where the display as shown in FIG. 62 is being performed, when the user performs a predetermined instruction operation for starting setting of access authority via the
[0325]
For example, a character string “Taro Yamada” on the display screen of FIG. 62 is displayed, and a display area (text box) 307 predetermined for displaying the character string is selected using a mouse or the like. Suppose that The identifier of the description portion in the HTML document for displaying the selected text box is “HID7”. Upon detecting this, the
[0326]
The access
[0327]
Next, the user range for setting the access authority is selected (step S114 in FIG. 57). At this time, the access
[0328]
Next, an access level is selected (step S115 in FIG. 57). At this time, the access
[0329]
Further, the access type is selected (step S116 in FIG. 57). At that time, the access
[0330]
Finally, when the user performs a predetermined operation instructing completion of access authority setting, the information collected as described above is transmitted from the
[0331]
In the access authority setting request, for example, the XML document that is the object of setting the access authority in the client terminal device 102 (the display object), the style sheet used when displaying the XML document on the screen, and the XML document are displayed. It is desirable that information for specifying the query used for obtaining is included.
[0332]
Next, the processing operation of the access authority
[0333]
When the SID, the user range, the access level, and the access type sent from the
[0334]
When the access level is designated as style (step S123), the access
[0335]
If the access level is not style, the process proceeds to step S125.
[0336]
In the above step S122, the element specified by the path “” / report list / report / reporter / name ”in the XML document (search result document) to be displayed and having the element value“ Taro Yamada ” Was acquired. That is, this means that the element described in the sixth line is specified in the XML document to be displayed shown in FIG. 63 (step S125).
[0337]
The XML document shown in FIG. 63 is an XML document obtained by executing a query as shown in FIG. Note that the identifier of the query shown in FIG. 77 is “QRY1”. Therefore, a resource in the structured document database is searched based on this query.
[0338]
Next, the query is analyzed, and a description portion corresponding to the element path obtained in step S125 is acquired from the query (step S126). For example, a query analysis method will be described with reference to the query shown in FIG. 77 and the XML document shown in FIG. 63 obtained by executing this query. It is assumed that an identifier QID is given in advance to each description part of all queries stored in the structured document database.
[0339]
First, it is understood that the path in the XML document of the element “<name> Taro Yamada </ name>” described in the sixth line of FIG. 63 is “report / reporter / name”. Therefore, focus on the part that creates this element in the query. This can be understood by examining the description part of the query output format, that is, the description part enclosed by the <kf: select> tag. In this case, in FIG. 77, the description that created the element “<name> Taro Yamada </ name>” from the description format (document structure) defined in the description section enclosed by the <kf: select> tag. It can be easily determined that the part is “<name> $ name </ name>” with the identifier “QID5”.
[0340]
When the access level is designated as a query (step S127), the access
[0341]
Next, based on the description of the query, the element (path) where “<name> Taro Yamada </ name>” stored in the structured document database, that is, “<name> Taro Yamada </ name>” is stored. Search is performed (step S129). Here, first, a description portion in which the variable “$ name” is associated as an element value is searched from the description portion surrounded by <kf: from> tags in the query. In this case, in the description part of the 16th and 22nd lines, the variable “$ name” is associated with each element value of the elements “reporter” and “name”. That is, the description part “<name> $ name </ name>” with “QID5” is added to the “” ux: // root / report DB ”in the description part enclosed by the <kf: from> tag. "<Reporter> $ name </ reporter>" and "" ux: // root / employee DB "" and below "<name> $ name </ name>" are output as output results. It turns out that it is the description for doing. Further, since the variable “$ name” is text and “Taro Yamada” is designated, the path in the database is further searched on the condition.
[0342]
Therefore, the access
[0343]
In the case of the above example, the text box displaying the character string “Taro Yamada” of HID7 on the display screen of FIG. 65 is designated as the area for setting the access authority. The query shown in FIG. 78 and FIG. 79 uses a component having the element value “Taro Yamada” as a search condition, but if a text box displaying the character string “reporter” of HID6 is specified. If so, it is not necessary to use a component having the element value “Taro Yamada” as a search condition. That is, there is no need for a description part surrounded by <kf: where> tags.
[0344]
As described above, the search
[0345]
For example, the path of the
[0346]
When the access level is designated as data (step S131 in FIG. 71), the access
[0347]
On the other hand, if the access level is designated as a schema (step S133), the process proceeds to step S134 to check whether the schema is set in the path acquired in step S130. For example, when a path “uix: // root / report DB / report [0] / reporter” is acquired in step S130, a component (node) “reporter” identified by this path is obtained. If the attribute value indicating that the schema exists is set in 301 (step S134), the access authority is set for the description portion corresponding to the “reporter” component of the schema document. That is, the access
[0348]
For example, in the case of the above example, it is assumed that the schema document shown in FIG. 81 is stored under the “report DB” node including the component (node) 301 “reporter”. In the schema document shown in FIG. 81, a description portion corresponding to the
[0349]
Thus, by setting the access authority to the schema, the storage area in the structured document database in which this schema is set (for example, in the case of the above example, the storage area below the “report DB” node) is set. The same access authority registered in the schema access authority table is applied to all stored structured documents to which this schema is applied.
[0350]
Now, the access level can also be set for a path. For example, as shown in FIG. 82, a plurality of “report” information (structured documents) is stored under the “report DB” node. Each of the plurality of “report” information has a component (node) having an element name “reporter”. Therefore, when the “reporter” node included in one of the plurality of “report” information is specified in step S130 of FIG. 70, the “reporter” node in all other “report” information. It is also possible to set the access authority. When the access level is designated as pass, the same access authority is set for the “reporter” node in all other “report” information. This effect is the same as when the access authority is set for the schema when the schema is set under the “report DB” node (step S135 in FIG. 71). Accordingly, when the access level is set to schema in step S133, if the schema does not exist in step S134, the process may proceed to step S137. In addition, although not shown in FIG. 71, when the access level is set to pass in step S136, for example, the path “ux: // root / report DB / report [0] / reporter” is used. If the schema is set for the component (node) 301 “reporter” specified in step S135, the process may proceed to step S135.
[0351]
If the access level is designated as “pass” (step S136), the process proceeds to step S137, and the access
[0352]
As described above, the search
[0353]
The access
[0354]
As described above, in the above-described embodiment, the XML document (search result document) to be displayed obtained as a result of searching the structured document database is displayed on the
[0355]
The access authority is set by selecting one display area and selecting one level of a style sheet, a query, an element (data), a schema, and a path in the structured document database corresponding to the display area. In the case of setting the access authority to the above, a plurality of display areas are selected at a time, and one of the plurality of levels corresponding to them is selected (the user range and the access type are the same). ) Access authority can be set easily as described above.
[0356]
When access authority is set for a style, the specified user range and access type may be registered in the style sheet itself based on the contents registered in the style authority table. In this case, for example, as shown in the part surrounded by the solid line in FIG. 83, the user range and the access type are written in the description part (description part specified by the SID) for setting the access authority in the style sheet. The
[0357]
Further, when the access authority is set for the query, the designated user range and access type may be registered in the query document itself based on the contents registered in the query authority table. Also in this case, for example, as shown in the part surrounded by a solid line in FIG. 84, the user range and access type are written in the description part (description part specified by the QID) for setting the access authority in the query document. The search
[0358]
Next, a display example of a search execution result using a query after the access authority is set as described above will be described.
[0359]
Here, for example, the
[0360]
Furthermore, it is assumed that the access authority is set in the three display areas with the access level designated as “data”. In this case, the user “Taro Yamada” performs a predetermined operation from the
[0361]
Then, the search result document (XML document) obtained as the search result is displayed on the display screen of the
[0362]
In the search
[0363]
The component specified by the path of “uix: // root / report DB / report [0] / reporter” with the access authority set, and “uix: // root / employee DB / The component specified by the path “employee [3] / name” is the search result document specified by the path “report / reporter / name” in the search result document by the query shown in FIG. Used as a component of (bound). At this stage, the access type of the constituent element may be written in the search result document so that it can be interpreted by a predetermined function of the
[0364]
Alternatively, when the search
[0365]
The search result document is transmitted to the search request source
[0366]
The component of the search result document specified by the path “report / reporter / name” by the style sheet as shown in FIG. 64 is displayed in both
[0367]
Assume that the access level is designated as “style” in the
[0368]
The user “Taro Yamada” performs a predetermined operation from the
[0369]
This search result document includes a component specified by the path “uix: // root / employee DB / employee [3] / name” in which access authority is set as described above. Suppose that Then, in the same manner as described above, as shown in FIG. 87, the
[0370]
However, it is assumed that the access level is designated as “query” in the
[0371]
In this way, by setting the access authority to a level such as a style sheet or query, data that was not displayed when a certain style sheet was used was displayed when another different style sheet was used. It is possible to set flexible access authority such that data that is not displayed in the search result is displayed when another different query is used.
[0372]
As described above, in the above embodiment, the element name or element value of one component is displayed in one display area (text box), and the search result document obtained as a result of the search by the query is displayed. When one of a plurality of display areas on the displayed display screen is selected, a style sheet, a search result document, a search result document, starting from data (element name or element value) displayed in the selected display area In the process of delving into the level of queries and structured documents in the structured document database, access authority is set for the access authority setting target specified by the user. Just specify at least the desired display area and access level on the display screen, and access authority to the components in the structured document database Setup can be performed. In addition, the description part of the style sheet, the description part in the query, and the element with the same element name as the corresponding element in the other structured document having the same document structure as the structured document including the element are also supported. Since the access authority can be set simply by specifying the level, it depends on the usage and display format of the components of the structured document stored in the structured document database (display format when displaying as a search result). , Different content access authority can be set easily.
[0373]
In the above embodiment, the access authority is set on the display screen that displays the document obtained as a result of searching the structured document database using a query. Even when the acquired acquisition command “getXML” is executed, the document below the path specified by the command (all constituent elements) or a part of the document below the specified path When the access authority as described above is set for the element, when displaying a document under the specified path, the component for which the access authority is set is hidden or specially displayed. Or just do it.
[0374]
In the above embodiment, the access type is selected to be either non-display or special display, but other access types include deletion prohibition, editing prohibition, etc. There may be. When setting an access type such as deletion prohibition or edit prohibition that restricts operations on the component itself in the structured document database, the access level set together with this access type is the data level.
[0375]
For example, if deletion prohibition is set as an access type for a component in a structured document database, the component or a logical area (path) in the structured document database containing such a component is specified. Even if the area deletion command is executed, at least the component to which the access authority is set is not deleted. Also, if edit prohibition is set as an access type for a certain component in the structured document database, the element value of the component cannot be rewritten.
[0376]
Note that the method of the present invention described in the embodiment of the present invention includes a magnetic disk (floppy disk, hard disk, etc.), optical disk (CD-ROM, DVD, etc.), semiconductor memory, etc. as programs that can be executed by a computer. It can also be stored and distributed on a recording medium.
[0377]
Further, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of a plurality of disclosed configuration requirements. For example, even if some constituent elements are deleted from all the constituent elements shown in the embodiment, the problem (at least one of them) described in the column of problems to be solved by the invention can be solved, and the column of the effect of the invention If at least one of the effects described in (1) is obtained, a configuration in which this configuration requirement is deleted can be extracted as an invention.
[0378]
【The invention's effect】
As described above, according to the present invention, the usage and display format can be assigned to a desired component in the structured document database only by specifying at least a desired display area and access level on the search result display screen. It is possible to easily and finely set a desired access authority according to the above.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a structured document management system according to an embodiment of the present invention.
FIG. 2 is a diagram showing a usage form of the structured document management system shown in FIG. 1, and shows a case where the structured document management system is operating on the back end of the WWW.
FIG. 3 is a diagram showing an example of a structured document described in XML.
4 is a diagram schematically showing the document structure of the structured document in FIG. 3;
FIG. 5 is a diagram for explaining the function of an additional command, and shows a case where the additional command is executed in the initial state of the structured document database.
6 is a view showing a processing result when an acquisition command is executed on the structured document database in the state shown in FIG.
FIG. 7 shows a case where a document object tree of one “patent” information is added to the structured document database in the state shown in FIG. 5B by executing an add command.
FIG. 8 shows a case where a document object tree of three “patent” information is added to the structured document database in the state shown in FIG. 5B by executing an add command.
FIG. 9 is a diagram showing a storage example of an element name occurrence index.
FIG. 10 is a diagram showing a storage example of a data occurrence index.
11 is a diagram showing an execution result when an acquisition command for extracting three pieces of “patent” information is executed on the structured document database in the state shown in FIG. 8. FIG.
FIG. 12 is a diagram showing an example of a schema that defines the document structure of an XML document.
13 is a diagram showing a case where a schema storage command is executed in the structured document database in the state shown in FIG. 8 and the schema shown in FIG. 12 is additionally stored (set).
FIG. 14 is a diagram showing a document object tree in which a schema is set and an attribute value indicating that the schema exists is set.
FIG. 15 is a diagram conceptually illustrating a state in which attribute values indicating that a schema exists are stored in each object file.
FIG. 16 is a diagram showing an example in which a conceptual hierarchy used in a search is expressed as a structured document as necessary.
FIG. 17 is a diagram showing an example in which a conceptual hierarchy used in a search is expressed as a structured document as necessary.
18 is a diagram showing a case where a document object tree of “concept” information shown in FIGS. 16 and 17 is added to the structured document database in the state shown in FIG. 8 by executing an add command.
19 is a diagram showing a case where a document object tree of “concept” information shown in FIGS. 16 and 17 is added to the structured document database in the state shown in FIG. 8 by executing an add command.
20 is a flowchart for explaining a document storage processing operation of the structured document management system of FIG. 1;
FIG. 21 is a flowchart for explaining the process of step S9 of FIG. 20 (process of the composite document creation unit).
FIG. 22 is a result of converting a document object tree of a composite document obtained by inserting a document object tree of a document storing a parameter in an add command into a document object tree acquired from a structured document database into an XML document; FIG. 5 is a diagram showing an example of a composite document stored in a temporary file A.
FIG. 23 is a diagram showing an example of a schema document acquired from a structured document database stored in a temporary file B.
FIG. 24 is a view showing another example of a composite document stored in a temporary file A.
FIG. 25 is a diagram showing an example of a schema document acquired from a structured document database stored in a temporary file B.
FIG. 26 is a flowchart for explaining the document acquisition processing operation of the structured document management system of FIG. 1;
FIG. 27 is a flowchart for explaining the document deletion processing operation of the structured document management system of FIG. 1;
FIG. 28 is a flowchart for explaining the processing in step S46 of FIG. 27 (processing of the composite document creation unit (for deletion command)).
FIG. 29 is a diagram showing still another example of the composite document stored in the temporary file A, and showing an example of the composite document created when the delete command is executed.
30 is a diagram showing an example of a schema document acquired from a structured document database stored in a temporary file B. FIG.
FIG. 31 is a diagram showing a display example of a screen as a user interface.
FIG. 32 is a diagram showing a display example of a screen as a user interface for storing / deleting a document.
FIG. 33 is a diagram showing a display example of a screen as a user interface for storing / deleting a document.
FIG. 34 is a diagram showing a display example of a screen as a user interface for storing / deleting a document.
FIG. 35 is a diagram showing a display example of a message returned to the client terminal when an error occurs in the validity check.
FIG. 36 shows a display example of a screen as a user interface for storing / deleting a document, and is a diagram for explaining a document acquisition operation.
FIG. 37 shows a display example of a screen as a user interface for setting a schema, and is a diagram for explaining a schema setting operation.
FIG. 38 shows a display example of a screen as a user interface for acquiring a schema, and shows a display example of the acquired schema.
FIG. 39 is a diagram showing an example of a query (XML document).
FIG. 40 is a diagram showing an example of a simple search query (XML document).
41 is a diagram showing a search result (XML document) using the simple search query of FIG. 40. FIG.
FIG. 42 is a diagram showing an example of a concept search query (XML document).
FIG. 43 is a flowchart for explaining the document search processing operation of the structured document management system of FIG. 1;
FIG. 44 is a diagram showing a display example of a screen as a user interface for performing a document search.
45 is a diagram showing a query created based on information input from the screen shown in FIG. 44. FIG.
46 is a diagram showing a storage example of the query shown in FIG. 42 in the structured document database.
FIG. 47 is a display example of a screen as a user interface for performing a document search, for explaining a schema search processing operation;
FIG. 48 is a diagram showing an example of a schema search query.
FIG. 49 is a diagram showing an example of a query for searching for a query.
FIG. 50 is a diagram showing an example of a structured document database in a patent search.
FIG. 51 is a diagram showing a display example of an input screen for concept search.
52 is a diagram showing a query corresponding to input information on the input screen shown in FIG. 51. FIG.
53 is a diagram showing an XML document as a search result corresponding to the query shown in FIG. 52;
FIG. 54 is a diagram showing an example of a patent map.
FIG. 55 is a diagram illustrating a configuration example of a main part of a client terminal device.
FIG. 56 is a flowchart for explaining a processing operation when an XML document transmitted from a structured document management system is displayed on a client terminal device.
FIG. 57 is a flowchart for explaining the processing operation in the client terminal device for setting access authority;
FIG. 58 is a functional block diagram of an access authority setting management unit.
FIG. 59 is a diagram schematically showing a part of the logical structure of a structured document database.
FIG. 60 is a diagram showing “report” information stored in a logical storage area under a “report DB” node as an example of a structured document described in XML.
FIG. 61 is a diagram showing a plurality of “report” information stored in a logical storage area below an “employee DB” node as an example of a structured document described in XML.
FIG. 62 is a diagram showing a screen display example of a display device of a client terminal device, and showing a display example of an XML document (search result document) obtained as a result of executing a query input from the client terminal device.
FIG. 63 is a diagram showing a search result document corresponding to FIG. 62;
64 is a diagram showing an example of a style sheet for converting the search result document shown in FIG. 63 into an HTML document for display in the display format shown in FIG. 62. FIG.
FIG. 65 is a diagram for explaining a correspondence between each description part of the HTML document and an identifier HID given to each description part;
FIG. 66 is a diagram showing an example of a correspondence table showing a correspondence relationship between a description portion in an HTML document and a description portion in a style sheet.
FIG. 67 is a diagram showing an example of a GUI screen for inputting a user range.
FIG. 68 is a diagram showing an example of a GUI screen for inputting an access level.
FIG. 69 is a diagram showing an example of a GUI screen for inputting an access type.
FIG. 70 is a flowchart for explaining a processing operation for setting access authority in the access authority setting management unit;
FIG. 71 is a flowchart for explaining a processing operation for setting access authority in the access authority setting management unit;
FIG. 72 is a diagram showing an example of a style access authority table stored in a style access authority management unit.
FIG. 73 is a diagram showing an example of a query access authority table stored in a query access authority management unit.
74 is a diagram showing an example of a data access authority table stored in the data access authority management unit. FIG.
FIG. 75 is a diagram showing an example of a schema access authority table stored in a schema access authority management unit.
FIG. 76 is a diagram showing an example of a path access authority table stored in a path access authority management unit.
77 is a diagram showing a query document used to obtain the XML document shown in FIG. 63. FIG.
FIG. 78 is a diagram showing an example of a query issued to search a structural document database for components for which access authority is set based on the query description shown in FIG. 77;
FIG. 79 is a diagram showing an example of a query issued to search a structural document database for components for which access authority is set based on the query description shown in FIG. 77;
FIG. 80 is a diagram showing logical storage positions (paths) of components in the structured document database obtained by executing the queries shown in FIGS. 78 and 79;
81 is a diagram showing a description portion in a schema in which access authority is set when the
FIG. 82 is a diagram showing components for which access authority is set when the
FIG. 83 is a diagram showing an example of a style sheet in which the contents of access authority are written.
FIG. 84 is a diagram showing an example of a query in which the contents of access authority are written.
85 is a view showing a display example of a search result document obtained when the query shown in FIG. 77 is executed after the access authority is set at the data level.
86 is a view showing a display example of a search result document obtained when the query shown in FIG. 77 is executed after the access authority is set at the style level.
87 is a view showing a display example of a search result document obtained when a query different from the query shown in FIG. 77 is executed after the access authority is set at the data level.
88 is a view showing a part of an HTML document corresponding to the display screen shown in FIG. 65;
[Explanation of symbols]
1 ... Request control section
2 ... Access request processing section
3 ... Search request processing part
4. Data access part
5 ... Document storage
6. Index storage unit
11 ... Reception request part
12 ... Result processing section
21 ... Document storage unit
22 ... Document acquisition unit
23. Document deletion section
41 ... Document object tree storage
42 ... Document object tree deletion section
43 ... Document object tree acquisition unit
44 ... Document character string acquisition unit
45 ... Document object tree acquisition section from path
46. Document parser
47. Composite document creation section
48 ... Index update section
100 ... structured document management system
101 ... WWW server
102: Client terminal
103 ... WWW browser
111 ... XML document receiver
112 ... XML / HTML converter
113 ... Table creation section
114 ... correspondence table
115: Drawing unit
116: Access authority setting section
117: Transmitter
121 ... Display device
122... Input device
201: Access authority setting management unit
202 ... Access authority setting section
203 ... Access authority management section
211 ... Schema access authority management section
212 ... Data access authority management section
213 ... Query access authority management unit
214 ... Style Access Authority Management Department
215: Path access authority management unit
Claims (10)
検索した結果得られる前記検索結果文書を、当該検索結果文書中の要素を表示用文書中の表示要素として出力するための出力命令と、当該出力命令の処理対象となる前記検索結果文書中の要素の位置情報とを含むスタイル文書を用いて、前記表示用文書に変換する変換ステップと、
前記スタイル文書中の各出力命令と、当該出力命令により生成された前記表示用文書中の表示要素との対応関係を示すテーブルを記憶手段に記憶するステップと、
前記表示用文書を表示画面に表示するステップと、
前記表示画面に表示された前記表示用文書中の表示要素の表示領域が指定されたとき、前記テーブルを参照して、当該表示要素に対応付けられている出力命令を検出する第1の検出ステップと、
前記検索結果文書から、検出された出力命令の処理対象である第1の要素を検出する第2の検出ステップと、
前記検索要求文中の前記パス情報により特定される前記論理構造中の検索位置から、前記第1の要素の要素値を値としてもつ第2の要素の位置を示すパス情報を検索する第2の検索ステップと、
検索した結果得られたパス情報により特定される前記論理構造上の前記第2の要素に対して、アクセス可能なユーザの範囲を定めたアクセス権限を設定する第1の設定ステップと、
を含むアクセス権限設定方法。A plurality of structured documents having a document structure including a plurality of elements are stored, and a storage area of each element included in each structured document is stored in the root node via one or more nodes. A structured document database that manages the plurality of structured documents by a logical structure linked according to the document structure, path information indicating a search position in the logical structure, and an element searched from the search position in the search result document A first search step for searching based on a search request sentence including a description part defining a document structure of the search result document including an element for outputting as an element of
An output command for outputting the search result document obtained as a result of the search, with an element in the search result document as a display element in the display document, and an element in the search result document to be processed by the output command A conversion step of converting into the display document using a style document including the position information of
Storing a table indicating a correspondence relationship between each output command in the style document and a display element in the display document generated by the output command in a storage unit;
Displaying the display document on a display screen;
A first detection step of detecting an output command associated with the display element with reference to the table when a display area of the display element in the display document displayed on the display screen is designated. When,
A second detection step of detecting a first element that is a processing target of the detected output command from the search result document;
A second search for searching for path information indicating a position of a second element having an element value of the first element as a value from a search position in the logical structure specified by the path information in the search request sentence; Steps,
A first setting step of setting an access authority defining a range of accessible users for the second element on the logical structure specified by the path information obtained as a result of the search;
Access authority setting method including.
前記検索要求文中の前記第3の要素に対し、アクセス可能なユーザの範囲を定めたアクセス権限を設定する第3の設定ステップと、
をさらに含む請求項1記載のアクセス権限設定方法。A third detection step of detecting a third element that outputs the first element in the search result document from the search request sentence;
A third setting step of setting an access authority that defines a range of accessible users for the third element in the search request sentence;
The access authority setting method according to claim 1, further comprising:
前記論理構造中の検索位置を示すパス情報と、当該検索位置から検索された要素を検索結果文書中の要素として出力するための要素を含む当該検索結果文書の文書構造を定めた記述部とを含む検索要求文を基に、構造化文書データベースを検索する第1の検索手段と
前記第1の検索手段で検索した結果得られる前記検索結果文書を、当該検索結果文書中の要素を表示用文書中の表示要素として出力するための出力命令と、当該出力命令の処理対象となる前記検索結果文書中の要素の位置情報とを含むスタイル文書を用いて、前記表示用文書に変換する変換手段と、
前記スタイル文書中の各出力命令と、当該出力命令により生成された前記表示用文書中の表示要素との対応関係を示すテーブルを記憶する記憶手段と、
前記表示用文書を表示画面に表示する表示手段と、
前記表示画面に表示された前記表示用文書中の表示要素の表示領域が指定されたとき、前記テーブルを参照して、当該表示要素に対応付けられている出力命令を検出する第1の検出手段と、
前記検索結果文書から、検出された出力命令の処理対象である第1の要素を検出する第2の検出手段と、
前記検索要求文中の前記パス情報により特定される前記論理構造中の検索位置から、前記第1の要素の要素値を値としてもつ第2の要素の位置を示すパス情報を検索する第2の検索手段と、
検索した結果得られたパス情報により特定される前記論理構造上の前記第2の要素に対して、アクセス可能なユーザの範囲を定めたアクセス権限を設定する第1のアクセス権限設定手段と、
を含む構造化文書管理システム。A plurality of structured documents having a document structure including a plurality of elements are stored, and a storage area of each element included in each structured document is stored in the root node via one or more nodes. A structured document database for managing the plurality of structured documents by a logical structure linked according to the document structure;
Path information indicating a search position in the logical structure, and a description section defining a document structure of the search result document including an element for outputting an element searched from the search position as an element in the search result document. First search means for searching a structured document database based on a search request sentence including the search result document obtained as a result of searching by the first search means, and an element in the search result document as a display document Conversion means for converting into a display document using a style document including an output command for output as a display element in the content and position information of an element in the search result document to be processed by the output command; ,
Storage means for storing a table indicating a correspondence relationship between each output command in the style document and a display element in the display document generated by the output command;
Display means for displaying the display document on a display screen;
First detection means for detecting an output command associated with the display element with reference to the table when a display area of the display element in the display document displayed on the display screen is designated When,
Second detection means for detecting a first element that is a processing target of the detected output command from the search result document;
A second search for searching for path information indicating a position of a second element having an element value of the first element as a value from a search position in the logical structure specified by the path information in the search request sentence; Means,
First access authority setting means for setting an access authority defining a range of accessible users for the second element on the logical structure specified by the path information obtained as a result of the search;
A structured document management system.
前記検索要求文中の前記第3の要素に対し、アクセス可能なユーザの範囲を定めたアクセス権限を設定する第3のアクセス権限設定手段と、
をさらに含む請求項6記載の構造化文書管理システム。Third detection means for detecting a third element that outputs the first element in the search result document from the search request sentence;
Third access authority setting means for setting access authority defining a range of accessible users for the third element in the search request sentence;
7. The structured document management system according to claim 6, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002087071A JP3914081B2 (en) | 2002-03-26 | 2002-03-26 | Access authority setting method and structured document management system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002087071A JP3914081B2 (en) | 2002-03-26 | 2002-03-26 | Access authority setting method and structured document management system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003281149A JP2003281149A (en) | 2003-10-03 |
JP3914081B2 true JP3914081B2 (en) | 2007-05-16 |
Family
ID=29233434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002087071A Expired - Fee Related JP3914081B2 (en) | 2002-03-26 | 2002-03-26 | Access authority setting method and structured document management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3914081B2 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4622347B2 (en) * | 2003-10-08 | 2011-02-02 | セイコーエプソン株式会社 | Output system with use right authentication function, material output device, and use right authentication output method |
JP2005224376A (en) * | 2004-02-12 | 2005-08-25 | Olympia:Kk | Game machine |
US7720858B2 (en) | 2004-07-22 | 2010-05-18 | International Business Machines Corporation | Query conditions-based security |
US20090070295A1 (en) * | 2005-05-09 | 2009-03-12 | Justsystems Corporation | Document processing device and document processing method |
JP4861754B2 (en) | 2006-06-20 | 2012-01-25 | 株式会社リコー | Server, client and program |
JP4882671B2 (en) | 2006-11-01 | 2012-02-22 | 富士通株式会社 | Access control method, access control system, and program |
JP4811451B2 (en) * | 2008-11-13 | 2011-11-09 | コニカミノルタホールディングス株式会社 | Database system and data generation method |
JP2019016072A (en) * | 2017-07-05 | 2019-01-31 | 富士ゼロックス株式会社 | Information processing apparatus and program |
JP7258251B2 (en) * | 2020-12-18 | 2023-04-14 | 三菱電機株式会社 | Graph display device, graph display method, and graph display program |
CN117521658B (en) * | 2024-01-03 | 2024-03-26 | 安徽思高智能科技有限公司 | RPA process mining method and system based on chapter-level event extraction |
-
2002
- 2002-03-26 JP JP2002087071A patent/JP3914081B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003281149A (en) | 2003-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3842573B2 (en) | Structured document search method, structured document management apparatus and program | |
JP3842577B2 (en) | Structured document search method, structured document search apparatus and program | |
US7624114B2 (en) | Automatically generating web forms from database schema | |
US7370061B2 (en) | Method for querying XML documents using a weighted navigational index | |
US20080183689A1 (en) | Search method and apparatus for plural databases | |
US20070219959A1 (en) | Computer product, database integration reference method, and database integration reference apparatus | |
US10127313B2 (en) | Method of retrieving attributes from at least two data sources | |
Frischmuth et al. | Ontowiki–an authoring, publication and visualization interface for the data web | |
US20020123991A1 (en) | Method for querying a database in which a query statement is issued to a database management system for which data types can be defined | |
US20040220912A1 (en) | Techniques for changing xml content in a relational database | |
JP3914081B2 (en) | Access authority setting method and structured document management system | |
JP2005190163A (en) | Method, apparatus and program for retrieving structured data | |
Liu et al. | An XML-enabled data extraction toolkit for web sources | |
JP3842572B2 (en) | Structured document management method, structured document management apparatus and program | |
JP3842576B2 (en) | Structured document editing method and structured document editing system | |
JP5056384B2 (en) | Search program, method and apparatus | |
Yu et al. | Metadata management system: design and implementation | |
CN1326078C (en) | Forming method for package device | |
JP3842574B2 (en) | Information extraction method, structured document management apparatus and program | |
JP3842575B2 (en) | Structured document search method, structured document management apparatus and program | |
JP3910901B2 (en) | Document structure search method, document structure search apparatus, and document structure search program | |
JP2004118543A (en) | Method for retrieving structured document, and method, device and program for supporting retrieval | |
JP2003288365A (en) | Additive information management method and additive information management system | |
Škrbić et al. | Bibliographic records editor in XML native environment | |
JP2004118379A (en) | Structured document analysis display method, structured document analysis display unit, and its program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070110 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070201 |
|
LAPS | Cancellation because of no payment of annual fees |