JP2009076085A - 構造化自然言語問い合わせおよび知識システム - Google Patents

構造化自然言語問い合わせおよび知識システム Download PDF

Info

Publication number
JP2009076085A
JP2009076085A JP2008267689A JP2008267689A JP2009076085A JP 2009076085 A JP2009076085 A JP 2009076085A JP 2008267689 A JP2008267689 A JP 2008267689A JP 2008267689 A JP2008267689 A JP 2008267689A JP 2009076085 A JP2009076085 A JP 2009076085A
Authority
JP
Japan
Prior art keywords
query
variable
user
condition
natural language
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.)
Pending
Application number
JP2008267689A
Other languages
English (en)
Inventor
Atsushi Kitazawa
敦 北澤
Phillip Sheu
フィリップ・シュー
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.)
NEC Solution Innovators Ltd
Biomedical Objects Inc
Original Assignee
NEC Solution Innovators Ltd
Biomedical Objects Inc
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 NEC Solution Innovators Ltd, Biomedical Objects Inc filed Critical NEC Solution Innovators Ltd
Publication of JP2009076085A publication Critical patent/JP2009076085A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】プログラミング能力に欠けるユーザーが、データベース問い合わせあるいは規則を構造化自然言語文の形式で入力することを可能にするために、構造化自然言語問い合わせおよび知識システムを提供する。
【解決手段】文の範囲は、改良されたオブジェクトリレーショナル問い合わせ言語、オブジェクト関係代数、あるいはその両方により、定義されることが望ましい。自然言語形式のコマンドおよび条件は、対応する形式問い合わせテキストを使用して定義される。ユーザーは、定義されたコマンドと条件を使用して構造化自然言語文を作るよう促される。ユーザーにより選択されたコマンドとその引数は、構造化自然言語文の動詞句として現れる。ユーザーにより選択された条件とそれらのパラメタは、文の形容詞句として現れる。文は構文解析され、正式のデータベース問い合わせと規則処理のために翻訳された形式問い合わせテキストに変えられる。
【選択図】図1

Description

本発明は、リレーショナルデータベース、オブジェクト指向型データベースおよびオブ
ジェクトリレーショナルデータベースの分野に関する。特に、本発明は構造化自然言語デ
ータベースにおける問い合わせと、知識システムに関する。
リレーショナルデータベースは何年もの間広く使用されている。リレーショナルデータ
ベースは、項目を含む表の中にデータを整理する。同じ項目を有する2つの表は相互に関
連している。すべてのデータを1つのファイルに蓄積する「単層ファイル」法に比較して
、表を近づけるリレーショナル法はより自由度が高い。
大部分のリレーショナルデータベースシステムは、SQL(Structured Query Languag
e)標準に適合している。商用ベンダーとしては、SQLにもとづく様々なデータベース
システムが作られている。これらのシステムは、SQL型の形式問い合わせ言語(formal
query language)を使用している。以下は、100,000ドル以上を得ている従業員の
名前と俸給を表示するために使用される問い合わせの例である。
For each employee where employee.salary > 100000:
Display employee.name employee.salary.
End
Or:
Select name, salary
From employee
Where employee.salary > 100000
上の問い合わせにおいて、"employee" は表の名前であり、 "name"および"salary"は"e
mployee"表の項目であり、"where employee.salary>100000"は条件(condition)でもあ
り、限定(qualification)でもある、また、"Display employee.name employee.salary"
、および、 "Select name, salary" はコマンドである。限定は、条件、あるいは、"and
"、"or"、"and not"あるいは"or not"のような論理結合子により接続された複数の条件で
ある。
オブジェクト指向型のデータベースは、データをオブジェクトとして構成させる。オブ
ジェクトは属性(attribute)を有することが可能であり、属性はオブジェクトでもあり
得る。オブジェクトの再帰的な性質は、操作を容易にする。オブジェクトは、他のオブジ
ェクトから特性を継承することができ、既存のオブジェクトにもとづいて新しいオブジェ
クトを創出することを容易にする。オブジェクトは、そのオブジェクトのデータを操作す
るために、1組の手順(方法)と組み合わせることが可能である。
オブジェクトリレーショナルデータベースを創り出すために、リレーショナルデータベ
ースとオブジェクト指向データベースを結合して一体にする試みが行われてきた。たとえ
ば、表と項目をオブジェクトとして操作することを可能にするために、アメリカ規格協会
(ANSI:American National Standards Institute)SQL99は、従来のSQL問
合せ言語を拡張している。代表的なANSI−SQL99問い合わせは、以下のように表
現される。
Select arguments
From type var, ... type var
Where condition and condition .. .and condition
条件は、その方法の引数を変数に適用した方法である。"select"コマンドの引数は、変
数、変数の属性、あるいはその方法の引数を変数に適用した方法であってもよい。方法の
加算を使用することによって、SQL99の応用範囲は従来のSQLの応用範囲より広く
なる。
残念ながら、ANSI−SQL99には依然として深刻な限界がある。以下に詳細に述
べるように、ANSI−SQL99は「領域」型変数のみを可能にし、「セット」変数、
「バッグ」変数、あるいは一時変数は可能としない。変数の範囲は、その型(通常リレー
ショナルテーブルあるいはオブジェクトのクラスである)により決定され、オブジェクト
の任意のセットではあり得ない。さらに、SQL99での条件では、返却値あるいはパラ
メータとして作られたか否かにかかわらず、方法により作られた値が、他の条件で使用さ
れることを許可しない。さらに、条件により論理的な「真」値あるいは「偽」値を返さな
いことを許可しない。したがって、より一般的で強力なオブジェクトリレーショナル問い
合わせ言語を導入することが望ましい。
従来の関係代数にも、深刻な限界がある。関係代数では、表現されるのは、単層ファイ
ル、あるいは、その項目が整数、浮動小数点数およびテキスト文字列のような基本的な値
である1組のレコードのような関係である。さらに、「選択」演算子の条件は下記に制限
されている。
1.等しい、以上、以下、以上あるいは等しい、以下あるいは等しい、等しくない、の
ような2つの基本的な値の間の比較。
2.基本的な値と、「のメンバーである」、「のすべてのメンバーより大である」、「
のどのメンバーより大である」、その他、のような副問い合わせにより作られる基本的な
値と1組の基本的な値との間の比較。
3.「のスーパーセットである」あるいは「のサブセットである」のような副問い合わ
せにより作られる2組の基本的な値の間の比較。
4.「空のセットである」のような1組の基本的によるテスト結果。
さらに、方法が関係代数としての式であるとすることは通常許されていない。したがっ
て、より一般的でより強力なオブジェクト関係代数を導入することが望ましい。
従来のデータベースは、データベースの規則を実行するために、データの完全性拘束条
件およびイベントトリガーを使用している。しかし、これらの規則の範囲は、従来のデー
タベースで使用されている問合せ言語の範囲に制限されている。望ましいものは、規則を
指定するための強力で自由度の高い方法を可能にする知識システムである。
最後に、従来のリレーショナルデータベースあるいはオブジェクトリレーショナルデー
タベースにおいて、プログラミング能力に欠けるユーザーは、複雑なデータベース問い合
わせを作り上げることが通常不可能であり、データを検索し表示するためにはプログラマ
ーによって書かれたプログラムに頼らなければならない。したがって、ユーザーの選択範
囲は、しばしば非常に限定される。リレーショナルデータベース、オブジェクト指向デー
タベース、あるいは、オブジェクトリレーショナルデータベース上で実時間で動作するよ
うな自然言語型命令を、このようなユーザーが書くことを可能にすることが望ましい。
本発明を要約するために、本発明によるいくつかの態様、利点および新規な特徴を説明
する。このような態様、利点あるいは特徴のすべてを本発明による特定の実施態様で具体
化する必要がないことが理解されるべきである。
プログラミング能力に欠けるユーザーが構造化自然言語文の形式でデータベース問い合
わせを指定することを可能にするために、構造化自然言語問い合わせおよび知識システム
が提供される。ユーザーは構造化自然言語文の形式で規則を指定することもできる。さら
に、改良されたオブジェクトリレーショナル問い合わせ言語およびオブジェクト関係代数
が導入されている。好適実施例においては、オブジェクトリレーショナル問い合わせ言語
およびオブジェクト関係代数によって、構造化自然言語が定義される。
本発明による1つの態様は、構造化自然言語データベース問い合わせを作るコンピュー
タにより実行される方法に関する。ユーザーは、1組の定義されたコマンドの中からコマ
ンドを選択し、そのコマンドに対して1つまたは複数の引数を指定するように促される。
選択されたコマンドと引数は、動詞句を形成するように組み合わされる。さらにユーザー
は、1組の定義された条件から零、1つまたは複数の条件を選択し、選択された条件の各
々に対して零、1つまたは複数のパラメタを指定するように促される。選択された条件の
各々とその指定されたパラメタは、形容詞句に組み合わされる。動詞句と選択された形容
詞句は、構造化自然言語データベースの問い合わせ句として組み合わされる。
構造化自然言語問い合わせは、形式問い合わせプロセスモジュールにより実行される形
式問い合わせテキストに自動的に翻訳される。構造化自然言語問い合わせは、動詞句およ
び零、1つまたは複数の形容詞句を識別するために構文解析される。構文解析された動詞
句に対応する定義されたコマンド問い合わせテキストを発見し、構文解析された形容詞句
のそれぞれに対応する定義された条件問い合わせテキストを発見した後に、発見された問
い合わせテキストは問い合わせプロセスモジュールにより処理される翻訳された形式問い
合わせテキストに組み合わされる。
本発明による別の態様は、データベースに対するオブジェクトリレーショナル問い合わ
せを作るコンピュータにより実行される方法に関する。第1の変数は領域変数と定義する
ことが可能であり、第2の変数はセット変数と定義することが可能である。さらにコマン
ドおよび条件が定義される。定義されたコマンド、条件および変数は、オブジェクトリレ
ーショナル問い合わせを形成するために組み合わされる。さらに変数は、一時変数あるい
はバッグ変数と定義することが可能である。
本発明によるさらに別の態様は、代数式にもとづいてデータベースに対してオブジェク
トリレーショナル問い合わせを作るコンピュータにより実行される方法に関する。問い合
わせは、1つまたは複数の式にもとづいて作られる。式は1組のオブジェクトである。し
たがって、出力として1組のオブジェクトを返す一般的な方法が式である。条件にもとづ
いて1組のオブジェクトから部分集合を選択する選択演算子も、式である。一般的な方法
の引数は1組のオブジェクトであり得るから、他の式を作るために一般的な方法を入れ子
にすることができる。
本発明によるさらに別の態様は、リレーショナルデータベース、オブジェクトリレーシ
ョナルデータベース、あるいは、オブジェクト指向データベースシステムのための、改良
されたオブジェクトリレーショナル問い合わせ言語あるいはオブジェクト関係代数で表現
された問い合わせを処理するコンピュータにより実行される方法に関する。
本発明による別の態様は、構造化自然言語問い合わせ、構造化自然言語規則、あるいは
、問い合わせと規則の両方を、他の問い合わせあるいは規則に対するコマンドあるいは条
件として使用することが可能なマクロに分類する、コンピュータにより実行される方法に
関する。
本発明においては、より一般的で強力なオブジェクトリレーショナル問い合わせ言語が
導入されることとなり、また、より一般的でより強力なオブジェクト関係代数が導入され
ることとなる。さらに、プログラミング能力に欠けるユーザーであっても書くことを可能
にすることができる。
以下では、構造化自然言語問い合わせおよび知識システム、改良されたオブジェクトリ
レーショナル問い合わせ言語、ならびにさまざまな新規な特徴を具体化するオブジェクト
関係代数を説明している。認められるように、これらの特徴の多くは所与のシステムの中
で実現できる。たとえば、構造化自然言語問い合わせシステムは、従来のデータベースプ
ラットフォームと関連して実現することが可能であり、改良されたオブジェクトリレーシ
ョナル問い合わせ言語あるいはオブジェクト関係代数を使用して実現する必要はない。さ
らに、さまざまな新規な特徴は、本明細書に説明したものとは異なるように、実現するこ
とができる。したがって、以下の説明は、本発明の範囲を単に例示するためであり、本発
明の範囲を限定するものではないと意図されている。
A.構造化自然言語問い合わせおよび知識システム
図1は、構造化自然言語問い合わせおよび知識のシステム100の1実施例を示す。構
造化自然言語によるシステム100は、プログラミング能力がないユーザーが、実時間で
行われることが望ましいデータベースオペレーションを有するデータベース上で動作する
ための構造化自然言語問い合わせを作ることを可能にする。システム100は、リレーシ
ョナルデータベースをオブジェクトリレーショナルデータベースにユーザーが変換するこ
とも可能にする。構造化自然言語問い合わせは、動詞句をコマンドとして有してもよく、
零、1つまたは複数の形容詞句を条件として有してもよい。変数定義句も、構造化自然言
語問い合わせに含むことができる。本明細書において用語「問い合わせ」は、データを選
択し、あるいは表示するコマンドのみでなく、データを作り、更新し、あるいは削除する
コマンドを含むように、総括的に定義されている。システム100の1実施例は、Jav
aでプログラムされている。システム100は、C、C++、あるいは他の言語、オペレ
ーティングプラットフォームもしくはアプリケーションパッケージでもプログラムするこ
とができる。
図1に示すように、システム100は、動詞句定義モジュール110および、形容詞句
定義モジュール120を有する。動詞句定義モジュール110は、形式問い合わせテキス
トに対応するように、プログラマーが動詞句を定義することを可能にする。形容詞句定義
モジュール120は、形式問い合わせテキストに対応するように、プログラマーが形容詞
句を定義することを可能にする。形式問い合わせテキストは、方法、機能、サブルーチン
、手順、SQL問い合わせテキスト、あるいは以上の組み合わせであり得る。さらにシス
テム100は、ユーザーが定義された動詞句と形容詞句を使用して構造化自然言語問い合
わせを作ることを可能にする構造化自然言語作成モジュール130を有する。システム1
00は、構造化自然言語問い合わせを形式問い合わせテキストに翻訳するための翻訳モジ
ュール140、ならびに、基本データベース160から問い合わせ結果を返すための、翻
訳された形式問い合わせテキストを処理する形式問い合わせプロセスモジュール150を
さらに有する。基本データベースは商用データベースシステムであってよい。
システム100は、オプションのオブジェクトスキーマ定義モジュール101をさらに
有する。オブジェクトスキーマ定義モジュール101は、属性の数およびオブジェクトク
ラスのための各属性の型を含むオブジェクトクラスをユーザーあるいはプログラマーが定
義することを可能にする。システム100用の基本データベース160がリレーショナル
データベースであれば、オブジェクトスキーマ定義モジュール101は、ユーザーあるい
はプログラマーが、オブジェクトクラスをリレーショナルデータベース内の表と関連付け
ることを可能とし、したがって、ユーザーあるいはプログラマーが、リレーショナルデー
タベースの表の間のリレーションシップをオブジェクトに関して定義することを可能にす
る。
たとえば、プログラマーあるいはユーザーは、クラス「polygon(ポリゴン)」をリレ
ーショナルデータベースの中の表「POLYGON(ポリゴン)」と組み合わされていると定義
することができる。表「POLYGON」は「VERTICES(頂点)」列を含んでいる。クラス「pol
ygon」は、テキストストリング形式の「ID」属性と、「set of vertex(頂点のセット
)」形式の「vertices(頂点)」属性を使用して定義される。他のクラス「vertex(頂点
)」は、リレーショナルデータベースの中の表「VERTEX(頂点)」と組み合わされている
。クラス「vertex」は、テキストストリング形式の「name(名前)」属性と、ナンバー形
式の「x coordinate(x座標)」属性と、ナンバー形式の「y coordinate(y座標)」を
使用して定義される。したがって、オブジェクトスキーマ定義モジュール101は、「PO
LYGON」表の中の「VERTICES」列の各要素は「VERTEX」表の中の行の名前であるとのリレ
ーションシップを蓄積する。したがって、1群の「VERTEX」論理レコードおよび「POLYGO
N」論理レコードは、階層的に構造化された「polygon」オブジェクトクラスとして一緒に
処理することができる。次にプログラマーあるいはユーザーは、「polygon」オブジェク
トクラスに関連する動詞句および形容詞句を定義することができる。テーブルの間に構造
的なリレーションシップがなければ、次に、各リレーショナル論理レコードを階層的構造
がない「flat(平坦な)」オブジェクトとして、各表は独立のオブジェクトクラスとして
処理される。いずれにせよ、ユーザーは今までどおり構造化自然言語の動詞句と形容詞句
を定義することができる。
システム100のための基本データベースがオブジェクトリレーショナルデータベース
あるいはオブジェクト指向データベースであれば、オブジェクトスキーマ定義は基本デー
タベースから簡単にインポートすることができる。
構造化自然言語問い合わせに関して、例文は次の通りである。
「Create a group from range 1 whose name is "cc"(領域1から名前が"cc"であるグ
ループを作成) query A1 (問い合わせ Al)」
「Who are diagnosed to have disease "mild AD" and who respond to medication "a
ericept"(誰が疾患"mild AD"であると診断され、誰が"aericept"の薬物療法に反応した
のか)」
上記の問い合わせ例において、"create a group from range 1 whose name is 'cc'"
は問い合わせの動詞句であり、 "who are diagnosed to have disease 'mild AD'" は問
い合わせの形容詞句であり、 "who respond to medication 'aericept'" は問い合わせの
他の形容詞句である。動詞句の中で、 "create a group" はコマンドであり、 "from ran
ge 1" はコマンドの引数であり、 "whose name is 'cc'" はコマンドオペレーションの結
果名である。各形容詞句の中で、"who are diagnosed to have disease" および "who re
spond to medication" は条件であり、 "mild AD" および "aericept" は条件のパラメタ
である。
問い合わせおよび知識システム100は、構造化自然言語規則作成モジュール131、
規則翻訳モジュール141、および形式規則プロセスモジュール151をさらに有するこ
とができる。構造化自然言語規則作成モジュール131、規則翻訳141および形式規則
プロセス151は、規則に関連して以下に説明する。
図1において、モジュール101−151のそれぞれは、1つまたは複数の汎用コンピ
ュータにより実行されるソフトウェアを使用して実現されることが望ましい。一部のある
いはすべてのモジュールは、全体的にせよ部分的にせよ特定用途向けハードウェアで実現
することもできる。認められるように、モジュールは同一コンピュータ上で実行され、あ
るいは同一コンピュータ上に常駐する必要はない。たとえば、モジュール110−141
はユーザーコンピュータ上で動作するクライアント側コンポーネントの中に組み込むこと
が可能であり、形式問い合わせプロセスモジュール150および形式規則プロセスモジュ
ール151はデータベースにネットワークベースのアクセスを提供するリモートサーバ上
で実行することが可能である。さらに、翻訳モジュール140および規則翻訳モジュール
141は、ユーザーからネットワークを介して受信した自然言語問い合わせおよび規則を
翻訳するサーバ側コンポーネントとして実現することが可能である。システム100のモ
ジュールは、同一あるいは異なる計算言語、オペレーティングプラットフォームあるいは
アプリケーションパッケージで実現可能である。
図2は、動詞句を定義するためのコンピュータにより実行される処理の1実施例のフロ
ーチャートである。ステップ210において、システム100はプログラマーにコマンド
名を定義するよう促す。コマンド名は、"create a group(グループを作成)"、"combine
two groups(2つのグループを組み合わせる)"、"find similar genes from two group
s(2つのグループから共通の因子を見つける)"、"show elements of a group(グルー
プの構成要素を示す)"、"store(格納)"およびその他のようなテキストストリングであ
る。コマンドは、自然言語句に現れるものを使用して定義されることが望ましく、したが
って、プログラミング能力がないユーザーにとっても理解が容易である。
ステップ220において、プログラマーはコマンドに対する引数の数を定義するよう促
される。たとえば、"create a group" コマンドは通常1つの引数を有し、 "find simila
r genes from two groups" コマンドは通常2つの引数を有する。さらにプログラマーは
、各引数に対して選択範囲を定義してもよい。たとえば、患者名に対する1つの引数はユ
ーザーにより入力された任意のテキストストリングであり得るし、公認保険会社の名前に
対する他の引数は値の所定のリストからの値でなければならない。ステップ230におい
て、プログラマーはコマンドの引数の各データ型を定義するよう促される。データ型は、
整数、浮動小数点、日付あるいはテキストストリング、あるいはユーザーあるいはプログ
ラマーにより定義された他のデータ型のような基本的なデータ型とすることが可能である
。新しいデータ型は、所与のデータ型の1組のオブジェクトとして定義することができる
。たとえば、定義されたデータ型「vertex」を与えると、「Vertex Set(頂点セット)」
データ型の各オブジェクトが1組の頂点であるように、新しいデータ型「Vertex Set」は
定義することができる。処理はステップ230からステップ240へ進み、プログラマー
は定義された動詞句に対応するように形式問い合わせテキストを作るよう促される。
用語「formal query text(形式問い合わせテキスト)」は、問合せ言語の形式内のテ
キスト、ならびに、方法、機能、手順あるいはサブルーチンのようなコンピュータコード
のコレクションの名前、あるいはマクロの名前を含めて本明細書において広く使用される
。たとえば、条件 "(a gene) is similar to (another gene)" に対して、方法、機能、
手順あるいはサブルーチンは "Var 0.similar(Var 1)" であって良く、 "Var0" および "
Var1" は、それぞれ条件の2つのパラメタを表している。他の例として、コマンド "find
similar genes from two groups" に対して、方法、機能、手順あるいはサブルーチンは
"find#similar#genes(argument 1, argument 2)" であって良く、 "argument 1" および
"argument 2" はそれぞれコマンドの2つの引数を表している。コンピュータコードのコ
レクションは、システムライブラリ(図示せず)に蓄積される。次に述べるように、マク
ロは、1群の問い合わせ、1群の規則、あるいは、1群の1つまたは複数の問い合わせお
よび1つまたは複数の規則に対する論理単位である。
図2に示す処理は、他の順序で実現することができる。たとえば、1つの実施例におい
ては、プログラマーは、定義されるべき動詞句に対する形式問い合わせテキストを作るよ
うに最初に促される。システム100は、形式問い合わせテキストを構文解析し、動詞句
と引数のそれぞれのデータ型に対する引数の数を決定する。次にプログラマーは、動詞句
に対してコマンド名を定義するよう促される。
図3は、コンピュータにより実行される条件を定義する処理の1実施例のフローチャー
トである。ステップ310において、システム100はプログラマーに条件名を定義する
よう促す。実施例の条件名には、"who are diagnosed with disease" と "who respond t
o medication" を含んでいる。処理は次にステップ320へ進み、プログラマーは条件に
対するパラメタの数を定義するように促される。ステップ330において、プログラマー
は、テキスト、整数、およびその他のパラメタのそれぞれのデータ型を定義するよう促さ
れる。パラメタが入力パラメタかあるいは出力パラメタかを指定するように、プログラマ
ーに促すことも可能である。ステップ340において、たとえば、テキストを問合せ言語
で入力して、マクロ名を指定して、あるいは、方法名、機能名、手順名あるいはサブルー
チン名のようなコンピュータコードコレクションの名前を指定して、定義された条件に対
応するように形式問い合わせテキストを作るよう、プログラマーは促される。コンピュー
タコードコレクションは、システムライブラリに蓄積される。
たとえば、条件 "who are diagnosed with disease" に対しては、実施例の形式問い合
わせテキストは、 "<argument 1>.diagnosed(<parameter>)" または "<argument 1>.diag
nosed = <parameter>" でよい。この例においては、"<argument 1>" は関連する動詞句の
コマンド引数を表し、"<parameter>" はユーザーにより入力されるべき条件パラメタ値を
表す。
図3に示す処理は、他の順序でも実現できる。たとえば、1つの実施例においては、定
義されるべき条件に対する形式問い合わせテキストを作るように、プログラマーは最初に
促される。次にシステム100は、形式問い合わせテキストを構文解析し、パラメタのそ
れぞれの条件とデータ型に対するパラメタの数を決定する。次にプログラマーは、条件名
を定義するよう促される。
動詞句および形容詞句は、複雑な問い合わせに対応するように定義することができる。
たとえば、条件 "who are diagnosed with all diseases(誰が全ての病気について診断
されたか?)" は、病気のリストを可能にするセットパラメタを含むように、定義するこ
とができる。この条件を含む問い合わせは、リストされた病気のすべてを有すると診断さ
れた患者を発見する。他の条件 "who are diagnosed with at least one of the disease
s(誰が少なくとも1つの病気について診断されたか)" は、病気のリストを可能にするセ
ットパラメタを含むように定義することが可能である。この条件を含む問い合わせは、リ
ストされた病気の少なくとも1つを有すると診断された患者を発見する。他の構成では、
条件 "who are diagnosed with disease(誰が診断されたか)" のみが定義され、病名の
1つのみのエントリを可能にするパラメタを含んでいる。病気Aおよび病気Bの両方を有
する患者を発見することをユーザーが望むならば、ユーザーは、2つのそのような形容詞
句 "who are diagnosed with disease A(誰がAと診断されたか)" および "who are dia
gnosed with disease B(誰がBと診断されたか)"を組み合わせる。
動詞句および形容詞句は、ある程度交換可能に定義され、使用されることができること
に注目すべきである。たとえば、より明確な動詞句 "find patients who are diagnosed
with disease(診断された患者を見つける)" は、より一般的な動詞句 "find patients
(患者を見つける)" と形容詞句 "who are diagnosed with disease"の組み合わせと同
じ目的に役立つ。ユーザーによって問い合わせが頻繁に呼び出されれば、付加的な形容詞
句を必要としない動詞句として、問い合わせを定義することが望ましいことがある。明確
で一般的な動詞句を定義し、明確な動詞句あるいは形容詞句と組み合わされた一般的な動
詞句のいずかの使用をユーザーに可能にすることも可能である。
1つの実施例においては、構造化自然言語問い合わせは、"which patients are diagno
sed with disease 'mild AD' and who respond to medication 'aericept' ?(どちらの
患者が'mild AD'と診断され、'aericept'の薬物療法に反応したのか?)" のような問い
合わせの形式で作ることが可能である。これは、問い合わせ "display patients who are
diagnosed with disease 'mild AD' and who respond to medication 'aericept'('mil
d AD'と診断された患者と、aericept'を投薬した者を表示せよ)"と等価である。質問形
式での問い合わせにおいて、"which patients" あるいは "which patients are" の部分
は、動詞句として作用する。
構造化自然言語問い合わせは、変数定義句を含んでもよい。たとえば、以下の章Bにお
いて次に述べるように、改良されたオブジェクトリレーショナル問い合わせ言語がシステ
ム100と連係して使用されるならば、変数定義句の例は "range of <Variable> is pol
ygon : abc" でよい。これは、そのエレメントが型 "polygon" にバインドされた "abc"
と命名されたオブジェクトのコレクションから <Variable> の値が得られることを意味す
る。変数定義句は、1つまたは複数の変数定義を有することができる。
プログラマーではないユーザーは動詞句および条件も定義してよいが、定義された動詞
句あるいは条件に対応する形式問い合わせテキストを作るためには、何らかのプログラミ
ング能力が必要であるから、用語「プログラマー」は図2および図3に関連して使用され
ている。
図4は、コンピュータにより実行される構造化自然言語問い合わせを作る処理の1実施
例の動作を示すフローチャートである。好適実施例において、章Bで説明される改良され
たオブジェクトリレーショナル問い合わせ言語を使用して、問い合わせは作られる。ステ
ップ410において、変数がユーザーにより定義されるか否かを処理は決定する。変数が
定義されるべきであれば、処理はステップ420に進み、処理はユーザーに変数定義句を
指定するよう促す。この後、ステップ430にてさらに変数がユーザーにより定義される
か否かが確認され、定義される場合にはステップ420に戻り、定義されない場合には。
次のステップへと進む。
さらに、変数定義句、コマンドおよび条件は、何らかの特定の順序で指定される必要がな
いことが、理解されるべきである。言い換えれば、コマンドが指定される前に変数定義句
が指定される必要はなく、条件が指定される前にコマンドが指定される必要はない。
図5は、ユーザーあるいはプログラマーに変数定義句を指定するよう促す画面例を示す
。図5に示すように、以下の章Bで説明する改良されたオブジェクトリレーショナル問い
合わせ言語による実施例において、ユーザーあるいはプログラマーは「Object Name(オ
ブジェクト名)」欄510内にオブジェクト名を作るように促される。さらにユーザーあ
るいはプログラマーは、「Type(型)」欄520内で「range(領域)」、「temp(一時
)」、「set(セット)」および「bag(バッグ)」のような型のリストから選択すること
により、作られたオブジェクトの変数の型を識別するように促される。ユーザーあるいは
プログラマーは、選択されたオブジェクトのデータ型を継承するために、「Objects List
s(オブジェクトリスト)」欄530からオブジェクトを選択することにより、あるいは
、基本的なデータ型の「Primitive Lists(プリミティブリスト)」欄540から選択す
ることにより、作られたオブジェクトのデータ型を識別するように、さらに促される。ユ
ーザーあるいはプログラマーは、作られたオブジェクトに対するデータソースエレメント
を「Data Source Element(データソースエレメント)」欄550内で指定するよう促さ
れる。データソースエレメントは、同じ型の1組のオブジェクトである。
章Cのオブジェクト関係代数が使用される他の実施例においては、ステップ410-4
30は省略され、ユーザーは変数を定義するように促されない。変数はプログラマーによ
り予め定義され、ユーザーはステップ440に直接進む。両方のオプションを示すために
、変数定義を表示しない画面例として図6および図8を示し、変数定義を表示する画面例
として図7および図9を示す。
変数定義句は、選択されたコマンドおよび条件にもとづいて自動的に生成することもで
きる。2つのオブジェクトクラス"polygon"および"vertex"を有する以下の章Bで説明す
る例において、条件"contains"(包含)は入力として2つのポリゴンを必要とし、第1の
ポリゴンが第2のポリゴンを包含していれば真値を返す。システム100は、「包含」条
件がポリゴンクラスの2つの入力パラメタを必要とするとの仕様を蓄積している。条件「
包含」がユーザーにより選択されると、2つの入力パラメタをポリゴンクラスの領域変数
と定義するために、システム100は自動的に変数定義句を生成する。他の実施例におい
ては、条件"intersection"(交差)は、ポリゴンクラスの2つの入力パラメタと、2つの
入力ポリゴンの"intersection polygon"(交差ポリゴン)としての出力パラメタを必要と
する。「交差」条件は、「真」論理値を返す。システム100は、「交差」条件が、ポリ
ゴンクラスの2つの入力パラメタとポリゴンクラスの出力パラメタを必要とするという仕
様を蓄積している。ユーザーが「交差」条件を選択すると、システム100は、2つの入
力パラメタと出力パラメタを定義するために、自動的に変数定義句を生成する。2つの入
力パラメタは領域変数として定義されることが望ましく、出力パラメタは一時変数として
定義されることが望ましい。出力パラメタが他の条件の入力パラメタとして使用されるな
らば、他の条件の入力パラメタは再び定義される必要はない。
ステップ440において、ユーザーは定義されたコマンドのリストからコマンドを選択
するよう促される。1つの実施例においては、ユーザーは、変数定義句で定義されたオブ
ジェクトに適用できる定義されたコマンドのリストから選択するように促される。たとえ
ば、変数定義句が変数"polygon"を定義すれば、ユーザーは、"enlarge"(拡大)、"reduc
e"(縮小)、"rotate"(回転)、"measure area"(領域測定)、その他のような"polygon
"変数に適用可能なコマンドから選択することができる。図6および図7は、コマンドの
リスト610からコマンドを選択するようにユーザーに促すユーザーインタフェイス画面
の例である。図6と比較して、図7は定義された変数を表示する付加的な欄620を有し
ている。定義された変数は、文章欄630にも表示される。
戻って図4を参照すると、ステップ440から、処理はステップ450に進み、ユーザ
ーは選択されたコマンドに対して1つまたは複数の引数を選択するように促される。ステ
ップ460において、章Cのオブジェクト関係代数を使用することが望ましい1つの実施
例においては、ユーザーは選択されたコマンドの結果名を任意選択で指定するよう促され
る。コマンド、引数およびオプションの結果名が動詞句を形成する。図8は、ユーザーに
、コマンド引数を選択し、任意選択で結果に名前をつけるように促す画面例である。コマ
ンドに対する定義された引数の数と型によって、ユーザーは1つまたは複数の引数を識別
するよう促される場合がある。図8に示すように、以下の章Cで説明するオブジェクト関
係代数による1つの実施例においては、コマンド"create a group"(グループを作れ)に
対して、ユーザーは、欄710からデータ型を選択し、欄720からデータソースエレメ
ントを選択し、欄730でコマンドの結果に任意選択で名前をつけるように促される。
戻って図4を参照すると、ステップ470にてユーザーが条件の選択を希望するかが確
認され、ユーザーが条件の選択を希望すれば、処理はステップ470からステップ480
へ進み、ステップ480において、ユーザーは定義された条件のリストから条件を選択す
るように促される。1つの実施例においては、ユーザーは、変数定義句で定義されたオブ
ジェクトに適用できる定義された条件のリストから選択するように促される。たとえば、
変数"polygon"に対して、"contains(包含)、"intersect"(交差)、"is a square"(正
方形である)のような条件は、"polygon"変数に適用できる。図9は、ユーザーに条件の
リストから選択するように促す画面例である。定義された動詞句は、欄810に表示され
、文章欄830内の構造化自然言語文の一部として表示される。ユーザーは、欄820内
の条件のリストから条件を選択する。図10は、ユーザーに条件のリストから選択するよ
うに促す他の画面例である。図9と比較して、図10は、定義された変数を表示する付加
的な欄840を有している。定義された変数定義句と動詞句は、文章欄830内に文の一
部として表示される。
戻って図4を参照すると、ステップ490において、ユーザーは選択された条件のパラ
メタを指定するように促される。1つの実施例においては、パラメタ数の異なる同じ条件
名を共有するために、複数の条件が許容される。図11は、ユーザーに選択された条件に
対するパラメタを指定するように促す画面例である。図11に示すように、条件 "Who ar
e diagnosed to have"(誰が診断されたか)対して、ユーザーは、欄910に病気名を入
力することができ、あるいは、欄920内の病名のリストから選択することができる。選
択された条件およびパラメタは、形容詞句を形成する。1つの実施例においては、作成モ
ジュール130は、コマンド引数、命名された結果、および条件パラメタの指定された値
の周囲に引用符を自動的に付ける。条件が1つまたは複数の出力パラメタを有するならば
、付加的な条件の入力パラメタとして元の条件の出力パラメタを定義することにより、ユ
ーザーは付加的な条件を指定することもできる。したがって、付加的な条件は、元の条件
により作られた出力にもとづいて条件を評価する。
戻って図4を参照すると、ステップ495において、ユーザーはさらに多くの条件が入
力されるかどうかを示すように促される。さらに多くの条件が入力されならば、処理はス
テップ480に戻る。他の場合には、処理は終了ステップ498に進む。他の形容詞句を
指定するために処理がステップ480に戻るならば、2つの形容詞句を結合するために、
ユーザーは、"and"、"or" あるいは "and not" のような論理結合子を指定するようにさ
らに促される。
上述のように、図5−11は、定義されたコマンドと条件のリストから選択するように
ユーザーに促す1実施例の画面例である。ユーザーは、図6あるいは図7においてコマン
ドを選択し、図8においてコマンドに対して引数を選択し、図9あるいは図10において
条件を選択し、図11において条件に対してパラメタを指定する。1つの実施例において
は、ユーザーあるいはプログラマーは、図5の変数も定義する。
指定された動詞句および形容詞句は、作成された構造化自然言語問い合わせを形成する
。図12は、欄1020内の動詞句と欄1030内の形容詞句を含んで欄1040内に作
成された構造化自然言語問い合わせ文を示す画面例である。図12において、問い合わせ
は、命令文の好ましい形式(preferred form)で表示される。問い合わせは、図12の欄
1010および1040に示す "range of range 1 is Case : Case" のような変数定義
句も含むことが可能である。図12の文章欄1110に示すように、システム100に構
造化自然言語問い合わせを直接入力するオプションをユーザーに与えることも可能である
。経験豊かなユーザーは、このオプションを好む場合もある。ユーザーは直接入力とスク
リーン選択の組み合わせを使用することもできる。たとえば、ユーザーが精通している条
件あるいはコマンドを入力し、他の条件あるいはコマンドをメニューから選択することが
できる。作成された問い合わせは、次に翻訳のために翻訳モジュール140に送られる。
翻訳モジュール140は、動詞句、形容詞句およびオプションの変数定義句を識別する
ために、作成された問い合わせを構文解析する。好適実施例において、翻訳モジュール1
40は、定義された動詞句あるいは定義された形容詞句を示すキーワードを探す。たとえ
ば、すべての条件が単語"who"あるいは"whose"から始まる1つの実施例においては、翻訳
モジュール140は、単語"who"および"whose"を検索し、そのような単語のすべてを形容
詞句の始めの信号として識別する。しかし、単語"who"あるいは"whose"が作成された問い
合わせ内で引用符で囲まれていれば、それは、条件の始めではなく、引数、命名された結
果、あるいはパラメタ値を表すと考えられる。さらに翻訳モジュール140は、論理結合
子"and"、"or"、"or not"および"and not"を検索する。論理結合子は、1つの形容詞句の
終わりと他の形容詞句の始まりを示す。条件ラベルと論理結合子の検索により、モジュー
ル140は、形容詞句を、問い合わせの他の部分から分離し、また他の形容詞句から分離
して、識別することができる。
さらに翻訳モジュール140は、条件を識別するために、定義された条件のキーワード
を検索する。たとえば、翻訳モジュール140は、条件"who are diagnosed with the di
sease"あるいは"who respond to medication"を識別するものとして、"diagnosed"あるい
は"respond"のようなキーワードを検索する。
さらに翻訳モジュール140は、コマンドを識別するために、定義されたコマンドのキ
ーワードを検索する。たとえば、対応するコマンドを識別するために、モジュール140
は、"create a group"あるいは"add elements to a group"のようなキーワードを検索す
る。さらにモジュール140は、コマンド引数の信号としてキーワード"from"を検索する
ことができ、命名された結果の信号としてキーワード"whose name is"を検索することが
できる。
コマンドおよび条件がユーザーにより入力されなくて、定義されたコマンドと条件のリ
ストから選択されれば、構文解析処理は単純にすることが可能である。システム100は
定義されたコマンドと条件のそれぞれを対応する形式問い合わせテキストと関連付けるの
で、対応する形式問い合わせテキストはユーザーがコマンドあるいは条件を選択すると同
時に蓄積することが可能である。蓄積された対応する形式問い合わせテキスト(あるいは
それらの識別子)は、翻訳モジュール140によって組み合わされ、翻訳された形式問い
合わせテキストを形成する。他方、リストから選択する代わりにユーザーが構造化自然言
語問い合わせをタイプ入力すれば、構文解析処理は最初に動詞句と形容詞句を識別し、次
に動詞句と形容詞句の対応する形式問い合わせテキストを組み合わせる。
好適実施例において、翻訳モジュール140は問い合わせの中のエラーを検出し、自動
的にエラーを修正するか、あるいはエラーの訂正を示唆する。問い合わせエラーには、綴
り間違いのある単語(たとえば"diagnoised"と綴りを間違えた"diagnosed")、脱落した
単語(たとえば、"who respond to"と入力された"who respond to medication")、不適
切な配列(たとえば動詞句の前にある形容詞句)、あるいはその他の文法エラーを含むこ
とが可能である。翻訳モジュール140はこれらのエラーを修正し、正しい問い合わせに
問い合わせを変換する。1つの構成では、翻訳モジュール140は、検出されたエラーお
よび示唆した訂正された問い合わせをユーザーに返し、訂正された問い合わせがユーザー
が作ろうと意図したものであることを確認するようにユーザーに尋ねる。
翻訳モジュール140は、構造化自然言語問い合わせの動詞句と形容詞句の対応する形
式問い合わせテキストを組み合わせ、翻訳された形式問い合わせテキストを形成する。ユ
ーザーにより指定されたコマンド引数値および条件パラメタ値は、翻訳された形式問い合
わせテキストに組み込まれる。形式問い合わせプロセスモジュール150は、翻訳された
形式問い合わせテキストを受取り、基本データベース上のテキストを処理し、結果を作る
基本データベース160は、リレーショナルデータベース、オブジェクト指向データベ
ース、あるいはオブジェクトリレーショナルデータベースでもよい。リレーショナル基本
データベースに対しては、翻訳された問い合わせテキストが既に1つまたは複数のSQL
問い合わせの形式であれば、形式問い合わせプロセスモジュール150は基本リレーショ
ナルデータベース上でSQL問い合わせを直接に実行する。翻訳された問い合わせテキス
トがSQL問い合わせ形式でなければ、形式問い合わせプロセスモジュール150は、翻
訳された問い合わせテキストを1つまたは複数の変換されたSQL問い合わせに変換し、
変換された問い合わせを基本リレーショナルデータベース上で実行する。同様に、オブジ
ェクト基本データベース、あるいはオブジェクトリレーショナル基本データベースに対し
ては、問い合わせプロセスモジュール150は、翻訳された問い合わせテキストを直接実
行するか、あるいは翻訳された問い合わせテキストを基本データベース上で直接実行可能
な1つまたは複数の変換された問い合わせに変換する。
問い合わせプロセスモジュール150が、翻訳された問い合わせテキストを直接実行す
ることができず、翻訳された問い合わせコンテキストを変換することができなくても、問
い合わせプロセスモジュール150は翻訳された問い合わせテキストを処理し、基本デー
タベース160から問い合わせ結果を返す。たとえば、リレーショナル基本データベース
を有する1つの実施例においては、章Bで説明する改良されたオブジェクトリレーショナ
ル問い合わせ言語を使用して、5つのポリゴンオブジェクトの第1のデータソースエレメ
ントからの領域変数として、第1の変数"t"が定義される。第2の変数"s"は、3つのポリ
ゴンオブジェクトの第2のデータソースエレメントからの領域変数として定義される。条
件"where t and s intersect,"に対しては、翻訳された問い合わせテキスト"t.intersect
(s)"は、リレーショナル基本データベース上で直接実行することはできない。問い合わせ
プロセスモジュール150は、条件が真であるか否かを判定するために、2つのデータソ
ースエレメントのポリゴンオブジェクトの15の組み合わせを列挙する。すべての実現可
能な組み合わせの腕力評価に加えて、最適化方法、たとえば、条件内の条件の順序の配置
替え、を使用することもできる。
1つの推奨実施例において、構造化自然言語システム100は、章Bで説明される改良
されたオブジェクトリレーショナル問い合わせ言語と連係して働く。たとえば、ユーザー
は、章Bで説明される改良された問合せ言語による領域変数として領域1を定義するため
に、図10の変数定義句"range of range 1 is case:case"を作る。"case:case"の中の第
1の"case"はデータ型を表し、第2の"case"はデータソースエレメントを表す。あるいは
、システム100は、データ型のリスト、データソースエレメントのリストから、領域変
数、一時変数、セット変数、あるいはバッグ変数として選択することにより、変数を定義
するようにユーザーを促す。しかし、構造化自然言語システム100は、従来のリレーシ
ョナルデータベース、オブジェクト指向データベースおよびオブジェクトリレーショナル
データベースを使用して、機能を発揮することもできる。改良されたオブジェクトリレー
ショナル問い合わせ言語あるいはオブジェクト関係代数は、許容される問い合わせの範囲
を拡大するが、構造化自然言語システム100にとって必要条件ではない。
規則も構造化自然言語形式で作成でき、データの完全性と他の目的のためにシステム1
00内で使用される。たとえば、規則は、"On <event> If <qualification> then <comma
nd>"、"On <event> If <qualification> then <command> otherwise <command 2>"、ある
いは、"On <event> If <qualification> then <qualification 2>"の形式で示すことが可
能である。例としてコンピュータシステムを医学用に使用すると、システムに入力される
患者の年齢は零より大であること、患者がペニシリンに対してアレルギー体質であること
が判っていればペニシリンは投与されないこと、否定的な相互作用の2つの型の薬物療法
は同じ患者には投与されないこと、その他を保証するために、規則を使用することが可能
である。規則の範囲は、1つのオブジェクトに適用するように、クラスのすべてのオブジ
ェクト、あるいはすべてのオブジェクトに適用するように定義することができる。1つの
実施例においては、構造化自然言語システム100は、規則の条件とコマンドを指定する
ことにより、ユーザーが規則を定義することを可能にする。イベントが発生した場合(た
とえば、患者の体温が変化したとき)、条件が満たされていれば(たとえば、患者の体温
が華氏102度を超えている)、規則にしたがってコマンド(たとえば、看護婦あるいは
医師に警告を送る)が始動される。いくつかの実施例においては、イベントおよび条件は
交換可能に使用することができる。
構造化自然言語問い合わせおよび構造化自然言語規則は、異なるコンテキストで通常使
用される。たとえば、システム100は、規則の条件およびオプショナルイベントを常に
モニタし、条件およびオプショナルイベントが満たされる(meet)場合に、規則のコマン
ドを実行する。他方、問い合わせはユーザーコマンドにもとづいて通常実行される。さら
に、規則は、"if qualification. . . then command [else command 2]"の形式、あるい
は"if qualification 1 then qualification 2"形式で通常表示されるが、問い合わせは"
command [qualification]"形式で通常表示される。しかし、構造化自然言語規則および構
造化自然言語問い合わせは通常それぞれコマンドと条件を含むので、したがって、規則と
問い合わせを交換可能に使用することが可能である。1つの実施例においては、ユーザー
は、定義された問い合わせを規則として選択し、あるいは定義された規則を問い合わせと
して選択することができる。
図14は、構造化自然言語文の形式で規則を表示する画面例を示す。規則は、オプショ
ンの変数定義句、動詞句(コマンド)および1つまたは複数の形容詞句(条件)を有する
。規則は、1つまたは複数のイベント句をさらに有してもよい。規則は、条件が偽である
場合の動作に対応する第2の動詞句を有することができる。図14において、欄1220
は、条件"any of Patient.Current Visit treatments interact"を表示し、欄1230は
、コマンド"display message string 'treatment check: interact'"を表示している。欄
1210は、規則に対応する形式問い合わせテキストを表示している。条件およびコマン
ドは、たとえば図6ないし図11の画面を使用して、ユーザーにより指定することができ
る。
1組の規則は、「マクロ」という名前の論理単位にまとめることができる。ユーザーあ
るいはプログラマーは、他の規則を呼び出すために、"goto"ステートメントに続くラベル
を使用するために、マクロ内の規則の間のリレーションシップを指定することができる。
ラベルは、呼び出される他の規則を識別する。たとえば、ローンの申込を承認あるいは拒
否するためのマクロは、次の規則を含むことができる。
if house-or-rent = "house" then goto (rule-house); else goto (rule-rent);
rule-house: if house-value > 500,000 and income > 40,000 then return(true); el
se goto (rule-house 2);
rule-house 2: if house-value > 5,000,000 then return (true); else return (fals
e).
rule-rent: if income > 60,000 then return (true); else return (false).
上記の例で、"goto(rule-house)"は、ラベル"rule-house"により識別された他の規則を
評価することを表す。"Return(true)"は、ローン申込を承認する決定を返すことを表す。
"true"あるいは"false"論理値を返す代わりに、規則は、オブジェクトあるいはデータソ
ースエレメント(DSE)を出力として返すこともできる。
現実のアプリケーションでは、規則は上記の例よりもはるかに複雑な可能性がある。マ
クロおよび"goto"ステートメントは、ユーザーあるいはプログラマーが、規則の間のリレ
ーションシップを指定することを可能にする。ユーザーあるいはプログラマーは、マクロ
にマクロ名を付けるように促される。さらに、規則あるいはマクロは、問い合わせあるい
は他の規則の中で、条件あるいはコマンドとして使用することができる。
複数の問い合わせ、あるいは1つまたは複数の規則と1つまたは複数の問い合わせの組
み合わせも、マクロにまとめることができる。問い合わせはラベルにより識別可能であり
、"goto"ステートメントに続くラベルは他の問い合わせあるいは規則を呼び出すために使
用することができる。マクロは、オブジェクトあるいはオブジェクトのクラスと組み合わ
せることができる。
構造化自然言語問い合わせを作る方法と同様に、ユーザーは構造化自然言語形式で規則
を作成することができる。問い合わせ文と同様に、規則文は、規則の条件を指定するため
の1つまたは複数の形容詞句を有し、また条件が真である場合に行われる動作を指定する
ための動詞句を有する。規則文は、条件が偽である場合に行われる動作に対応する第2の
動詞句を有することができる。規則文は、さらに、イベントにそれぞれ対応する1つまた
は複数のオプショナルイベント句を有することができる。
図1において、規則作成モジュール131は、1つまたは複数の形容詞句を条件として
、1つあるいは2つの動詞句をコマンドとして、ならびにオプションの形容詞句をイベン
トとして、選択することにより、規則を作成するようにユーザーを促す。ユーザーは、規
則および/または問い合わせのマクロを指定することも可能であり、また、マクロの中の
規則および/または問い合わせの間のリレーションシップを指定することもできる。規則
翻訳モジュール141は、規則を形式問い合わせテキストに翻訳する。1つの実施例にお
いては、規則翻訳モジュール141は、規則を機能、Java、C、C++、その他のようなシス
テム100のホストプログラム言語での手順あるいはサブルーチンに直接翻訳することも
可能である。規則プロセスモジュール151は、条件を評価し、続いて条件に対応するコ
マンドを実行する。さらに、モジュール151は、規則のオプショナルイベントの発生を
監視する。
B.改良されたオブジェクトリレーショナル問い合わせ言語
問い合わせ、あるいは、改良されたオブジェクトリレーショナル問い合わせ言語による
規則は、以下の形式で表現することができる。
Variable specifier
...
variable specifier
command
[where qualification]
変数指定子で定義された変数のそれぞれ可能性のある値に対して、その値が条件を満足
させれば、コマンドが実行される。ブラケット"[ ]"は、条件がオプションであることを
示す。条件は、1つまたは複数の条件(方法あるいはマクロにより表される各条件)と条
件のパラメタを有する。コマンドは、方法あるいはマクロおよびコマンドの引数を有する
。引数は、定数あるいは変数であり得る。ブールの真値あるいは偽値を返す方法は、論理
的方法である。ブールの真値あるいは偽値を返すマクロは、論理的マクロである。他の状
況では、方法/マクロは一般的な方法あるいは一般的なマクロと呼ばれる。方法あるいは
マクロは、1つまたは複数の入力パラメタあるいは出力パラメタを有することができる。
一般的な方法/マクロが条件として使用されれば、方法/マクロにより返される値にかか
わらず、ひとたび実行されれば条件は真であると考えられる。最も単純な場合には、条件
はパラメタを有する1つの方法あるいはマクロから成り、条件は次のように再帰的に作る
ことができる。
αおよびβが条件の一つであれば、(αおよびβ)は条件である。
αまたはβが条件の一つであれば、(αまたはβ)は条件である。
αが条件であれば、(αでない)は条件である。
変数指定子は、次の形式の1つで宣言することができる。
(a) Range of <variable-id> is <data-type> : <DSE>
(b) Temp of <variable-id> is <data-type>
(c) Set of <variable-id> is <data-type> : <DSE>
(d) Bag of <variable-id> is <data-type> : <DSE>
(e) Set Temp of <variable-id> is <data-type>
(f) Bag Temp of <variable-id> is <data-type>
上記の形式の"data-type(データ−型)"は、整数、浮動小数点、論理名、テキスト、
日付、および、使用者が定義するデータフォーマットのようなデータ値のフォーマットを
表す。上記の形式の"DSE"は、データソースエレメントを表す。データソースエレメント
は、使用者が定義するオブジェクトの親子集合(set)、表、クラス、1組のデータ行を
含むスプレッドシートファイル、その値が親子集合であるオブジェクトの属性、1組のオ
ブジェクトを返す方法、上記の形式(c)に示す親子集合変数、上記の形式(d)に示す
バッグ変数、以前の問い合わせの結果、以下の章Cで詳細に説明するオブジェクトリレー
ショナル式、および同等物、とすることができる。
さらに、DSEは、ツリー構造のような1組の構造化されたデータ、有向の非同期グラ
フ(DAG)、あるいは拡張マークアップ言語(XML)ドキュメントのような半構造化
データセットとすることができる。データ型は、多種多様な方法でDSEにバインドする
ことができる。DSEの部分集合は、データ型にバインドする別のDSEとして形成する
ことができる。たとえば、"Person"および"Organization"と呼ばれる2つの部分集合(ノ
ード)を有するツリー構造のDSE、"T"を仮定する。バインディング"Person:T"は、"T"
の"Person node"のコレクションを新しいDSEと定義することができる。データ型は、
タグの使用によって、XMLドキュメントにバインドすることも可能である。たとえば、
クラスA(a:integer, b:string)を下記のXMLドキュメントにバインドすれば、その値
が(10, "America)であるタイプAのオブジェクトA1を有するDSEに帰着する。オブジ
ェクトA1はaとbの属性から推測できるから、タグ<A1>および</A1>は無視することが
できる。
<ROOT>:
<A>
<A1>
<a> 10 </a>
<b> America </b>
</A1>
</A>
</ROOT>
さらに、データソースエレメントは、1つまたは複数の前の問い合わせからの結果を含
むように動的に生成することができる。上の形式(a)で定義された変数は、領域変数で
ある。形式(b)で定義された変数は、一時変数である。形式(c)で定義された変数は
、セット変数である。形式(d)で定義された変数は、バッグ変数である。形式(e)で
定義された変数は、一時セット変数である。上の形式(f)で定義された変数は、一時バ
ッグ変数である。
領域変数は、関連するDSEから可能性のある値を得る。1組のバッグ変数の値は、関
連するDSEによって識別されるセットである。{1,2,3,4}のような個別の値の
みを含むセットと異なり、バッグは{1,2,3,4,1,3}のような重複値を含むこ
とができる。セット変数およびバッグ変数は、領域変数あるいは一時変数のドメインを構
築するために使用することができる。セット変数およびバッグ変数は、引数としてセット
あるいはバッグを必要とする方法の引数を形成するためにオブジェクトを集合するのに使
用することもできる。一時変数は、一般的な方法の出力パラメタとして通常使用される。
一時変数の値は、問い合わせに対して対応する方法あるいはマクロが評価されるときに計
算される。一時セット変数あるいはバッグ変数の値は、関連するDSEにより識別され、
問い合わせに対して対応する方法あるいはマクロが評価される時に計算されるセットであ
る。
上記の形式は、改良されたオブジェクトリレーショナル問い合わせ言語の望ましい構文
法を示す。他の構文法形式は、本発明の技術思想と領域から逸脱することなく使用できる
。たとえば、他の構文法形式において、変数は下記の形式を使用すると宣言される。
<variable-id>datatyp:<data-type>,variabletype:<variable-type>,dse:<DSE>
<variable-type>は、領域変数、一時変数、セット変数、バッグ変数、一時セット変数
、あるいは一時バッグ変数の変数型を示している。
本発明をさらに明確に説明するために、以下にいくつかの例を使用する。望ましい構文
法に戻って、2つのクラス「頂点」と「ポリゴン」を使用してデータベースの一例を定義
する。ポリゴンオブジェクトは1組の頂点により定義され、頂点オブジェクトは2つの座
標により定義される。
Class vertex (name : string, x : integer, y : integer) key : name
Class polygon (name : string, vertices : set of vertex) key : name
クラスポリゴンと組み合わされて、2つの条件"intersect"と"contain,"が定義される
。条件"intersect"は2つのポリゴンを入力とし、1対の入力ポリゴンが相互に交差すれ
ば、真の値を返す。条件"contain"は2つのポリゴンを入力とし、第1のポリゴンが第2
のポリゴンを包含すれば、真の値を返す。
改良されたオブジェクトリレーショナル問い合わせ言語を使用する問い合わせのいくつ
かの例を以下に示す。次の問い合わせは、データソースエレメントabcから、名前とす
べてのポリゴンの頂点を発見する。
Range of t is polygon : abc (query B1:問い合わせ B1)
Retrieve (t.name, t.vertices)
次の問い合わせは、データソースエレメントabcからポリゴンのすべての対を発見す
る。ここで、1つのポリゴンは他のポリゴンを含んでいる。
Range of t is polygon : abc (query B2:問い合わせ B2)
Range of s is polygon : abc
Retrieve (t.name, s.name)
Where t.contains(s)
上記の問い合わせにおいて、"where t.contains(s)"は、条件である。この条件に対し
て、"s"は、条件"contains"のパラメタである。
次の問い合わせは、ポリゴンCに含まれ、ポリゴンEと交差せず、そのサイズが5より
大きい、データソースエレメントabcからのすべてのポリゴンを示す。
Range of t is polygon : abc (query B3:問い合わせ B3)
Range of s is polygon : abc
Range of r is polygon : abc
Var u is float
s.show()
Where t.name.eq("C") and t.contains(s) and r.name.eq("E") and (not r.intersect
(s)) and s.size(u) and u.gt(5)
以下の問い合わせは、積演算はサイズが5を超える正方形であり、その頂点はサイズが
10を超える正方形を含むポリゴンEと交差するデータソースエレメントabcからのす
べてのポリゴンを示す。
Range of t is polygon : abc (query B4:問い合わせ B4)
Range of s is polygon : abc
Set u is vertex
Set w is vertex : s.vertices
Var v is float
Var x is float
s.show ()
Where t.name.eq("E") and s.intersection(t, u, v) and is-square(u) and v.gt(5)
and .is-square (w) and w.size(x) and x.gt(10)
上記の問い合わせにおいて、"intersection"(積演算)はポリゴンと組み合わされた一
般的な方法である。積演算は他のポリゴンを入力とし、積演算(1組の頂点)と積演算の
領域を出力として返す。条件"t.name.eq("E") and s.intersection(t, u, v) and is-squ
are(u) and v .gt(5) and .is-square(w) and w.size(x) and x.gt(10)"は、論理結合子"
and"によって結合されたいくつかの条件を含んでいる。条件"is-square"は、頂点のコレ
クションが正方形を形成するか否かを判定するために、1組の頂点に適用される。
改良されたオブジェクトリレーショナル言語は、いくつかの点でANSI−SQL99
に類似している。たとえば、問い合わせB3は、SQL99形式で書き直すことができる
Select s.show ()
From t abc, s abc, r abc
Where t.name = "C" and r.name = "E" and t.contains(s) and not r.intersect(s) a
nd s.size() >5
しかし、改良されたオブジェクトリレーショナル言語は、ANSI−SQL99に対し
て著しい利点を有する。たとえば、問い合わせB4はSQL99に書き直すことができな
い。改良されたオブジェクトリレーショナル言語と比較して、ANSI−SQL99は、
"range(領域)"型変数のみを許容し、セット変数、バッグ変数、一時変数、一時セット
変数、あるいは一時バッグ変数は許容しない。SQL99では、変数の範囲は、その"ran
ge"型により決定され、いかなるデータソースエレメントでもあり得ない。さらに、SQ
L99における条件は、論理真値あるいは論理偽値以外のいかなる値も生むことはできな
い、したがって、一般的な方法は条件あるいは引数として使用することができない。改良
されたオブジェクトリレーショナル言語は、これらの制限を除外する。
改良されたオブジェクトリレーショナル問い合わせ言語における規則は、以下の形式で
表現できる。
variable specifier
...
variable specifier
[On event] [if qualification then] command [else command 2].
Or
variable specifier
...
variable specifier
[On event] [if qualification 1 then] qualification 2
第2の形式で表現された規則 "[On event] [if qualificationi then] qualification
2" は、第1の形式で表現された規則 "[On event] [if qualification then] command [e
lse command 2]" と等価である。しかし、第2の形式は、ある状態ではもっとユーザーに
親しみやすいことがある。たとえば、第2の形式の次の規則、
If the patient has prescription x then the patient cannot have prescription y
は下記の第1の形式の規則と等価である。
If the patient has prescription x and the patient has prescription y then repo
rt ("constraint violation")
オプションとして、規則、1つまたは複数の入力パラメタ、および1つまたは複数の出
力パラメタを識別するラベルも、規則は有することができる。入力パラメタは、その値が
規則の条件に使用されるパラメタである。出力パラメタは、その値が規則のコマンドある
いは条件によって計算されて返されるパラメタである。改良されたオブジェクトリレーシ
ョナル問い合わせ言語におけるマクロは、以下の形式で表現できる。
[On event:] [Object Type] Macro Macro-Name ([parameter],... ,[parameter])
global Variable specifier
...
global variable specifier
[label 1 :] rule / query 1;
.....
[label 2 :] rule / query 2;
上記の例において、"Object type"は、オプションの返却値のデータ型を指す。"Parame
ter"は、マクロの入力あるいは出力パラメタを指す。"Label 1"は規則あるいは問い合わ
せ"rule/query 1"を識別するラベルを表し、"label 2"は規則あるいは問い合わせ"rule/q
uery 2"を識別するラベルを表す。イベントは、新しいオブジェクトの追加、オブジェク
トの削除あるいは修正、あるいは、使用者が定義するイベントであってもよい。ラベルに
より識別された規則あるいは問い合わせは、「goto〔ラベル〕」ステートメントを有
する他の規則あるいは問い合わせにより呼び出すことができる。
C.オブジェクト関係代数
オブジェクト関係代数は次のように特徴づけられることが望ましい。
1.DSEはオブジェクトリレーショナル式(以下章Cでは「式」と書く)である。
2.式のすべての要素が同じ非プリミティブの型を有するならば、式は「タイプバウン
ド」である。他の場合には、式は「タイプフリー」である。タイプフリー式は、単層ファ
イル、あるいは、その項目が整数、浮動小数点数およびテキストストリングのような基本
的な値である1組のレコードのようなリレーションを表す。
3.Eがタイプバウンド式であれば、σP(E)はタイプバウンド式であり、ここでP
は条件である。演算子σ(「選択」演算子と呼ばれる)は、EにPを満足させるオブジェ
クトを結果として返す。Pは、式の型と組み合わされた条件、式のオブジェクトの属性と
組み合わされた条件、あるいはその両方を有することが可能である。Eがタイプフリー式
であれば、σP(E)はタイプフリー式であり、ここでPは条件である。演算子σ(「選
択」演算子と呼ばれる)は、EにPを満足させるオブジェクトを結果として返す。
4.Eが式であれば、ΠS(E)はタイプフリー式であり、ここでSは1組の属性であ
る。演算子Π(「射影」演算子、および、Eからの射影と呼ばれる)は、Eの各オブジェ
クトからSで指定された属性を満足するEのオブジェクトを除去し、Sで指定した属性を
満足しないEの他のオブジェクトを結果として返す。まれには、ΠS(E)はタイプバウ
ンド式でもよい。
5.EおよびFが式であれば、
E×Fは式である。演算子(直積演算)は、セット{(x,y)|x∈E,y∈F}を
計算する。
E∪Fは式である。演算子(和集合演算)は、2つの式の和集合演算を計算する。
E−Fは式である。演算子(差集合演算)は2つの式の間の差集合演算を計算する。
6.Eが式であれば、SA(E)はタイプフリー式である。演算子G(「集約」演算子
と呼ばれる)は、Sで指定された属性のセットによってEのオブジェクトを(属性、属性
、...の形式で)分類し、集約関数(属性)あるいは集約関数(オブジェクト)の形式
で集約関数のセットを各群に対して計算する。集約関数は、1群の基本的な値に加えるこ
とができる最小、最大、相加平均(mean)、分散、平均(avg)、和、総数(count)のよ
うな原始関数を含むことができる。集約関数は、1群の非プリミティブなオブジェクトに
加えることができるユーザーあるいはプログラマーにより定義された一般的な関数をさら
に含むことができる。一般的な関数は、1組の非プリミティブなオブジェクト上で操作さ
れるユーザーあるいはプログラマーが定義した非原始関数(non-primitive function)で
ある。たとえば、視覚画像ファイルのコレクションを処理し、最良の信号対雑音比を有す
る視覚画像ファイルを出力として返すように、ユーザーあるいはプログラマーは、「最良
画像」、一般的な関数を定義することができる。一般的な関数が作動するために呼び出さ
れるとき、一般的な関数は、プログラム、手順、問い合わせ、原始関数のコレクション、
原始関数および一般的な関数のコレクション、あるいは他の一般的な関数のコレクション
を通常呼び出す。まれには、SGA(E)はタイプバウンド式でもよい。
7.fが結果としてDSEを返す方法あるいはマクロであれば、f(引数)は式である
。f(引数)がタイプフリーであるか、あるいはタイプバウンドであるかは、DSE内の
要素の型により決定される。DSEのすべての要素が同じ型に属し、型がプリミティブで
なければ、式はタイプバウンドであり、他の場合には式はタイプフリーである。
オブジェクトクラス「患者」とデータソースエレメント「病院」を定義した若干のオブ
ジェクトリレーショナル式の例を以下に示す。
軽度のアルツハイマー病と診断され、"Aericept"(アリセプト)による薬物療法に反応
する病院の患者を検索するために、セットS1を呼び出す。
S1 ←σP1(hospital), where P1 = diagnosed ("mild AD") and respond#to("Aericept
") (問い合わせ C1)
中度のアルツハイマー病と診断され"Aericept"(アリセプト)による薬物療法に反応す
る病院の患者を検索するために、セットS2を呼び出す。
S2←σP2(hospital), where P2 = diagnosed("moderate AD") and respond#to ("Aeric
ept") (問い合わせ C2)
S1とS2の和集合演算を計算し、結果Sを呼び出す。
S←S1∪S2 (問い合わせ C3)
S内の男性患者および女性患者の平均年齢を発見する。
genderGavg(age) (S) (問い合わせ C4)
S1内の患者の性別プロファィル(gene profile)を抽出し、それをG1と呼ぶ。
G1←Πgene-profile (Sl) (問い合わせ C5)
S2内の患者の性別プロファィルを抽出し、それをG2と呼ぶ。
G2←Πgene-profile (S2) (問い合わせ C6)
G1とG2を比較し、結果をプロットする。
Compare#profile#and#plot (G1,G2) (問い合わせ C7)
問い合わせは多くの方法で組み合わせることができる。たとえば、問い合わせC1から
C4は、1つの問い合わせとして組み合わせることができる。
genderGavg(age) (σP1 (hospital) ∪ σP2 (hospital)) (問い合わせ C8)
従来の関係代数と比較して、オブジェクト関係代数は複合オブジェクトの操作を可能に
する。関係代数では、データソースエレメントは、単に単層ファイル、あるいは、その項
目が基本的な値である1組のレコードのようなリレーションである。さらに、「発明の背
景」で説明したように、「選択」演算子の条件は基本的な値の単純な比較に限定されてい
る。さらに、関係代数では、方法が式であることは許されていない。最後に、従来の関係
代数における集約関数は、基本的な値にのみ適用できる最小、最大、相加平均(mean)、
分散、平均(average)、和および計算、のような関数に限定されている。オブジェクト
関係代数は、これらの制限を除き、従来の関係代数よりも著しい利点を提供する。
いくつかの推奨実施形態に関して本発明を説明したが、他の実施形態も本明細書の開示
から当業者に明白であろう。さらに、他の組み合わせ、省略、置換および修正も、本明細
書の開示に照らして当業者に明白であろう。たとえば、構造化自然言語システム100の
モジュールは、さらに多くのあるいは少数のモジュールに組み合わせ、あるいは分離する
ことができる。フローチャートで例示した動作のいくつかは、並列に、直列に、あるいは
異なる順序で実行することができる。したがって、本発明は、推奨実施形態の説明により
制限されるものではなく、添付した特許請求の範囲を参照して定義されるものである。
次の表は、本システムの1実施形態に含まれる若干の方法例を列挙する。以下に列挙し
た方法のすべてが本発明によるシステムに含まれる必要は無く、また、補足的な方法を定
義することができることが理解されるべきである。
システムが提供する方法
論理的方法の例
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
一般的な方法の例
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
日付に関連する論理的方法の例
Figure 2009076085
補足的な方法の例
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
Figure 2009076085
構造化自然言語システムの1実施例を示す。 コマンドを定義するプロセスの1実施例を示す。 条件を定義するプロセスの1実施例を示す。 構造化自然言語問い合わせを作成するプロセスの1実施例を示す。 ユーザーあるいはプログラマーにオブジェクト変数を定めるよう促すユーザーインタフェイス画面の例を示す。 ユーザーにコマンドを選択するよう促すユーザーインタフェイス画面の例である。 ユーザーにコマンドを選択するよう促すユーザーインタフェイス画面の他の例である。 ユーザーにコマンド引数を選択し、任意選択で結果に名前をつけるによう促す画面の例である。 ユーザーに条件を選択するように促す画面の例である ユーザーに条件を選択するよう促す画面の他の例である。 選択された条件に対してパラメタを指定するようにユーザーに促す画面の例である。 作成された問い合わせを表示する画面の例である。 構造化自然言語文を入力するようにユーザーを促す画面の例である。 構造化自然言語における規則を表示する画面の例である。
符号の説明
100 システム
101 オブジェクトスキーマ定義モジュール
110 動詞句定義モジュール
120 形容詞句定義モジュール
130 構造化自然言語問い合わせ作成モジュール
131 構造化自然言語規則作成モジュール
140 問い合わせ翻訳モジュール
141 規則翻訳モジュール
150 形式問い合わせプロセスモジュール
151 形式規則プロセスモジュール
160 データベース

Claims (8)

  1. 第1の変数を領域変数と定義するユーザー入力を受け取ることと、 第2の変数をセット変数と定義するユーザー入力を受け取ることと、 コマンドを定義するユーザー入力を受け取ることと、 条件を定義するユーザー入力を受け取ることと、 データベースに対してオブジェクトリレーショナル問い合わせを作るために、前記定義された第1の変数、第2の変数、コマンドおよび条件を組み合わせること、を含むオブジェクトリレーショナル問い合わせ言語で問い合わせを作るコンピュータにより実行される方法。
  2. 第3の変数を一時変数と定義するユーザー入力を受け取ることをさらに含む請求項1記載の方法。
  3. 第3の変数をバッグ変数と定義するユーザー入力を受け取ることをさらに含む請求項1記載の方法。
  4. 第3の変数を一時セット変数と定義するユーザー入力を受け取ることをさらに含む請求項1記載の方法。
  5. 第3の変数を一時バッグ変数と定義するユーザー入力を受け取ることをさらに含む請求項1記載の方法。
  6. 変数をオブジェクトリレーショナル式に属していると定義するユーザー入力を受け取ることをさらに含む請求項1記載の方法。
  7. 条件を定義するユーザー入力を受け取ることは、前記条件を一般的な方法と定義するユーザー入力を受け取ることを含む請求項1記載の方法。
  8. 条件を定義するユーザー入力を受け取ることは、前記条件を一般的なマクロと定義するユーザー入力を受け取ることを含む請求項1記載の方法。
JP2008267689A 2002-10-31 2008-10-16 構造化自然言語問い合わせおよび知識システム Pending JP2009076085A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/286,506 US7263517B2 (en) 2002-10-31 2002-10-31 Structured natural language query and knowledge system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003307238A Division JP4282411B2 (ja) 2002-10-31 2003-08-29 構造化自然言語問い合わせおよび知識システム

Publications (1)

Publication Number Publication Date
JP2009076085A true JP2009076085A (ja) 2009-04-09

Family

ID=32175472

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2003307238A Expired - Fee Related JP4282411B2 (ja) 2002-10-31 2003-08-29 構造化自然言語問い合わせおよび知識システム
JP2008267689A Pending JP2009076085A (ja) 2002-10-31 2008-10-16 構造化自然言語問い合わせおよび知識システム
JP2008267690A Pending JP2009076086A (ja) 2002-10-31 2008-10-16 構造化自然言語問い合わせおよび知識システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003307238A Expired - Fee Related JP4282411B2 (ja) 2002-10-31 2003-08-29 構造化自然言語問い合わせおよび知識システム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2008267690A Pending JP2009076086A (ja) 2002-10-31 2008-10-16 構造化自然言語問い合わせおよび知識システム

Country Status (2)

Country Link
US (3) US7263517B2 (ja)
JP (3) JP4282411B2 (ja)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3367268A1 (en) 2000-02-22 2018-08-29 Nokia Technologies Oy Spatially coding and displaying information
US6996558B2 (en) 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
EP2544102A1 (en) 2002-11-28 2013-01-09 Nuance Communications Austria GmbH Method to assign word class information
US11132183B2 (en) 2003-08-27 2021-09-28 Equifax Inc. Software development platform for testing and modifying decision algorithms
US20070179827A1 (en) * 2003-08-27 2007-08-02 Sandeep Gupta Application processing and decision systems and processes
US20050120300A1 (en) * 2003-09-25 2005-06-02 Dictaphone Corporation Method, system, and apparatus for assembly, transport and display of clinical data
CA2447458A1 (en) * 2003-10-29 2005-04-29 Ibm Canada Limited - Ibm Canada Limitee System and method for managing query access to information
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
CA2498728A1 (en) * 2004-02-27 2005-08-27 Dictaphone Corporation A system and method for normalization of a string of words
FR2868588A1 (fr) * 2004-04-02 2005-10-07 France Telecom Systeme d'application vocale
US20050264554A1 (en) * 2004-05-25 2005-12-01 Deming James L Tile based rendering of smooth points using polygons
US7707490B2 (en) 2004-06-23 2010-04-27 Microsoft Corporation Systems and methods for flexible report designs including table, matrix and hybrid designs
US20060026498A1 (en) * 2004-07-30 2006-02-02 Microsoft Corporation Systems and methods for controlling report properties based on aggregate scope
US7559023B2 (en) 2004-08-27 2009-07-07 Microsoft Corporation Systems and methods for declaratively controlling the visual state of items in a report
US20060116999A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation Sequential stepwise query condition building
US7624097B2 (en) * 2005-01-14 2009-11-24 International Business Machines Corporation Abstract records
US8122012B2 (en) 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7689555B2 (en) * 2005-01-14 2010-03-30 International Business Machines Corporation Context insensitive model entity searching
US8095553B2 (en) * 2005-03-17 2012-01-10 International Business Machines Corporation Sequence support operators for an abstract database
WO2007002800A2 (en) 2005-06-28 2007-01-04 Metacarta, Inc. User interface for geographic search
US8666928B2 (en) 2005-08-01 2014-03-04 Evi Technologies Limited Knowledge repository
US7747937B2 (en) * 2005-08-16 2010-06-29 Rojer Alan S Web bookmark manager
US7440945B2 (en) * 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
US20070112827A1 (en) * 2005-11-10 2007-05-17 International Business Machines Corporation Abstract rule sets
US7444332B2 (en) * 2005-11-10 2008-10-28 International Business Machines Corporation Strict validation of inference rule based on abstraction environment
US8166020B2 (en) * 2005-12-22 2012-04-24 Oracle International Corporation Query generator
US7966172B2 (en) * 2006-01-06 2011-06-21 Computer Associates Think, Inc. Natural language tool for specifying a subset of dynamic inter-related data
US7979267B2 (en) * 2006-01-06 2011-07-12 Computer Associates Think, Inc. Specifying a subset of dynamic inter-related data
US20070198951A1 (en) 2006-02-10 2007-08-23 Metacarta, Inc. Systems and methods for spatial thumbnails and companion maps for media objects
US7676460B2 (en) * 2006-03-03 2010-03-09 International Business Machines Corporation Techniques for providing suggestions for creating a search query
US8015183B2 (en) 2006-06-12 2011-09-06 Nokia Corporation System and methods for providing statstically interesting geographical information based on queries to a geographic search engine
US9721157B2 (en) 2006-08-04 2017-08-01 Nokia Technologies Oy Systems and methods for obtaining and using information from map images
US8612283B1 (en) * 2006-06-30 2013-12-17 At&T Intellectual Property Ii, L.P. Method and apparatus for evaluating the cost of operating a network infrastructure
US7954052B2 (en) * 2006-07-07 2011-05-31 International Business Machines Corporation Method for processing a web page for display in a wiki environment
US20080010345A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for data hub objects
US8196039B2 (en) 2006-07-07 2012-06-05 International Business Machines Corporation Relevant term extraction and classification for Wiki content
US20080010338A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for client and server interaction
US8560956B2 (en) 2006-07-07 2013-10-15 International Business Machines Corporation Processing model of an application wiki
US8775930B2 (en) 2006-07-07 2014-07-08 International Business Machines Corporation Generic frequency weighted visualization component
US20080010386A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for client wiring model
US20080065769A1 (en) * 2006-07-07 2008-03-13 Bryce Allen Curtis Method and apparatus for argument detection for event firing
US20080010388A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method and apparatus for server wiring model
US8219900B2 (en) 2006-07-07 2012-07-10 International Business Machines Corporation Programmatically hiding and displaying Wiki page layout sections
US20080010387A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method for defining a Wiki page layout using a Wiki page
US20080016048A1 (en) * 2006-07-12 2008-01-17 Dettinger Richard D Intelligent condition pruning for size minimization of dynamic, just in time tables
US20080016047A1 (en) * 2006-07-12 2008-01-17 Dettinger Richard D System and method for creating and populating dynamic, just in time, database tables
US7788250B2 (en) 2006-08-04 2010-08-31 Mohammad Salman Flexible request and response communications interfaces
WO2008019344A2 (en) * 2006-08-04 2008-02-14 Metacarta, Inc. Systems and methods for obtaining and using information from map images
US8589869B2 (en) 2006-09-07 2013-11-19 Wolfram Alpha Llc Methods and systems for determining a formula
US8321402B2 (en) * 2006-12-14 2012-11-27 Sap Ag Generic application interface for searching
WO2009075689A2 (en) 2006-12-21 2009-06-18 Metacarta, Inc. Methods of systems of using geographic meta-metadata in information retrieval and document displays
US20080275860A1 (en) * 2007-05-03 2008-11-06 Alex Zakonov Seamless design
US8140557B2 (en) 2007-05-15 2012-03-20 International Business Machines Corporation Ontological translation of abstract rules
CA2921562C (en) * 2007-08-07 2017-11-21 Equifax, Inc. Systems and methods for managing statistical expressions
US8200257B2 (en) * 2007-08-30 2012-06-12 Yahoo! Inc. Customizable mobile message services
US7984032B2 (en) * 2007-08-31 2011-07-19 Microsoft Corporation Iterators for applying term occurrence-level constraints in natural language searching
US7885943B1 (en) 2007-10-02 2011-02-08 Emc Corporation IT compliance rules
US8024320B1 (en) 2007-10-02 2011-09-20 Emc Corporation Query language
US8838659B2 (en) 2007-10-04 2014-09-16 Amazon Technologies, Inc. Enhanced knowledge repository
US20090132505A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. Transformation in a system and method for conducting a search
US20090132512A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. Search system and method for conducting a local search
US20090132513A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. Correlation of data in a system and method for conducting a search
US7921108B2 (en) 2007-11-16 2011-04-05 Iac Search & Media, Inc. User interface and method in a local search system with automatic expansion
US20090132645A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system with multiple-field comparison
US8090714B2 (en) * 2007-11-16 2012-01-03 Iac Search & Media, Inc. User interface and method in a local search system with location identification in a request
US20090132514A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. method and system for building text descriptions in a search database
US8732155B2 (en) * 2007-11-16 2014-05-20 Iac Search & Media, Inc. Categorization in a system and method for conducting a search
US20090132929A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method for a boundary display on a map
US20090132236A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. Selection or reliable key words from unreliable sources in a system and method for conducting a search
US20090132927A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method for making additions to a map
US7809721B2 (en) * 2007-11-16 2010-10-05 Iac Search & Media, Inc. Ranking of objects using semantic and nonsemantic features in a system and method for conducting a search
US20090132486A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in local search system with results that can be reproduced
US20090132485A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system that calculates driving directions without losing search results
US20090132572A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system with profile page
US8145703B2 (en) * 2007-11-16 2012-03-27 Iac Search & Media, Inc. User interface and method in a local search system with related search results
US20090132573A1 (en) * 2007-11-16 2009-05-21 Iac Search & Media, Inc. User interface and method in a local search system with search results restricted by drawn figure elements
US8417513B2 (en) * 2008-06-06 2013-04-09 Radiant Logic Inc. Representation of objects and relationships in databases, directories, web services, and applications as sentences as a method to represent context in structured data
JP5220483B2 (ja) * 2008-06-06 2013-06-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 木構造のデータに対する集約計算を行うコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8375014B1 (en) * 2008-06-19 2013-02-12 BioFortis, Inc. Database query builder
US8316012B2 (en) * 2008-06-27 2012-11-20 SAP France S.A. Apparatus and method for facilitating continuous querying of multi-dimensional data streams
US8180771B2 (en) 2008-07-18 2012-05-15 Iac Search & Media, Inc. Search activity eraser
US9201927B1 (en) * 2009-01-07 2015-12-01 Guangsheng Zhang System and methods for quantitative assessment of information in natural language contents and for determining relevance using association data
US9367608B1 (en) * 2009-01-07 2016-06-14 Guangsheng Zhang System and methods for searching objects and providing answers to queries using association data
US20100185603A1 (en) * 2009-01-09 2010-07-22 Phibbs Paul H Techniques for using database rule results
US9805089B2 (en) * 2009-02-10 2017-10-31 Amazon Technologies, Inc. Local business and product search system and method
US8150882B2 (en) * 2009-03-03 2012-04-03 Microsoft Corporation Mapping from objects to data model
US8433559B2 (en) * 2009-03-24 2013-04-30 Microsoft Corporation Text analysis using phrase definitions and containers
US8788524B1 (en) 2009-05-15 2014-07-22 Wolfram Alpha Llc Method and system for responding to queries in an imprecise syntax
US8601015B1 (en) 2009-05-15 2013-12-03 Wolfram Alpha Llc Dynamic example generation for queries
US8135730B2 (en) * 2009-06-09 2012-03-13 International Business Machines Corporation Ontology-based searching in database systems
US20110055268A1 (en) * 2009-08-27 2011-03-03 Chen-Yu Sheu Search system based on structured natural languages
US9165043B2 (en) * 2009-11-25 2015-10-20 Maobing Jin Logical object search framework and application programming interface
US8689175B2 (en) * 2010-03-03 2014-04-01 Ebay Inc. Business rules management system
US8484015B1 (en) 2010-05-14 2013-07-09 Wolfram Alpha Llc Entity pages
US9110882B2 (en) 2010-05-14 2015-08-18 Amazon Technologies, Inc. Extracting structured knowledge from unstructured text
US8666785B2 (en) * 2010-07-28 2014-03-04 Wairever Inc. Method and system for semantically coding data providing authoritative terminology with semantic document map
US8812298B1 (en) 2010-07-28 2014-08-19 Wolfram Alpha Llc Macro replacement of natural language input
US8572101B2 (en) 2011-01-10 2013-10-29 International Business Machines Corporation Faceted interaction interface to object relational data
US8660836B2 (en) 2011-03-28 2014-02-25 International Business Machines Corporation Optimization of natural language processing system based on conditional output quality at risk
US9069814B2 (en) 2011-07-27 2015-06-30 Wolfram Alpha Llc Method and system for using natural language to generate widgets
US8510328B1 (en) * 2011-08-13 2013-08-13 Charles Malcolm Hatton Implementing symbolic word and synonym English language sentence processing on computers to improve user automation
US9501918B2 (en) * 2011-08-24 2016-11-22 Safetyminded Holdings, Inc. Human safety indicator
US8601016B2 (en) * 2011-08-30 2013-12-03 International Business Machines Corporation Pre-generation of structured query language (SQL) from application programming interface (API) defined query systems
US9734252B2 (en) 2011-09-08 2017-08-15 Wolfram Alpha Llc Method and system for analyzing data using a query answering system
US9851950B2 (en) 2011-11-15 2017-12-26 Wolfram Alpha Llc Programming in a precise syntax using natural language
GB2503223A (en) * 2012-06-19 2013-12-25 Ibm Redrafting text strings using a vocabulary
US9405424B2 (en) 2012-08-29 2016-08-02 Wolfram Alpha, Llc Method and system for distributing and displaying graphical items
US9665662B1 (en) 2013-06-13 2017-05-30 DataRPM Corporation Methods and system for providing real-time business intelligence using natural language queries
US9092563B1 (en) * 2013-09-27 2015-07-28 Emc Corporation System for discovering bugs using interval algebra query language
US20150100516A1 (en) * 2013-10-07 2015-04-09 Kevin Hicks Method of analyzing and scoring cosmetic products
US10324964B2 (en) * 2014-01-16 2019-06-18 Massachusetts Institute Of Technology Method and systems for enhanced ontology assisted querying of data stores
US9785669B2 (en) * 2014-05-21 2017-10-10 International Business Machines Corporation Revising policy statements using hyperlinks
US11238101B1 (en) * 2014-09-05 2022-02-01 Soundhound, Inc. System and method for interpreting natural language commands with compound criteria
US11138205B1 (en) 2014-12-22 2021-10-05 Soundhound, Inc. Framework for identifying distinct questions in a composite natural language query
US10146751B1 (en) 2014-12-31 2018-12-04 Guangsheng Zhang Methods for information extraction, search, and structured representation of text data
US10915531B2 (en) 2015-08-14 2021-02-09 California Institute Of Technology Algebraic query language (AQL) database management system
EP3142029A1 (en) 2015-09-11 2017-03-15 Google, Inc. Disambiguating join paths for natural language queries
EP3142028A3 (en) * 2015-09-11 2017-07-12 Google, Inc. Handling failures in processing natural language queries through user interactions
US11301502B1 (en) 2015-09-15 2022-04-12 Google Llc Parsing natural language queries without retraining
US9959311B2 (en) 2015-09-18 2018-05-01 International Business Machines Corporation Natural language interface to databases
US10430407B2 (en) 2015-12-02 2019-10-01 International Business Machines Corporation Generating structured queries from natural language text
US10191734B1 (en) * 2015-12-15 2019-01-29 Open Text Corporation Method and system for software application optimization using natural language-based queries
WO2018152319A1 (en) * 2017-02-16 2018-08-23 North Carolina State University Spreadsheet recalculation algorithm for directed acyclic graph processing
GB201708818D0 (en) * 2017-06-02 2017-07-19 Palantir Technologies Inc Systems and methods for retrieving and processing data
JP2020526846A (ja) * 2017-07-24 2020-08-31 バイオメディカル オブジェクツ インク 構造化自然言語知識システム
US10963433B2 (en) * 2018-08-17 2021-03-30 International Business Machines Corporation ASCII based instant object oriented schema generation
US11429627B2 (en) 2018-09-28 2022-08-30 Splunk Inc. System monitoring driven by automatically determined operational parameters of dependency graph model with user interface
US11620300B2 (en) 2018-09-28 2023-04-04 Splunk Inc. Real-time measurement and system monitoring based on generated dependency graph models of system components
US11048876B2 (en) * 2018-11-30 2021-06-29 Microsoft Technology Licensing, Llc Phrase extraction for optimizing digital page
US10809892B2 (en) 2018-11-30 2020-10-20 Microsoft Technology Licensing, Llc User interface for optimizing digital page
US11031139B2 (en) * 2019-02-08 2021-06-08 General Electric Company Systems and methods for conversational flexible data presentation
US11600397B2 (en) * 2019-02-08 2023-03-07 General Electric Company Systems and methods for conversational flexible data presentation
US11048696B2 (en) * 2019-06-24 2021-06-29 Workiva Inc. Method and computing device for generating a search query for a graph database
US11200227B1 (en) * 2019-07-31 2021-12-14 Thoughtspot, Inc. Lossless switching between search grammars
US11604790B2 (en) 2020-08-31 2023-03-14 Unscrambl Inc Conversational interface for generating and executing controlled natural language queries on a relational database
US11775511B2 (en) 2021-08-03 2023-10-03 International Business Machines Corporation Feedback-updated data retrieval chatbot
CN116127047B (zh) * 2023-04-04 2023-08-01 北京大学深圳研究生院 企业信息库的建立方法与装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE9003004D0 (sv) * 1990-09-21 1990-09-21 Ibm Icon based query system
JPH0756933A (ja) * 1993-06-24 1995-03-03 Xerox Corp 文書検索方法
US6026388A (en) * 1995-08-16 2000-02-15 Textwise, Llc User interface and other enhancements for natural language information retrieval system and method
JP3707133B2 (ja) * 1996-07-08 2005-10-19 富士ゼロックス株式会社 文書データベース管理装置および文書データベース管理方法
US5924089A (en) * 1996-09-03 1999-07-13 International Business Machines Corporation Natural language translation of an SQL query
US5836771A (en) * 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
JP2000099542A (ja) * 1998-09-25 2000-04-07 Ricoh Co Ltd 生産実績の問い合わせ及びデータベースの問い合わせ装置
AU3109200A (en) * 1998-12-04 2000-06-26 Technology Enabling Company, Llc Systems and methods for organizing data
HK1020419A2 (en) * 1999-03-16 2000-03-17 Shi Piu Joseph Fong Frame model for universal database in database reengineering and integration
US6304864B1 (en) * 1999-04-20 2001-10-16 Textwise Llc System for retrieving multimedia information from the internet using multiple evolving intelligent agents
JP2001014318A (ja) * 1999-06-28 2001-01-19 Toshiba Corp データベース検索装置及びプログラムを記憶した記憶媒体
US6601026B2 (en) * 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US6615172B1 (en) * 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US6721727B2 (en) * 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US7027974B1 (en) * 2000-10-27 2006-04-11 Science Applications International Corporation Ontology-based parser for natural language processing
WO2002101510A2 (en) * 2001-06-13 2002-12-19 Caminus Corporation System architecture and method for energy industry trading and transaction management

Also Published As

Publication number Publication date
JP2009076086A (ja) 2009-04-09
US20040088158A1 (en) 2004-05-06
US7263517B2 (en) 2007-08-28
US20070294233A1 (en) 2007-12-20
JP4282411B2 (ja) 2009-06-24
US7620542B2 (en) 2009-11-17
JP2004152259A (ja) 2004-05-27
US20100063968A1 (en) 2010-03-11

Similar Documents

Publication Publication Date Title
JP4282411B2 (ja) 構造化自然言語問い合わせおよび知識システム
US7152073B2 (en) Method and system for defining sets by querying relational data using a set definition language
US5761493A (en) Apparatus and method for adding an associative query capability to a programming language
US10452645B2 (en) Modification and validation of spatial data
US20060116999A1 (en) Sequential stepwise query condition building
US7606829B2 (en) Model entity operations in query results
US8370375B2 (en) Method for presenting database query result sets using polymorphic output formats
US7580949B2 (en) Query conditions on related model entities
US8321441B2 (en) Disabling subsets of query conditions in an abstract query environment
US20060155692A1 (en) Dealing with composite data through data model entities
US20080270447A1 (en) Ruleset generation for multiple entities with multiple data values per attribute
US20030163461A1 (en) Method and system for defining sets by querying relational data using a set definition language
JP2011154707A (ja) リッチデータ型をサポートする拡張照会言語
US7836071B2 (en) Displaying relevant abstract database elements
US20110106836A1 (en) Semantic Link Discovery
US20210089524A1 (en) Automatic object inference in a database system
US20080168042A1 (en) Generating summaries for query results based on field definitions
CN101493830A (zh) 结构化自然语言查询和知识系统
US8090737B2 (en) User dictionary term criteria conditions
US8285736B2 (en) Disabling query conditions in an abstract query environment
US20090119277A1 (en) Differentiation of field attributes as value constraining versus record set constraining
Roantree et al. Using a metadata software layer in information systems integration
Gallagher Database management standards: status and applicability
Pedersen et al. Advanced Implementation Techniques for Scientific Data Warehouses

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091029

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100113