JP3707133B2 - 文書データベース管理装置および文書データベース管理方法 - Google Patents
文書データベース管理装置および文書データベース管理方法 Download PDFInfo
- Publication number
- JP3707133B2 JP3707133B2 JP17829396A JP17829396A JP3707133B2 JP 3707133 B2 JP3707133 B2 JP 3707133B2 JP 17829396 A JP17829396 A JP 17829396A JP 17829396 A JP17829396 A JP 17829396A JP 3707133 B2 JP3707133 B2 JP 3707133B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- schema
- search
- database management
- query
- 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)
Description
【発明の属する技術分野】
本発明は文書データベース管理装置に関し、特に電子文書を保持管理しかつ複数の文書型にまたがって行われる文書の検索を効率化した文書データベース管理装置および文書データベース管理方法に関する。
【0002】
【従来の技術】
文書を表現する際には、表現対象の種類ごとに文書型を定義することが行われている。ここで、文書型とは、対応する文書が従うべき構文規則である。
【0003】
また、章や節、段落や図表などの文書構成要素とそれらの間の接続関係とで文書を表現する構造化文書が広く用いられている。構造化文書の表現形式の一つであるSGML(Standard Generalized Markup Language)(ISO/IEC 8879:1989;JIS X4151)では、文書型(Document Type Definition、以下DTDと略称する)を表現するための形式が定められている。SGMLについては、例えばMartin Bryan著「SGML入門」、株式会社アスキー、1991年3月31日発行、を参照されたい。
【0004】
さて、SGML文書のような構造化文書の文書型では、対応する文書がどのような論理構造を持ち得るのか、すなわち、文書構造中に現われる要素の種類、各要素が持ち得る属性、各要素が持ち得る下位構造が定められていることが一般的である。
【0005】
ところで、実際の組織では、上で説明したような複数の文書型の構文規則に従う文書が管理されることになる。以下、組織で扱われる文書型の性質について説明する。
【0006】
組織で作成される文書の文書型は、文書管理を行う組織の要求を反映して定義される。このような文書型を定義する場合、複数の文書型で図表や数式などを表現するための構文規則を共通して定めることが広く行われている。図表や数式などの構文規則は一般に複雑なので、既知の構文規則が文書型の一部として参照されることが多い。このように、組織においては、図表や数式などを表現する構文規則が複数の文書型で共有されている。
【0007】
さて、このような文書型を文書データベース管理システムに導入する場合、何らかの方法でデータベースのスキーマと文書型とを対応付けることになる。この対応付けの方法としては、以下の二通りの方法が知られている。
【0008】
第一の方法は、任意の文書型と対応する単一のスキーマをデータベースで提供する方法である。この方法では、どんな文書型の文書も、単一のスキーマのインスタンスとして格納される。この方法の例として、特開平7−44579号公報に記載の論理構造文書検索方式が挙げられる。
【0009】
第二の方法は、文書型と一対一に対応するスキーマをデータベースで提供する方法である。この方法では、ある文書を格納する時、その文書はその文書の文書型に対応する文書スキーマのインスタンスとして格納される。
【0010】
ところで、文書要素に関する条件や文書要素間の接続条件を含む問い合わせに対する検索効率を向上させるための方法として、インデックスを用いることが知られている。このインデックスは、文書要素の名称や文書構造における文書要素のパスを保持するエントリの集合から構成され、個々のエントリには対応する文書要素へのポインタが保持されている。
【0011】
このようなインデックスの例として、特開平7−44579号公報記載の論理構造文書検索方式におけるエレメントパス(文書構造におけるルートから文書要素へのパス)を利用したパスインデックスが挙げられる。パスインデックスは、文書要素間の接続条件を満たす要素の組を効率的に検索するために提供されるもので、エレメントパスを保持するエントリから構成される。検索処理では、個々のパスインデックスエントリが問い合わせの接続条件を満足するか否かのチェックがなされ、接続条件を満足するエントリからポインタが張られている文書要素が接続条件を満足する要素として得られる。
【0012】
一方、上に挙げた文書型と一対一に対応するスキーマをデータベースで提供する第二の対応付け方法では、文書スキーマごとにインデックスを作成することができる。文書スキーマに対応するインデックスを用いることにより、ある文書スキーマの指すエントリがその文書スキーマの文書のすべての要素を指し、他の文書スキーマの文書の要素を全く指さないことを保証できる。このため、問い合わせと共に文書スキーマが特定されると、特定された文書スキーマに対応するインデックスエントリだけをチェックすることで検索処理が行えるので、検索効率が向上する。
【0013】
【発明が解決しようとする課題】
ここで、複数の文書型で共有されている図表や数式などを表現する構文規則に現われる要素に関する条件を満足する文書要素の検索方法について、検索処理の効率と文書利用者の負担という二つの観点から評価する。
【0014】
まず、任意の文書型と対応する単一のスキーマをデータベースで提供する第一の対応付け方法を利用した場合を考える。この場合には、文書利用者がデータベース中の文書に対する問い合わせを一つだけ発行すればよいので文書利用者の負担は小さい。一方、要素を特定する処理では、文書型ごとのインデックスを提供することができないので、インデックス中の全エントリについて、エントリに対応する要素が要素に関する条件を満足するか否かのチェックをしなくてはならない。このため、検索効率は低い。
【0015】
一方、文書型と一対一に対応するスキーマをデータベースで提供する第二の対応付け方法を採用した場合を考える。この場合には、文書利用者が構文規則を共有する文書型に対応する文書スキーマごとに問い合わせを発行する必要があるので文書利用者の負担は大きい。一方、個々の問い合わせは文書スキーマごとに発行されるので、個々の問い合わせにおける要素特定処理では、文書スキーマに対応するインデックスを利用することで、問い合わせを発行していない文書スキーマに対応するインデックスエントリをチェックせずにすむ。このため、検索効率は高い。
【0016】
このように、文書データベース管理装置において、複数の文書スキーマで共有される構文規則に現われる要素に関する条件や要素間の接続関係に関する条件を満たす文書を検索する場合には、従来は上記の2通りの方法のいずれかを選択せねばならず、それぞれ対応するデメリットを受け入れなければならないという問題点があった。
【0017】
本発明はこのような点に鑑みてなされたものであり、複数の文書スキーマで共有される構文規則に現われる要素に関する条件や要素間の接続関係に関する条件を満たす文書を単一の問い合わせで、かつ効率良く検索できる文書データベース管理装置および文書データベース管理方法を提供することを目的とする。
【0018】
【課題を解決するための手段】
本発明では上記問題を解決するために、電子文書を管理対象とする文書データベース管理装置において、文書の構文規則である文書スキーマを複数保持しているスキーマ保持手段と、前記スキーマ保持手段中の文書スキーマの構文規則を満たした複数の文書が検索対象として保持されている文書保持手段と、前記スキーマ保持手段に保持された文書スキーマを文書利用者に提示してひとつを選択させるとともに前記選択された文書スキーマに基づいて前記文書利用者に前記文書保持手段に格納された文書検索の問い合わせを作成させる問い合わせエディタと、前記選択された文書スキーマおよび前記スキーマ保持手段に保持されている文書スキーマ群を入力とし、前記選択された文書スキーマの構文規則を自らの構文規則の部分集合とする文書スキーマを前記文書スキーマ群から特定するスキーマ特定手段と、前記スキーマ特定手段にて特定された前記文書スキーマ群および前記問い合わせを入力とし、前記文書スキーマ群に対応する前記文書保持手段中の文書から前記問い合わせの条件を満足する文書を検索する文書検索手段と、を具備することを特徴とする文書データベース管理装置が提供される。
このような文書データベース管理装置によれば、スキーマ特定手段は、問い合わせエディタを用いて選択された文書スキーマと、スキーマ保持手段中の文書スキーマ群とを入力することにより、文書スキーマの構文規則を自らの構文規則の部分集合とする文書スキーマを文書スキーマ群から特定し、特定された文書スキーマ群を検索対象の文書群に対応する文書スキーマとして得る。その後、文書検索手段による検索処理では、検索対象の文書の文書スキーマが明らかになっているので、複数の文書型に跨がった文書が単一の問い合わせで検索される。さらに、検索条件を満たし得ない文書要素を検索対象から除外することによって、検索効率が向上される。
また、本発明によれば、電子文書を管理対象とする文書データベース管理方法において、問い合わせエディタがスキーマ保持部に保持された文書スキーマを文書利用者に提示してひとつを選択させるとともに前記選択された文書スキーマに基づいて前記文書利用者に問い合わせを作成させ、スキーマ特定部が前記文書利用者による検索指示により、前記文書利用者によって選択された前記文書スキーマからその文書スキーマをフラグメントとする前記スキーマ保持部中の文書スキーマを特定し、文書検索部が特定された前記文書スキーマと前記文書利用者によって作成された問い合わせとを基にして文書保持部の中の文書に対する検索を行い、出力部が検索によって得られた前記文書保持部の中の文書を出力する、ことを特徴とする文書データベース管理方法が提供される。
この文書データベース管理方法によれば、まず、問い合わせエディタがスキーマ保持部の中の文書スキーマを文書利用者に提示する。提示された文書スキーマからフラグメントとなる文書スキーマを文書利用者が選択すると、問い合わせエディタはその選択された文書スキーマに基づいて問い合わせを作成する。この問い合わせは、フラグメントとなる文書スキーマを文書利用者が選択した時点で、選択された文書スキーマをフラグメントとするすべての文書スキーマの文書を検索結果として得る可能性を持つものとなる。次に、文書利用者により検索指示が出されると、スキーマ特定部により選択された文書スキーマからその文書スキーマをフラグメントとするスキーマ保持部中の文書スキーマが特定され、特定された文書スキーマと文書利用者によって作成された問い合わせとを基にして、文書検索部による文書保持部の中の文書に対する検索が行われる。そして、検索によって得られた文書保持部の中の文書を出力部が出力する。これにより、文書保持部の中の文書に対する検索では、検索対象の文書の文書スキーマが明らかになっているので、複数の文書型に跨がった文書が単一の問い合わせで検索され、しかも、選択された文書スキーマからその文書スキーマをフラグメントとするスキーマ保持部中の文書スキーマが特定されているので、検索条件を満たし得ない文書が検索対象から除外されており、検索効率が向上される。
【0019】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明するが、まず、本発明の原理構成について先に説明する。
【0020】
図1は本発明の文書データベース管理装置の原理構成図である。電子文書を管理対象とする本発明の文書データベース管理装置は、文書の構文規則である文書スキーマを保持しているスキーマ保持手段1と、この文書データベース管理装置で管理される電子文書を保持している文書保持手段2と、問い合わせ作成時に使用された文書スキーマとスキーマ保持手段1に保持されている文書スキーマ群とを受けるように接続されたスキーマ特定手段3と、スキーマ特定手段3の出力および文書スキーマの構文規則を満たす文書を対象とした問い合わせを受けるように接続された文書検索制御手段4と、文書検索制御手段4の出力を受けて文書保持手段2に保持されている文書に対して検索を実行するように接続された文書検索手段5とから構成されている。
【0021】
ここで、作用の説明に入る前に、説明で用いる用語を定義しておく。まず、スキーマを構文規則の集合と考える。あるスキーマの構文規則の集合が他のスキーマの構文規則の集合の部分集合となっている時、前者のスキーマを、後者のスキーマのフラグメントと呼ぶ。
【0022】
フラグメントという概念はスキーマの包含関係に基づいて定義されているため、単一の文書スキーマのみに着目し、その文書スキーマがフラグメントであるか否かを判断することはできない。
【0023】
図1に示した文書データベース管理装置には、文書スキーマ保持手段1中の文書スキーマ群のフラグメントとなる文書スキーマと、その文書スキーマに現われる要素に関する条件や要素間の接続条件からなる問い合わせとが入力される。これらの情報が本発明の文書データベース管理装置に入力されると、入力されたフラグメント文書スキーマと、スキーマ保持手段1中の文書スキーマ群とがスキーマ特定手段3に入力される。ここで、スキーマ特定手段3は、入力された文書スキーマをフラグメントとする文書スキーマ群をスキーマ保持手段1より入力された文書スキーマ群から特定する。文書検索制御手段4はスキーマ特定手段3で特定された文書スキーマ群に対応する文書群を検索対象の文書群に対応する文書スキーマとして得る。その後、文書検索手段5による検索処理が行われる。この検索処理では、検索対象の文書の文書スキーマが明らかになっているので、それぞれの文書スキーマに対応するインデックスを利用することができ、高い検索効率を実現できる。
【0024】
また、文書検索制御手段4は、入力の文書スキーマをフラグメントとする文書スキーマの文書が入力の問い合わせの条件を満足し得るか否かを検証する機能を備えることができる。これに対応して、入力の文書スキーマをフラグメントとする文書スキーマの文書が入力の問い合わせの条件を満足し得ることが検証された場合にのみ、文書検索制御手段4は検索対象の文書に対応する文書スキーマを得ることになる。これにより、問い合わせの作成を誤まるなどして、検索結果の文書が存在し得ないような問い合わせが入力された場合でも、文書に対する検索を行う前に問い合わせの欠陥を検出できるので、問い合わせにヒットし得ない文書スキーマの文書を検索する無駄を事前に防止できることになる。
【0025】
さらに、文書検索制御手段4が上記検証する機能を備える文書データベース管理装置であって、文書要素と文書要素間の接続関係で表現される構造化文書が文書保持手段2で保持されており、入力される問い合わせが文書要素型に関する条件と文書要素型の間の接続条件とからなる状況では、文書検索制御手段4で出力される文書スキーマの条件は以下のように具体化される。
【0026】
まず、文書データベース管理システムの文書検索制御手段4で出力される文書スキーマの条件は、条件1として入力された文書スキーマの構文規則の集合が該文書スキーマの構文規則の部分集合であること、および条件2として該文書スキーマの文書が問い合わせの条件を満足し得ることである。
【0027】
条件1を検証するためには、前者の文書スキーマの構文規則と後者の文書スキーマの構文規則とを比較すればよい。この条件については、上の状況を考慮した具体化は必要ないと考える。
【0028】
したがって、以下に、上の状況において条件2を検証するための具体的な方法について検討する。
命題(1):本発明の文書データベース管理装置における文書保持手段中の文書が構造化文書であり、その文書に対する問い合わせが文書要素に関する条件と文書要素間の接続関係に関する条件とで表現される場合を考える。このとき、ある文書スキーマと問い合わせに関して、以下の条件(1)が成立するならば、その文書スキーマの文書はその問い合わせの条件を満足し得ない:
条件(1):文書スキーマにおける文書要素型間の接続関係を組み合わせることで、問い合わせで用いられている文書要素間の接続条件が表現できない。
【0029】
ここで、文書要素型間の接続関係を組み合わせて文書要素間の接続関係を生成する処理について説明する。
文書要素型はある種の文書要素が保持すべき性質を記述したものである。一方、個々の文書要素は、ただ一つの文書要素型に対応し、その文書要素型の性質を継承している。文書要素型と文書要素との間には、このような対応関係が存在する。
【0030】
一方、文書スキーマを木構造と見たとき、木構造における個々のアークは文書要素型間の親子関係を表している。そして、各々のアークの両端にはノードとして文書要素型が一つずつ存在することになる。
【0031】
そして、文書要素型間の親子関係が階層的に存在する場合には、ある文書要素型Aの子供である文書要素型Bが他の文書要素型Cの親になるという状況が発生する。この場合には、上に挙げた親子関係以外に「文書要素型Aは文書要素型Cの祖先である」という接続関係も表現されていることになる。本明細書では、この祖孫間の接続関係を「文書要素型Aと文書要素型Bとの間の接続関係と、文書要素型Bと文書要素型Cとの間の接続関係とを組み合わせたことによる文書要素型Aと文書要素型Cとの接続関係」と呼ぶ。
【0032】
以上の説明では、文書要素型間の接続関係を組み合わせても文書要素間の接続関係を表現することにはならないが、すでに述べた文書要素型と文書要素の対応関係を利用して、接続関係の組み合わせにより生成された接続関係に関わる文書要素型ごとにその文書要素型と対応する文書要素と置き換えることで、文書要素間の接続関係を表現できる。
【0033】
さて、命題(1)が真であることは自明であると考えられる。
命題(2):ある文書スキーマとある問い合わせについて、以下の条件(2)が成立するならば、その文書スキーマの文書はその問い合わせの条件を満足し得ない:
条件(2):前記文書スキーマのフラグメントとなる文書スキーマにおける文書要素型間の接続関係を組み合わせることで、問い合わせで用いられている文書要素間の接続条件が表現できない。
【0034】
以下、命題(1)が真であることを利用して、命題(2)が真であることを証明する。
ある文書スキーマにおける文書要素型のすべての接続関係を要素とする集合は、その文書スキーマをフラグメントとする文書スキーマにおける文書要素間のすべての接続関係を要素とする集合の部分集合である。
【0035】
このため、命題(1)が真であるなら命題(2)が真であることは明らかである。よって、命題(2)は真である。
もし、文書スキーマと問い合わせとが上記の条件(2)を満足してしまう場合には、その問い合わせでその文書スキーマの文書を検索してもヒットする可能性はない。このため、本発明の文書データベース管理装置の文書検索制御手段4においては、フラグメントとなる文書スキーマおよび問い合わせが入力されると、先に示した条件1に加えて上記の条件(2)を満足しないことが明らかになった場合のみ、入力された文書スキーマをフラグメントとする文書スキーマを出力する。これにより、ヒットする文書が存在し得ない問い合わせの発行を減少させることができ、検索効率がさらに向上することになる。
【0036】
次に、本発明の文書データベース管理装置の具体例について説明する。
図2は文書データベース管理装置の構成例を示すブロック図である。図2に示した文書データベース管理装置10は、スキーマ保持部11、文書保持部12、スキーマ特定部13、文書検索制御部14、文書検索部15から構成される。また、スキーマ特定部13には、スキーマ共有関係テーブル13a、要素セット13bおよび接続関係テーブル13cを保持している。文書データベース管理装置10は入出力装置20を通じて文書利用者30によって操作される。
【0037】
スキーマ保持部11は、文書保持部12の中の文書に対応する文書スキーマを保持する。スキーマ保持部11は、メモリ、磁気ディスクといった計算機の記憶領域上に実現される。文書保持部12は、この文書データベース管理装置10で管理される電子文書を保持する。文書保持部12は、スキーマ保持部11と同様、計算機の記憶領域上に実現される。スキーマ特定部13は、文書検索制御部14を介して入出力装置20からの文書スキーマとスキーマ保持部11からの文書スキーマ群とを入力とし、前者の文書スキーマをフラグメントとする文書スキーマを後者の文書スキーマ群から特定して出力する。スキーマ特定部13は、このような動作を実行するための手続きを記述した計算機プログラムで実現される。なお、スキーマ特定部13が保持するスキーマ共有関係テーブル13aと、要素セット13bおよび接続関係テーブル13cとについては後述する。文書検索制御部14は、入出力装置20からの問い合わせと文書スキーマとを入力とし、入力された文書スキーマとスキーマ保持部11の中の文書スキーマ群をスキーマ特定部13に入力する。そしてスキーマ特定部13から得られた文書スキーマ群および入力された問い合わせを検索対象の文書に対応する文書スキーマとして文書検索部15に渡す。文書検索制御部14は、このような動作を実行するための手続きを記述した計算機プログラムで実現される。そして、文書検索部15は、文書検索制御部14からの問い合わせと文書スキーマ群とを入力とし、文書保持部12の中の文書のうち入力された文書スキーマに対応する文書から入力された問い合わせの条件を満足する文書を検索して出力装置に出力する。文書検索部15は、このような動作を実行するための手続きを記述した計算機プログラムで実現される。文書検索部15では、前述したインデックスを利用して、検索処理を高速に実行することが実現可能である。
【0038】
入出力装置20は、文書利用者30から、問い合わせおよび他の文書スキーマのフラグメントとなる文書スキーマを特定する指示を得て、文書検索制御部14に出力する入力装置と、文書検索部15から検索の結果得られた文書を得て可視化表示する出力装置とから構成される。入力装置は、例えば、マウス、キーボード、計算機プログラムなどを利用して容易に実現できる。また、出力装置は、例えば、印刷装置、ディスプレイ、ディスプレイ制御用の計算機プログラムなどを利用して容易に実現できる。
【0039】
なお、文書データベース管理装置10および入出力装置20で用いられる構成要素は、パーソナルコンピュータやワークステーションなどといった計算機上の資源および周辺機器を用いて実現することが可能である。
【0040】
上記構成の文書データベース管理装置10の全体的な処理の流れについて説明する。
図3は文書データベース管理装置の動作の一例を説明する流れ図である。なお、Sに続く数字はステップ番号を示している。
〔S1〕スキーマ保持部11の中の文書スキーマが入出力装置20を介して文書利用者30に提示される。
〔S2〕フラグメントとなる文書スキーマが文書利用者30によって選択され、選択された文書スキーマに基づいて問い合わせを作成する。この時作成される問い合わせが満足すべき条件について、以下に説明する。まず、文書利用者30は、フラグメントとなる文書スキーマを選択した時点で、その文書スキーマをフラグメントとするすべての文書スキーマの文書を検索対象にしようと考えているはずである。このため、作成される問い合わせは、選択された文書スキーマをフラグメントとするすべての文書スキーマについて、その文書スキーマの文書を検索結果として得る可能性を持つものでなくてはならない。
〔S3〕文書利用者30により検索指示が文書データベース管理装置10に出され、文書利用者30によって選択された文書スキーマが文書データベース管理装置10の中のスキーマ特定部13に入力される。
〔S4〕スキーマ特定部13が起動し、入力された文書スキーマからその文書スキーマをフラグメントとするスキーマ保持部中の文書スキーマが特定される。
〔S5〕文書検索制御部14および文書検索部15が起動し、ステップS4で特定された文書スキーマと文書利用者によって作成された問い合わせを基にして、文書保持部12の中の文書に対する検索が行われる。
〔S6〕文書検索部15によって得られた文書保持部12の中の文書が出力装置を介して文書利用者30に示される。以上で、文書データベース管理装置10の一連の動作が終了する。
【0041】
ここで、構文規則である文書スキーマが文書属性の型のみからなる場合を例にした第1の実施の形態について説明する。具体例として、スキーマ保持部11に保持される文書スキーマは「報告書スキーマ」、「論文スキーマ」、「基本文書スキーマ」、「技術文書スキーマ」、および「特殊文書スキーマ」の5つであるとする。
【0042】
図4はスキーマ保持部における文書スキーマの一例を示す説明図である。図4には、スキーマ保持部11に保持されている文書スキーマ「報告書スキーマ」、「論文スキーマ」、「基本文書スキーマ」、「技術文書スキーマ」、および「特殊文書スキーマ」を示している。
【0043】
図4における文書スキーマの表記方法について説明する。まず、各行には、文書スキーマに属する文書が保持すべき属性に関する情報が記述される。ただし、行頭に”*”がある行は、”*”直後の文字列の名称を持つスキーマフラグメントを文書スキーマの一部として含むことを意味する。”*”を行頭に持たない個々の行においては、”:”の前までが属性の名称を表し、”:”の後が属性の値の型(”(”および”)”で囲まれている場合)、または、値として取り得る候補(”[”および”]”で囲まれている場合)を表している。
【0044】
したがって、図示の記述例によれば、報告書スキーマの文書は「評価」という名称の管理属性を持ち、その値は”A”、”B”、”C”のいずれかである。同様に、論文スキーマの文書は「学会名」および「採録の可否」という名称の管理属性を持ち、「学会名」属性の値は任意の文字列であり、「採録の可否」属性の値は”OK”または”NG”のいずれかである。また、報告書スキーマおよび論文スキーマは共に文書スキーマ「技術文書スキーマ」をフラグメントとしているので、上に挙げた属性に加えて技術文書スキーマで定義される属性をも文書スキーマの一部として含む。技術文書スキーマの文書は、「技術分野」という名称の属性を持つ。「技術分野」属性の値は”ハード”または”ソフト”のいずれか一方である。技術文書スキーマは文書スキーマ「基本文書スキーマ」をフラグメントとしているので、基本文書スキーマで定義される属性をも文書スキーマの一部として含む。基本文書スキーマの文書は「文書表題」、「著者名」、「発行日」という名称の属性を持つ。「文書表題」属性の値は任意の文字列であり、「著者名」属性の値は人名型のデータを要素とするリストであり、「発行日」属性の値は日付型のデータである。特殊文書スキーマの文書は「文書表題」、「著者名」、「有効期限」、「配布範囲」という名称の属性を持つ。「文書表題」属性の値は任意の文字列であり、「著者名」属性の値は人名型のデータを要素とするリストであり、「有効期限」属性の値は日付型のデータであり、「配布範囲」属性の値は”研究所”または”研究グループ”のいずれかである。
【0045】
次に、文書保持部12に保持される文書の具体例として、文書保持部12に保持される文書は「報告書A」、「報告書B」、「報告書C」、「論文A」、「論文B」、「特殊文書A」、「特殊文書B」、および「特殊文書C」の8つであるとする。
【0046】
図5ないし図7は文書保持部における文書の一例を示す説明図である。図5ないし図7には、文書保持部12に保持される文書「報告書A」、「報告書B」、「報告書C」、「論文A」、「論文B」、「特殊文書A」、「特殊文書B」、および「特殊文書C」を示している。
【0047】
図5ないし図7における文書の表記方法について説明する。個々の文書における最初の空行の前には、属性名と属性値との組が”:”を区切り子として各行に記述されている。最初の空行の後には、文書の内容が記述される。なお、各文書の先頭の属性「文書スキーマ」は、文書スキーマでは定義されていないものであるが、文書格納時に本発明の文書データベース管理装置が自動的に付与する属性であるものとする。
【0048】
次に、第1の実施の形態においては、スキーマ特定部13は、フラグメントとなる文書スキーマから対応する文書スキーマを特定するため、内部的にスキーマ共有関係テーブル13aを保持するものとする。
【0049】
図8はスキーマ共有関係テーブルの一例を示す説明図である。図8におけるスキーマ共有関係テーブル13aの表記方法について説明する。” ”(空白)以外の文字で始まる行はフラグメントとなる文書スキーマの名称を表す。また、空白で始まる行は、テーブルを先頭から辿った時、その空白で始まる行に到達するすぐ前に見出されたフラグメントの文書スキーマを一部とする文書スキーマの名称を表す。よって、図8のテーブルは、技術文書スキーマが報告書スキーマおよび論文スキーマのフラグメントであること、および、基本文書スキーマが技術文書スキーマのフラグメントであることを表している。
【0050】
このスキーマ共有関係テーブル13aは、文書利用者30による検索指示がなされる前に、あらかじめスキーマ特定部13によって作成されるものとする。そのスキーマ共有関係テーブル13aの作成処理の一例を以下に示す。
【0051】
図9および図10はスキーマ共有関係テーブル作成の処理の一例を説明する流れ図である。このスキーマ共有関係テーブル作成処理では、一時ファイルが利用される。このため、ステップS11では、処理の前準備としてこの一時ファイルがクリアされる。
〔S12〕スキーマ保持部11の中の文書スキーマのうち、ステップS14以降で評価されていないものが存在するか否かがチェックされ、もし存在する場合は処理をステップS13に進め、存在しない場合は処理をステップS16に進める。
〔S13〕ステップS14以降で評価されていないスキーマ保持部11の中の文書スキーマを一つ特定し、処理をステップS14に進める。
〔S14〕ステップS13で特定された文書スキーマの記述を参照し、行頭に”*”が与えられている行をすべて特定し、その行の文字列から先頭の”*”を除いたものをステップS13で特定された文書スキーマのフラグメントとなる文書スキーマ名称として得て、処理をステップS15に進める。
〔S15〕ステップS13で特定した文書スキーマと、ステップS14で特定したフラグメントである文書スキーマとの組を、参照元の文書スキーマと参照先の文書スキーマが明示される形式で一時ファイルに追加し、処理をステップS12に進める。
〔S16〕一時ファイルが空であるか否かがチェックされ、もし空であれば処理を終了し、空でない場合は処理をステップS17に進める。
〔S17〕一時ファイルで参照先として記述されている文書スキーマを一つ特定し、処理をステップS18に進める。
〔S18〕一時ファイルから、ステップS17で特定された文書スキーマが参照先としてステップS15で書き込まれている組すべてを特定し、処理をステップS19に進める。
〔S19〕ステップS17で特定された文書スキーマ名称からなる行をスキーマ共有関係テーブル13aの末尾に追加し、処理をステップS20に進める。
〔S20〕ステップS18で特定された組の参照元の文書スキーマごとに、その名称の先頭に” ”(空白)一つを加えた文字列からなる行をスキーマ共有関係テーブル13aの末尾に追加し、処理をステップS21に進める。
〔S21〕ステップS18で特定された組を一時ファイルから削除し、処理をステップS16に戻す。
【0052】
次に、上で示した文書スキーマが保持されている状況でスキーマ共有関係テーブル13aを作成した場合に、ステップS12からステップS16に処理が進んだ時点での一時ファイルの内容例を以下に示す。
【0053】
図11はスキーマ共有関係テーブル作成時の一時ファイルの内容例を示す図である。図11の一時ファイルでは、各行に参照元と参照先が組として記述されている。各行では、”:”を区切り子とし、前に参照元の文書スキーマの名称、後に参照先の文書スキーマの名称が記述される。
【0054】
なお、上に示したスキーマ共有関係テーブル作成処理は、スキーマ特定部13が起動する図3のステップS4において実行されてももちろん構わない。
以下、上述した文書データベース管理装置10の動作の一例について、具体例を基に詳細に説明する。以下の説明は、図3で示した文書データベース管理装置10の全体的な処理の流れに従って説明する。
【0055】
まず、ステップS1における文書スキーマの提示では、スキーマ保持部11の中の文書スキーマをリストアップした問い合わせエディタがディスプレイ上に表示されて、文書利用者30に選択を促す。その問い合わせエディタの一例を以下に示す。
【0056】
図12は問い合わせエディタの一例を示す図である。図12の問い合わせエディタ40には、文書スキーマリスト表示領域41、スキーマ表示領域42、問い合わせ作成領域43、および”適用”ボタン44が備えられている。文書スキーマリスト表示領域41には、スキーマ保持部11の中の文書スキーマの名称が一覧表示される。
【0057】
続いて、ステップS2では、文書利用者30は問い合わせ作成時に利用する文書スキーマを一つだけ選択する。ここでは、文書スキーマ「基本文書スキーマ」が選択されたものとする。選択された文書スキーマを基に、文書利用者30が問い合わせを作成する。ここでは、選択された文書スキーマの表現を参照したり、問い合わせを作成するために、図12の問い合わせエディタ40を用いる。先に文書スキーマ「基本文書スキーマ」が選択されているので、それに対応してスキーマ表示領域42には「基本文書スキーマ」の記述が表示される。文書利用者30はこの表示を参照したり、記述の一部を再利用することで問い合わせを作成していく。
【0058】
図13は問い合わせが作成された時点での問い合わせエディタの表示例を示す図である。図13に示した問い合わせエディタ40で表現されている問い合わせの表記方法について説明する。問い合わせは、各行に記された検索条件の連言標準形として解釈される。個々の行では、行頭に属性名が示され、関係子および直後の属性値によって属性値に関する検索条件が与えられる。このため、問い合わせ作成領域43に表示されている問い合わせは、「文書表題」属性の値に”異種混合”という文字列を含み、かつ、「発行日」属性の日付型の値が”1996年3月1日”以前であるような文書の問い合わせを意味する。
【0059】
続いて、ステップS3の検索指示では、文書利用者30によって文書データベース管理装置10に検索指示が出され、ステップS2で選択された文書スキーマがスキーマ特定部13に入力される。本実施の形態においては、文書利用者30による検索指示は、問い合わせエディタ40の下部の”適用”ボタン44を押下することでなされ、スキーマ特定部13には、問い合わせエディタ40で選択された「基本文書スキーマ」が入力されることになる。
【0060】
ステップS4の文書スキーマの特定では、スキーマ特定部13が起動し、ステップS3で入力された文書スキーマをフラグメントとするスキーマ保持部11の中の文書スキーマを特定する。ここで、文書スキーマを特定する処理の一例を以下に示す。
【0061】
図14はスキーマ特定部の処理の一例を示す流れ図である。文書スキーマを特定する処理に先立ち、ステップS31では、内部的に保持する展開対象リストおよび出力リストをクリアする。
〔S32〕入力された文書スキーマを展開対象リストおよび出力リストの末尾に追加する。
〔S33〕展開対象リストが空であるか否かを判断する。その結果、空である場合は処理をステップS36に進め、文書スキーマの名前が入っている場合は処理をステップS34に進める。
〔S34〕スキーマ特定部13の内部に保持するスキーマ共有関係テーブル13aを参照し、ステップS32での展開対象リスト先頭の文書スキーマをフラグメントとする文書スキーマを特定する。そして、特定された文書スキーマが出力リストに記述されていない場合には、その文書スキーマを出力リストおよび展開対象リストの末尾に追加する。
〔S35〕展開対象リスト先頭の文書スキーマを削除し、処理をステップS33に戻す。
〔S36〕出力リスト中の文書スキーマを出力して処理を終了する。
【0062】
本実施の形態では、フラグメントとなる文書スキーマとして基本文書スキーマが入力されたので、基本文書スキーマをフラグメントとする技術文書スキーマ、技術文書スキーマをフラグメントとする報告書スキーマと論文スキーマ、および基本文書スキーマ自身の合計4つの文書スキーマが出力されることになる。
【0063】
次に、図3のステップS5の文書の検索では、文書検索部15において、ステップS4で出力された文書スキーマの文書が特定され、それらの文書のみを対象にして、問い合わせの条件を満たす文書が検索される。本実施の形態では、文書の「文書スキーマ」属性を参照することで、文書の文書スキーマを容易に特定することができ、ここでは、文書保持部12の中の8つの文書のうち、報告書スキーマに対応する報告書A、報告書B、報告書Cと、論文スキーマに対応する論文A、論文Bの合計5つの文書が検索の対象となる。
【0064】
文書検索部15での文書検索処理は、既存の文書検索システムの機能を用いて実現できるので、具体的な処理手順の説明は省略する。本実施の形態においては、文書検索部15における文書検索処理の結果得られる文書は、報告書Aおよび論文Aの合計2つである。
【0065】
そして、ステップS6の検索結果の表示では、ステップS5で得られた文書がディスプレイなどの出力装置を介して文書利用者30に示される。検索の結果得られた文書を文書利用者30に示す文書ホルダを図15に示す。
【0066】
図15は検索結果を表示する文書ホルダの表示例を示す図である。図15の文書ホルダ50には、文書リスト表示領域51および文書表示領域52が備えられている。文書リスト表示領域51には、検索の結果得られた文書の文書表題属性の値が一覧表示されている。文書リストの項目を選択すると、対応する文書の内容が文書表示領域に表示される。図15は、報告書Aが選択された様子を示している。この文書ホルダ50を利用して、文書利用者30は問い合わせエディタを通じて指示した検索処理の結果を得ることができる。
【0067】
以上の一連の処理の結果、文書利用者30は、報告書スキーマと論文スキーマという、異なる文書スキーマの文書を単一の問い合わせで検索することができた。しかも、問い合わせに適合する可能性のない特殊文書スキーマの文書をあらかじめ検索対象から除外して検索処理を行うことができた。
【0068】
なお、この第1の実施の形態では、文書利用者による検索指示が出されてから、文書スキーマをフラグメントとする文書スキーマを特定した。しかし、検索指示の前にスキーマ保持部中のすべての文書スキーマについて、その文書スキーマを一部として含むすべての文書スキーマを挙げ、それらの対応関係を内部的に保持しておく一方、検索指示の後の処理では、内部的に保持されている対応関係を基にして検索対象の文書スキーマを決定するよう構成することももちろん実現可能である。
【0069】
次に、文書型を持つ構造化文書であるSGML文書に適用した第2の実施の形態について説明する。
第2の実施の形態では、スキーマ保持部11の中の文書スキーマおよび文書保持部12の中の文書が第1の実施の形態で使用したものと異なるので、これら文書スキーマおよび文書の例を以下に示す。
【0070】
第2の実施の形態における文書スキーマは、文書要素の型に関する規則と、文書要素型の間の接続関係に関する規則とから構成されるもので、スキーマ保持部11に、たとえば「report」、「memo」、「sect」、および「misc」の4つの文書スキーマが保持されているものとする。
【0071】
図16は文書スキーマの一例の説明図である。図16には、スキーマ保持部11に保持されている文書スキーマ「report」、「memo」、「sect」、および「misc」を示している。図16における文書スキーマの表記方法は、SGMLの参照具体構文に基づくDTDの構文の表記方法であるので、詳細な表記方法の説明は省略する。ここでは、各文書スキーマのうち、「report」スキーマが意味する構文規則を書き下すこととする。
【0072】
reportスキーマは、reportスキーマの文書に対し、以下の構文規則を満足することを要求する。すなわち、文書全体を表すreport要素の直下に1つのfront要素、1つ以上のchap要素、1つのback要素がこの順序で保持されなくてはならない。front要素の直下に1つのtitle要素、1つのauthor要素、1つのnote要素がこの順序で保持されなくてはならない。author要素、note要素はいずれも直下に他の要素を持たず、内容として内容データを保持しなくてはならない。chap要素の直下に1つのtitle要素、0個以上のpara要素、1つ以上のsect要素がこの順序で保持されなくてはならない。システム識別子”sect”で識別される外部実体の内容として表現される構文規則を満足しなくてはならない。back要素の直下に1つのbiblio要素、1つのindex要素がこの順序で保持されなくてはならない。biblio要素、index要素はいずれも直下に他の要素を持たず、内容として内容データを保持しなくてはならない。
【0073】
上の構文規則の説明で示したように、reportはsectをフラグメントとしている。同様に、memoもsectをフラグメントとしている。
一方、第2の実施の形態において文書保持部12に保持される文書は、たとえば「report1」、「report2」、「report3」、「memo1」、「memo2」、「misc1」、「misc2」、および「misc3」の8つであるとし、以下にその内容例を示す。
【0074】
図17ないし図20は第2の実施の形態における文書の一例を示す図である。図17ないし図20には、文書保持部12に保持される「report1」、「report2」、「report3」、「memo1」、「memo2」、「misc1」、「misc2」、および「misc3」を示している。
【0075】
図17ないし図20における文書の表記方法は、SGMLの参照具体構文に基づくSGML文書の構文の表記方法であるので、表記方法の説明は省略する。
このような文書スキーマおよび文書が保持されているため、スキーマ特定部13の内部で保持されるスキーマ共有関係テーブル13aは図21のように表現される。
【0076】
図21は第2の実施の形態におけるスキーマ共有関係テーブルの一例を示す説明図である。図示のスキーマ共有関係テーブルによれば、sectスキーマがreportスキーマおよびmemoスキーマによって共有されていることを表している。
【0077】
第2の実施の形態における文書データベース管理装置10の基本的な動作の流れは、図3で示した動作の流れと同一であるので、以下、文書データベース管理装置10の動作例を図3の流れに従って説明する。
【0078】
まず、ステップS1の文書スキーマの提示では、第1の実施の形態の場合と同様に、スキーマ保持部11の中の文書スキーマをリストアップした問い合わせエディタ40がディスプレイ上に表示され、文書利用者30に文書スキーマの選択を促す。このときの問い合わせエディタ40の表示例を図22に示す。
【0079】
図22は問い合わせエディタの表示例を示す図である。図22に示した問い合わせエディタ40によれば、文書スキーマリスト表示領域41には、スキーマ保持部11に保持されている文書スキーマの名称(文書構造の根となる要素型の名称)が一覧表示される。すなわち、「report」、「memo」、「sect」、「misc」が一覧表示される。
【0080】
続いて、ステップS2では、文書スキーマリスト表示領域41に表示されているリストに対して、文書利用者30は問い合わせ作成時に利用する文書スキーマを一つだけ選択する。ここでは、文書スキーマ「sect」が選択されたものとする。選択された文書スキーマを基に、文書利用者30が問い合わせを作成する。選択された文書スキーマの参照や問い合わせの作成には図22の問い合わせエディタ40が用いられる。文書スキーマ「sect」が選択されているので、それに対応してスキーマ表示領域42では「sect」の記述が表示される。文書利用者30はこの表示を参照したり、記述の一部を再利用することで問い合わせを作成していく。
【0081】
図23は問い合わせが作成された時点での問い合わせエディタの表示例を示す図である。図23に示した問い合わせエディタ40で表現されている問い合わせの表現方法について説明する。問い合わせは、文書スキーマの文書要素型に関する条件および文書要素タイプ間の接続関係で表現される。問い合わせ作成領域43においては、文書要素タイプに関する条件は領域中の個々の矩形領域に示される。また、文書要素タイプ間の接続条件は、矩形領域を結ぶアークで示される。問い合わせ作成領域43における矩形領域内の表記の意味は、
<要素型名>(”<要素が含むべき文字列>”)
である。また、矩形領域間が実線の矢印で接続されている場合、矢印の元の矩形領域に対応する要素型が、矢印の先の矩形領域に対応する要素型の親にあたることを意味する。同様に、矩形領域間が破線の矢印で接続されている場合、矢印の元の矩形領域に対応する要素型が、矢印の先の矩形領域に対応する要素型の祖先にあたることを意味する。
【0082】
このため、問い合わせ作成領域43の中で表示されている問い合わせは、内容に文字列”異種”を含むtitle要素を子供に持ち、内容に文字列”混合”を含むpara要素を子孫に持つsect要素を持った文書の問い合わせを意味している。
【0083】
続いて、ステップS3の検索指示では、文書利用者30によって文書データベース管理装置10に検索指示が出され、ステップS2で選択された文書スキーマがスキーマ特定部13に入力される。文書利用者30による検索指示は、問い合わせエディタ40の下部にある”適用”ボタン44を押下することでなされ、スキーマ特定部には、問い合わせエディタで選択された「sect」が入力されることになる。
【0084】
ステップS4の文書スキーマの特定では、スキーマ特定部13が起動し、ステップS3で入力された文書スキーマをフラグメントとするスキーマ保持部11の中の文書スキーマを特定する。第2の実施の形態におけるスキーマ特定部13の処理の流れは、第1の実施の形態において図14で示された流れと同一であるので、説明を省略する。ここでは、スキーマ特定部13は、フラグメントとなる文書スキーマとしてsectが入力されたので、sectをフラグメントとするreportとmemo、そしてsect自身の合計3つの文書スキーマを文書検索制御部14に出力することになる。
【0085】
ステップS5では、文書検索部15において、ステップS4で出力された文書スキーマの文書が特定されて、特定された文書のみを対象にして問い合わせの条件を満たす文書が検索される。ここでは、文書先頭行のdoctype宣言に記載されているDTD名を参照することで、文書が従う文書スキーマを特定することができる。すなわち、文書保持部12の中の8つの文書のうち、reportスキーマに従うreport1、report2、report3、および、memoスキーマに従うmemo1およびmemo2の合計5つの文書が検索の対象となる。
【0086】
文書検索部15での処理は、文書要素型間の接続関係による問い合わせを扱う構造化文書検索システムの機能を用いて実現出来るので、具体的な処理手順の説明は省略する。ここでは、文書検索部15における検索処理の結果得られる文書は、report1、report2、およびmemo1の3つである。
【0087】
ステップS6の検索結果の表示では、ステップS5で得られた文書がディスプレイを介して文書利用者30に示される。検索の結果得られた文書を文書利用者に表示する文書ホルダは図15に示した文書ホルダ50と同一であるので、説明を省略する。
【0088】
以上の一連の処理の結果、文書利用者30は、reportとmemoという、異なる文書スキーマの文書を単一の問い合わせで検索することができた。しかも、問い合わせに適合する可能性のないmiscの文書をあらかじめ検索対象から外して検索処理を効率よく行うことができた。
【0089】
次に、第3の実施の形態として、実際にSGML文書の検索を行う前に、入力の文書スキーマをフラグメントとする文書スキーマの文書が入力の問い合わせの条件を満足し得ないか否かを検証する機能を備えている場合を例にして、以下に説明する。
【0090】
ただし、文書データベース管理装置10のスキーマ特定部13は、文書保持部12の中の文書に対する問い合わせとスキーマ保持部11の中の文書スキーマとを入力とし、以下の条件すべてを満足するスキーマ保持部11の中の文書スキーマを出力するものとする。すなわち、条件1:入力された文書スキーマの構文規則の集合が該文書スキーマの構文規則の部分集合であること、条件2:問い合わせで用いられるすべての文書要素が、フラグメントとなる文書スキーマで文書要素型として定められていること、および条件3:フラグメントとなる文書スキーマにおける文書要素型間の接続関係を組み合わせることにより問い合わせで用いられている文書要素間の接続条件が表現できることである。
【0091】
したがって、スキーマ特定部13は、このような動作を実行するための手続きを記述した計算機プログラムで実現される。また、スキーマ特定部13は、図2に示したように、スキーマ共有関係テーブル13aに加え、スキーマ保持部11の中の個々の文書スキーマに対応した要素セット13bと接続関係テーブル13cとを内部的に保持しているものとする。
【0092】
要素セット13bには、文書スキーマで定義された文書要素型の集合が保持される。また、接続関係テーブル13cには、個々の文書要素に関し、その要素の子供となる文書要素型の集合と、その要素の子孫となる文書要素型の集合とが保持される。この要素セット13bおよび接続関係テーブル13cは、スキーマ特定部13の処理において、上記の条件3を検証する際に用いられる。
【0093】
要素セット13bを作成するためには、文書スキーマ中の個々の要素宣言について、宣言されている要素をすべて要素セット13bに格納すればよい。この処理は、既存の文字列処理言語を用いることで容易に実現可能である。作成された要素セット13bの例を以下に示す。
【0094】
図24は要素セットの保持内容を示す図である。図24に示した要素セット13bには、スキーマ保持部11に保持されている文書スキーマ「report」、「memo」、「sect」、および「misc」の中でそれぞれ宣言されているすべての要素が記述されており、文書スキーマごとにどのような要素があるかを示している。
【0095】
次に、接続関係テーブル13cの作成処理について以下に説明する。
図25は接続関係テーブル作成の処理の一例を示す流れ図である。接続関係テーブル13cを作成する以下の処理では、キューを保持する変数Qと、集合を保持する変数Sが内部的に用いられる。
〔S41〕作成対象の文書スキーマのルートが選択され、処理をステップS42に進める。
〔S42〕選択した要素型を起点として、親から子を辿って到達できる要素型の集合を求め、処理をステップS43に進める。
〔S43〕ステップS42で得た要素型の集合にルートを加えた集合を変数Sに保持させ、処理をステップS44に進める。
〔S44〕変数Sに未処理の要素型があるかどうかを検査する。未処理の要素型がなければ処理を終了する。未処理の要素型があれば処理をステップS45に進める。
〔S45〕変数S中の要素型を一つ選択し、処理をステップS46に進める。
〔S46〕選択した要素型の子供となる要素型の集合を求め、処理をステップS47に進める。ある要素型の子供の要素型を得るためは、文書スキーマ中でその要素型の要素定義を特定し、その内容モデル中に子供として出現し得る要素型をすべて取り出せばよい。この処理は、既存の文字列処理言語を組み合わせることで容易に実現可能である。
〔S47〕選択した要素型を起点にして、親から子を辿って到達できる要素型の集合を求め、処理をステップS48に進める。
〔S48〕選択中の要素型、ステップS46で得られた要素型の集合、ステップS47で得られた要素型の集合を3つ組として接続関係テーブル13cの末尾に追加し、処理をステップS44に進める。
【0096】
図26は選択要素型の到達可能要素特定処理の一例を示す流れ図である。
〔S51〕変数Sを空集合とする。
〔S52〕選択要素型の子供である要素型を変数Qに保持させる。
〔S53〕変数Qの要素型数が0か否かを判定し、0の場合は処理を戻す。要素型数が1以上の場合は、変数Qの先頭要素型を取り出す。
〔S54〕取り出した要素型が変数Sに含まれているかどうかを判定し、含まれている場合はステップS53に処理を進める。含まれていない場合にはステップS55に処理を進める。
〔S55〕変数Sに取り出した要素型を加える。
〔S56〕取り出した要素型の子供である要素型を変数Qの末尾に追加し、処理をステップS53に進める。
【0097】
上の処理の結果、生成される接続関係テーブルは以下のようになる。
図27は接続関係テーブルの例を示す図である。図27に示した接続関係テーブル13cには、文書スキーマごとにある要素に対して子供として、および子孫として出現し得るすべての要素が記述されている。たとえば、接続関係テーブル13cの中のreportというスキーマにおいて、最初の1行は、reportという要素が子供に持ち得る要素はfront,chap,backであり、reportが子孫として持ち得る要素はfront,chap,back,...indexであることを記述している。次の行は、frontという要素に関する記述となる。なお、要素の中で、区切り子”:”しか持たない、たとえばtitleという要素があるが、ここでの記述はtitle要素が子供にも子孫にも要素を持ち得ないことを意味している。
【0098】
なお、接続関係テーブル13cの作成処理は、文書利用者30による検索指示が出される前に行われてもよいし、検索指示の後でスキーマ特定部13にて接続関係テーブル13cが参照される直前に行われても構わない。
【0099】
また、スキーマ保持部11および文書保持部12に保持されている文書スキーマおよび文書や、スキーマ特定部13に内部的に保持されているスキーマ共有関係テーブル13aは、第2の実施の形態の場合と同一であるので、説明を省略する。
【0100】
本実施の形態における動作の流れは、図3で示した動作の流れと基本的には同一である。ただし、ステップS4の文書スキーマの特定処理において、本発明の文書データベース管理装置10が個々の文書を検索する前に入力された問い合わせにヒットする文書が存在し得ないことを検知した場合には、文書利用者30にその旨が示され、ステップS2に処理が戻される。この場合の処理の流れを以下に示す。
【0101】
図28は第3の実施の形態での文書データベース管理装置の動作の一例を説明する流れ図である。以下の説明は、図2で示した構成要素がすべて用意されていることを前提とする。
〔S61〕文書利用者30に示される問い合わせエディタや、文書利用者30の操作は第2の実施の形態と同一であるので説明を省略する。問い合わせエディタで選択される文書スキーマも第2の実施の形態と同じ文書スキーマ「sect」であるとする。
〔S62〕ここで利用される問い合わせエディタも第2の実施の形態と同一であるが、文書利用者30によって作成された問い合わせは第2の実施の形態における問い合わせとは異なる。問い合わせが作成された時点での問い合わせエディタを以下に示す。
【0102】
図29は問い合わせが作成された時点での問い合わせエディタの表示例を示す図である。図29の問い合わせエディタで表現されている問い合わせの表現方法は、図23で示した表現方法と同一であるので説明を省略する。図29の問い合わせ作成領域43で表示されている問い合わせは、内容に文字列”異種”を含むtitle要素を子供に持つsect要素を含む文書であって、このtitle要素は内容に文字列”混合”を含むpara要素を子孫に持つような文書を対象としていることを表している。
〔S63〕文書利用者30によって文書データベース管理装置10に検索指示が出され、ステップS62で選択された文書スキーマがスキーマ特定部13に入力される。文書利用者30による検索指示は、問い合わせエディタ40の下部にある”適用”ボタン44を押下することでなされる。また、スキーマ特定部13には、問い合わせエディタ40で選択された「sect」が入力されることになる。
〔S64〕スキーマ特定部13が起動し、ステップS62で作成された問い合わせとステップS62で選択された文書スキーマとを入力とし、入力された文書スキーマの構文規則の集合が該文書スキーマの構文規則の部分集合であり(条件1)、問い合わせで用いられるすべての文書要素がフラグメントとなる文書スキーマで文書要素型として定められていて(条件2)、しかも、フラグメントとなる文書スキーマにおける文書要素型間の接続関係を組み合わせることにより問い合わせで用いられている文書要素間の接続条件が表現できること(条件3)、の3つの条件をすべて満足した、スキーマ保持部11の中の文書スキーマが特定され、出力される。
〔S65〕ステップS64の判定において、条件2または条件3が満足されない場合には、問い合わせにヒットする文書は存在し得ないとしてステップS62に戻り、問い合わせの作成をやり直す。また、条件2および条件3が満足された場合には、問い合わせにヒットする文書は存在し得るとしてステップS66に進む。
〔S66〕文書が存在し得る問い合わせで実際に文書の検索処理を行う。
〔S67〕検索の結果得られた文書が文書ホルダ50を通じて文書利用者30に示される。
【0103】
次に、上記のステップS64における文書スキーマの特定処理の詳細について以下に説明する。
図30は第3の実施の形態におけるスキーマ特定部の処理の一例を示す流れ図である。
〔S71〕条件2が満足されたか否かの判断を行う。
〔S72〕ステップS71で条件2が満足された場合は処理をステップS73に進める。満足されなかった場合は処理を終了し、出力装置を介して問い合わせ中の要素型に関する条件に不備がある旨指摘する。
〔S73〕条件3が満足されたか否かの判断を行う。
〔S74〕ステップS73で条件3が満足された場合は処理をステップS75に進める。満足されなかった場合は処理を終了し、出力装置を介して問い合わせ中の要素型間の接続条件に不備がある旨指摘する。
〔S75〕第2の実施の形態で示された図14の一連の処理が行われ、得られた文書スキーマが出力されて処理が終了する。なお、ステップS75の処理は、条件1を満足する文書スキーマを特定する処理に相当する。
【0104】
以上の一連の処理を行うことで、上に挙げた条件1、条件2、および条件3のすべてを満足する文書スキーマが特定され、出力されることになる。
次に、上記のステップS71の条件2が満足されたかどうかを判断する処理の詳細を以下に示す。
【0105】
図31は条件2判定処理の一例を示す流れ図である。以下の処理では、文書要素のキューを保持する変数Qが内部的に用いられる。
〔S81〕問い合わせで用いられているすべての文書要素を変数Qに格納する。
〔S82〕変数Qが空であるか否かが判定され、空の場合は条件2が満足されたという結果を返し、ステップS71の処理を終了する。空でない場合はステップS83へ処理を進める。
〔S83〕変数Qの先頭要素を取り出す。
〔S84〕取り出された要素が対応する文書スキーマの要素セットに含まれているか否かを判定する。含まれている場合は処理をステップS82に進め、含まれていない場合は条件2が満足されなかったという結果を返し、ステップS71の処理を終了する。
【0106】
次に、上記のステップS73の条件3が満足されたかどうかを判断する処理の詳細を以下に示す。
図32は条件3判定処理の一例を示す流れ図である。以下の処理では、2つの文書要素と接続関係とからなる3つ組のキューを保持する変数Q'が内部的に用いられる。
〔S91〕問い合わせで用いているすべての要素間接続関係を、第1要素(親または祖先)の要素名、第2要素(子供または子孫)の要素名、および関係(親子関係または祖孫関係)の3つ組で表現し、変数Q'に格納する。
〔S92〕変数Q'が空であるか否かが判定され、空の場合は条件3が満足されたという結果を返し、ステップS73の処理を終了する。空でない場合はステップS93に処理を進める。
〔S93〕変数Q'の先頭の3つ組を取り出す。
〔S94〕取り出された3つ組と対応する文書スキーマの接続関係テーブルのエントリとを照合し、処理をステップS92に進める。
【0107】
次に、上記のステップS94の照合処理の詳細を以下に示す。
図33は3つ組と接続関係テーブルのエントリとの照合処理の一例を示す流れ図である。
〔S101〕3つ組の第1要素と同一の第1要素を持つエントリを接続関係テーブルから特定する。
〔S102〕3つ組の第3要素が親子関係である場合は処理をステップS103に進め、祖孫関係である場合は処理をステップS104に進める。
〔S103〕3つ組の第2要素がステップS101で特定されたエントリの第2要素に含まれるか否かが判断される。含まれていた場合にはステップS94の処理を終了する。含まれていなかった場合は条件3が満足されなかったという結果を返し、ステップS73の処理を終了する。
〔S104〕3つ組の第2要素がステップS101で特定されたエントリの第3要素に含まれるか否かが判断される。含まれていた場合にはステップS94の処理を終了する。含まれていなかった場合は条件3が満足されなかったという結果を返し、ステップS73の処理を終了する。
【0108】
上に示した処理を行うスキーマ特定部13に、図29で示した問い合わせおよび文書スキーマ「sect」が入力された場合の、スキーマ特定部13の具体的な動きについて説明する。
【0109】
まず、図30のステップS71において、条件2が満足されるか否かが判断される。問い合わせに含まれる要素型はsect、title、paraの3種類であり、sectスキーマに対応する要素セットもsect、title、paraの3つの要素型を保持するので、条件2は満足される。ステップS72では、ステップS73に処理が進められる。
【0110】
ステップS73では、条件3が満足されるか否かが判断される。問い合わせに対応して図32のステップS91で作成され、変数Q'に格納される3つ組は以下の2つである。
sect:title:親子関係
title:para:祖孫関係
最初の3つ組を対象とした照合では、対応する接続関係テーブルのエントリとして、『sect:title、sect、para:title、sect、para』が特定される。
【0111】
そして、図33のステップS103では、3つ組の第2要素がエントリの第2要素に含まれるか否かが判定される。この場合、3つ組の第2要素(title)はエントリの第2要素(title、sect、para)に含まれているので、次の3つ組を対象とした照合が行われる。
【0112】
二つ目の3つ組を対象とした照合では、対応する接続関係テーブルのエントリとして以下のものが特定される。
title::
そして、ステップS104では、3つ組の第2要素がエントリの第3要素に含まれるか否かが判定される。この場合、3つ組の第2要素(para)はエントリの第3要素(空)に含まれないので、図30のステップS74でスキーマ特定部の処理が終了し、出力装置を介して問い合わせ中の要素型間の接続条件に不備がある旨が指摘される。
【0113】
図34は接続条件エラー報告ウインドウの表示例を示す図である。文書利用者30は、出力装置を介して表示される接続条件エラー報告ウインドウ60を参照することで、図28のステップS62において作成した問い合わせの接続条件に不備があることを知る。
【0114】
問い合わせに不備があることを知った文書利用者30が、問い合わせを図23で示したものに修正し、再度検索指示を出したものとすると、この場合には、図30のステップS71において問い合わせの修正前と同様に条件2が満足すると判断され、処理がステップS73に進められる。
【0115】
ステップS73では、条件3が満足されるか否かが判断される。問い合わせに対応して図32のステップS91で作成され、変数Q'に格納される3つ組は以下の2つである。
sect:title:親子関係
sect:para:祖孫関係
最初の3つ組を対象とした照合では、問い合わせ修正前と同様の結果が得られる。二つ目の3つ組を対象とした照合では、対応する接続関係テーブルのエントリとして、『sect:title、sect、para:title、sect、para』が特定される。
【0116】
そして、図33のステップS104では、3つ組の第2要素がエントリの第3要素に含まれるか否かが判定される。この場合、3つ組の第2要素(para)はエントリの第3要素(title、sect、para)に含まれるので、条件3は満足される。そして、処理は図30のステップS75に進み、結果的に第2の実施の形態にて示した結果とまったく同様の結果が文書利用者30に示される。
【0117】
以上の一連の処理の結果、文書利用者30は、文書を得る可能性のない問い合わせを誤って作成し、その問い合わせに基づく検索指示を出してしまっても、本発明の文書データベース管理装置10が誤りを指摘するので、その指摘に基づいて問い合わせを修正できる。さらに、本発明の文書データベース管理装置10は、実際に文書を検索する前に誤りを指摘できるので、文書利用者が誤りに気づくまでの時間を短縮でき、文書利用者による作業を効率化できる。また、計算機による無駄な検索処理を未然に防ぐことができる。
【0118】
なお、第2および第3の実施の形態では、文書の表現形式としてSGMLの参照具体構文で定められているものを採用したが、これにより本発明が限定されるものではない。文書保持部中の文書が文書要素と文書要素間の接続関係からなる構造化文書で、文書型を定義可能なものであれば、文書の表現形式によらず同様の文書データベース管理装置を構成することができる。
【0119】
また、上の各実施の形態では、文書スキーマのフラグメントは文書スキーマの外部ファイルとして実現されているものとした。一方、フラグメントが文書スキーマと同一ファイル上に実現されている状況も考えられる。この状況においても、スキーマ特定部がフラグメントとなる文書スキーマを特定できれば、上の各実施の形態で示した処理の流れとまったく同じ流れで同様の結果を得ることが可能である。
【0120】
さらに、上の各実施の形態では、スキーマ特定部に入力された文書スキーマをフラグメントとするスキーマ保持部中のすべての文書スキーマがスキーマ特定部で特定されていた。しかし、スキーマ特定部で特定された文書スキーマを文書利用者に示して選択させ、文書利用者に選択された文書スキーマをスキーマ特定部で特定される文書スキーマ群とするように構成することも可能である。
【0121】
【発明の効果】
以上説明したように本発明では、複数の文書スキーマで共有される構文規則に現われる要素に関する条件や要素間の接続関係に関する条件を満たす文書の検索を単一の問い合わせで実現し、かつ、検索条件を満たし得ない文書を検索対象から除外することで検索効率を向上できるという効果がある。
【図面の簡単な説明】
【図1】本発明の文書データベース管理装置の原理構成図である。
【図2】文書データベース管理装置の構成例を示すブロック図である。
【図3】文書データベース管理装置の動作の一例を説明する流れ図である。
【図4】スキーマ保持部における文書スキーマの一例を示す説明図である。
【図5】文書保持部における文書の一例を示す説明図(その1)である。
【図6】文書保持部における文書の一例を示す説明図(その2)である。
【図7】文書保持部における文書の一例を示す説明図(その3)である。
【図8】スキーマ共有関係テーブルの一例を示す説明図である。
【図9】スキーマ共有関係テーブル作成の処理の一例を説明する流れ図(その1)である。
【図10】スキーマ共有関係テーブル作成の処理の一例を説明する流れ図(その2)である。
【図11】スキーマ共有関係テーブル作成時の一時ファイルの内容例を示す図である。
【図12】問い合わせエディタの一例を示す図である。
【図13】問い合わせが作成された時点での問い合わせエディタの表示例を示す図である。
【図14】スキーマ特定部の処理の一例を示す流れ図である。
【図15】検索結果を表示する文書ホルダの表示例を示す図である。
【図16】文書スキーマの一例の説明図である。
【図17】第2の実施の形態における文書の一例を示す図(その1)である。
【図18】第2の実施の形態における文書の一例を示す図(その2)である。
【図19】第2の実施の形態における文書の一例を示す図(その3)である。
【図20】第2の実施の形態における文書の一例を示す図(その4)である。
【図21】第2の実施の形態におけるスキーマ共有関係テーブルの一例を示す説明図である。
【図22】問い合わせエディタの表示例を示す図である。
【図23】問い合わせが作成された時点での問い合わせエディタの表示例を示す図である。
【図24】要素セットの保持内容を示す図である。
【図25】接続関係テーブル作成の処理の一例を示す流れ図である。
【図26】選択要素型の到達可能要素特定処理の一例を示す流れ図である。
【図27】接続関係テーブルの例を示す図である。
【図28】第3の実施の形態での文書データベース管理装置の動作の一例を説明する流れ図である。
【図29】問い合わせが作成された時点での問い合わせエディタの表示例を示す図である。
【図30】第3の実施の形態におけるスキーマ特定部の処理の一例を示す流れ図である。
【図31】条件2判定処理の一例を示す流れ図である。
【図32】条件3判定処理の一例を示す流れ図である。
【図33】3つ組と接続関係テーブルのエントリとの照合処理の一例を示す流れ図である。
【図34】接続条件エラー報告ウインドウの表示例を示す図である。
【符号の説明】
1 スキーマ保持手段
2 文書保持手段
3 スキーマ特定手段
4 文書検索制御手段
5 文書検索手段
10 文書データベース管理装置
11 スキーマ保持部
12 文書保持部
13 スキーマ特定部
13a スキーマ共有関係テーブル
13b 要素セット
13c 接続関係テーブル
14 文書検索制御部
15 文書検索部
20 入出力装置
30 文書利用者
Claims (6)
- 電子文書を管理対象とする文書データベース管理装置において、
文書の構文規則である文書スキーマを複数保持しているスキーマ保持手段と、
前記スキーマ保持手段中の文書スキーマの構文規則を満たした複数の文書が検索対象として保持されている文書保持手段と、
前記スキーマ保持手段に保持された文書スキーマを文書利用者に提示してひとつを選択させるとともに前記選択された文書スキーマに基づいて前記文書利用者に前記文書保持手段に格納された文書検索の問い合わせを作成させる問い合わせエディタと、
前記選択された文書スキーマおよび前記スキーマ保持手段に保持されている文書スキーマ群を入力とし、前記選択された文書スキーマの構文規則を自らの構文規則の部分集合とする文書スキーマを前記文書スキーマ群から特定するスキーマ特定手段と、
前記スキーマ特定手段にて特定された前記文書スキーマ群および前記問い合わせを入力とし、前記文書スキーマ群に対応する前記文書保持手段中の文書から前記問い合わせの条件を満足する文書を検索する文書検索手段と、
を具備することを特徴とする文書データベース管理装置。 - 前記スキーマ保持手段は、文書属性の型のみからなる文書スキーマを保持していることを特徴とする請求項1記載の文書データベース管理装置。
- 前記スキーマ保持手段は、文書要素の型に関する規則と文書要素型の間の接続関係に関する規則とから構成される文書スキーマを保持していることを特徴とする請求項1記載の文書データベース管理装置。
- 前記スキーマ特定手段は、前記スキーマ特定手段によって特定された文書スキーマ群の各々の文書スキーマのうち、入力された前記問い合わせの条件を満たし得る文書に対応する文書スキーマだけを前記文書検索手段に出力することを特徴とする請求項3記載の文書データベース管理装置。
- 前記スキーマ特定手段は、入力された文書スキーマのうちその文書要素型間の接続関係を組み合わせることで前記問い合わせで用いられている文書要素間の接続関係を表現できる文書スキーマのみ、前記スキーマ特定手段で特定された文書スキーマ群を前記文書検索手段に出力することを特徴とする請求項4記載の文書データベース管理装置。
- 電子文書を管理対象とする文書データベース管理方法において、
問い合わせエディタがスキーマ保持部に保持された文書スキーマを文書利用者に提示してひとつを選択させるとともに前記選択された文書スキーマに基づいて前記文書利用者に問い合わせを作成させ、
スキーマ特定部が前記文書利用者による検索指示により、前記文書利用者によって選択された前記文書スキーマからその文書スキーマをフラグメントとする前記スキーマ保持部中の文書スキーマを特定し、
文書検索部が特定された前記文書スキーマと前記文書利用者によって作成された問い合わせとを基にして文書保持部の中の文書に対する検索を行い、
出力部が検索によって得られた前記文書保持部の中の文書を出力する、
ことを特徴とする文書データベース管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17829396A JP3707133B2 (ja) | 1996-07-08 | 1996-07-08 | 文書データベース管理装置および文書データベース管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17829396A JP3707133B2 (ja) | 1996-07-08 | 1996-07-08 | 文書データベース管理装置および文書データベース管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1027178A JPH1027178A (ja) | 1998-01-27 |
JP3707133B2 true JP3707133B2 (ja) | 2005-10-19 |
Family
ID=16045945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17829396A Expired - Fee Related JP3707133B2 (ja) | 1996-07-08 | 1996-07-08 | 文書データベース管理装置および文書データベース管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3707133B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263517B2 (en) * | 2002-10-31 | 2007-08-28 | Biomedical Objects, Inc. | Structured natural language query and knowledge system |
US9218418B2 (en) | 2009-06-15 | 2015-12-22 | Nec Corporation | Search expression generation system |
JP7116948B2 (ja) * | 2018-02-22 | 2022-08-12 | 学校法人 京都産業大学 | 検索装置、検索方法、およびプログラム |
-
1996
- 1996-07-08 JP JP17829396A patent/JP3707133B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1027178A (ja) | 1998-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9268760B2 (en) | Correlation, association, or correspondence of electronic forms | |
US7043488B1 (en) | Method and system for storing hierarchical content objects in a data repository | |
US6839701B1 (en) | Hitmask for querying hierarchically related content entities | |
US7114123B2 (en) | User controllable data grouping in structural document translation | |
US9003282B2 (en) | Method and system for managing volumes within a compilation of content | |
US7340481B1 (en) | Method and system for adding user-provided content to a content object stored in a data repository | |
US6986102B1 (en) | Method and configurable model for storing hierarchical data in a non-hierarchical data repository | |
US7007034B1 (en) | File structure for storing content objects in a data repository | |
US7290205B2 (en) | System and method for management of document cross-reference links | |
US7089239B1 (en) | Method and system for preventing mutually exclusive content entities stored in a data repository to be included in the same compilation of content | |
US7346844B1 (en) | Method and system for moving content in a content object stored in a data repository | |
US7076494B1 (en) | Providing a functional layer for facilitating creation and manipulation of compilations of content | |
US6449627B1 (en) | Volume management method and system for a compilation of content | |
US7613993B1 (en) | Prerequisite checking in a system for creating compilations of content | |
US20020007373A1 (en) | System, method, and computer program product for knowledge management | |
US7401097B1 (en) | System and method for creating compilations of content | |
US20060218160A1 (en) | Change control management of XML documents | |
US20050050066A1 (en) | Processing XML node sets | |
US9448987B2 (en) | Inserting rules-driven paragraphs into user-designated locations in a document irrespective of modifications to the structure of the document | |
JPH09251466A (ja) | 業務支援システム | |
Kitagawa et al. | The unnormalized relational data model: for office form processor design | |
US7356766B1 (en) | Method and system for adding content to a content object stored in a data repository | |
Shoval et al. | ADDS: A system for automatic database schema design based on the binary-relationship model | |
JP3707133B2 (ja) | 文書データベース管理装置および文書データベース管理方法 | |
Yu et al. | Metadata management system: design and implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050308 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050509 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090812 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100812 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110812 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |