JP2903941B2 - データ検索装置 - Google Patents

データ検索装置

Info

Publication number
JP2903941B2
JP2903941B2 JP5113876A JP11387693A JP2903941B2 JP 2903941 B2 JP2903941 B2 JP 2903941B2 JP 5113876 A JP5113876 A JP 5113876A JP 11387693 A JP11387693 A JP 11387693A JP 2903941 B2 JP2903941 B2 JP 2903941B2
Authority
JP
Japan
Prior art keywords
record
type
data
new
sequence
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
Application number
JP5113876A
Other languages
English (en)
Other versions
JPH06301730A (ja
Inventor
仁樹 京嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP5113876A priority Critical patent/JP2903941B2/ja
Publication of JPH06301730A publication Critical patent/JPH06301730A/ja
Application granted granted Critical
Publication of JP2903941B2 publication Critical patent/JP2903941B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、レコード列からユーザ
が所望の情報を取り出すためのデータ検索装置に関する
ものである。
【0002】
【従来の技術】蓄積されたデータからユーザが所望の情
報を取り出すための検索装置としては、関係データベー
スがある。関係データベースは、第1正規形を前提とし
た関係モデル(Communication of t
he ACM,Vol.13,No.6,June 1
970,Codd,E.F.,“A Relation
al Model of Data for Larg
e Shared DataBanks.”,pp.3
77−387)に基づいているため、関係データベース
中のどのレコードのどのフィールドも、内部構造を持た
ないデータか、あるいは、関係データベースではその内
部構造にアクセスできないデータであった。
【0003】この問題を解決するために、Dadam,
P.,Kuespect,K.,Anderson,
F.,Blanken,H.,Erbe,R.,Gue
nanuer,J.,Lum,V.,Pistor,
P.,and Walch,G.,“A DBMS P
rototype to Support Exten
ded NF2 Relations:An Inte
grated Viewon Flat Tables
and Hierarchies”,SIGMOD,
1986,pp.356−367のように、第1正規形
の制限を外し、データベース中のレコードのフィールド
値がレコード群であるという、階層構造を許す拡張関係
を対象にした拡張関係データベースが考えられた。拡張
関係データベースを操作するための拡張関係代数におい
ては、Roth,M.A.,Korth,H.F.,a
nd Silberschats,A.,“Exten
ded Algebra and Calculus
for Nested Relational Dat
abase”に記載されているように、従来の関係代数
で提供されている和(union),積(inters
ection),差分(set differenc
e),直交積(cartesian produc
t),投影(projection),選択(sele
ction)などの操作に加えて、データを階層化また
は非階層化する機能を提供している。
【0004】拡張関係の概念を、文書を対象としたデー
タベースに向けて応用しようとしたものにNST(Ne
sted Sequences of Tuples)
とその代数がある。このNSTは、例えば、ACM T
ransaction onOffice Infor
mation Systems,Vol.7,No.
4,April 1989,Guting,R.H,Z
icari,R.,AND Choy,D.M,“An
algebra for structured o
ffice ducuments”に記載されている。
NSTは、構造化文書の論理構造を表現するためのデー
タモデルである。NSTは構成要素の列からなるという
文書の特徴を拡張関係に持ち込んでいる。拡張関係とそ
の代数がレコードの集合を扱うものであるのに対し、N
STとその代数ではレコードの列を扱っている。NST
とその代数では、従来の拡張関係で提供されている和
(union),積(intersection),差
分(set difference),直交積(car
tesian product),投影(projec
tion),選択(selection),階層化,非
階層化の機能を、レコードの列を扱うものに変更してい
る。文書は、一般的に順序関係を有しており、文書を扱
う場合、この順序関係を考慮した処理を行なう必要があ
る。そのため、データベースで扱うレコード集合は、順
序関係を有したレコードの列として扱う。また、従来の
拡張関係において提供されていた各機能も、この順序関
係を考慮したものとしている。
【0005】しかし、NSTは文書の論理構造を表現す
るのに十分ではない。関係データベース、拡張関係が、
同種のレコードの集合を扱うものであったように、NS
Tは文書を同種のレコードの列として扱っている。これ
に対し、実際の文書は、種類の違う構成要素の列であ
る。例えば、文書が、図、表、段落といったタイプの違
うデータの列であることは普通である。また、文書が、
章のように構成要素を持つデータと、段落のように構成
要素を持たないデータの列であることも普通である。こ
のようなタイプの違うデータの列であるという文書の特
徴をNSTでは表現できない。
【0006】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、順序関係を有するマルチタ
イプレコード列に対して順序関係を保持したまま処理を
可能としたデータ検索装置を提供することを目的とする
ものである。
【0007】
【課題を解決するための手段】本発明は、請求項1に記
載の発明においては、データ検索装置において、順序関
係を有するレコード列から所望の情報を取り出すデータ
検索装置において、複数の種類のレコードにより構成可
能な順序関係を有するレコード列を格納する格納手段
と、該格納手段に格納されているレコード列に対する処
理要求が入力可能な指定手段と、該指定手段から入力さ
れた処理要求に基づき前記格納手段に格納されているレ
コード列に対して該レコード列の順序関係を保存したま
ま処理を行ない順序関係を有する新たなレコード列を生
成する生成手段を有することを特徴とするものである。
【0008】請求項2に記載の発明では、請求項1に記
載のデータ検索装置において、前記指定手段から、レコ
ードの種類と、該種類のレコードに対する条件が指定さ
れ、前記生成手段は、前記格納手段に格納されている第
1のレコード列の順序関係を保持したまま、該第1のレ
コード列から、前記指定手段で指定されたレコードの種
類であり、かつ、条件を満たさないレコードを取り除
き、順序関係を有する新しい第2のレコード列を生成す
ることを特徴とするものである。
【0009】請求項3に記載の発明では、請求項1に記
載のデータ検索装置において、前記指定手段から、レコ
ードの種類と、該種類のレコードに対する条件が指定さ
れ、前記生成手段は、前記格納手段に格納されている第
1のレコード列の順序関係を保持したまま、該第1のレ
コード列から、前記指定手段で指定されたレコードの種
類であり、かつ、条件を満たさないレコードと、指定手
段で指定されなかったレコードとを取り除き、順序関係
を有する第2のレコード列を生成することを特徴とする
ものである。
【0010】請求項4に記載の発明では、請求項1に記
載のデータ検索装置において、前記生成手段は、前記格
納手段に格納されている順序関係を有する第1のレコー
ド列の後に順序関係を有する第2のレコード列を連結
し、順序関係を有する新しい第3のレコード列を生成す
ることを特徴とするものである。
【0011】請求項5に記載の発明では、請求項1に記
載のデータ検索装置において、前記生成手段は、前記格
納手段に格納されている第1のレコード列の順序関係を
保持したまま、該第1のレコード列から、前記格納手段
に格納されている第2のレコード列中に存在しないレコ
ードを取り除き、順序関係を有する新しい第3のレコー
ド列を生成することを特徴とするものである。
【0012】請求項6に記載の発明では、請求項1に記
載のデータ検索装置において、前記生成手段は、前記格
納手段に格納されている第1のレコード列の順序関係を
保持したまま、該第1のレコード列から、前記格納手段
に格納されている第2のレコード列中に存在するレコー
ドを取り除き、順序関係を有する新しい第3のレコード
列を生成することを特徴とするものである。
【0013】請求項7に記載の発明では、請求項1に記
載のデータ検索装置において、前記生成手段は、前記格
納手段に格納されている順序関係を有する第1のレコー
ド列に含まれるレコードのフィールドと、前記格納手段
に格納されている順序関係を有する第2のレコード列に
含まれるレコードのフィールドとを、この順序で並べた
レコードを、第1のレコード列に含まれるレコードの順
に、それぞれ、第2のレコード列に含まれるレコードの
順序ですべての組み合わせについて作成し、順序関係を
有する新しい第3のレコード列を生成することを特徴と
するものである。
【0014】請求項8に記載の発明では、請求項1に記
載のデータ検索装置において、前記指定手段から、レコ
ードの種類と、該種類のレコードのフィールドの並び順
が指定され、前記生成手段は、前記格納手段に格納され
ている第1のレコード列の順序関係を保持したまま、該
第1のレコード列の前記指定手段で指定された種類のレ
コードのフィールドの並び順を、前記指定手段で指定さ
れた並び順に変更し、順序関係を有する新しい第2のレ
コード列を生成することを特徴とするものである。
【0015】請求項9に記載の発明では、請求項1に記
載のデータ検索装置において、前記指定手段から、レコ
ードの種類と、該種類のレコードのフィールドの並び順
が指定され、前記生成手段は、前記格納手段に格納され
ている第1のレコード列の順序関係を保持したまま、該
第1のレコード列の前記指定手段で指定された種類のレ
コードのフィールドの並び順を、前記指定手段で指定さ
れた並び順に変更し、さらに、前記指定手段で指定され
なかった種類のレコードを取り除き、順序関係を有する
新しい第2のレコード列を生成することを特徴とするも
のである。
【0016】請求項10に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールド群の一
部が指定され、前記生成手段は、前記格納手段に格納さ
れている第1のレコード列の順序関係を保持したまま、
該第1のレコード列の前記指定手段で指定された種類の
レコードを、該レコード中のフィールドのうちで前記指
定手段で指定されたもののみからなる新しいレコードに
置き換え、順序関係を有する新しい第2のレコード列を
生成することを特徴とするものである。
【0017】請求項11に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールド群の一
部が指定され、前記生成手段は、前記格納手段に格納さ
れている第1のレコード列の順序関係を保持したまま、
該第1のレコード列の前記指定手段で指定された種類の
レコードを、該レコード中のフィールドのうちで前記指
定手段で指定されたもののみからなる新しいレコードに
置き換え、さらに、前記指定手段で指定されなかった種
類のレコードを取り除き、順序関係を有する新しい第2
のレコード列を生成することを特徴とするものである。
【0018】請求項12に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールド群の一
部が指定され、前記生成手段は、前記格納手段に格納さ
れている第1のレコード列の順序関係を保持したまま、
該第1のレコード列のうち、前記指定手段で指定された
種類であり、かつ、指定手段で指定されたフィールド群
のフィールド値が等しい部分列を、該部分列を階層化し
て作った新しいレコードに置き換え、順序関係を有する
新しい第2のレコード列を生成することを特徴とするも
のである。
【0019】請求項13に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールド群の一
部が指定され、前記生成手段は、前記格納手段に格納さ
れている第1のレコード列の順序関係を保持したまま、
該第1のレコード列のレコードのうち、前記指定手段で
指定された種類であり、かつ、前記指定手段で指定され
たフィールド群のフィールド値が等しい部分列を、該部
分列を階層化して作った新しいレコードに置き換え、さ
らに、前記指定手段で指定されなかった種類のレコード
を取り除き、順序関係を有する新しい第2のレコード列
を生成することを特徴とするものである。
【0020】請求項14に記載の発明では、請求項12
または13に記載のデータ検索装置において、前記部分
列を階層化して作った新しいレコードが、前記指定手段
で指定されたフィールド群と、前記部分列を値とするフ
ィールドとからなるレコードであることを特徴とするも
のである。
【0021】請求項15に記載の発明では、請求項12
または13に記載のデータ検索装置において、前記部分
列を階層化して作った新しいレコードが、前記指定手段
で指定されたフィールド群と、新たなレコード列を値と
するフィールドからなり、該新たなフィールド列が、前
記部分列の順序関係を保持したまま、前記部分列中の各
レコードを、該レコードのフィールド群のうちで前記指
定手段で指定されなかったものからなるレコードで置き
換えたものであることを特徴とするものである。
【0022】請求項16に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールド群の一
部が指定され、前記生成手段は、前記格納手段に格納さ
れている順序関係を有する第1のレコード列中のレコー
ドで、前記指定手段で指定された種類であり、かつ、前
記指定手段で指定されたフィールド群のフィールド値が
等しい1つ以上のレコードを順に抽出して連結し、この
レコード列を階層化して作った新しいレコードと、第1
のレコード列中のレコードで、前記指定手段で指定され
なかった種類のレコードとを、第1のレコード列中のレ
コードの順序関係に従って順に連結し、順序関係を有す
る新しい第2のレコード列を生成することを特徴とする
ものである。
【0023】請求項17に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールド群の一
部が指定され、前記生成手段は、前記格納手段に格納さ
れている順序関係を有する第1のレコード列中のレコー
ドで、前記指定手段で指定された種類であり、かつ、前
記指定手段で指定されたフィールド群のフィールド値が
等しい1つ以上のレコードを順に抽出して連結し、この
レコード列を階層化して作った新しいレコードを、第1
のレコード列中のレコードの順序関係に従って順に連結
し、順序関係を有する新しい第2のレコード列を生成す
ることを特徴とするものである。
【0024】請求項18に記載の発明では、請求項16
または17に記載のデータ検索装置において、前記新し
いレコードは、前記指定手段で指定されたフィールド群
と、前記1つ以上のレコードを抽出した順に連結したレ
コード列を値とするフィールドとからなるレコードであ
ることを特徴とするものである。
【0025】請求項19に記載の発明では、請求項16
または17に記載のデータ検索装置において、前記新し
いレコードは、前記指定手段で指定されたフィールド群
と、前記1つ以上のレコードを抽出した順に連結したレ
コード列の各レコードから前記指定手段で指定されたフ
ィールドを取り除いたレコード列を値とするフィールド
とからなるレコードであることを特徴とするものであ
る。
【0026】請求項20に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、フィールド値が1つ以上の型のレコー
ドからなるレコード列であるフィールドが指定され、前
記生成手段は、前記格納手段に格納されている順序関係
を有する第1のレコード列のうち、前記指定手段で指定
された種類のレコードである非階層化レコードを第3の
レコード列で置き換え、順序関係を有する新しい第2の
レコード列を生成するものであって、前記第3のレコー
ド列が、前記非階層レコードのフィールドのうち前記指
定手段から指定されたフィールドの値である第4のレコ
ード列の各レコードをレコードごとに前記非階層化レコ
ード中の前記指定手段から指定されなかったフィールド
群に追加して作った複数のレコードを、前記第4のレコ
ード列の順序に従って連結して作成したレコード列であ
ることを特徴とするものである。
【0027】請求項21に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、フィールド値が1つ以上の型のレコー
ドからなるレコード列であるフィールドが指定され、前
記生成手段は、前記格納手段に格納されている順序関係
を有する第1のレコード列のうち、前記指定手段で指定
された種類のレコードを、該レコードのフィールドのう
ち前記指定手段から指定されたフィールドの値であるレ
コード列の各レコードを、前記レコード中の前記指定手
段から指定されなかったフィールド群に追加して作った
レコード列で置き換え、さらに、前記指定手段で指定さ
れなかった種類のレコードを取り除き、順序関係を有す
る新しい第2のレコード列を生成することを特徴とする
ものである。
【0028】請求項22に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードから新たなデータを
作成する作成方法とが指定され、前記生成手段は、前記
格納手段に格納されている第1のレコード列の順序関係
を保持したまま、該第1のレコード列の前記指定手段で
指定された種類のレコードに、前記指定手段で指定され
た作成方法にしたがって前記レコードから作成されたデ
ータをフィールド値とするフィールドを追加し、順序関
係を有する新しい第2のレコード列を生成することを特
徴とするものである。
【0029】請求項23に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードから新たなデータを
作成する作成方法とが指定され、前記生成手段は、前記
格納手段に格納されている第1のレコード列の順序関係
を保持したまま、該第1のレコード列の前記指定手段で
指定された種類のレコードに、前記指定手段で指定され
た作成方法にしたがって前記レコードから作成されたデ
ータをフィールド値とするフィールドを追加し、さら
に、前記指定手段で指定されなかった種類のレコードを
取り除き、順序関係を有する新しい第2のレコード列を
生成することを特徴とするものである。
【0030】請求項24に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールドと、該
種類のレコードから新たなデータを作成する作成方法が
指定され、前記生成手段は、前記格納手段に格納されて
いる第1のレコード列の順序関係を保持したまま、該第
1のレコード列の前記指定手段で指定された種類のレコ
ードの前記指定手段で指定されたフィールドを、前記指
定手段で指定された作成方法にしたがって前記レコード
から作成されたデータをフィールド値とするフィールド
で置き換え、順序関係を有する新しい第2のレコード列
を生成することを特徴とするものである。
【0031】請求項25に記載の発明では、請求項1に
記載のデータ検索装置において、前記指定手段から、レ
コードの種類と、該種類のレコードのフィールドと、該
種類のレコードから新たなデータを作成する作成方法が
指定され、前記生成手段は、前記格納手段に格納されて
いる第1のレコード列の順序関係を保持したまま、該第
1のレコード列の前記指定手段で指定された種類のレコ
ードの前記指定手段で指定されたフィールドを、前記指
定手段で指定された作成方法にしたがって前記レコード
から作成されたデータをフィールド値とするフィールド
に置き換え、さらに、前記指定手段で指定されなかった
種類のレコードを取り除き、順序関係を有する新しい第
2のレコード列を生成することを特徴とするものであ
る。
【0032】
【作用】本発明によれば、指定手段から入力された処理
要求に基づき格納手段に格納されている順序関係を有す
るレコード列に対して順序関係を保持したまま処理を行
ない順序関係を有する新たなレコード列を生成する生成
手段を有しているので、従来の1種類のレコードからな
るレコード型のみならず、複数の種類のレコードからな
るマルチタイプレコード列に対して、検索、連結、除
去、比較、直交積、抽出、階層化、非階層化、レコード
中のフィールドの並び順の変更、追加、置換等の処理を
順序関係を保存したまま行なうことができる。また、こ
れらの処理のうちのいくつかの機能を備えることによ
り、ユーザは理解しやすいプリミティブな操作の組み合
わせを指定することによって、例えば文書の論理情報を
表現したマルチタイプレコード列を操作できるように構
成可能となる。また、従来の関係代数や拡張関係代数等
と同様に、順序関係を有するマルチタイプレコード列に
対する処理であっても、指定された操作がどのような処
理であるのかを理解することが容易になる。
【0033】
【実施例】図1は、本発明のデータ検索装置の一実施例
を示す構成図である。図中、1は格納手段、2は指定手
段、3は生成手段、4は表示手段である。格納手段1
は、検索対象となるデータ(以下、検索対象データと呼
ぶ)を格納している。格納手段1は、例えば、ハードデ
ィスク装置とインターフェース等で構成することができ
る。指定手段2は、要求する検索内容を指示するための
ものであり、入力された検索要求は、生成手段3に入力
する。指定手段2は、例えば、キーボード、マウスなど
の入力装置、入力制御部、入力された指定を解析する指
定解析部等で構成される。または、格納手段1と同様、
ハードディスク装置等で構成し、検索内容を指示するデ
ータを保持しておき、読み出して生成手段3に入力する
ように構成することも可能である。生成手段3は、指定
手段2で指定された検索対象データを格納手段1から読
み込み、検索処理を実行して新しい検索対象データを生
成する。生成手段3は、検索対象データを読み込む読込
部、検索処理を行なう検索処理部等で構成される。表示
手段4は、生成手段3において検索処理を行なった結果
を表示する。表示手段4としては、例えば、CRTディ
スプレイ装置、表示制御部、生成手段3で生成された検
索対象データからCRTディスプレイに表示される情報
を生成する表示情報生成部等で構成される。指定手段2
の指定解析部、表示手段4の表示情報生成部、生成手段
3の読込部と検索処理部等は、中央制御装置と主記憶装
置によって構成することができる。
【0034】上述のデータ検索装置は、例えば、文書の
論理構造を扱うことができる。この場合、生成手段3で
生成された検索対象データの形式の文書論理構造は、フ
ォーマッタにかけることにより、レイアウトされた文書
を得ることができる。
【0035】格納手段1に格納されている検索対象デー
タは、識別子によってアクセスすることができる。例え
ば、検索対象データの識別子と、検索対象データへのポ
インタとで構成されるテーブルを格納手段1に格納して
おく。このテーブルを、データ検索装置の起動時に主記
憶装置に読み込んでおくことによって、データ検索装置
の起動以後、識別子によって検索対象データにアクセス
できるようになる。
【0036】検索対象データは、マルチタイプレコード
列のデータ構造を示すデータ定義部と、マルチタイプレ
コード列が格納された実データ部とで構成される。デー
タ定義部は、関係データベース、または、拡張関係デー
タベース、あるいは、NSTにおけるスキーマにあた
る。また、実データ部は、関係データベース、または、
拡張関係データベース、あるいは、NSTにおけるオカ
レンスにあたる。
【0037】図2,図3は、検索対象データの第1の例
の説明図である。図2はデータ定義部を、図3は実デー
タ部をそれぞれ示している。図2以降の説明において、
データ定義部,実データ部の内容を表現するとき、集合
は「{」と「}」で囲まれて表現され、フィールド名あ
るいはフィールド値の列は「[」と「]」で囲まれて表
現されている。また、レコードの列は「<」,「>」で
囲まれて表現されている。集合または列の要素は、カン
マによって区切られている。図2および図3に示した例
は、ある議事録に関する検索対象データを表わしてい
る。この議事録は、質問と意見が時間の経過に従って並
んでいる。
【0038】1つの検索対象データは、図2に示したデ
ータ定義部と図3に示した実データ部とにより構成され
ている。データ定義部は、アトミックデータ定義部、レ
コード定義部、ルート定義部から構成される。
【0039】アトミックデータ定義部は、アトミックデ
ータ定義の集合である。アトミックデータ定義は、実デ
ータ部に出現するアトミックデータを定義しており、ア
トミックデータ種名とアトミックデータ型とのペアで構
成される。以下の説明では、アトミックデータ定義を、
アトミックデータ種名、コロン、アトミックデータ型で
示している。アトミックデータ型には、文字列型、整数
型、実数型などがある。例えば、図2に示した例のアト
ミックデータ定義部の「発言者:文字列型」は、1つの
アトミックデータ定義であり、このうちの「発言者」が
アトミックデータ種名、「文字列型」がアトミックデー
タ型である。また、アトミックデータ種名「内容」も、
「文字列型」のアトミックデータ型である。アトミック
データ定義部中には、データ定義部に出現するすべての
アトミックデータ種名について、該アトミックデータ種
名を持つアトミックデータ定義が存在する。アトミック
データ定義部中に、同じアトミックデータ種名を持つ複
数のアトミックデータ定義が存在してはならない。
【0040】レコード定義部は、レコード定義の集合で
ある。レコード定義は、実データ部に出現するレコード
を定義しており、レコード種名とレコード型とのペアで
構成される。以下の説明では、レコード定義を、レコー
ド種名、コロン、レコード型で示している。レコード種
名は、レコード定義がどの種類のレコードについてのも
のかを識別するためのものである。また、レコード型は
フィールド名の列で構成され、レコード種名で示された
種類のレコードが、どういうフィールドで構成される
か、また、そのフィールドはどういう順序で並んでいる
かを示している。レコード定義部中には、データ定義部
に出現するすべてのレコード種名について、該レコード
種を持つレコード定義が存在する。レコード定義部中
に、同じレコード種名を持つ複数のレコード定義が存在
してはならない。図2に示した例において、レコード定
義部の「質問:[発言者,{発言,回答}]」は1つの
レコード定義であり、「質問」がレコード種名、「[発
言者,{発言,回答}]」がレコード型である。以下の
説明において、レコード種名「A」を有するレコード
を、単にAレコードと呼ぶことにする。
【0041】フィールド名は、アトミックデータ種名、
あるいは、レコード種名の集合である。例えば、フィー
ルド名が「a」というアトミックデータ名であるとき、
そのフィールドの値は、「a」をアトミックデータ名に
持つアトミックデータ定義のアトミックデータ型のデー
タを値として持つ。レコード型中のフィールド名がレコ
ード種名の集合であるとき、そのフィールドを複合フィ
ールドと呼ぶ。フィールド名が「{b,c}」であると
き、そのフィールドの値は「b」というレコード種名を
持つレコードと、「c」というレコード種名を持つレコ
ードとからなるマルチタイプレコード集合であることを
示している。図2に示した例では、レコード種名「質
問」は、「発言者」を表す文字列型のフィールド、「発
言」と「回答」の2種のレコードからなるマルチタイプ
レコード列を値とする複合フィールドの2つのフィール
ドが、この順に並んでいると定義されている。以下の説
明では、フィールド名「A」を有するフィールドを、A
フィールドと呼ぶことにする。
【0042】ルート定義部は、レコード種名の集合であ
る。ルート定義部は、実データ部がどのようなレコード
で構成されるマルチタイプレコード列かを示している。
例えば図2では、実データ部が「質問」レコードと「意
見」レコードの2種のレコードの集合であることを示し
ている。なお、データ定義部に出現するアトミックデー
タ種名とレコード種名は、重複してはならない。
【0043】実データ部は、いろいろな種類のレコード
の集合である。レコードは、レコードの種類を識別する
ためのレコード種名と、フィールド値の列であるレコー
ド本体とから構成される。以下の説明では、レコード
は、レコード種名、コロン、レコード本体の連結で表現
される。レコード本体は、フィールド値の列を「[」と
「]」で囲んだもので表現される。レコード本体のどの
部分がいかなるフィールドのフィールド値であるか、あ
るフィールドがレコードの先頭からいくつ目のフィール
ドであるか、また、そのデータ型は何か等は、同じレコ
ード種名を持つレコード定義を参照することにより知る
ことができる。レコード定義のレコード型に出現するフ
ィールド名の順序と、レコード本体中のフィールド値の
出現順序は一致している。図3に示した例では、実デー
タ部が、2つの質問レコードと、3つの意見レコードか
ら構成されている。最初の質問レコードのレコード本体
は、2つのフィールドの列を有している。このレコード
は、発言者フィールドの値が「a山a’蔵」、{発言,
回答}フィールドの値が3つのレコードからなるマルチ
タイプレコード列である。
【0044】次に、生成手段3において行なわれる処理
の一例について説明する。第1の処理例として、マルチ
タイプレコード列を対象にした、条件に適合するレコー
ドを取り出す処理(selection処理)を行なう
例について説明する。第1の処理例において、生成手段
3は、指定手段2から検索対象データの識別子、レコー
ド種名、該種類のレコードに対する条件の指定を受け
る。これらの情報は、指定手段2の一部である入力装置
を介してユーザが指定する。
【0045】図4は、selection処理を行なう
際の入力情報の形式の一例の説明図である。ユーザが指
定手段2の入力装置を介して、検索対象データの識別
子、レコード種名、該種類のレコードに対する条件を指
定する際の、入力する情報の概要を示している。図4に
おいて、「識別子」は、検索対象データの識別子を指定
する部分である。「レコード種名」は、レコード種名を
指定する部分である。「条件」はbyの前に記述された
種類のレコードに対する条件を指定する部分である。
【0046】図5は、selection処理を行なう
際の入力情報の一例の説明図である。図5では、検索対
象となるのは「議事録」という識別子を持つ検索対象デ
ータであることが指定されている。また、選択の対象と
なるレコードは、意見レコードであり、選択の条件は、
発言者フィールドの値が「c島c’樹」であることであ
る。
【0047】レコードによっては、1つのレコードに同
じフィールド名を持つフィールドが複数存在する場合が
有り得る。例えば、レコード定義部中に、「メイル:
[アドレス,内容,アドレス]」というレコード定義が
あった場合、メイルレコードには2つのアドレスフィー
ルドが存在する。このような場合には、条件を指定する
ときに、フィールドを「フィールド名.自然数」で指定
するようにすればよい。自然数の部分は、指定されたフ
ィールド名を持つフィールドで、何番目に出現するかを
示す。「.自然数」の部分は省略しても良い。省略した
ときは、「フィールド名.1」と同じであるとする。例
えば、図4の「レコード種名 by 条件」の部分に、
「メイル by アドレス.2=○○○」という指定を
行なうことにより、この条件がメイルレコードの2番目
のアドレスフィールドの値が○○○であるものをsel
ectionの条件とすることが指定できる。
【0048】指定できる条件としては、図5に示したよ
うなもの以外に以下のようなものがある。 ・特定のフィールドの値が、ある特定の文字列を含む
か。 ・特定のフィールドの値がある特定の数値より大きい、
あるいは以上、あるいは以下、あるいは未満であるか。 ・別々のフィールドの値が等しいか。 ・あるフィールドの値(文字列)が、別のフィールドの
値(文字列)に含まれるか。 ・あるフィールドの値(数値)が、別のフィールドの値
(数値)より大きい、あるいは以上、あるいは以下、あ
るいは未満であるか。 ・ある複合フィールドの値が、ある特定の条件に適合す
るレコードを含むか。 ・ある複合フィールドの値の全ての要素が、ある特定の
条件に適合するか。 ・上記条件の論理和、論理積、否定、含意。
【0049】指定手段2では、ユーザからの入力を受け
取り、指定解析部で解析して、検索対象データの識別
子、レコード種名、該種類のレコードに対する条件を生
成手段3に送る。生成手段3は、指定手段2から識別
子、レコード種名、条件を受け取った後、指定手段2か
ら送られてきた識別子を持つ検索対象データを格納手段
1から主記憶装置に読み込む。読み込んだ検索対象デー
タの実データ部の要素のうち、指定手段2から送られて
きたレコード種名を持ち、かつ、指定手段2から送られ
てきた条件を満たさないレコードを取り除いた、新しい
マルチタイプレコード列を作成する。そして、読み込ん
だ検索対象データのデータ定義部の内容をデータ定義部
とし、作成された新しいマルチタイプレコード列を実デ
ータ部とする、新しい検索対象データを作成する。この
新しい検索対象データは、表示手段4によってCRTデ
ィスプレイに表示され、ユーザは検索結果を見ることが
できる。
【0050】図6は、selection処理により生
成された新たな検索対象データにおける実データ部の一
例の説明図である。上述のselection処理にお
いて、例えば、図2に示したデータ定義部と、図3に示
した実データ部を持つ検索対象データが「議事録」とい
う識別子で格納手段1に格納されているとき、ユーザが
図5に示した入力を行なう。すると、作成される検索対
象データのデータ定義部は、元の検索対象データのデー
タ定義部と同様、図2に示したデータ定義部となり、実
データ部は、図6に示すようになる。図6では、図3に
示したレコードから、指定された意見レコードであっ
て、条件「発言者=c島c’樹」に適合しないレコー
ド、すなわち、発言者が「a山a’蔵」のレコードが取
り除かれて、新たな実データ部が構成されている。
【0051】上述のselection処理では、検索
対象データの実データ部の要素のうち、指定手段2から
送られてきたレコード種名を持ち、かつ、指定手段2か
ら送られてきた条件を満たさないレコードを取り除い
た、新しいマルチタイプレコード列を作成したが、指定
手段2から送られてきたレコード種名を持ち、かつ、指
定手段2から送られてきた条件を満たさないレコード
と、指定手段2から送られてきたレコード種名を持たな
いレコードを取り除いた、新しいマルチタイプレコード
列を作成するように構成することもできる。図7は、s
election処理により生成された新たな検索対象
データにおける実データ部の別の一例の説明図である。
図6の場合と同様に、例えば、図2に示したデータ定義
部と、図3に示した実データ部を持つ検索対象データが
「議事録」という識別子で格納手段1に格納されている
とき、ユーザが図5に示した入力を行なう場合を考え
る。この別の一例の場合には、作成される検索対象デー
タの実データ部は、図7に示すようになる。図7では、
図3に示したレコードから、意見レコードであって、条
件「発言者=c島c’樹」に適合しないレコードと、意
見レコード以外のレコードを取り除いたレコード、すな
わち、意見レコードであって、条件「発言者=c島c’
樹」に適合するレコードのみにより、新たな実データ部
が構成される。
【0052】次に、第2の処理例として、マルチタイプ
レコード列を対象にし、マルチタイプレコード列の後ろ
に別のマルチタイプレコード列を連結した連結列を作る
処理(union処理)を行なう例について説明する。
第2の処理例において、生成手段3は、指定手段2から
被連結列としたい実データ部を含む検索対象データ(被
連結検索対象データと呼ぶ)の識別子と、連結列とした
い実データ部を含む検索対象データ(連結検索対象デー
タと呼ぶ)の識別子とを受け取る。これらの情報は、指
定手段2の一部である入力装置を介してユーザが指定す
る。指定手段2では、ユーザからの入力を受け取り、該
入力を指定解析部で解析して、2つの検索対象データの
識別子を生成手段3に送る。生成手段3は、指定手段2
から被連結検索対象データの識別子と連結検索対象デー
タの識別子とを受け取った後、まず、指定手段2から送
られてきた識別子を持つ検索対象データを格納手段1か
ら主記憶装置に読み込み、読み込んだ2つの検索対象デ
ータのデータ定義部から新しいデータ定義部を作り、そ
れがデータ定義部の規則を満たしているかを確認する。
確認の結果、規則を満たしていなければ、データ定義不
適合のメッセージの表示命令を表示手段4に送って、処
理は終了する。規則を満たしている場合は、被連結検索
対象データの実データ部のマルチタイプレコード列に、
連結検索対象データの実データ部のマルチタイプレコー
ド列を連結した、新しいマルチタイプレコード列を作
る。この新しいマルチタイプレコード列を実データ部と
し、作成された新しいデータ定義部とともに、新しい検
索対象データを作成する。新しい検索対象データは、表
示手段4によってCRTディスプレイに表示され、ユー
ザは検索結果を見ることができる。
【0053】この第2の処理例では、データ定義部の違
う検索対象データの間でもunion処理を実行するこ
とができる。ただし、新しいデータ定義部が規則を満た
していることを確認し、規則を満たしていない場合はu
nion処理を実行することはできない。
【0054】新しいデータ定義部の作り方を説明する。
新しいデータ定義部のアトミックデータ定義部は、読み
込んだ2つの検索対象データのアトミックデータ定義部
の和集合により作成される。また、新しいデータ定義部
のレコード定義部は、読み込んだ2つの検索対象データ
のレコード定義部の和集合により作成される。さらに、
新しいデータ定義部のルート定義部は、読み込んだ2つ
の検索対象データのルート定義部の和集合である。
【0055】図8,図9は、検索対象データの第2の例
の説明図、図10,図11は、union処理により生
成された新たな検索対象データの一例の説明図である。
上述のunion処理において、例えば、図2に示した
データ定義部と、図3に示した実データ部を持つ検索対
象データが「議事録」という識別子で、また、図8に示
したデータ定義部と、図9に示した実データ部を持つ検
索対象データが「議事録2」という識別子で格納手段1
に格納されている場合を考える。このとき、ユーザが被
連結検索対象データの識別子として「議事録」を、連結
検索対象データの識別子として「議事録2」を入力する
と、作成される検索対象データのデータ定義部は図10
に示したデータ定義部となり、実データ部は図11に示
すようになる。
【0056】union処理の結果、図10に示した新
たなデータ定義部は、図2のアトミックデータ定義部、
レコード定義部、ルート定義部と、図8のアトミックデ
ータ定義部、レコード定義部、ルート定義部とにより、
それぞれの和集合が演算され、図10のアトミックデー
タ定義部、レコード定義部、ルート定義部が生成され
る。また、新たな実データ部は、図3に示した実データ
部のレコードの後ろに、図9に示した実データ部のレコ
ードが連結され、図11に示した実データ部が生成され
る。図10に示した新たなデータ定義部と、図11に示
した新たな実データ部により、新たな検索対象データが
構成される。
【0057】第3の処理例として、マルチタイプレコー
ド列を対象にし、マルチタイプレコード列の要素から、
別のマルチタイプレコード列の要素でないものを取り除
く処理(intersection処理)を行なう例に
ついて説明する。ここで、前者のマルチタイプレコード
列を被除去列、後者のマルチタイプレコード列を除去列
と呼ぶ。
【0058】第3の処理例において、生成手段3は、指
定手段2から、被除去列としたい実データ部を含む検索
対象データ(被除去検索対象データと呼ぶ)の識別子
と、除去列としたい実データ部を含む検索対象データ
(除去検索対象データと呼ぶ)の識別子とを受け取る。
これらの情報は、指定手段2の一部である入力装置を介
してユーザが指定する。生成手段3は、指定手段2から
指定手段から被除去検索対象データの識別子と除去検索
対象データの識別子とを受け取った後、指定手段2から
送られてきた識別子を持つ検索対象データを格納手段1
から主記憶装置に読み込む。読み込んだ2つの検索対象
データのデータ定義部から新しいデータ定義部を作る。
その結果、新しいデータ定義部が作成できないか、ある
いは作成した新しいデータ定義部が、データ定義部の規
則を満たしていなければ、データ定義不適合のメッセー
ジの表示命令を表示手段4に送って、処理は終了する。
また、読み込んだ被除去検索対象データの実データ部の
マルチタイプレコード列から、除去検索対象データの実
データ部のマルチタイプレコード列に含まれないレコー
ドを除去した、新しいマルチタイプレコード列を作る。
作成された新しいマルチタイプレコード列を新しい実デ
ータ部とし、新しいデータ定義部とともに、新しい検索
対象データが構成される。新しい検索対象データは、表
示手段4によってCRTディスプレイに表示され、ユー
ザは検索結果を見ることができる。
【0059】第3の処理例では、データ定義部の違う検
索対象データの間でもintersection処理を
実行することができる。ただし、新しいデータ定義部が
規則を満たしていることを確認し、規則を満たしていな
い場合はintersection処理を実行すること
はできない。
【0060】新しいデータ定義部の作り方を説明する。
まず、読み込んだ2つの検索対象データのデータ定義部
に、アトミックデータ種名が同じで、アトミックデータ
型が違う2つのアトミックデータ定義が存在しないこと
を確認する。存在する場合は、新しいデータ定義部は作
れない。次に、読み込んだ2つの検索対象データのデー
タ定義部に、レコード種名が同じで、レコード型が違う
2つのレコード定義が存在しないことを確認する。この
場合も、存在する場合は、新しいデータ定義部は作れな
い。さらに、読み込んだ2つの検索対象データのデータ
定義部に、アトミックデータ種名とレコード種名に同じ
名前が出現しないことを確認する。存在する場合は、新
しいデータ定義部は作れない。アトミックデータ定義部
は、読み込んだ2つの検索対象データのデータ定義部の
アトミックデータ定義部の積集合により作成される。レ
コード定義部は、読み込んだ2つの検索対象データのデ
ータ定義部のレコード定義部の積集合により作成され
る。ルート定義部は、読み込んだ2つの検索対象データ
のデータ定義部の積集合により作成される。
【0061】図12は、検索対象データの実データ部の
第3の例の説明図、図13,図14は、interse
ction処理により生成された新たな検索対象データ
の一例の説明図である。上述のintersectio
n処理において、例えば、図2に示したデータ定義部
と、図3に示した実データ部を持つ検索対象データが
「議事録」という識別子で、また、図8に示したデータ
定義部と、図12に示した実データ部を持つ検索対象デ
ータが「議事録2」という識別子で格納手段1に格納さ
れている場合を考える。このとき、ユーザが被除去検索
対象データの識別子として「議事録」を、除去検索対象
データの識別子として「議事録2」を入力すると、作成
される検索対象データは、図13に示すデータ定義部
と、図14に示す実データ部から構成される新たな検索
対象データが生成される。図2及び図8に示したアトミ
ックデータ定義部には、アトミックデータ種名が同じで
アトミックデータ型が違うアトミックデータ定義は存在
せず、また、レコード種名が同じでレコード型が違うレ
コード定義は存在せず、さらに、アトミックデータ種名
とレコード種名に同じ名前は出現していない。これらの
確認から図2と図8に示したデータ定義部は、inte
rsection処理が可能である。アトミックデータ
定義部、レコード定義部、ルート定義部のそれぞれにつ
いて積集合を作り、図13に示す新たなデータ定義部が
作成される。実データ部は、図3に示した実データ部の
マルチタイプレコード列から、図12に示した実データ
部のマルチタイプレコード列に含まれないレコードが除
去され、図14に示す新たな実データ部が作成される。
図13に示したデータ定義部と図14に示した実データ
部により、新たな検索対象データが構成される。
【0062】第4の処理例として、マルチタイプレコー
ド列を対象にした、あるマルチタイプレコード列(これ
を被比較列と呼ぶ)から、別のマルチタイプレコード列
(これを比較列と呼ぶ)の要素を取り除く処理(dif
ference処理)を行なう例について説明する。第
4の処理例において、生成手段3は、指定手段2から、
被比較列としたい実データ部を含む検索対象データ(被
比較検索対象データと呼ぶ)の識別子と、比較列とした
い実データ部を含む検索対象データ(比較検索対象デー
タと呼ぶ)の識別子とを受け取る。これらの情報は、指
定手段2の一部である入力装置を介してユーザが指定す
る。生成手段3は、指定手段2から被比較検索対象デー
タの識別子と比較検索対象データの識別子とを受け取っ
た後、指定手段2から送られてきた識別子を持つ検索対
象データを格納手段1から主記憶装置に読み込む。読み
込んだ2つの検索対象データのデータ定義部に対して、
以下の(1)〜(3)の条件を満たすかどうかを確認す
る。確認の結果、満たしていなければ、データ定義不整
合のメッセージの表示命令を表示手段4に送って、処理
は終了する。 (1)読み込んだ2つの検索対象データのデータ定義部
に、アトミックデータ種名が同じで、アトミックデータ
型が違う2つのアトミックデータ定義が存在しない。 (2)読み込んだ2つの検索対象データのデータ定義部
に、レコード種名が同じで、レコード型が違う2つのレ
コード定義が存在しない。 (3)読み込んだ2つの検索対象データのデータ定義部
に、アトミックデータ種名とレコード種名に同じ名前が
出現しない。 これらの条件を満たすことが確認されると、被比較検索
対象データの実データ部のマルチタイプレコード列か
ら、比較検索対象データの実データ部のマルチタイプレ
コード列に含まれるレコードを取り除いた、新しいマル
チタイプレコード列を作成する。作成された新しいマル
チタイプレコード列を新しい実データ部とし、被比較検
索対象データのデータ定義部を新しいデータ定義部とす
る、新たな検索対象データが構成される。新しい検索対
象データは、表示手段4によってCRTディスプレイに
表示され、ユーザは検索結果を見ることができる。
【0063】第4の処理例では、データ定義部の違う検
索対象データの間でもdifference処理を実行
することができる。ただし、上述の(1)〜(3)の条
件を満たしていることを確認し、新しいデータ定義部が
規則を満たしていない場合はdifference処理
を実行することはできない。
【0064】図15は、difference処理によ
り生成された新たな検索対象データの実データ部の一例
の説明図である。上述のdifference処理にお
いて、例えば、図2に示したデータ定義部と、図3に示
した実データ部を持つ検索対象データが「議事録」とい
う識別子で、また、図8に示したデータ定義部と、図1
2に示した実データ部を持つ検索対象データが「議事録
2」という識別子で格納手段1に格納されている場合を
考える。このとき、ユーザが、被比較集合検索対象デー
タの識別子として「議事録」を、比較集合検索対象デー
タの識別子として「議事録2」を入力すると、図2に示
すデータ定義部と、図15に示す実データ部から構成さ
れる新たな検索対象データが生成される。図2及び図8
に示したアトミックデータ定義部には、アトミックデー
タ種名が同じでアトミックデータ型が違うアトミックデ
ータ定義は存在せず、また、レコード種名が同じでレコ
ード型が違うレコード定義は存在せず、さらに、アトミ
ックデータ種名とレコード種名に同じ名前は出現してい
ない。これらの確認から、2つのマルチタイプレコード
列はdifference処理が可能である。図3に示
した実データ部のレコードから、図12に示した実デー
タ部のレコードを取り除き、図15に示す新しい実デー
タ部が作成される。図2に示した被比較検索対象データ
のデータ定義部と、図15に示した実データ部により、
新たな検索対象データが構成される。
【0065】第5の処理例として、マルチタイプレコー
ド列を対象にした、あるマルチタイプレコード列(これ
を被直積列と呼ぶ)の要素に、別のマルチタイプレコー
ド列(これを直積列と呼ぶ)の要素を連結してできる、
全てのレコードからなる列を作る処理(cartesi
an product処理)を行なう例について説明す
る。ここで、2つのレコードの連結とは、2つのレコー
ド全てのフィールドからなる新しいレコードを作ること
である。cartesian product処理の対
象が、m個の要素を持つマルチタイプレコード列と、n
個の要素を持つマルチタイプレコード列とであった場
合、cartesian product処理の結果、
m×n個の要素を持つマルチタイプレコード列が生成さ
れる。
【0066】第5の処理例において、生成手段3は、指
定手段2から、被直積列としたい実データ部を含む検索
対象データ(被直積検索対象データと呼ぶ)の識別子
と、直積列としたい実データ部を含む検索対象データ
(直積検索対象データと呼ぶ)の識別子とを受け取る。
これらの情報は、指定手段2の一部である入力装置を介
してユーザが指定する。生成手段3は、指定手段2から
被直積検索対象データの識別子と直積検索対象データの
識別子とを受け取った後、指定手段2から送られてきた
識別子を持つ検索対象データを格納手段1から主記憶装
置に読み込む。読み込んだ2つの検索対象データのデー
タ定義部から新しいデータ定義部を作り、それがデータ
定義部の規則を満たしているかを確認する。確認の結
果、規則を満たしていなければ、データ定義不適合のメ
ッセージの表示命令を表示手段4に送って、処理は終了
する。
【0067】次に、被直積検索対象データの実データ部
の要素であるレコードと、直積検索対象データ実データ
部の要素であるレコードとのすべての組み合わせから、
新しいマルチタイプレコード列を作成する。作成された
新しいマルチタイプレコード列を実データ部とし、新し
いデータ定義部とともに、新しい検索対象データを作成
する。新しい検索対象データは、表示手段4によってC
RTディスプレイに表示され、ユーザは検索結果を見る
ことができる。
【0068】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ2つの検索対象
データのデータ定義部のアトミックデータ定義部の和集
合で作成される。
【0069】レコード定義部は、被直積検索対象データ
のレコード定義部の集合と、直積検索対象データのレコ
ード定義部の集合と、被直積検索対象データのレコード
定義で、そのレコード種名が被直積検索対象データのル
ート定義部の要素であるものと、直積検索対象データの
レコード定義で、そのレコード種名が直積検索対象デー
タのルート定義部の要素であるものとのすべての組合わ
せのそれぞれに対して、以下の(1)から(3)の処理
を行なって作ったレコード定義の集合の3つの集合の和
集合である。 (1)組合わせを行なう被直積検索対象データのレコー
ド定義のレコード種名の後に、「・」と、直積検索対象
データのレコード定義のレコード種名とを連結してでき
た新しいレコード種名を作る。 (2)組合わせを行なう被直積検索対象データのレコー
ド定義のレコード型の後に、組合わせる直積検索対象デ
ータのレコード定義のレコード型を連結した新しいレコ
ード型を作る。 (3)(1)の結果をレコード種名とし、(2)の結果
をレコード型とする新しいレコード定義を作る。
【0070】ルート定義部は、被直積検索対象データの
ルート定義部の要素であるレコード種名の後に、「・」
と、直積検索対象データのルート定義部の要素であるレ
コード種名とを連結してできるものの集合である。
【0071】次に、新しい実データ部の作成方法を説明
する。まず、要素のないマルチタイプレコード列である
仮レコード列1を準備する。被直積検索対象データの実
データ部の被直積列に対して、被直積列の要素がなくな
るまで、以下の(1)から(3)の処理を施してできる
レコードの集合を作成する。 (1)被直積列の先頭のレコード(被直積レコードと呼
ぶ)を取り出す。以下の説明において、マルチタイプレ
コード列からレコードを取り出すと記した場合、取り出
されたレコードはマルチタイプレコード列から削除され
るものとする。 (2)要素のないマルチタイプレコード列である仮レコ
ード列2を準備する。直積検索対象データの実データ部
の直積列の先頭から最後尾までのそれぞれのレコード
(これを直積レコードと呼ぶ)に対して、順に、被直積
レコードのレコード種名の後に、「.」と、直積レコー
ドのレコード種名を連結してレコード種名を作成し、被
直積レコードのレコード本体の後に、直積レコードのレ
コード本体を連結してレコード本体を作成し、作成され
たレコード種名、レコード本体により構成されるレコー
ドを、仮レコード列2の最後尾に連結する。この処理に
より、仮レコード列2は、ある被直積レコードと、直積
検索対象データの直積レコードのすべての組み合わせに
より作成されるレコード列となる。 (3)(2)の結果のレコード列を、仮レコード列1の
最後尾に連結する。すべての直積列の要素について処理
を行なうと、仮レコード列1に新しいマルチタイプレコ
ード列が作成されている。この新しいマルチタイプレコ
ード列が新しい実データ部となる。
【0072】図16,図17は、検索対象データの第4
の例の説明図、図18,図19は、cartesian
product処理により生成された新たな検索対象
データの一例の説明図である。上述のcartesia
n product処理において、例えば、図2に示し
たデータ定義部と、図3に示した実データ部を持つ検索
対象データが「議事録」という識別子で、また、図16
に示したデータ定義部と、図17に示した実データ部を
持つ検索対象データが「参加者リスト」という識別子で
格納手段1に格納されている場合を考える。このとき、
ユーザが、被直積検索対象データの識別子として「議事
録」を、直積検索対象データの識別子として「参加者リ
スト」を入力すると、作成される検索対象データは、図
18に示すデータ定義部と、図19に示す実データ部か
ら構成される新たな検索対象データが生成される。図2
及び図16に示したアトミックデータ定義部は、和集合
により、図18に示した新しいアトミックデータ定義部
が作成される。新たなレコード定義部は、図2,図16
に示したレコード定義部のレコード定義と、それらの組
み合わせにより作成されるレコード定義により構成され
る。例えば、図18において、図2のレコード定義「質
問:[発言者,{発言,回答}]」と、図16のレコー
ド定義「社内:[氏名,所属]の組み合わせにより、レ
コード種名が「質問・社内」、レコード型が「[発言
者,{発言,回答},氏名,所属]」である新しいレコ
ード定義が作成される。新たなルート定義部も、図2の
ルート定義部の要素と図16のルート定義部の要素の組
み合わせにより、作成される。これらの新しいアトミッ
クデータ定義部、レコード定義部、ルート定義部によ
り、新しいデータ定義部が構成される。また、図3に示
した実データ部のレコード列と、図17に示した実デー
タ部のレコード列も、それぞれが順に組み合わされて、
新たなレコードが生成され、新たなレコードの列によ
り、図19に示すような新しい実データ部が作成され
る。作成された新しいデータ定義部と新しい実データ部
により、新しい検索対象データが構成される。
【0073】第6の処理例として、マルチタイプレコー
ド列を対象にした、レコードのフィールドの並び順を変
更する処理を行なう例について説明する。第6の処理例
において、生成手段3は、指定手段2から、検索対象デ
ータの識別子、レコード種名、該種類のレコードのフィ
ールドの並べ換え方、並べ換え後のレコード種名の指定
を受け取る。これらの情報は、指定手段2の一部である
入力装置を介してユーザが指定する。
【0074】図20は、並べ換え処理を行なう際の入力
情報の形式の一例の説明図である。ユーザが指定手段2
の入力装置を介して、検索対象データの識別子、レコー
ド種名、該種類のレコードのフィールドの並べ換え方、
並べ換え後のレコード種名を指定する際の、入力する情
報の概要を示している。図20において、「識別子」
は、検索対象データの識別子を指定する部分である。
「レコード種名」は、レコード種名を指定する部分であ
る。「並べ換え後のレコード種名」は、並べ換えを行な
った後のレコードのレコード種名を指定する部分であ
る。「フィールド指定」では、フィールドが指定され
る。フィールドの指定方法は、第1の処理例における条
件中での指定方法と同じである。「フィールド指定」
は、「レコード種名」で指定された種類のレコードのフ
ィールドの並べ換え方を示すためのものである。「フィ
ールド指定」の順序が、並べ換えた後のフィールドの順
序を示している。
【0075】図21は、並べ換え処理を行なう際の入力
情報の一例の説明図である。図21では、検索対象とな
るのは「議事録」という識別子を持つ検索対象データで
あることが指定されている。また、並べ換えの対象とな
るレコードは、質問レコードであり、質問レコードのフ
ィールドの順序は、{発言,回答}フィールド、発言者
フィールドの順に並べ換えることが指定されている。並
べ換えた後の新しいレコード種名は、「質問2」である
ことも指定されている。
【0076】生成手段3は、指定手段2から、検索対象
データの識別子、レコード種名、該種類のレコードのフ
ィールドの並べ換え方の指定を受け取った後、指定手段
2から送られてきた識別子を持つ検索対象データを格納
手段1から主記憶装置に読み込む。読み込んだ検索対象
データのデータ定義部から新しいデータ定義部を作り、
それがデータ定義部の規則を満たしているかを確認す
る。確認の結果、規則を満たしていなければ、データ定
義不適合のメッセージの表示命令を表示手段4に送っ
て、処理は終了する。データ定義部の規則を満たしてい
ることが確認できた後、読み込んだ検索対象データの実
データ部の要素のうち、指定された種類のレコードのレ
コード本体のフィールド順を、指定されたフィールド順
に並べ換え、さらに、レコード種名を指定された並び換
え後のレコード種名に変えた、新しいマルチタイプレコ
ード列を作成する。作成された新しいマルチタイプレコ
ード列を新しい実データ部とし、新しいデータ定義部と
ともに、新しい検索対象データが作成される。新しい検
索対象データは、表示手段4によってCRTディスプレ
イに表示され、ユーザは検索結果を見ることができる。
【0077】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義部に、
「並べ換え後のレコード種名」で指定されたレコード種
名を持ち、「フィールド指定」によって指定されたフィ
ールドのフィールド名が指定された順に並んだレコード
型を持つレコード定義を追加したものである。ルート定
義部は、読み込んだ検索対象データのルート定義部から
「レコード種名」で指定されたものを取り除き、「並び
換え後のレコード種名」で指定されたレコード種名を加
えたものである。
【0078】図22,図23は、並べ換え処理により生
成された新たな検索対象データの一例の説明図である。
上述の並べ換え処理において、例えば、図2に示したデ
ータ定義部と、図3に示した実データ部を持つ検索対象
データが「議事録」という識別子で格納手段1に格納さ
れている場合を考える。このとき、ユーザが、図21に
示した並べ換えの指示を入力すると、作成される検索対
象データは、図22に示すデータ定義部と、図23に示
す実データ部から構成される新たな検索対象データが生
成される。図22に示すように新しいデータ定義部で
は、質問2レコードの定義が追加される。また、図23
に示すように、新しい実データ部は、質問レコードが質
問2レコードになっている。質問2レコードのフィール
ドの並び順は、指定されているように、{発言,回答}
フィールド、発言者フィールドの順に並べ換えられてい
る。
【0079】上述の並べ換え処理では、検索対象データ
の実データ部の要素のうち、指定された種類のレコード
のレコード本体のフィールド順を、指定されたフィール
ド順に並べ換え、さらに、レコード種名を指定された並
び換え後のレコード種名に変えた、新しいマルチタイプ
レコード列により新しい実データ部を構成したが、指定
された種類のレコードのみから作成された新しいレコー
ド列により、新しい実データ部を構成することも可能で
ある。すなわち、検索対象データの実データ部の要素の
うち、指定された種類のレコードのレコード本体のフィ
ールド順を、指定されたフィールド順に並べ変え、レコ
ード種名を指定された並び換え後のレコード種名に変え
る。さらに、指定された種類以外のレコードを取り除い
て新しいマルチタイプレコード列を作成するように構成
することができる。図24は、並べ換え処理により生成
された新たな検索対象データにおける実データ部の別の
一例の説明図である。図23の場合と同様に、例えば、
図2に示したデータ定義部と、図3に示した実データ部
を持つ検索対象データが「議事録」という識別子で格納
手段1に格納されているとき、ユーザが図21に示した
入力を行なう場合を考える。この場合には、作成される
検索対象データの実データ部は、図24に示すようにな
る。図24では、図3に示したレコードから、質問レコ
ードのフィールドの順序が変更され、並べ換え後のレコ
ード種名「質問2」を付された質問2レコードのみによ
りマルチタイプレコード列が作成され、新たな実データ
部が構成されている。
【0080】第7の処理例として、マルチタイプレコー
ド列を対象にした、レコードからフィールドを抽出する
処理(projection処理)を行なう例について
説明する。第7の処理例において、生成手段3は、指定
手段2から、検索対象データの識別子、レコード種名、
該種類のレコードから抽出するフィールド、抽出後のレ
コード種名の指定を受け取る。これらの情報は、指定手
段2の一部である入力装置を介してユーザが指定する。
【0081】図25は、抽出処理を行なう際の入力情報
の形式の一例の説明図である。ユーザが指定手段2の入
力装置を介して、検索対象データの識別子、レコード種
名、該種類のレコードから抽出するフィールド、抽出後
のレコード種名を指定する際の、入力する情報の概要を
示している。図25において、「識別子」は、検索対象
データの識別子を指定する部分である。「レコード種
名」は、レコード種名を指定する部分である。「抽出後
のレコード種名」は、フィールドの抽出を行なった後の
レコードのレコード種名を指定する部分である。「フィ
ールド指定」では、フィールドが指定される。フィール
ドの指定方法は、第1の処理例における条件中での指定
方法と同じである。「フィールド指定」は、「レコード
種名」で指定された種類のレコードから抽出するフィー
ルド示すためのものである。「フィールド指定」の順序
が、抽出したあとのフィールドの並び順を示している。
【0082】図26は、抽出処理を行なう際の入力情報
の一例の説明図である。図26では、検索対象となるの
は「議事録」という識別子を持つ検索対象データである
ことが指定されている。また、フィールドの抽出の対象
となるレコードは、質問レコードであり、質問レコード
から抽出されるフィールドは、{発言,回答}フィール
ドであることが指定されている。フィールドの抽出後の
新しいレコード種名は、「質問2」であることも指定さ
れている。
【0083】生成手段3は、指定手段2から、検索対象
データの識別子、レコード種名、該種類のレコードから
抽出するフィールドの指定、抽出後のレコード種名を受
け取った後、指定手段2から送られてきた識別子を持つ
検索対象データを格納手段1から主記憶装置に読み込
む。読み込んだ検索対象データのデータ定義部から新し
いデータ定義部を作り、それがデータ定義部の規則を満
たしているかどうかを確認する。確認の結果、規則を満
たしていなければ、データ定義不適合のメッセージの表
示命令を表示手段4に送って、処理は終了する。データ
定義部の規則を満たしていることが確認できた後、読み
込んだ検索対象データの実データ部から、新しい実デー
タ部を作成する。作成された新しい実データ部は、新し
いデータ定義部とともに新しい検索対象データが作成さ
れる。新しい検索対象データは、表示手段4によってC
RTディスプレイに表示され、ユーザは検索結果を見る
ことができる。
【0084】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義部に、
「抽出後のレコード種名」で指定されたレコード種名を
持ち、「フィールド指定」によって指定されたフィール
ドのフィールド名が指定された順に並んだレコード型を
持つレコード定義を追加したものである。ルート定義部
は、読み込んだ検索対象データのルート定義部から「レ
コード種名」で指定されたものを取り除き、「抽出後の
レコード種名」で指定されたレコード種名を加えたもの
である。
【0085】新しい実データ部の作り方を説明する。読
み込んだ検索対象データの実データ部の要素のうち、指
定された種類のレコードを、該レコードのレコード本体
から指定されたフィールドを抽出して作った新しいレコ
ード本体と、「抽出後のレコード種名」で指定されたレ
コード種名とからなる新しいレコードで置き換えた、新
しいマルチタイプレコード列を作成する。このとき、新
しいレコード本体のフィールドの並び順は、フィールド
が指定された順序に従う。作成された新しいマルチタイ
プレコード列により、新しい実データ部が構成される。
【0086】図27,図28は、抽出処理により生成さ
れた新たな検索対象データの一例の説明図である。上述
の抽出処理において、例えば、図2に示したデータ定義
部と、図3に示した実データ部を持つ検索対象データが
「議事録」という識別子で格納手段1に格納されている
場合を考える。このとき、ユーザが、図26に示した抽
出の指示を入力すると、作成される検索対象データは、
図27に示すデータ定義部と、図28に示す実データ部
から構成される新たな検索対象データが生成される。図
27に示すように新しいデータ定義部では、質問2レコ
ードの定義が追加され、ルート定義部が変更される。ま
た、図28に示すように、新しい実データ部は、質問レ
コードから{発言,回答}フィールドが抽出されて、レ
コード本体が置き換えられ、また、レコード種名が「質
問2」に置き換えられている。
【0087】上述の抽出処理では、検索対象データの実
データ部の要素のうち、指定された種類のレコードを、
該レコードのレコード本体から指定されたフィールドを
抽出して作った新しいレコード本体と、「抽出後のレコ
ード種名」で指定されたレコード種名とからなる新しい
レコードで置き換えた、新しいマルチタイプレコード列
を作成したが、指定された種類のレコードのみから作成
された新しいマルチタイプレコード列を作成するように
構成することも可能である。すなわち、指定された種類
のレコードを、該レコードのレコード本体から指定され
たフィールドを抽出して作った新しいレコード本体と、
「抽出後のレコード種名」で指定されたレコード種名と
からなる新しいレコードで置き換え、さらに、指定され
なかった種類のレコードを取り除いた、新しいマルチタ
イプレコード列を作成するように構成することもでき
る。図29は、抽出処理により生成された新たな検索対
象データにおける実データ部の別の一例の説明図であ
る。図28の場合と同様に、例えば、図2に示したデー
タ定義部と、図3に示した実データ部を持つ検索対象デ
ータが「議事録」という識別子で格納手段1に格納され
ているとき、ユーザが図26に示した入力を行なう場合
を考える。この場合には、作成される検索対象データの
実データ部は、図29に示すようになる。図29では、
図3に示したレコードのうち、質問レコードから指定さ
れたフィールドを抽出し、抽出後のレコード種名「質問
2」を付された質問2レコードのみにより、新たな実デ
ータ部が構成されている。
【0088】第8の処理例として、マルチタイプレコー
ド列を対象にした、レコードの階層化処理を行なう第1
の例について説明する。レコードの階層化処理とは、特
定のフィールド(以下、キー・フィールドと呼ぶ)の値
が等しいレコードを1つの新しいレコードにまとめる処
理である。複数のフィールドがキー・フィールドであっ
てもよい。新しいレコードは、キー・フィールドと、キ
ー・フィールドの値が等しいレコードを要素とするマル
チタイプレコード列が値となる複合フィールドとを持
つ。
【0089】第8の処理例において、生成手段3は、指
定手段2から、検索対象データの識別子、レコード種
名、キー・フィールドとなるフィールドの指定を受け取
る。これらの情報は、指定手段2の一部である入力装置
を介してユーザが指定する。
【0090】図30は、階層化処理を行なう際の入力情
報の形式の一例の説明図である。ユーザが指定手段2の
入力装置を介して、検索対象データの識別子、レコード
種名、キー・フィールドとなるフィールド名を指定する
際の、入力する情報の概要を示している。図30におい
て、「識別子」は、検索対象データの識別子を指定する
部分である。「レコード種名」は、レコード種名を指定
する部分である。「フィールド指定」では、フィールド
が指定される。フィールドの指定方法は、第1の処理例
における条件中での指定方法と同じである。「フィール
ド指定」は、「レコード種名」で指定された種類のレコ
ードのフィールドのうち、キー・フィールドとなるもの
を示す。ただし、「レコード種名」で指定された種類の
レコードには、キー・フィールドとして指定されたフィ
ールドが必ず含まれていなければならない。
【0091】図31は、階層化処理を行なう際の入力情
報の一例の説明図である。図31では、検索対象となる
のは「議事録」という識別子を持つ検索対象データであ
ることが指定されている。また、階層化の対象となるレ
コードは、質問レコードと意見レコードであり、キー・
フィールドは発言者フィールドであることが指定されて
いる。
【0092】生成手段3は、指定手段2から、検索対象
データの識別子、レコード種名、キー・フィールドとな
るフィールドの指定を受け取った後、指定手段2から送
られてきた識別子を持つ検索対象データを格納手段1か
ら主記憶装置に読み込む。読み込んだ検索対象データの
データ定義部から新しいデータ定義部を作り、それがデ
ータ定義部の規則を満たしているかを確認する。確認の
結果、規則を満たしていなければ、データ定義不適合の
メッセージの表示命令を表示手段4に送って、処理は終
了する。データ定義部の規則を満たしていることが確認
できた後、読み込んだ検索対象データの実データ部か
ら、新しい実データ部を作成する。作成された新しい実
データ部は、新しいデータ定義部とともに、新しい検索
対象データが作成される。新しい検索対象データは、表
示手段4によってCRTディスプレイに表示され、ユー
ザは検索結果を見ることができる。
【0093】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義部に、
レコード種名が指定手段2から指定された種類のレコー
ド種名を指定された順序で「.」で連結したものであ
り、レコード型が指定手段2から指定された種類のレコ
ードのキー・フィールドのフィールド名と、指定手段2
から送られてきたレコード種名の集合のフィールドから
構成されるレコード定義が追加される。フィールド名の
並び順は、キー・フィールドのフィールド名、指定され
たレコード種名の集合の順である。ルート定義部は、読
み込んだ検索対象データのルート定義部から、指定され
た「レコード種名」を取り除き、指定されたレコード種
名を指定された順序で「.」で連結したものを追加した
ものである。
【0094】新しい実データ部の作り方を説明する。ま
ず、要素のないマルチタイプレコード列である仮レコー
ド列1を準備する。検索対象データの実データ部に対し
て、要素がなくなるまで、以下の(1),(2)の処理
を実行する。 (1)検索対象データの実データ部から先頭のレコード
を取り出す。 (2)(1)で取り出したレコードが指定手段から指定
されていない種類のレコードならば、該レコードを仮レ
コード列1の最後尾に連結し、(1)に戻る。そうでな
い場合は、要素のないマルチタイプレコード列である仮
レコード列2を準備し、該レコードを仮レコード列2の
最後尾に連結する。その後、以下のイ,ロの処理を実行
した結果のレコードを仮レコード列1の最後尾に連結
し、(1)に戻る。 イ.検索対象データの実データ部の先頭のレコードが、
指定手段から指定された種類のレコードであり、かつ、
該レコードのキー・フィールドの値が、仮レコード列2
の最後尾のレコードのキー・フィールドの値と等しいと
き、検索対象データの実データ部から先頭のレコードを
取り出し、仮レコード列2の最後尾に連結し、イの処理
を繰り返す。それ以外の場合には、ロの処理を実行す
る。 ロ.指定手段2から指定されたレコード種名を「.」で
連結したものをレコード種名とし、仮レコード列2の先
頭のレコードのキー・フィールドと、仮レコード列2を
値とするフィールドとからなる新しいレコード本体とか
らなる新しいレコードを作成する。レコード種名の連結
の順序は、指定された順序に従う。また、新しいレコー
ド本体のフィールドの並び順は、キー・フィールド、キ
ー・フィールドでないフィールドの順である。
【0095】このイの処理は、キー・フィールドの値が
同じ連続したレコードをマルチタイプレコード列とする
処理であり、作成される新しいレコード本体のキー・フ
ィールドでないフィールドを構成する。また、ロの処理
は、キー・フィールドの値が連続しないときに、それま
でに仮レコード列2に作成したマルチタイプレコード列
を1つのレコードとするための処理であり、作成された
1つのレコードは、仮レコード列1に連結されることに
なる。検索対象データの実データ部に対して、要素がな
くなるまで、上述の処理を実行することにより、仮レコ
ード列1が新しい実データ部となる。
【0096】図32,図33は、検索対象データの第5
の例の説明図、図34,図35は、第1の階層化処理に
より生成された新たな検索対象データの一例の説明図で
ある。上述の階層化処理において、例えば、図32に示
したデータ定義部と、図33に示した実データ部を持つ
検索対象データが「議事録」という識別子で格納手段1
に格納されている場合を考える。このとき、ユーザが、
図31に示した階層化の指示を入力すると、作成される
検索対象データは、図34に示すデータ定義部と、図3
5に示す実データ部から構成される新たな検索対象デー
タが生成される。図34に示すように新しいデータ定義
部には、「質問.意見」というレコード種名、および、
キー・フィールド「発言者」と指定されたレコード種名
の集合からなるレコード型によるレコード定義が追加さ
れている。また、新しいルート定義部は、指定されたレ
コード種名「質問」,「意見」が削除され、指定された
レコード種名を指定された順序で「.」で連結した「質
問.意見」の要素が追加されている。実データ部は、図
35に示すように、指定された質問レコード、意見レコ
ードから、同じ発言者フィールドを有する連続したレコ
ードをまとめ、その発言者フィールドと、まとめたレコ
ードの列を複合フィールドとする質問.意見レコードを
作成している。
【0097】上述の階層化処理では、検索対象データの
実データ部の要素のうち、指定されていない種類のレコ
ードと、指定された種類のレコードから作成された新し
いレコードにより新しい実データ部を構成したが、指定
された種類のレコードから作成された新しいレコードの
みにより、新しい実データ部を構成することも可能であ
る。すなわち、上述の新しい実データ部を作成する処理
のうち、(2)の処理において、(1)で取り出したレ
コードが指定手段から指定されていない種類のレコード
ならば、(1)に戻るように構成する。これにより、読
み込んだ検索対象データの実データ部から、キー・フィ
ールドの値がキー値と同じである連続したレコードの列
を値とする複合フィールドからなる新しいレコードのみ
を作成し、この新しいレコード本体を有する新しいマル
チタイプレコード列により、実データ部を構成すること
ができる。
【0098】図36は、第1の階層化処理により生成さ
れた新たな検索対象データにおける実データ部の別の一
例の説明図である。図35の場合と同様に、例えば、図
32に示したデータ定義部と、図33に示した実データ
部を持つ検索対象データが「議事録」という識別子で格
納手段1に格納されているとき、ユーザが図31に示し
た入力を行なう場合を考える。この場合には、作成され
る検索対象データの実データ部は、図36に示すように
なる。図36では、図35に示したレコードのうち、質
問.意見レコードのみからなるマルチタイプレコード列
により、新たな実データ部が構成されている。
【0099】上述の2つの階層化の例では、階層化され
ているいくつかの種類のレコードに共通のフィールドし
かキー・フィールドに指定できない。しかし、レコード
の種類ごとに別のキー・フィールドを指定することが可
能なように構成することもできる。ただし、このとき、
レコードの種類ごとに指定したキー・フィールドのアト
ミックデータ型は同じでなければならない。
【0100】第9の処理例として、レコードの階層化処
理の第2の例について説明する。この第9の処理例で
は、第8の処理例とほぼ同様の処理を行なうが、データ
定義部および実データ部の作成方法が違う。以下、この
相違する部分について述べる。
【0101】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、以下の3つの集合の和集合である。 (1)読み込んだ検索対象データのレコード定義の集合
である。 (2)読み込んだ検索対象データのレコード定義のう
ち、指定手段2からレコード種名が指定されているレコ
ード定義それぞれに対して、レコード種名に「−」を連
結した新しいレコード種名を持ち、かつ、該レコード定
義のレコード型からキー・フィールドとなるフィールド
名を取り除いて作った新しいレコード型を持つレコード
定義からなる集合である。 (3)指定手段2から指定されたレコード種名を指定さ
れた順序で「.」で連結したものを新しいレコード種名
を持ち、キー・フィールドのフィールド名と、指定手段
2から指定されたレコード種名に「−」を連結したもの
を、指定された順で並べたものを新しいレコード型とし
て持つただ1つのレコード定義を要素とする集合であ
る。フィールド名の並び順は、キー・フィールドのフィ
ールド名、キー・フィールドでないフィールドのフィー
ルド名の順である。ルート定義部は、読み込んだ検索対
象データのルート定義部から、指定されたレコード種名
を取り除き、指定された種類のレコード種名を指定され
た順序で「.」で連結した要素を追加したものである。
【0102】次に、新しい実データ部の作り方を説明す
る。まず、要素のないマルチタイプレコード列である仮
レコード列1を準備する。検索対象データの実データ部
に対して、要素がなくなるまで、以下の(1),(2)
の処理を実行する。 (1)検索対象データの実データ部から先頭のレコード
を取り出す。 (2)(1)で取り出したレコードが指定手段から指定
されていない種類のレコードならば、該レコードを仮レ
コード列1の最後尾に連結し、(1)に戻る。そうでな
い場合は、要素のないマルチタイプレコード列である仮
レコード列2を準備し、該レコードと仮レコード列2の
最後尾に連結する。その後、以下のイ〜ハの処理を実行
した結果のレコードを仮レコード列1の最後尾に連結
し、(1)に戻る。 イ.検索対象データの実データ部の先頭のレコードが、
指定手段2から指定された種類のレコードであり、か
つ、該レコードのキー・フィールドの値が、仮レコード
列2の最後尾のレコードのキー・フィールドの値と等し
いとき、検索対象データの実データ部から先頭のレコー
ドを取り出し、仮レコード列2の最後尾に連結し、イの
処理を繰り返す。それ以外の場合には、ロの処理を実行
する。 ロ.仮レコード列2のそれぞれのレコードのレコード本
体を、該レコード本体からキー・フィールドを取り除い
たレコード本体で置き換え、レコード種名を該レコード
種名に「−」を連結したものに変えたマルチタイプレコ
ード列を作る。その後、ハの処理を実行する。 ハ.指定手段から指定されたレコード種名を「.」で連
結したものをレコード種名とし、ロ.の処理を実行する
前の仮レコード列2の先頭のレコードのキー・フィール
ドと、処理ロ.で生成した新しいマルチタイプレコード
列を値とするフィールドとからなる新しいレコード本体
とにより新しいレコードを作成する。レコード種名の連
結の順序は、指定された順序に従う。また、フィールド
の並び順は、キー・フィールド、キー・フィールドでな
いフィールドの順である。
【0103】このイ.の処理は、キー・フィールドの値
が同じ連続したレコードをマルチタイプレコード列とす
る処理であり、このマルチタイプレコード列にロ.の処
理を施したものが、作成される新しいレコード本体のキ
ー・フィールドでないフィールドを構成する。また、
ロ.,ハ.の処理は、キー・フィールドの値が連続しな
いときに、それまでに仮レコード列2に作成したマルチ
タイプレコード列を1つのレコードとするための処理で
あり、作成された1つのレコードは、仮レコード列1に
連結されることになる。第8の処理例とは、仮レコード
列2の各レコードから、キー・フィールドを取り除く点
で相違する。検索対象データの実データ部に対して、要
素がなくなるまで、上述の処理を実行することにより、
仮レコード列1が新しい実データ部となる。上述のよう
にして生成された新しいデータ定義部と、新しい実デー
タ部とから、新しい検索対象データを作成する。
【0104】図37,図38は、第2の階層化処理によ
り生成された新たな検索対象データの一例の説明図であ
る。上述の第2の階層化処理において、例えば、図32
に示したデータ定義部と、図33に示した実データ部を
持つ検索対象データが「議事録」という識別子で格納手
段1に格納されている場合を考える。このとき、ユーザ
が、図31に示した階層化の指示を入力すると、作成さ
れる検索対象データは、図37に示すデータ定義部と、
図38に示す実データ部から構成される新たな検索対象
データが生成される。図37に示すように新しいデータ
定義部のレコード定義部には、指定されたレコード種名
「質問」、「意見」に基づき、質問−レコード、意見−
レコード、質問.意見レコードが追加されている。質問
−レコードと意見−レコードは、もとの質問レコード、
意見レコードのレコード型から、キー・フィールド「発
言者」を削除したレコード型を有している。また、質
問.意見レコードは、キー・フィールド「発言者」と、
指定されたレコード種名に「−」をつけた新しいレコー
ド種名「質問−」、「意見−」の集合から構成されるレ
コード型を有している。また、新しいルート定義部は、
指定されたレコード種名「質問」,「意見」が削除さ
れ、指定されたレコード種名を指定された順序で「.」
で連結した「質問.意見」の要素が追加されている。実
データ部は、図38に示すように、指定された質問レコ
ード、意見レコードから、同じ発言者フィールド、例え
ば「a山a’蔵」を有する連続したレコードが抽出さ
れ、発言者フィールド「a山a’蔵」と、抽出したレコ
ードから発言者フィールドを削除し、レコード種名に
[−」を追加したレコード、例えば「質問
−:[...]」や「意見−:[...]」のマルチタ
イプレコード列によって構成される複合フィールドとか
らなるレコード本体を有するレコードが作成される。
【0105】上述の階層化処理の第2の例においても、
指定された種類のレコードから作成された新しいレコー
ドのみにより、新しい実データ部を構成することも可能
である。すなわち、上述の新しい実データ部を作成する
処理のうち、(2)の処理において、(1)で取り出し
たレコードが指定手段から指定されていない種類のレコ
ードであるならば、(1)に戻るように構成する。これ
により、読み込んだ検索対象データの実データ部から、
キー・フィールドの値がキー値と同じである連続したレ
コードの列を抽出し、キーフィールドと、抽出したレコ
ードのマルチタイプレコード列のフィールドによりレコ
ードを作成し、この新しいレコードのみを有する新しい
マルチタイプレコード列により、実データ部を構成する
ことができる。
【0106】図39は、第2の階層化処理により生成さ
れた新たな検索対象データにおける実データ部の別の一
例の説明図である。図35の場合と同様に、例えば、図
32に示したデータ定義部と、図33に示した実データ
部を持つ検索対象データが「議事録」という識別子で格
納手段1に格納されているとき、ユーザが図31に示し
た入力を行なう場合を考える。この場合には、作成され
る検索対象データの実データ部は、図39に示すように
なる。図39では、図38に示したレコードのうち、質
問.意見レコードのみにより、新たな実データ部が構成
されている。
【0107】さらに、この第2の階層化の例において
も、キー・フィールドとして指定できるフィールドは、
階層化されているいくつかの種類のレコードに共通のフ
ィールドのみである。しかし、レコードの種類ごとに別
のキー・フィールドを指定することが可能なように構成
することもできる。ただし、このとき、レコードの種類
ごとに指定したキー・フィールドのアトミックデータ型
は同じでなければならない。
【0108】第10の処理例として、レコードの階層化
処理の第3の例について説明する。この第10の処理例
では、第8の処理例とほぼ同様の処理を行なうが、デー
タ定義部および実データ部の作成方法が違う。以下、こ
の相違する部分について述べる。
【0109】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義と、レ
コード種名が指定手段2から指定された種類のレコード
種名を「.」で連結したものであり、レコード型がキー
・フィールドのフィールド名と指定されたレコード種名
の集合との列であるようなレコード定義により構成され
る。ここで、レコード種名の連結の順序は、指定された
順序に従う。また、フィールド名の並び順は、キー・フ
ィールドのフィールド名、指定されたレコード種名の集
合の順である。ルート定義部は、読み込んだ検索対象デ
ータのルート定義部から、指定されたレコード種名を取
り除き、指定されたレコード種名を指定された順序
で「.」で連結した要素を追加したものである。
【0110】次に、新しい実データ部の作り方を説明す
る。まず、要素のないマルチタイプレコード列である仮
レコード列1を準備する。検索対象データの実データ部
に対して、要素がなくなるまで、以下の(1),(2)
の処理を実行する。 (1)検索対象データの実データ部から先頭のレコード
を取り出す。 (2)(1)で取り出したレコードが指定手段から指定
されていない種類のレコードならば、該レコードを仮レ
コード列1の最後尾に連結し、(1)に戻る。そうでな
い場合は、要素のないマルチタイプレコード列である仮
レコード列2を準備し、該レコードを仮レコード列2の
最後尾に連結する。その後、以下のイ.,ロ.の処理を
実行した結果のレコードを仮レコード列1の最後尾に連
結し、(1)に戻る。 イ.検索対象データの実データ部のレコードのうち、指
定手段2から指定された種類のレコードであり、かつ、
該レコードのキー・フィールドの値が、仮レコード列2
の最後尾のレコードのキー・フィールドの値と等しいと
き、検索対象データの実データ部からそのレコードを取
り出し、仮レコード列2の最後尾に連結する。それ以外
のときは何もしない。この処理を、検索対象データの実
データ部の先頭から最後尾まで、順に実行する。 ロ.指定手段2から指定されたレコード種名を「.」で
連結したものをレコード種名とし、仮レコード列2の先
頭のレコードのキー・フィールドと、仮レコード列2を
値とするフィールドとからなる新しいレコード本体とか
ら、新しいレコードを作成する。レコード種名の連結の
順序は、指定された順序に従う。また、フィールドの並
び順は、キー・フィールド、キー・フィールドでないフ
ィールドの順である。
【0111】このイの処理は、キー・フィールドの値が
同じレコードをレコード列の並び順に抽出し、マルチタ
イプレコード列とする処理であり、作成される新しいレ
コード本体のキー・フィールドでないフィールドを構成
する。また、ロの処理は、仮レコード列2に作成したマ
ルチタイプレコード列を1つのレコードとするための処
理であり、作成された1つのレコードは、仮レコード列
1に連結されることになる。第8の処理例とは、同じキ
ー・フィールドを有するレコードが連続していなくても
抽出する点で相違する。検索対象データの実データ部に
対して、要素がなくなるまで、上述の処理を実行するこ
とにより、仮レコード列1が新しい実データ部となる。
上述のようにして生成された新しいデータ定義部と、新
しい実データ部とから、新しい検索対象データを作成す
る。
【0112】図40は、第3の階層化処理により生成さ
れた新たな検索対象データにおける実データ部の一例の
説明図である。上述の第3の階層化処理において、例え
ば、図32に示したデータ定義部と、図33に示した実
データ部を持つ検索対象データが「議事録」という識別
子で格納手段1に格納されている場合を考える。このと
き、ユーザが、図31に示した階層化の指示を入力する
と、作成される検索対象データは、図34に示すデータ
定義部と、図40に示す実データ部から構成される新た
な検索対象データが生成される。図40に示すように、
指定された質問レコード、意見レコードから、同じ発言
者フィールド、例えば「a山a’蔵」を有するすべての
レコードが順に抽出され、発言者フィールド「a山a’
蔵」と、抽出したレコードからなるマルチタイプレコー
ド列とからなるレコード本体を有するレコードが作成さ
れる。
【0113】上述の階層化処理の第3の例においても、
指定された種類のレコードから作成された新しいレコー
ドのみにより、新しい実データ部を構成することも可能
である。すなわち、上述の新しい実データ部を作成する
処理のうち、(2)の処理において、(1)で取り出し
たレコードが指定手段から指定されていない種類のレコ
ードならば、(1)に戻るように構成する。これによ
り、読み込んだ検索対象データの実データ部から、キー
・フィールドの値がキー値と同じであるすべてのレコー
ドを抽出し、キー・フィールドと、抽出したレコードの
マルチタイプレコード列をフィールドとする新しいレコ
ードを作成し、この新しいレコードのみを有する新しい
マルチタイプレコード列により、実データ部を構成する
ことができる。
【0114】図41は、第3の階層化処理により生成さ
れた新たな検索対象データにおける実データ部の別の一
例の説明図である。図40の場合と同様に、例えば、図
32に示したデータ定義部と、図33に示した実データ
部を持つ検索対象データが「議事録」という識別子で格
納手段1に格納されているとき、ユーザが図31に示し
た入力を行なう場合を考える。この場合には、作成され
る検索対象データの実データ部は、図41に示すように
なる。図41では、図40に示したレコードのうち、質
問.意見レコードのみにより、新たな実データ部が構成
されている。
【0115】さらに、この第3の階層化の例において
も、キー・フィールドとして指定できるフィールドは、
階層化されているいくつかの種類のレコードに共通のフ
ィールドのみである。しかし、レコードの種類ごとに別
のキー・フィールドを指定することが可能なように構成
することもできる。ただし、このとき、レコードの種類
ごとに指定したキー・フィールドのアトミックデータ型
は同じでなければならない。
【0116】第11の処理例として、レコードの階層化
処理の第4の例について説明する。この第11の処理例
では、第8の処理例とほぼ同様の処理を行なうが、デー
タ定義部および実データ部の作成方法が違う。以下、こ
の相違する部分について述べる。
【0117】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、以下の3つの集合の和集合である。 (1)読み込んだ検索対象データのレコード定義の集合
である。 (2)読み込んだ検索対象データのレコード定義のう
ち、指定手段2からレコード種名が指定されているレコ
ード定義それぞれに対して、レコード種名に「−」を連
結した新しいレコード種名を持ち、かつ、該レコード定
義のレコード型からキー・フィールドとなるフィールド
名を取り除いて作った新しいレコード型を持つレコード
定義からなる集合である。 (3)指定手段2から指定されたレコード種名を指定さ
れた順序で「.」で連結したものを新しいレコード種名
を持ち、キー・フィールドのフィールド名と、指定手段
2から指定されたレコード種名に「−」を連結したもの
を、指定された順で並べたものを新しいレコード型とし
て持つただ1つのレコード定義を要素とする集合であ
る。フィールド名の並び順は、キー・フィールドのフィ
ールド名、キー・フィールドでないフィールドのフィー
ルド名の順である。ルート定義部は、読み込んだ検索対
象データのルート定義部から、指定されたレコード種名
を取り除き、指定された種類のレコード種名を指定され
た順序で「.」で連結した要素を追加したものである。
【0118】次に、新しい実データ部の作り方を説明す
る。まず、要素のないマルチタイプレコード列である仮
レコード列1を準備する。検索対象データの実データ部
に対して、要素がなくなるまで、以下の(1),(2)
の処理を実行する。 (1)検索対象データの実データ部から先頭のレコード
を取り出す。 (2)(1)で取り出したレコードが指定手段から指定
されていない種類のレコードならば、該レコードを仮レ
コード列1の最後尾に連結し、(1)に戻る。そうでな
い場合は、要素のないマルチタイプレコード列である仮
レコード列2を準備し、該レコードを仮レコード列2の
最後尾に連結する。その後、以下のイ〜ハの処理を実行
した結果のレコードを仮レコード列1の最後尾に連結
し、(1)に戻る。 イ.検索対象データの実データ部のレコードが、指定手
段2から指定された種類のレコードであり、かつ、該レ
コードのキー・フィールドの値が、仮レコード列2の最
後尾のレコードのキー・フィールドの値と等しいとき、
検索対象データの実データ部からそのレコードを取り出
し、仮レコード列2の最後尾に連結し、イの処理を繰り
返す。それ以外のときは何もしない。この処理を、検索
対象データの実データ部の先頭から最後尾までに順に実
行する。 ロ.仮レコード列2のそれぞれのレコードのレコード本
体を、該レコード本体からキー・フィールドを取り除い
たレコード本体で置き換え、レコード種名を該レコード
種名に「−」を連結したものに変えたマルチタイプレコ
ード列を作る。その後、ハの処理を実行する。 ハ.指定手段から指定されたレコード種名を「.」で連
結したものをレコード種名とし、ロの処理を実行する前
の仮レコード列2の先頭のレコードのキー・フィールド
と、処理ロ.で生成した新しいマルチタイプレコード列
を値とするフィールドとからなる新しいレコード本体と
により新しいレコードを作成する。レコード種名の連結
の順序は、指定された順序に従う。また、フィールドの
並び順は、キー・フィールド、キー・フィールドでない
フィールドの順である。
【0119】このイの処理は、キー・フィールドの値が
同じすべてのレコードを順に抽出してマルチタイプレコ
ード列とする処理であり、このマルチタイプレコード列
のロ.の処理を施したものが作成される新しいレコード
本体のキー・フィールドでないフィールドを構成する。
また、ロ,ハの処理は、仮レコード列2に作成したマル
チタイプレコード列を1つのレコードとするための処理
であり、作成された1つのレコードは、仮レコード列1
に連結されることになる。第8の処理例とは、同じキー
・フィールドを有するレコードが連続していなくても抽
出する点で相違するとともに、第10の処理例とは、仮
レコード列2の各レコードから、キー・フィールドを取
り除く点で相違する。検索対象データの実データ部に対
して、要素がなくなるまで、上述の処理を実行すること
により、仮レコード列1が新しい実データ部となる。上
述のようにして生成された新しいデータ定義部と、新し
い実データ部とから、新しい検索対象データを作成す
る。
【0120】図42は、第4の階層化処理により生成さ
れた新たな検索対象データにおける実データ部の一例の
説明図である。上述の第4の階層化処理において、例え
ば、図32に示したデータ定義部と、図33に示した実
データ部を持つ検索対象データが「議事録」という識別
子で格納手段1に格納されている場合を考える。このと
き、ユーザが、図31に示した階層化の指示を入力する
と、作成される検索対象データは、図37に示すデータ
定義部と、図42に示す実データ部から構成される新た
な検索対象データが生成される。図42に示すように、
指定された質問レコード、意見レコードから、同じ発言
者フィールド、例えば「a山a’蔵」を有するすべての
レコードが順に抽出され、発言者フィールド「a山a’
蔵」と、抽出したレコードから発言者フィールドを削除
し、レコード種名に[−」を追加したレコード、例えば
「質問−:[...]」や「意見−:[...]」のマ
ルチタイプレコード列によって構成される複合フィール
ドとからなるレコード本体を有するレコードが作成され
る。
【0121】上述の階層化処理の第4の例においても、
指定された種類のレコードから作成された新しいレコー
ドのみにより、新しい実データ部を構成することも可能
である。すなわち、上述の新しい実データ部を作成する
処理のうち、(2)の処理において、(1)で取り出し
たレコードが指定手段から指定されていない種類のレコ
ードならば、(1)に戻るように構成する。これによ
り、読み込んだ検索対象データの実データ部から、キー
・フィールドの値がキー値と同じであるすべてのレコー
ドを順に抽出し、キーフィールドと、抽出したレコード
のマルチタイプレコード列のフィールドによりレコード
本体を作成し、この新しいレコードのみを有する新しい
レコードのマルチタイプレコード列により、実データ部
を構成することができる。
【0122】図43は、第4の階層化処理により生成さ
れた新たな検索対象データにおける実データ部の別の一
例の説明図である。図42の場合と同様に、例えば、図
32に示したデータ定義部と、図33に示した実データ
部を持つ検索対象データが「議事録」という識別子で格
納手段1に格納されているとき、ユーザが図31に示し
た入力を行なう場合を考える。この場合には、作成され
る検索対象データの実データ部は、図43に示すように
なる。図43では、図42に示したレコードのうち、質
問.意見レコードのみにより、新たな実データ部が構成
されている。
【0123】さらに、この第4の階層化の例において
も、キー・フィールドとして指定できるフィールドは、
階層化されているいくつかの種類のレコードに共通のフ
ィールドのみである。しかし、レコードの種類ごとに別
のキー・フィールドを指定することが可能なように構成
することもできる。ただし、このとき、レコードの種類
ごとに指定したキー・フィールドのアトミックデータ型
は同じでなければならない。
【0124】第12の処理例として、マルチタイプレコ
ード列を対象にした、レコードの非階層化処理を行なう
例について説明する。レコードの非階層化処理とは、非
階層化フィールド、すなわち、非階層化されるレコード
中の複合フィールドのどれか1つを非階層化して、複数
の新しいレコードを作る処理である。ここで、新しいレ
コードのレコード本体は、非階層化フィールドの各要素
のレコードを構成しているフィールドと、非階層化フィ
ールド以外のフィールドからなる。第12の処理例にお
いて、生成手段3は、指定手段2から、検索対象データ
の識別子、非階層化されるレコードのレコード種名、非
階層化フィールドの指定を受け取る。これらの情報は、
指定手段2の一部である入力装置を介してユーザが指定
する。
【0125】生成手段3は、指定手段2から、検索対象
データの識別子、非階層化されるレコードのレコード種
名、非階層化フィールドの指定を受け取った後、指定手
段2から送られてきた識別子を持つ検索対象データを格
納手段1から主記憶装置に読み込む。読み込んだ検索対
象データのデータ定義部から新しいデータ定義部を作
り、それがデータ定義部の規則を満たしているかを確認
する。確認の結果、規則を満たしていなければ、データ
定義不適合のメッセージの表示命令を表示手段4に送っ
て、処理は終了する。データ定義部の規則を満たしてい
ることが確認できた後、読み込んだ検索対象データの実
データ部から、新しい実データ部を作成する。新しい実
データ部と、新しいデータ定義部から、新しい検索対象
データが作成される。新しい検索対象データは、表示手
段4によってCRTディスプレイに表示され、ユーザは
検索結果を見ることができる。
【0126】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義部に、
新しいレコード定義が追加される。新しいレコード定義
のレコード種名は、指定されたレコード種名を持つデー
タ定義Aの非階層化フィールドの要素Bから、レコード
定義Aのレコード種名に「.」と要素Bのレコード種名
を連結して作成される。また、新しいレコード定義のレ
コード型は、レコード定義Aのレコード型から非階層化
フィールドのフィールド名を取り除いたものに、要素B
をレコード種名として持つレコード定義のレコード型を
連結して作成される。作成されたレコード種名、レコー
ド型により、新しいレコード定義が作成される。この新
しいレコード定義は、指定手段2から指定されたレコー
ド種名を持つデータ定義と、指定された非階層化フィー
ルドのフィールド名の要素との全ての組み合わせのそれ
ぞれに対して作成される。ルート定義部は、読み込んだ
検索対象データのルート定義部から、指定されたレコー
ド種名を取り除き、指定されたレコード種名と非階層化
フィールドのフィールド名の要素を「.」で連結したも
のを追加して作成する。
【0127】新しい実データ部の作り方について説明す
る。まず、要素のないマルチタイプレコード列である仮
レコード列1を準備する。検索対象データの実データ部
に対して、以下の(1)、(2)の処理を実行する。 (1)検索対象データの実データ部から先頭のレコード
(R1レコードという)を取り出す。 (2)(1)で取り出したレコードが指定手段から指定
されていない種類のレコードならば、該レコードを仮レ
コード列1の最後尾に連結し、(1)に戻る。そうでな
い場合は、要素の内マルチタイプレコード列である仮レ
コード2を準備し、取り出したレコードの非階層化フィ
ールドの値に要素がなくなるまで、以下のイ〜ニの処理
を実行した結果の仮レコード列2を仮レコード列1の最
後尾に連結し、(1)に戻る。 イ.R1レコードの非階層化フィールドの値から、先頭
のレコード(R2レコードという)を取り出す。 ロ.R1レコードのレコード種名に、「.」と、R2レ
コードのレコード種名を連結した新しいレコード種名を
作る。 ハ.R1レコードのレコード本体から、非階層化フィー
ルドを取り除いたものに、R2レコードのレコード本体
を連結してできる新しいレコード本体を作る。 ニ.ロで作成したレコード種名と、ハで作成したレコー
ド本体からなるレコードを、仮レコード列2の最後尾に
連結する。
【0128】図44,図45は、非階層化処理により生
成された新たな検索対象データの一例の説明図である。
上述の非階層化処理において、例えば、図2に示したデ
ータ定義部と、図3に示した実データ部を持つ検索対象
データが「議事録」という識別子で格納手段1に格納さ
れている場合を考える。このとき、ユーザが、検索対象
データの識別子として「議事録」、非階層化されるレコ
ードの種類として質問レコード、非階層化フィールドと
して{発言,回答}フィールドを指定して、非階層化の
指示を入力すると、作成される検索対象データは、図4
4に示すデータ定義部と、図45に示す実データ部から
構成される新たな検索対象データが生成される。
【0129】図44に示すように新しいデータ定義部に
は、レコード種名「質問」と、非階層化フィールドの各
要素のレコードのレコード種名「発言」、「回答」か
ら、「質問・発言」および「質問・回答」というレコー
ド種名のレコード定義が追加されている。この追加され
たレコード定義のレコード型は、例えば質問・発言レコ
ードでは、質問レコードのレコード定義のレコード型か
ら非階層化フィールド{発言,回答}を削除し、非階層
化フィールドの1つの要素である発言レコードのレコー
ド型、すなわち、「内容」を追加して作成されている。
質問・回答についても同様である。また、新しいルート
定義部は、指定されたレコード種名「質問」が削除さ
れ、指定されたレコード種名と非階層化フィールドの要
素のレコードのレコード種名から作成された「質問・発
言」,「質問・回答」が追加されている。
【0130】実データ部は、図45に示すように、指定
されていないレコードと、指定された各質問レコードか
ら、非階層化フィールドの要素のそれぞれについて作成
された新しいレコードから構成されている。作成された
新しいレコードのレコード本体は、例えば、発言者が
「a山a’蔵」の質問レコードの非階層化フィールドの
要素のうち、最初の発言レコードの場合には、質問レコ
ードから非階層化フィールドを除いた残りのフィールド
「a山a’蔵」と、非階層化フィールドの要素である発
言レコードのレコード本体「この発明は...」から構
成される。
【0131】上述の非階層化処理では、検索対象データ
の実データ部の要素のうち、指定されなかった種類のレ
コードと、指定された種類のレコードから作成された新
しいレコードにより新しい実データ部を構成したが、指
定された種類のレコードから作成された新しいレコード
のみにより、新しい実データ部を構成することも可能で
ある。すなわち、上述の新しい実データ部を作成する処
理のうち、(2)の処理において、(1)で取り出した
レコードが指定手段から指定されていない種類のレコー
ドならば、(1)に戻るように構成する。これにより、
読み込んだ検索対象データの実データ部の要素のうち、
指定された種類のレコードに上述のイ〜ニの処理を実行
した結果の仮レコード2のみが仮レコード1に連結さ
れ、これにより、新しい実データ部を構成することがで
きる。
【0132】図46は、非階層化処理により生成された
新たな検索対象データにおける実データ部の別の一例の
説明図である。図45の場合と同様に、例えば、図2に
示したデータ定義部と、図3に示した実データ部を持つ
検索対象データが「議事録」という識別子で格納手段1
に格納されているとき、ユーザが、検索対象データの識
別子として「議事録」、非階層化されるレコードの種類
として質問レコード、非階層化フィールドとして{発
言,回答}フィールドを指定して、非階層化処理の指定
を行なう場合を考える。この場合には、作成される検索
対象データの実データ部は、図46に示すようになる。
図46では、図45に示したレコードのうち、質問レコ
ードから非階層化された質問.発言レコード及び質問.
回答レコードにより、新たな実データ部が構成されてい
る。
【0133】第13の処理例として、マルチタイプレコ
ード列を対象にした、レコードの拡張処理を行なう例に
ついて説明する。レコードの拡張処理とは、レコードか
ら新たなデータ(以下、拡張データと呼ぶ)を作成し、
作成されたデータを値とするフィールドをレコードに追
加する処理である。拡張データは、アトミックデータ型
のデータ、あるいはマルチタイプレコード列等である。
この第13の処理例では、レコードから拡張データを作
成する操作として、selection処理を指定する
ことができる。もちろん、これ以外の処理を指定するこ
とが可能なように構成しても良い。このselecti
on処理は、レコードの特定の複合フィールドの値の要
素から、条件に適合しないレコードを取り除いた新しい
マルチタイプレコード列を作成する処理である。
【0134】第13の処理例において、生成手段3は、
指定手段2から、検索対象データの識別子、拡張される
レコードのレコード種名、レコードが拡張された後のレ
コード種名、拡張されるレコードから拡張データを作成
するための操作の指定を受け取る。これらの情報は、指
定手段2の一部である入力装置を介してユーザが指定す
る。
【0135】図47は、拡張処理を行なう際の入力情報
の形式の一例の説明図である。ユーザが指定手段2の入
力装置を介して、検索対象データの識別子、拡張される
レコードのレコード種名、レコードが拡張された後のレ
コード種名、拡張されるレコードから拡張データを作成
するための操作を指定する際の、入力する情報の概要を
示している。図47において、「識別子」は、検索対象
データの識別子を指定する部分である。「レコード種
名」は、拡張されるレコードのレコード種名を指定する
部分である。「拡張後のレコード種名」は、レコードが
拡張された後のレコード種名を指定する部分である。
「操作指定」は、拡張されるレコードから拡張データを
作成するための操作を指定する部分である。
【0136】図48は、「操作指定」の入力情報の形式
の一例の説明図である。図48において、「対象フィー
ルド指定」は、拡張されるレコード中の複合フィールド
を指定する部分である。ここで指定された複合フィール
ドの値がselection処理の対象となる。「レコ
ード種名」は、レコード種名を指定する部分である。
「条件」は、「by」の前に記述された種類のレコード
に対する条件を指定する部分である。「by」と「条
件」の部分が省略された場合には、「レコード種名」の
部分で指定されたレコードをすべて選択する。「条件指
定」の部分でのフィールドの指定方法は、第1の処理例
の条件の指定と同じである。
【0137】図49は、拡張処理を行なう際の入力情報
の一例の説明図である。図49では、検索対象となるの
は「議事録」という識別子を持つ検索対象データである
ことが指定されている。また、拡張の対象となるレコー
ドは、質問レコードであり、質問レコードが拡張された
後のレコード種名が「質問’」であり、拡張データを作
成するための操作が、質問レコードの{発言,回答}フ
ィールドの値を対象にしたselection処理であ
ることが指定されている。また、このselectio
n処理の選択の対象となるレコードは、発言レコードで
あり、「by」と「条件」の部分が省略されているの
で、発言レコードはすべて選択される。
【0138】生成手段3は、指定手段2から、検索対象
データの識別子、拡張されるレコードのレコード種名、
レコードが拡張された後のレコード種名、拡張されるレ
コードから拡張データを作成するための操作の指定を受
け取った後、指定手段2から送られてきた識別子を持つ
検索対象データを格納手段1から主記憶装置に読み込
む。読み込んだ検索対象データのデータ定義部から新し
いデータ定義部を作り、それがデータ定義部の規則を満
たしているかを確認する。確認の結果、規則を満たして
いなければ、データ定義不適合のメッセージの表示命令
を表示手段4に送って、処理は終了する。データ定義部
の規則を満たしていることが確認できた後、読み込んだ
検索対象データの実データ部の要素から、新しい実デー
タ部を作成する。作成された新しい実データ部と、新し
いデータ定義部とから、新しい検索対象データが作成さ
れる。新しい検索対象データは、表示手段4によってC
RTディスプレイに表示され、ユーザは検索結果を見る
ことができる。
【0139】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義部に、
「拡張後のレコード種名」で指定されたレコード種名を
持ち、「レコード種名^」で指定されたレコード種名を
持つレコード定義のレコード型の最後尾に、「対象フィ
ールド指定」で指定されたフィールドのフィールド名を
追加したレコード型を持つ新しいレコード定義を追加し
たものである。ルート定義部は、読み込んだ検索対象デ
ータのルート定義部から、「レコード種名」で指定され
たものを取り除き、「拡張後のレコード種名」で指定さ
れたものを加えたものである。
【0140】新しい実データ部の作り方について説明す
る。まず、要素のないマルチタイプレコード列である仮
レコード列1を準備する。読み込んだ検索対象データの
実データ部に対して、要素がなくなるまで、以下の
(1)、(2)の処理を実行する。 (1)検索対象データの実データ部から先頭のレコード
を取り出す。 (2)取り出したレコードが、指定手段2から指定され
ていない種類のレコードならば、取り出したレコードを
仮レコード列1の最後尾に連結し、(1)に戻る。そう
でない場合は、指定手段2から指定されたレコードの複
合フィールドの値にselection処理を施して作
ったマルチタイプレコード列を値とする新しいフィール
ドを作成し、この新しいフィールドをレコード本体の最
後尾に追加する。さらに、レコード種名を「拡張後のレ
コード種名」で指定されたものに変える。この処理によ
り作成されたレコードを、仮レコード列1の最後尾に連
結し、(1)へ戻る。実データ部の要素がなくなったと
き、仮レコード列1が新しい実データ部を構成してい
る。
【0141】図50,図51は、拡張処理により生成さ
れた新たな検索対象データの一例の説明図である。上述
の拡張処理において、例えば、図2に示したデータ定義
部と、図3に示した実データ部を持つ検索対象データが
「議事録」という識別子で格納手段1に格納されている
場合を考える。このとき、ユーザが、図49に示した拡
張の指示を入力すると、作成される検索対象データは、
図50に示すデータ定義部と、図51に示す実データ部
から構成される新たな検索対象データが生成される。
【0142】図50に示すように、新しいデータ定義部
には、質問’レコードが追加されている。この質問’レ
コードのレコード型は、質問レコードのレコード型に、
「対象フィールド指定」で指定された{発言,回答}と
いうフィールドが追加されている。また、ルート定義部
は、「質問」が「質問’」に変更されている。実データ
部は、図51に示すように、指定されていない意見レコ
ードと、拡張された新しい質問’レコードから構成され
ている。作成された新しい質問’レコードのレコード本
体は、例えば、質問レコードの{発言,回答}フィール
ドの要素のレコードのうち、発言レコードすべてのマル
チタイプレコード列を作り、これを質問レコードのフィ
ールドの最後に追加して作成されている。
【0143】上述の拡張処理では、検索対象データの実
データ部の要素のうち、指定されなかった種類のレコー
ドと、指定された種類のレコードから作成された新しい
レコードにより新しい実データ部を構成したが、指定さ
れた種類のレコードから作成された新しいレコードのみ
により、新しい実データ部を構成することも可能であ
る。すなわち、上述の新しい実データ部を作成する処理
のうち、(2)の処理において、(1)で取り出したレ
コードが指定手段から指定されていない種類のレコード
ならば、(1)に戻るように構成する。これにより、指
定手段から指定されていない種類のレコードは仮レコー
ド1に連結されず、これらのレコードを取り除いた新し
い実データ部を構成することができる。
【0144】図52は、拡張処理により生成された新た
な検索対象データにおける実データ部の別の一例の説明
図である。図51の場合と同様に、例えば、図2に示し
たデータ定義部と、図3に示した実データ部を持つ検索
対象データが「議事録」という識別子で格納手段1に格
納されているとき、ユーザが、図49に示した拡張処理
の指定を行なう場合を考える。この場合には、作成され
る検索対象データの実データ部は、図52に示すように
なる。図52では、図51に示したレコードのうち、質
問’レコードにより、新たな実データ部が構成されてい
る。
【0145】第14の処理例として、マルチタイプレコ
ード列を対象にした、レコードの置換処理を行なう例に
ついて説明する。レコードの置換処理とは、レコードか
ら新たなデータ(以下、置換データと呼ぶ)を作成し、
作成されたデータを値とするフィールドを、レコードの
特定のフィールドと置き換える処理である。置換データ
は、アトミックデータ型のデータ、あるいは、マルチタ
イプレコード列等である。この第14の処理例では、第
13の処理例と同様に、レコードから置換データを作成
する操作として、selection処理を指定するこ
とができる。もちろん、これ以外の処理を指定すること
が可能なように構成しても良い。このselectio
n処理は、第13の処理例と同様である。
【0146】第14の処理例において、生成手段3は、
指定手段2から、検索対象データの識別子、置換処理さ
れるレコードのレコード種名、置換されるフィールド、
レコードが置換された後のレコード種名、置換されるレ
コードから置換データを作成するための操作の指定を受
け取る。これらの情報は、指定手段2の一部である入力
装置を介してユーザが指定する。
【0147】図53は、置換処理を行なう際の入力情報
の形式の一例の説明図である。ユーザが指定手段2の入
力装置を介して、検索対象データの識別子、置換処理さ
れるレコードのレコード種名、置換されるフィールド、
レコードが置換された後のレコード種名、置換されるレ
コードから置換データを作成するための操作を指定する
際の、入力する情報の概要を示している。図53におい
て、「識別子」は、検索対象データの識別子を指定する
部分である。「レコード種名」は、置換処理されるレコ
ードのレコード種名を指定する部分である。「置換フィ
ールド指定」は、置換処理されるフィールドを指定する
部分である。「置換後のレコード種名」は、レコードが
置換された後のレコード種名を指定する部分である。
「操作指定」は、置換処理されるレコードから置換デー
タを作成するための操作を指定する部分である。ここに
記述される内容は、第13の処理例とほぼ同じであり、
例えば、図54に示したような形式で指定することがで
きる。
【0148】図54は、置換処理を行なう際の入力情報
の一例の説明図である。図54では、検索対象となるの
は「議事録」という識別子を持つ検索対象データである
ことが指定されている。また、置換の対象となるレコー
ドは、質問レコードであり、置換されるフィールドが
{発言,回答}フィールドであることが指定されてい
る。さらに、質問レコードが置換された後のレコード種
名が「質問’」であり、置換データを作成するための操
作が、質問レコードの{発言,回答}フィールドの値を
対象にしたselection処理であることが指定さ
れている。また、このselection処理の選択の
対象となるレコードは、発言レコードであり、「by」
と「条件」が省略されているので、発言レコードはすべ
て選択される。
【0149】生成手段3は、指定手段2から、検索対象
データの識別子、置換処理されるレコードのレコード種
名、置換されるフィールド、レコードが置換された後の
レコード種名、置換されるレコードから置換データを作
成するための操作の指定を受け取った後、指定手段2か
ら送られてきた識別子を持つ検索対象データを格納手段
1から主記憶装置に読み込む。読み込んだ検索対象デー
タのデータ定義部から新しいデータ定義部を作り、それ
がデータ定義部の規則を満たしているかを確認する。確
認の結果、規則を満たしていなければ、データ定義不適
合のメッセージの表示命令を表示手段4に送って、処理
は終了する。データ定義部の規則を満たしていることが
確認できた後、読み込んだ検索対象データの実データ部
の要素から、新しい実データ部を作成する。作成された
新しい実データ部と、新しいデータ定義部とから、新し
い検索対象データが作成される。新しい検索対象データ
は、表示手段4によってCRTディスプレイに表示さ
れ、ユーザは検索結果を見ることができる。
【0150】新しいデータ定義部の作り方を説明する。
アトミックデータ定義部は、読み込んだ検索対象データ
のアトミックデータ定義部と同じである。レコード定義
部は、読み込んだ検索対象データのレコード定義部に、
「置換後のレコード種名」で指定されたレコード種名を
持ち、「レコード種名」で指定されたレコード種名を持
つレコード定義のレコード型のフィールドのうち、「操
作指定」内の「対象フィールド指定」で指定されたフィ
ールドのフィールド名を、「置換フィールド指定」で指
定されたフィールドのフィールド名に置き換えたレコー
ド型を持つ新しいレコード定義を追加したものである。
ルート定義部は、読み込んだ検索対象データのルート定
義部から、「レコード種名」で指定されたものを取り除
き、「置換後のレコード種名」で指定されたものを加え
たものである。
【0151】新しい実データ部の作り方について説明す
る。まず、要素のないマルチタイプレコード列である仮
レコード列1を準備する。読み込んだ検索対象データの
実データ部に対して、要素がなくなるまで、以下の
(1)、(2)の処理を実行する。 (1)検索対象データの実データ部から先頭のレコード
を取り出す。 (2)取り出したレコードが、指定手段2から指定され
ていない種類のレコードならば、取り出したレコードを
仮レコード列1の最後尾に連結し、(1)に戻る。そう
でない場合は、指定手段2から指定されたレコードのう
ち、「置換フィールド指定」で指定されたフィールド
を、取り出したレコードのフィールドのうち「対象フィ
ールド指定」で指定された複合フィールドの値にsel
ection処理を施して作ったマルチタイプレコード
列を値とする新しいフィールドで置き換える。さらに、
レコード種名を「置換後のレコード種名」で指定された
ものに変える。この処理により作成されたレコードを、
仮レコード列1の最後尾に連結し、(1)へ戻る。実デ
ータ部の要素がなくなったとき、仮レコード列1が新し
い実データ部を構成している。
【0152】図55,図56は、置換処理により生成さ
れた新たな検索対象データの一例の説明図である。上述
の置換処理において、例えば、図2に示したデータ定義
部と、図3に示した実データ部を持つ検索対象データが
「議事録」という識別子で格納手段1に格納されている
場合を考える。このとき、ユーザが、図54に示した置
換の指示を入力すると、図55に示すデータ定義部と、
図56に示す実データ部から構成される新たな検索対象
データが生成される。
【0153】図55に示すように、新しいデータ定義部
には、質問’レコードが追加されている。この質問’レ
コードのレコード型は、質問レコードのレコード型に、
「対象フィールド指定」である{発言,回答}というフ
ィールドを「置換フィールド名」である{発言,回答}
というフィールドに置き換えているが、結局質問レコー
ドと同じレコード型となっている。また、ルート定義部
は、「質問」が「質問’」に変更されている。実データ
部は、図56に示すように、指定されていない意見レコ
ードと、置換された新しい質問’レコードから構成され
ている。作成された新しい質問’レコードのレコード本
体は、例えば、質問レコードの{発言,回答}フィール
ドの要素のレコードのうち、発言レコードすべてのレコ
ードの集合を作り、この集合を質問レコードの{発言,
回答}フィールドと置換して作成されている。そのた
め、回答レコードが取り除かれている。
【0154】上述の置換処理では、検索対象データの実
データ部の要素のうち、指定されなかった種類のレコー
ドと、指定された種類のレコードから作成された新しい
レコードにより新しい実データ部を構成したが、指定さ
れた種類のレコードから作成された新しいレコードのみ
により、新しい実データ部を構成することも可能であ
る。すなわち、上述の新しい実データ部を作成する処理
のうち、(2)の処理において、(1)で取り出したレ
コードが指定手段から指定されていない種類のレコード
ならば、(1)に戻るように構成する。これにより、指
定手段から指定されていない種類のレコードは仮レコー
ド1に連結されず、これらのレコードを取り除いた新し
い実データ部を構成することができる。
【0155】図57は、置換処理により生成された新た
な検索対象データにおける実データ部の別の一例の説明
図である。図56の場合と同様に、例えば、図2に示し
たデータ定義部と、図3に示した実データ部を持つ検索
対象データが「議事録」という識別子で格納手段1に格
納されているとき、ユーザが、図54に示した置換処理
の指定を行なう場合を考える。この場合には、作成され
る検索対象データの実データ部は、図57に示すように
なる。図57では、図56に示したレコードのうち、質
問’レコードにより、新たな実データ部が構成されてい
る。
【0156】上述の第13,第14の処理例として説明
したレコードの拡張処理や置換処理は、複合フィールド
中のマルチタイプレコード列に対して、第1乃至第14
の処理例が行なう処理を可能にするための処理である。
したがって、第13,14の処理例において、拡張デー
タや置換データを作る操作に、selection処理
以外に、第2乃至第14の処理例で述べたような、各種
の処理を指定することが可能なように構成してもよい。
【0157】上述の各処理例の説明では、個々の処理に
ついて説明したが、これらの処理は、それぞれ単独で実
行可能に構成することもできるし、また、いくつかの処
理を行なえるように構成することもできる。さらに、第
1乃至第14の処理例の全てを行なうことができるデー
タ検索装置を構成してもよい。複数の処理を行なえるよ
うに構成した場合、処理の結果は検索対象データである
ので、別の操作の対象となることが可能なように構成す
ることができ、いくつかの処理を連続して行なわせるこ
とも可能である。このときの指定手段2からの入力は、
逐次指定して行くこともできるし、また、連続して行な
う処理の指定をファイル化しておき、ファイルを読み込
むことにより、一括して処理を行なうように構成するこ
とも可能である。さらに、別のプログラム等から上述の
処理の実行を指定できるように構成することもできる。
【0158】上述の処理例で用いた検索対象データは、
すべて単一の文書の論理構造を表わしたものであった。
しかし、複数の文書の列に対応する検索対象データを作
ることは容易である。図58,図59は、検索対象デー
タの第6の例の説明図である。例えば、図58,図59
に示した検索対象データは、複数の議事録の列を表現し
ている。このように、各文書の列を連結してマルチタイ
プレコード列とすることにより、複数の文書の列に対応
する検索対象データを作ることができる。
【0159】
【発明の効果】以上の説明から明らかなように、本発明
によれば、従来の1種類のレコードからなるレコード集
合のみならず、複数の種類のレコードからなる順序関係
を有するマルチタイプレコード列に対して、順序関係を
保存したまま種々の処理を行なうことが可能なデータ検
索装置を得ることができる。また、これらの処理のうち
のいくつかの機能を備えることにより、ユーザは理解し
やすいプリミティブな操作の組み合わせを指定すること
によって、例えば、文書の論理情報を表現したマルチタ
イプレコード列を操作できるように構成可能となるとと
もに、マルチタイプレコード列に対する処理であって
も、指定された操作がどのような処理であるのかを理解
することが容易になるという効果がある。
【図面の簡単な説明】
【図1】 本発明のデータ検索装置の一実施例を示す構
成図である。
【図2】 検索対象データの第1の例におけるデータ定
義部の説明図である。
【図3】 検索対象データの第1の例における実データ
部の説明図である。
【図4】 selection処理を行なう際の入力情
報の形式の一例の説明図である。
【図5】 selection処理を行なう際の入力情
報の一例の説明図である。
【図6】 selection処理により生成された新
たな検索対象データにおける実データ部の一例の説明図
である。
【図7】 selection処理により生成された新
たな検索対象データにおける実データ部の別の一例の説
明図である。
【図8】 検索対象データの第2の例におけるデータ定
義部の説明図である。
【図9】 検索対象データの第2の例における実データ
部の説明図である。
【図10】 union処理により生成された新たな検
索対象データにおけるデータ定義部の一例の説明図であ
る。
【図11】 union処理により生成された新たな検
索対象データにおける実データ部の一例の説明図であ
る。
【図12】 検索対象データの実データ部の第3の例の
説明図である。
【図13】 intersection処理により生成
された新たな検索対象データにおけるデータ定義部の一
例の説明図である。
【図14】 intersection処理により生成
された新たな検索対象データにおける実データ部の一例
の説明図である。
【図15】 difference処理により生成され
た新たな検索対象データの実データ部の一例の説明図で
ある。
【図16】 検索対象データの第4の例におけるデータ
定義部の説明図である。
【図17】 検索対象データの第4の例における実デー
タ部の説明図である。
【図18】 cartesian product処理
により生成された新たな検索対象データにおけるデータ
定義部の一例の説明図である。
【図19】 cartesian product処理
により生成された新たな検索対象データにおける実デー
タ部の一例の説明図である。
【図20】 並べ換え処理を行なう際の入力情報の形式
の一例の説明図である。
【図21】 並べ換え処理を行なう際の入力情報の一例
の説明図である。
【図22】 並べ換え処理により生成された新たな検索
対象データにおけるデータ定義部の一例の説明図であ
る。
【図23】 並べ換え処理により生成された新たな検索
対象データにおける実データ部の一例の説明図である。
【図24】 並べ換え処理により生成された新たな検索
対象データにおける実データ部の別の一例の説明図であ
る。
【図25】 抽出処理を行なう際の入力情報の形式の一
例の説明図である。
【図26】 抽出処理を行なう際の入力情報の一例の説
明図である。
【図27】 抽出処理により生成された新たな検索対象
データにおけるデータ定義部の一例の説明図である。
【図28】 抽出処理により生成された新たな検索対象
データにおける実データ部の一例の説明図である。
【図29】 抽出処理により生成された新たな検索対象
データにおける実データ部の別の一例の説明図である。
【図30】 階層化処理を行なう際の入力情報の形式の
一例の説明図である。
【図31】 階層化処理を行なう際の入力情報の一例の
説明図である。
【図32】 検索対象データの第5の例におけるデータ
定義部の説明図である。
【図33】 検索対象データの第5の例における実デー
タ部の説明図である。
【図34】 第1の階層化処理により生成された新たな
検索対象データにおけるデータ定義部の一例の説明図で
ある。
【図35】 第1の階層化処理により生成された新たな
検索対象データにおける実データ部の一例の説明図であ
る。
【図36】 第1の階層化処理により生成された新たな
検索対象データにおける実データ部の別の一例の説明図
である。
【図37】 第2の階層化処理により生成された新たな
検索対象データにおけるデータ定義部の一例の説明図で
ある。
【図38】 第2の階層化処理により生成された新たな
検索対象データにおける実データ部の一例の説明図であ
る。
【図39】 第2の階層化処理により生成された新たな
検索対象データにおける実データ部の別の一例の説明図
である。
【図40】 第3の階層化処理により生成された新たな
検索対象データにおける実データ部の一例の説明図であ
る。
【図41】 第3の階層化処理により生成された新たな
検索対象データにおける実データ部の別の一例の説明図
である。
【図42】 第4の階層化処理により生成された新たな
検索対象データにおける実データ部の一例の説明図であ
る。
【図43】 第4の階層化処理により生成された新たな
検索対象データにおける実データ部の別の一例の説明図
である。
【図44】 非階層化処理により生成された新たな検索
対象データにおけるデータ定義部の一例の説明図であ
る。
【図45】 非階層化処理により生成された新たな検索
対象データにおける実データ部の一例の説明図である。
【図46】 非階層化処理により生成された新たな検索
対象データにおける実データ部の別の一例の説明図であ
る。
【図47】 拡張処理を行なう際の入力情報の形式の一
例の説明図である。
【図48】 「操作指定」の入力情報の形式の一例の説
明図である。
【図49】 拡張処理を行なう際の入力情報の一例の説
明図である。
【図50】 拡張処理により生成された新たな検索対象
データにおけるデータ定義部の一例の説明図である。
【図51】 拡張処理により生成された新たな検索対象
データにおける実データ部の一例の説明図である。
【図52】 拡張処理により生成された新たな検索対象
データにおける実データ部の別の一例の説明図である。
【図53】 置換処理を行なう際の入力情報の形式の一
例の説明図である。
【図54】 置換処理を行なう際の入力情報の一例の説
明図である。
【図55】 置換処理により生成された新たな検索対象
データにおけるデータ定義部の一例の説明図である。
【図56】 置換処理により生成された新たな検索対象
データにおける実データ部の一例の説明図である。
【図57】 置換処理により生成された新たな検索対象
データにおける実データ部の別の一例の説明図である。
【図58】 検索対象データの第6の例におけるデータ
定義部の説明図である。
【図59】 検索対象データの第6の例における実デー
タ部の説明図である。
【符号の説明】
1 格納手段、2 指定手段、3 生成手段、4 表示
手段。
フロントページの続き (56)参考文献 特開 平4−7671(JP,A) 特開 平2−260047(JP,A) 鴻江美智子,青島正明,小櫻文彦ほ か,「オブジェクト指向知識ベース管理 システムにおける問い合わせ処理の最適 化」,人工知能学会全国大会(第4回) 論文集pp273−276(平成2年7月23 日) 宇田川佳久著,「オブジェクト指向デ ータベース入門」PP299−318,株式会 社ソフト・リサーチ・センター(1992年 8月25日第1刷発行) 増永良文著,「リレーショナルデータ ベース入門」pp28−30、PP38−44、 pp92−98,株式会社サイエンス社(平 成3年1月25日初版発行) 武藤英男ほか,「リレーショナルDB MSにおけるマルチ・オカレンス・フィ ールド・サポート言語の検討」,情報処 理学会第34回(昭和62年前記)全国大会 講演論文集pp483−484 服部憲一ほか,「パーソナル電子ファ イリングシステムの検討(▲II ▼)」,1991年電子情報通信学会春季全 国大会p6−266 満谷美正ほか,「マルチメディアオブ ジェクト指向データベースモデルのため の時間的・空間的データモデルの提 案」,情報処理学会研究報告vol.92 no.23,pp77−85(92−DBS− 87) (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 G06F 12/00 512

Claims (25)

    (57)【特許請求の範囲】
  1. 【請求項1】 順序関係を有するレコード列から所望の
    情報を取り出すデータ検索装置において、複数の種類の
    レコードにより構成可能な順序関係を有するレコード列
    を格納する格納手段と、該格納手段に格納されているレ
    コード列に対する処理要求が入力可能な指定手段と、該
    指定手段から入力された処理要求に基づき前記格納手段
    に格納されているレコード列に対して該レコード列の順
    序関係を保存したまま処理を行ない順序関係を有する新
    たなレコード列を生成する生成手段を有することを特徴
    とするデータ検索装置。
  2. 【請求項2】 前記指定手段から、レコードの種類と、
    該種類のレコードに対する条件が指定され、前記生成手
    段は、前記格納手段に格納されている第1のレコード列
    の順序関係を保持したまま、該第1のレコード列から、
    前記指定手段で指定されたレコードの種類であり、か
    つ、条件を満たさないレコードを取り除き、順序関係を
    有する新しい第2のレコード列を生成することを特徴と
    する請求項1に記載のデータ検索装置。
  3. 【請求項3】 前記指定手段から、レコードの種類と、
    該種類のレコードに対する条件が指定され、前記生成手
    段は、前記格納手段に格納されている第1のレコード列
    の順序関係を保持したまま、該第1のレコード列から、
    前記指定手段で指定されたレコードの種類であり、か
    つ、条件を満たさないレコードと、指定手段で指定され
    なかったレコードとを取り除き、順序関係を有する第2
    のレコード列を生成することを特徴とする請求項1に記
    載のデータ検索装置。
  4. 【請求項4】 前記生成手段は、前記格納手段に格納さ
    れている順序関係を有する第1のレコード列の後に順序
    関係を有する第2のレコード列を連結し、順序関係を有
    する新しい第3のレコード列を生成することを特徴とす
    る請求項1に記載のデータ検索装置。
  5. 【請求項5】 前記生成手段は、前記格納手段に格納さ
    れている第1のレコード列の順序関係を保持したまま、
    該第1のレコード列から、前記格納手段に格納されてい
    る第2のレコード列中に存在しないレコードを取り除
    き、順序関係を有する新しい第3のレコード列を生成す
    ることを特徴とする請求項1に記載のデータ検索装置。
  6. 【請求項6】 前記生成手段は、前記格納手段に格納さ
    れている第1のレコード列の順序関係を保持したまま、
    該第1のレコード列から、前記格納手段に格納されてい
    る第2のレコード列中に存在するレコードを取り除き、
    順序関係を有する新しい第3のレコード列を生成するこ
    とを特徴とする請求項1に記載のデータ検索装置。
  7. 【請求項7】 前記生成手段は、前記格納手段に格納さ
    れている順序関係を有する第1のレコード列に含まれる
    レコードのフィールドと、前記格納手段に格納されてい
    る順序関係を有する第2のレコード列に含まれるレコー
    ドのフィールドとを、この順序で並べたレコードを、第
    1のレコード列に含まれるレコードの順に、それぞれ、
    第2のレコード列に含まれるレコードの順序ですべての
    組み合わせについて作成し、順序関係を有する新しい第
    3のレコード列を生成することを特徴とする請求項1に
    記載のデータ検索装置。
  8. 【請求項8】 前記指定手段から、レコードの種類と、
    該種類のレコードのフィールドの並び順が指定され、前
    記生成手段は、前記格納手段に格納されている第1のレ
    コード列の順序関係を保持したまま、該第1のレコード
    列の前記指定手段で指定された種類のレコードのフィー
    ルドの並び順を、前記指定手段で指定された並び順に変
    更し、順序関係を有する新しい第2のレコード列を生成
    することを特徴とする請求項1に記載のデータ検索装
    置。
  9. 【請求項9】 前記指定手段から、レコードの種類と、
    該種類のレコードのフィールドの並び順が指定され、前
    記生成手段は、前記格納手段に格納されている第1のレ
    コード列の順序関係を保持したまま、該第1のレコード
    列の前記指定手段で指定された種類のレコードのフィー
    ルドの並び順を、前記指定手段で指定された並び順に変
    更し、さらに、前記指定手段で指定されなかった種類の
    レコードを取り除き、順序関係を有する新しい第2のレ
    コード列を生成することを特徴とする請求項1に記載の
    データ検索装置。
  10. 【請求項10】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールド群の一部が指定さ
    れ、前記生成手段は、前記格納手段に格納されている第
    1のレコード列の順序関係を保持したまま、該第1のレ
    コード列の前記指定手段で指定された種類のレコード
    を、該レコード中のフィールドのうちで前記指定手段で
    指定されたもののみからなる新しいレコードに置き換
    え、順序関係を有する新しい第2のレコード列を生成す
    ることを特徴とする請求項1に記載のデータ検索装置。
  11. 【請求項11】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールド群の一部が指定さ
    れ、前記生成手段は、前記格納手段に格納されている第
    1のレコード列の順序関係を保持したまま、該第1のレ
    コード列の前記指定手段で指定された種類のレコード
    を、該レコード中のフィールドのうちで前記指定手段で
    指定されたもののみからなる新しいレコードに置き換
    え、さらに、前記指定手段で指定されなかった種類のレ
    コードを取り除き、順序関係を有する新しい第2のレコ
    ード列を生成することを特徴とする請求項1に記載のデ
    ータ検索装置。
  12. 【請求項12】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールド群の一部が指定さ
    れ、前記生成手段は、前記格納手段に格納されている第
    1のレコード列の順序関係を保持したまま、該第1のレ
    コード列のうち、前記指定手段で指定された種類であ
    り、かつ、指定手段で指定されたフィールド群のフィー
    ルド値が等しい部分列を、該部分列を階層化して作った
    新しいレコードに置き換え、順序関係を有する新しい第
    2のレコード列を生成することを特徴とする請求項1に
    記載のデータ検索装置。
  13. 【請求項13】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールド群の一部が指定さ
    れ、前記生成手段は、前記格納手段に格納されている第
    1のレコード列の順序関係を保持したまま、該第1のレ
    コード列のレコードのうち、前記指定手段で指定された
    種類であり、かつ、前記指定手段で指定されたフィール
    ド群のフィールド値が等しい部分列を、該部分列を階層
    化して作った新しいレコードに置き換え、さらに、前記
    指定手段で指定されなかった種類のレコードを取り除
    き、順序関係を有する新しい第2のレコード列を生成す
    ることを特徴とする請求項1に記載のデータ検索装置。
  14. 【請求項14】 前記部分列を階層化して作った新しい
    レコードが、前記指定手段で指定されたフィールド群
    と、前記部分列を値とするフィールドとからなるレコー
    ドであることを特徴とする請求項12または13に記載
    のデータ検索装置。
  15. 【請求項15】 前記部分列を階層化して作った新しい
    レコードが、前記指定手段で指定されたフィールド群
    と、新たなレコード列を値とするフィールドからなり、
    該新たなフィールド列が、前記部分列の順序関係を保持
    したまま、前記部分列中の各レコードを、該レコードの
    フィールド群のうちで前記指定手段で指定されなかった
    ものからなるレコードで置き換えたものであることを特
    徴とする請求項12または13に記載のデータ検索装
    置。
  16. 【請求項16】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールド群の一部が指定さ
    れ、前記生成手段は、前記格納手段に格納されている順
    序関係を有する第1のレコード列中のレコードで、前記
    指定手段で指定された種類であり、かつ、前記指定手段
    で指定されたフィールド群のフィールド値が等しい1つ
    以上のレコードを順に抽出して連結し、このレコード列
    を階層化して作った新しいレコードと、第1のレコード
    列中のレコードで、前記指定手段で指定されなかった種
    類のレコードとを、第1のレコード列中のレコードの順
    序関係に従って順に連結し、順序関係を有する新しい第
    2のレコード列を生成することを特徴とする請求項1に
    記載のデータ検索装置。
  17. 【請求項17】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールド群の一部が指定さ
    れ、前記生成手段は、前記格納手段に格納されている順
    序関係を有する第1のレコード列中のレコードで、前記
    指定手段で指定された種類であり、かつ、前記指定手段
    で指定されたフィールド群のフィールド値が等しい1つ
    以上のレコードを順に抽出して連結し、このレコード列
    を階層化して作った新しいレコードを、第1のレコード
    列中のレコードの順序関係に従って順に連結し、順序関
    係を有する新しい第2のレコード列を生成することを特
    徴とする請求項1に記載のデータ検索装置。
  18. 【請求項18】 前記新しいレコードは、前記指定手段
    で指定されたフィールド群と、前記1つ以上のレコード
    を抽出した順に連結したレコード列を値とするフィール
    ドとからなるレコードであることを特徴とする請求項1
    6または17に記載のデータ検索装置。
  19. 【請求項19】 前記新しいレコードは、前記指定手段
    で指定されたフィールド群と、前記1つ以上のレコード
    を抽出した順に連結したレコード列の各レコードから前
    記指定手段で指定されたフィールドを取り除いたレコー
    ド列を値とするフィールドとからなるレコードであるこ
    とを特徴とする請求項16又は17に記載のデータ検索
    装置。
  20. 【請求項20】 前記指定手段から、レコードの種類
    と、フィールド値が1つ以上の型のレコードからなるレ
    コード列であるフィールドが指定され、前記生成手段
    は、前記格納手段に格納されている順序関係を有する第
    1のレコード列のうち、前記指定手段で指定された種類
    のレコードである非階層化レコードを第3のレコード列
    で置き換え、順序関係を有する新しい第2のレコード列
    を生成するものであって、前記第3のレコード列が、前
    記非階層レコードのフィールドのうち前記指定手段から
    指定されたフィールドの値である第4のレコード列の各
    レコードをレコードごとに前記非階層化レコード中の前
    記指定手段から指定されなかったフィールド群に追加し
    て作った複数のレコードを、前記第4のレコード列の順
    序に従って連結して作成したレコード列であることを特
    徴とする請求項1に記載のデータ検索装置。
  21. 【請求項21】 前記指定手段から、レコードの種類
    と、フィールド値が1つ以上の型のレコードからなるレ
    コード列であるフィールドが指定され、前記生成手段
    は、前記格納手段に格納されている順序関係を有する第
    1のレコード列のうち、前記指定手段で指定された種類
    のレコードを、該レコードのフィールドのうち前記指定
    手段から指定されたフィールドの値であるレコード列の
    各レコードを、前記レコード中の前記指定手段から指定
    されなかったフィールド群に追加して作ったレコード列
    で置き換え、さらに、前記指定手段で指定されなかった
    種類のレコードを取り除き、順序関係を有する新しい第
    2のレコード列を生成することを特徴とする請求項1に
    記載のデータ検索装置。
  22. 【請求項22】 前記指定手段から、レコードの種類
    と、該種類のレコードから新たなデータを作成する作成
    方法とが指定され、前記生成手段は、前記格納手段に格
    納されている第1のレコード列の順序関係を保持したま
    ま、該第1のレコード列の前記指定手段で指定された種
    類のレコードに、前記指定手段で指定された作成方法に
    したがって前記レコードから作成されたデータをフィー
    ルド値とするフィールドを追加し、順序関係を有する新
    しい第2のレコード列を生成することを特徴とする請求
    項1に記載のデータ検索装置。
  23. 【請求項23】 前記指定手段から、レコードの種類
    と、該種類のレコードから新たなデータを作成する作成
    方法とが指定され、前記生成手段は、前記格納手段に格
    納されている第1のレコード列の順序関係を保持したま
    ま、該第1のレコード列の前記指定手段で指定された種
    類のレコードに、前記指定手段で指定された作成方法に
    したがって前記レコードから作成されたデータをフィー
    ルド値とするフィールドを追加し、さらに、前記指定手
    段で指定されなかった種類のレコードを取り除き、順序
    関係を有する新しい第2のレコード列を生成することを
    特徴とする請求項1に記載のデータ検索装置。
  24. 【請求項24】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールドと、該種類のレコー
    ドから新たなデータを作成する作成方法が指定され、前
    記生成手段は、前記格納手段に格納されている第1のレ
    コード列の順序関係を保持したまま、該第1のレコード
    列の前記指定手段で指定された種類のレコードの前記指
    定手段で指定されたフィールドを、前記指定手段で指定
    された作成方法にしたがって前記レコードから作成され
    たデータをフィールド値とするフィールドで置き換え、
    順序関係を有する新しい第2のレコード列を生成するこ
    とを特徴とする請求項1に記載のデータ検索装置。
  25. 【請求項25】 前記指定手段から、レコードの種類
    と、該種類のレコードのフィールドと、該種類のレコー
    ドから新たなデータを作成する作成方法が指定され、前
    記生成手段は、前記格納手段に格納されている第1のレ
    コード列の順序関係を保持したまま、該第1のレコード
    列の前記指定手段で指定された種類のレコードの前記指
    定手段で指定されたフィールドを、前記指定手段で指定
    された作成方法にしたがって前記レコードから作成され
    たデータをフィールド値とするフィールドに置き換え、
    さらに、前記指定手段で指定されなかった種類のレコー
    ドを取り除き、順序関係を有する新しい第2のレコード
    列を生成することを特徴とする請求項1に記載のデータ
    検索装置。
JP5113876A 1993-04-16 1993-04-16 データ検索装置 Expired - Fee Related JP2903941B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5113876A JP2903941B2 (ja) 1993-04-16 1993-04-16 データ検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5113876A JP2903941B2 (ja) 1993-04-16 1993-04-16 データ検索装置

Publications (2)

Publication Number Publication Date
JPH06301730A JPH06301730A (ja) 1994-10-28
JP2903941B2 true JP2903941B2 (ja) 1999-06-14

Family

ID=14623336

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5113876A Expired - Fee Related JP2903941B2 (ja) 1993-04-16 1993-04-16 データ検索装置

Country Status (1)

Country Link
JP (1) JP2903941B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001256361A (ja) * 2000-03-13 2001-09-21 Toshio Tsukishiro 情報流通装置及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2907943B2 (ja) * 1990-04-25 1999-06-21 株式会社日立製作所 オブシェクト指向データベース検索方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
増永良文著,「リレーショナルデータベース入門」pp28−30、PP38−44、pp92−98,株式会社サイエンス社(平成3年1月25日初版発行)
宇田川佳久著,「オブジェクト指向データベース入門」PP299−318,株式会社ソフト・リサーチ・センター(1992年8月25日第1刷発行)
服部憲一ほか,「パーソナル電子ファイリングシステムの検討(▲II▼)」,1991年電子情報通信学会春季全国大会p6−266
武藤英男ほか,「リレーショナルDBMSにおけるマルチ・オカレンス・フィールド・サポート言語の検討」,情報処理学会第34回(昭和62年前記)全国大会講演論文集pp483−484
満谷美正ほか,「マルチメディアオブジェクト指向データベースモデルのための時間的・空間的データモデルの提案」,情報処理学会研究報告vol.92no.23,pp77−85(92−DBS−87)
鴻江美智子,青島正明,小櫻文彦ほか,「オブジェクト指向知識ベース管理システムにおける問い合わせ処理の最適化」,人工知能学会全国大会(第4回)論文集pp273−276(平成2年7月23日)

Also Published As

Publication number Publication date
JPH06301730A (ja) 1994-10-28

Similar Documents

Publication Publication Date Title
US5257365A (en) Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records
US6240411B1 (en) Integrating campaign management and data mining
US6915308B1 (en) Method and apparatus for information mining and filtering
CN1552032B (zh) 数据库
US20020194196A1 (en) Method and apparatus for transforming data
US20070073759A1 (en) Methods and systems for joining database tables using indexing data structures
US20040015486A1 (en) System and method for storing and retrieving data
KR20010083096A (ko) 가치-사례-연결을 통한 컴퓨터에 의해 구현되는데이터베이스
JPH11212980A (ja) インデクス作成方法および検索方法
JP2001167087A (ja) 構造化文書検索装置,構造化文書検索方法,構造化文書検索用プログラム記録媒体および構造化文書検索用インデックス作成方法
US20040205058A1 (en) Flow data generation method, flow data generation apparatus, and flow data generation program product
JP3452531B2 (ja) データ・マイニングする方法およびシステム
JP2927706B2 (ja) 類似文字列の展開方法、検索方法及びそれらの装置
JP2903941B2 (ja) データ検索装置
JP2003150633A (ja) データの結合・提示方法、および、データ結合・提示プログラム
JPH09259139A (ja) 文書資料知的検索システム
KR102594377B1 (ko) 프라이빗 블록체인을 이용한 하이브리드 데이터베이스 시스템
US7433882B2 (en) Data management system and computer program
JPH0981582A (ja) 値を基本としたデータ管理装置及びデータ管理方法
US8745035B1 (en) Multistage pipeline for feeding joined tables to a search system
JPH04340164A (ja) マルチキーワード情報検索処理方式および検索ファイル作成装置
JPH0934906A (ja) 図書管理装置
JP2002202904A (ja) データ管理方法およびコンピュータ読み取り可能な記録媒体
JPH09305619A (ja) 階層インデックス検索装置、及び文書検索方法
JPH04337867A (ja) データベース検索システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080326

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090326

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees