JP4410681B2 - 相関基準を用いてデータにアクセスする方法 - Google Patents

相関基準を用いてデータにアクセスする方法 Download PDF

Info

Publication number
JP4410681B2
JP4410681B2 JP2004550040A JP2004550040A JP4410681B2 JP 4410681 B2 JP4410681 B2 JP 4410681B2 JP 2004550040 A JP2004550040 A JP 2004550040A JP 2004550040 A JP2004550040 A JP 2004550040A JP 4410681 B2 JP4410681 B2 JP 4410681B2
Authority
JP
Japan
Prior art keywords
query
field
correlation
data
logical
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
JP2004550040A
Other languages
English (en)
Other versions
JP2006505063A5 (ja
JP2006505063A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006505063A publication Critical patent/JP2006505063A/ja
Publication of JP2006505063A5 publication Critical patent/JP2006505063A5/ja
Application granted granted Critical
Publication of JP4410681B2 publication Critical patent/JP4410681B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/242Query formulation
    • 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • 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/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

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

Description

本発明は一般にデータ処理に関し、特に相関(correlation)基準(または相関基準群)を用いてデータにアクセスすることに関する。
データベースとは情報を記憶するとともに検索・取得する、コンピュータ化されたシステムのことである。リレーショナル・データベース管理システムとはデータを格納するとともに検索・取得するのにリレーショナル(関係型の)手法を使用する、コンピュータによるデータベース管理システム(database management sytem:DBMS) のことである。最も一般的な種類のデータベースはリレーショナル・データベース、すなわち多数の異なる方法で再構成しうるとともにアクセスしうるようにデータを定義する表形式のデータベースである。
特定のアーキテクチャとは無関係に、DBMSにおいては、要求元のエンティティ(実体)(たとえばアプリケーションやオペレーティング・システムなど)がデータベース・アクセス要求を発行することにより特定のデータベースに対してアクセス権を要求する。そのような要求としては、たとえば単純なカタログ・ルックアップ(catalog lookup: カタログ探索)要求、または、データベース中の特定のレコードの読み取り、変更、もしくは付加を行うオペレーションを実行するトランザクション、および、それらトランザクション群の組み合わせが挙げられる。これらの要求は高レベルの照会言語(たとえばSQL(Structured Query Language))を用いて行う。例を用いて説明すると、SQLはたとえば次に示すようなデータベースから情報を取得したり、それを更新したりする対話型の照会を作成するために使用する。すなわち、インターナショナル・ビジネス・マシーンズ・コーポレーション(International Business Machines Corporation)(IBM(R))製のDB2(R) 、マイクロソフト(Microsoft(R))製のSQL Server、ならびに、オラクル(Oracle(R))、サイベース(Sybase(R))、およびコンピュータ・アソシエーツ(Computer Associates)製のデータベース製品などである。用語「照会(query)」は格納済みのデータベースからデータを検索・取得するためのコマンドから成る組を指している。照会はプログラマおよびプログラムにデータの選択、挿入、更新、所在の探索などを行わせるコマンド言語の形態をとる。
データベースまたはデータウェアハウスに格納されている情報に対して複雑な照会を構築する場合、照会する対象をなすデータ・エンティティ(データの実体)群を共通の属性に基づいて相関させるのか望ましい場合が多い。たとえば、次に示すすべてのエンティティまたはイベントに基づいてデータ・エンティティ群を相関させる。すなわち、(i)所定の時点または所定の時間範囲内において発生したイベント、(ii)同時に、または相互の所定の時間間隔内において発生したイベント、(iii)異なる多数の方法で見渡される同一の場所(たとえば同一の通り番地、同一の市、同一の郡、同一の州、同一の郵便番号、同一の国など)において発生したイベント、(iv)問題の個人または事項が所定の年齢または所定の年齢範囲内にあるときに発生したイベント、および、(v)問題のデータ・エンティティのすべてに付随する年齢が同一であるときに発生したイベントである。
このような複雑な照会を構築する典型的な方法には、照会する対象をなす各データ・エンティティごとに共通の相関属性用の論理を考慮に入れるために、述語を追加して当該照会を補強するステップが含まれている。あいにく、この方法には、複雑なデータ・エンティティの物理的な関係と、照会する対象をなす特定のデータ・エンティティ(たとえば当該データ・エンティティが時や年齢、場所の概念をサポートしているか否か)とについてのより深い理解が必要とされる。たとえば、肝酵素値がある閾値(いきち:しきい値)を超えることが見つかり、肝臓の異常を治すために外科手術(surgery)を受けた現在60歳以上の男性を特定することに関心のあるユーザを考える。これに対応する照会は、SQLでは照会1の形をとる。
〔SQL照会1〕
SELECT ASTValue, Diagnostics, SurgeryType
From Demographics, TestResults, SurgeryRecord
WHERE Gender="M" AND YEAR (CURRENT_DATE - BirthDate) >=60
AND ASTValue > 30 AND SurgeryType="Liver"
次いで、上記ユーザが、戻されるデータを当該人物が検査を受けた結果、30日以内に手術を受けた場合だけを含むように狭めることを望ものと仮定する。
これは、検査と、同一の時間範囲内に発生した手術なるイベントとを選択する述語を追加してSQL照会1を拡張することにより行うことができる。これを照会2によって示す。
〔SQL照会2〕
SELECT ASTValue, Diagnostics, SurgeryType
FROM Demographics, TestResults, SurgeryRecord
WHERE Gender="M" AND YEAR (CURRENT_DATE - BirthDate) >= 60
AND ASTValue > 30 AND SurgeryType="Liver" AND
DAYS (SurgeryDate - TestDate) <= 30
別の場合に、上記ユーザは同一の基準の組み合わせを用いて個人を特定するが、その結果を、検査と手術を受けたときに40歳〜50歳の間であった人々に限定することを望む可能性がある。これには、基本の照会に異なる組の述語を付加する必要がある。これを照会3によって示す。
〔SQL照会3〕
SELECT ASTValue, Diagnostics, SurgeryType
FROM Demographics, TestResults, SurgeryRecord
WHERE Gender="M" AND YEAR (CURRENT_DATE - BirthDate) >= 60
AND ASTValue > 30 AND SurgeryType="Liver" AND
YEAR (SurgeryDate - BirthDate) >= 40 AND YEAR (SurgeryDate -
BirthDate) <= 50 AND YEAR (TestDate - BirthDate) >= 40 AND YEAR
(TestDate - BirthDate) <= 50
上述した諸例が示すところによれば、各場合において基本の照会を同一に保ちながら、追加の述語を付加することにより、当該照会が検査するエンティティ間において所望の相関を構築している。この結果、所望のデータにアクセスするエンド・ユーザにかかる負担は相当に大きなものになっている。
したがって、照会内に相関論理を実装する方法が求められている。
本発明は一般に相関基準(または相関基準群)を用いてデータにアクセスするための方法、システム、および製品に関する。
一実例は次に示す方法を提供するものである。
少なくとも1つの論理フィールドによって定義された抽象照会から生成された照会に照会論理を付加するように構成された属性を実現する方法であって、
複数の相関属性のうち、特定の論理フィールド用にサポートされているものを指定するステップと、
前記特定の論理フィールド用にサポートされている前記相関属性の値を算出する定義を指定するステップと
を備えた
方法。
別の実例は次に示す方法を提供するものである。
少なくとも1つの論理フィールドによって定義された抽象照会から生成された照会に照会論理を付加するように構成された属性を実現する方法であって、
複数の論理フィールドの各々ごとに、複数の相関属性のうち、特定の論理フィールド用にサポートされているものを指定するステップと、
複数の論理フィールドの各々ごとに、前記特定の論理フィールド用にサポートされている前記相関属性の値を算出する定義を指定するステップであって、2つの異なる論理フィールド用に指定された、特定の相関属性の値を算出するための少なくとも2つの定義が異なる、ステップと
を備えた
方法。
別の実例は次に示す方法を提供するものである。
少なくとも1つの論理フィールドによって定義された抽象照会から生成された照会に照会論理を付加する方法であって、
前記抽象照会の各条件ごとに、
実行可能照会寄与部を構築するステップと
前記抽象照会が、前記条件の論理フィールドに適用される複数の相関基準のうちの少なくとも1つを含んでいるか否かを判断するステップであって、
前記複数の相関基準の各々が、値を算出するための対応する相関属性を有し、
所定の相関基準用に、少なくとも2つの異なる対応する相関属性定義が定義されている、
ステップと
を備えた、
方法。
さらに別の実例は次に示すコンピュータ読み取り可能な媒体を提供するものである。
実行されたときに、少なくとも1つの論理フィールドによって定義された抽象照会から生成された照会に照会論理を付加するオペレーションを実行するプログラムを含むコンピュータ読み取り可能な媒体であって、
前記オペレーションが、
前記抽象照会の各条件ごとに、
実行可能照会寄与部を構築するステップと
前記抽象照会が、前記条件の論理フィールドに適用される複数の相関基準のうちの少なくとも1つを含んでいるか否かを判断するステップであって、
前記複数の相関基準の各々が、値を算出するための対応する相関属性を有し、
所定の相関基準用に、少なくとも2つの異なる対応する相関属性定義が定義されている、
ステップと
を備えた、
コンピュータ読み取り可能な媒体。
さらに別の実例は次に示すコンピュータ読み取り可能な媒体を提供するものである。
その上に格納された情報を備えたコンピュータ読み取り可能な媒体であって、
前記情報が、
抽象照会を定義する複数の論理フィールドを備えた照会仕様と、
前記複数の論理フィールドうちの少なくとも1つ用に指定された少なくとも1つの相関属性定義であって、
前記相関属性定義が、当該相関属性定義の値を算出するための名前および定義を備えている、
少なくとも1つの相関属性定義と
データに対して発行された抽象照会を受領するのに対応して、オペレーションを実行する実行時コンポーネントであって、
前記抽象照会が、
前記照会仕様に基づいて定義されているとともに、
前記少なくとも1つの相関属性定義が指定された前記少なくとも1つの論理フィールドによって構成されており、
前記オペレーションが、
前記少なくとも1つの論理フィールド用の前記相関属性の値を算出するステップ
を備えている、
実行時コンポーネントと
を備えている
コンピュータ読み取り可能な媒体。
さらに別の実例は次に示すコンピュータ読み取り可能な媒体を提供するものである。
その上に格納された情報を備えたコンピュータ読み取り可能な媒体であって、
前記情報が、
抽象照会を定義する複数の論理フィールドを備えた照会仕様と、
前記複数の論理フィールドうちの少なくとも1つ用に指定された複数の相関属性定義であって、
各相関属性定義が、当該相関属性定義の値を算出するための名前および定義を備えている、
複数の相関属性定義と
データに対して発行された抽象照会を受領するのに対応して、オペレーションを実行する実行時コンポーネントであって、
前記抽象照会が、
前記照会仕様に基づいて定義されているとともに、
前記少なくとも1つの相関属性定義が指定された前記少なくとも1つの論理フィールドによって構成されており、
前記オペレーションが、
前記少なくとも1つの論理フィールド用の前記相関属性の値を算出するステップ
を備えている、
実行時コンポーネントと
を備えている
コンピュータ読み取り可能な媒体。
〔概要〕
本発明は一般にデータにアクセスするためのシステム、方法、および製品に関する。一般に、相関基準(または相関基準群)を用いて構成した照会によると、データ・アクセスが容易になる。相関基準群が存在すると、照会の条件に適用すべき追加の相関論理を導入するのが容易になる。一般に、時、物理的な場所、および年齢に基づいた、エンティティの相関をサポートする相関基準群が考えられる。
一実施形態では、相関基準はデータの論理モデルの一部として実装する。ここでは、この論理モデルをデータ・リポジトリ抽象化層と呼ぶ。データ・リポジトリ抽象化層は基をなすデータ・リポジトリの論理的な面(見え方)を提示している。このように、データは当該データを物理的に表す特定の方法とは無関係に作成することができる。また、照会抽象化層も設ける。これはデータ・リポジトリ抽象化層に基づいている。抽象照会を、特定の物理データ表現に対して使用しうる形態に変換することは実行時コンポーネントが行う。
ここでは便宜上、用語「相関」は照会基準とデータ・リポジトリ抽象化層の一部として定義された属性とを指すように使用する。用語「相関」は、共通のエンティティについて少なくとも2つの照会条件に照会論理を適用する、本発明の一側面を示している。しかし、別の側面では、1つの照会条件だけに照会論理を適用することもある。以下の開示から明らかになるように、エンド・ユーザにはエンティティをどのように評価すべきかを見極める煩わしさがない、という点において、エンド・ユーザはさらなる利点を実感することになる。したがって、(単純な相関が少なくとも2つの照会条件の間に生じるの対して、)「相関」は照会条件と、たとえば特定の時属性、場所属性、または年齢属性との間に生じる。特に、相関属性は、照会に全体として適用するから、特定の種類の相関属性をサポートするすべての条件フィールドに付随するデータ選択論理に影響を与えることになる。
本発明の一実施形態はコンピュータ・システム(たとえば図1に示すとともに後述するコンピュータ・システム)で使用するプログラム製品として実現する。このプログラム製品のプログラムは実施形態の機能(たとえば、ここで説明する方法)を定義するものであるが、様々な信号担持媒体に格納することができる。信号担持媒体の例は次に示す情報を含んでいるが、それらに限定されない。すなわち、(i)書き込み不能型記憶媒体(たとえばコンピュータに内蔵された読み取り専用記憶装置〔たとえばCD−ROM駆動装置によって読み取り可能なCD−ROMディスクなど〕など)に永続的に格納された情報、(ii)書き込み可能記憶媒体(たとえばディスケット駆動装置内のフロッピー(R) ディスクやハード・ディスク駆動装置など)に格納された変更可能な情報、または(iii)無線通信を含む通信媒体(たとえばコンピュータ・ネットワークまたは電話ネットワークなど)によってコンピュータに伝達される情報である。最後の実施形態には特に、インターネットおよび他のネットワークからダウンロードする情報が含まれる。このような信号担持媒体は、本発明の機能に指令するコンピュータ読み取り可能な命令群を担持しているときには、本発明の実施形態を表している。
一般に、本発明の実施形態を実現するために実行するルーチンはオペレーティング・システムもしくは特定のアプリケーションの一部、コンポーネント、プログラム、モジュール、オブジェクト、または、命令群から成る手順である。本発明のソフトウェアは通常、ネイティブ・コンピュータ(native computer)が機械読み取り可能なフォーマットの、したがって実行可能な命令群に変換することになる複数の命令群から構成されている。また、プログラムは当該プログラムに限定的に存在する、またはメモリもしくは記憶装置に存在する変数およびデータ構造から構成されている。さらに、後述する様々なプログラムは本発明の特定の実施形態において当該プログラムを実装する際に対象とする用途に基づいて特定する。しかし、認識すべき点を挙げると、以下に示す特定の専門用語は単に便宜的に使用するだけである。したがって、本発明をそのような専門用語によって特定される、および/または示唆される特定の用途だけにおける使用に限定すべきではない。(「Aおよび/またはB」は「AおよびB、A、またはB」を表わす。)
〔環境の物理的な概観〕
図1は本発明の実施形態を実現しうるネットワーク接続されたシステム100のブロック図である。一般に、ネットワーク接続されたシステム100はクライアント(たとえばユーザの)コンピュータ102(このようなクライアント・コンピュータ102が3台示されている)および少なくとも1台のサーバ104(このようなサーバ104が1台示されている)を備えている。クライアント・コンピュータ102とサーバ・コンピュータ104とはネットワーク126を介して接続されている。一般に、ネットワーク126としてはLAN(local area network) および/またはWAN(wide area network)を用いることができる。特定の実施形態では、ネットワーク126はインターネットである。
クライアント・コンピュータ102は中央処理装置(Central Processing Unit:CPU)110を備えている。CPU110はバス130を介してメモリ112、記憶装置114、入力装置116、出力装置119、およびネットワーク・インタフェース装置118に接続されている。入力装置116としてはクライアント・コンピュータ102に入力を供給する任意の装置を用いることができる。たとえばキーボード、キーパッド、ライトペン、タッチ・スクリーン、トラック・ボール、または、音声認識装置、音声/画像再生装置などを使用することができる。出力装置119としてはユーザに出力を供給する任意の装置(たとえば既存のディスプレイ画面など)を用いることができる。入力装置116から分離して示されているが、出力装置119と入力装置116とは組み合わせることができる。たとえばディスプレイ画面とタッチ・スクリーンとを統合したもの、ディスプレイとキーボードとを統合したもの、音声認識装置とテキスト読み上げ変換装置とを統合したものなどを使用することができる。
ネットワーク・インタフェース装置118としてはクライアント・コンピュータ102とサーバ・コンピュータ104との間の、ネットワーク126を介したネットワーク通信を実現する任意の入口/出口(entry/exit)装置を用いることができる。たとえば、ネットワーク・インタフェース装置118としてはネットワーク・アダプタまたは他のネットワーク・インタフェース・カード(network interface card: NIC)を用いることができる。
記憶装置114としては直接アクセス記憶装置(Direct Access Storage Device: DASD)を用いるのが望ましい。それは単一の装置として示されているが、固定記憶装置および/または着脱可能な記憶装置を組み合わせたもの(たとえば固定ディスク駆動装置、フロッピー(R) ディスク駆動装置、テープ駆動装置、着脱可能メモリ・カード、光記憶装置など)を使用することができる。メモリ112と記憶装置114は複数の主記憶装置と二次記憶装置とにわたる1つの仮想アドレス空間の一部を構成していてもよい。
メモリ112としては本発明のプログラムとデータ構造を保持するのに十分な大きさを有するランダム・アクセス・メモリを用いるのが望ましい。メモリ112は単一の構成要素として示されているが、実際には複数のモジュールから成る、という点を理解すべきである。そして、メモリ112は高速のレジスタおよびキャッシュからより低速だがより大きなDRAMチップに至る複数の階層に存在する。
たとえば、メモリ112はオペレーティング・システム124を格納している。使用しうるオペレーティング・システムの例としてはLinux(TM)やマイクロソフト(Microsoft(R))製のWindows(R) が挙げられる。より一般的には、ここに開示する機能をサポートする任意のオペレーティング・システムを使用することができる。
また、メモリ112はブラウザ・プログラム122を格納しているようにも示されている。ブラウザ・プログラム122はCPU110で実行されると、様々なサーバ104の間をナビゲートすること、および、サーバ104のうちの少なくとも1つのもののネットワーク・アドレスを特定することを支援する。一実施形態では、ブラウザ・プログラム122はウェブを基にしたグラフィカル・ユーザ・インタフェース(GUI)を備えている。これにより、ユーザはHTML(Hyper Text Markup Language) で記述された情報を表示することが可能になる。しかし、より一般的には、ブラウザ・プログラム122としてはサーバ・コンピュータ104から伝送されて来る情報を表示することのできる任意のプログラム(GUIを使用しているのが望ましい)を用いることができる。
サーバ・コンピュータ104はクライアント・コンピュータ102と同様の態様で物理的に構成されている。したがって一般に、サーバ・コンピュータ104はバス136によって相互に接続されたCPU130、メモリ132、および記憶装置134を備えているように示されている。メモリ132としてはサーバ・コンピュータ104に配置されたプログラムとデータ構造を保持するのに十分な大きさを有するランダム・アクセス・メモリを用いることができる。
一般に、サーバ・コンピュータ104はメモリ132に常駐しているように示されているオペレーティング・システム138の制御下にある。オペレーティング・システム138の例としてはIBM(R) OS/400(R) 、UNIX(R) 、Microsoft(R) Windows(R) などが挙げられる。より一般的には、ここで説明する機能をサポートしうる任意のオペレーティング・システムを使用することができる。
メモリ132はさらに少なくとも1つのアプリケーション140と抽象照会インタフェース146とを備えている。アプリケーション140と抽象照会インタフェース146はコンピュータ・システム100中の様々なメモリと記憶装置に様々な時に存在する複数の命令群を備えたソフトウェア製品である。アプリケーション140と抽象照会インタフェース146はサーバ104中の少なくとも1つプロセッサ130が読み込んで実行(execute)すると、本発明の様々な側面を具体化したステップ群すなわち構成要素群を実行(execute)するのに必要なステップ群をコンピュータ・システム100に実行(perform)させる。アプリケーション140(ならびに、より一般的に任意の要求元エンティティ〔たとえばオペレーティング・システム138〕および〔最高のレベルに存在する〕ユーザ)はデータベース(たとえばデータベース1561 、・・・、156N 〔集合的にデータベース156と呼ぶ〕)に対して照会を発行する。たとえば、データベース156は記憶装置134中に存在するデータベース管理システム(DBMS)の一部として示されている。データベース156はデータから成る任意の集合体を代表するものであり、特定の物理的な表現とは無関係である。たとえば、データベース156は(SQLによる照会によってアクセス可能な)リレーショナル・スキーマに従って、または、(XMLによる照会によってアクセス可能な)XMLスキーマに従って構成することができる。しかし、本発明は特定のスキーマに限定されず、現在は未知のスキーマへ拡張することが考えられる。ここで使用しているように、用語「スキーマ」は一般にデータの特定の配列を指す。
一実施形態では、アプリケーション140が発行する照会は各アプリケーション140に含まれているアプリケーション照会仕様142に従って定義する。アプリケーション140が発行する照会は事前に定義(すなわちアプリケーション140の一部としてハード・コード(hard code)化)しておいてもよいし、あるいは、入力(たとえばユーザ入力)に応答して作成してもよい。いずれの場合においても、照会(ここでは「抽象照会」と呼ぶ)は抽象照会インタフェース146によって定義されている論理フィールドを用いて作成/実行する。特に、抽象照会で使用する論理フィールドは抽象照会インタフェース146のデータ・リポジトリ抽象化コンポーネント148によって定義されている。抽象照会は実行時コンポーネント150が実行する。実行時コンポーネント150はまず、抽象照会を、DBMS154に含まれているデータの物理的な表現と一致する形態に変換する。
一実施形態では、データ・リポジトリ抽象化コンポーネント148は相関属性162を用いて構成する。相関属性162はたとえば、照会の条件群の間の関係を定義するのに使用する論理フィールドに配置する空間制約と時制約を指定する。実行時コンポーネント150の相関アルゴリズム151は相関属性162によって指定された規則を執行するオペレーションを実行する。この目的のために、実行時コンポーネント150は範囲基準リスト170、個別基準リスト172、および範囲フィールド・リスト174を備えた一時的なデータ構造を保持している。
一実施形態では、照会の構成要素はユーザがグラフィカル・ユーザ・インタフェース(GUI)を用いて指定する。このGUIのコンテンツはアプリケーション140が生成する。特定の実施形態では、このGUIのコンテンツはHTML(hypertext markup language)で記述されたコンテンツであり、クライアントのコンピュータ・システム上に表示される。したがって、メモリ132にはクライアント・コンピュータ102が出す要求を処理するhttp(Hypertext Transfer Protocol)サーバ・プロセス152(たとえばウェブ・サーバ)が格納されている。たとえば、サーバ・プロセス152はデータベース156へのアクセスを求める要求に応答するものであり、たとえばサーバ104に常駐している。データベース156に存在するデータを求めて入来するクライアントの要求はアプリケーション140を呼び出す。アプリケーション140はプロセッサ130によって実行されると、サーバ・コンピュータ104に本発明の様々な側面(たとえばデータベース156にアクセスすることなど)を具体化したステップ群すなわち構成要素群を実行させる。一実施形態では、アプリケーション140は後刻、ブラウザ・プログラム122によって表示されることになるGUIの構成要素を構築するように構成された複数のサーブレットを備えている。
図1はネットワーク接続されたクライアント・コンピュータ102とサーバ・コンピュータ104用のハードウェア/ソフトウェアの単なる一構成例にすぎない。本発明の実施形態群は、コンピュータ・システムが複雑かつマルチユーザ型のコンピューティング機器、単一ユーザ型のワークステーション、あるいは自分自身の不揮発性記憶装置を備えていないネットワーク機器であるか否かとは無関係に、同等の任意のハードウェア構成に適用することができる。また、理解すべき点を挙げると、HTMLを含む特定のマークアップ言語を参照ているけれども、本発明は特定の言語、標準、またはバージョンに限定されない。したがって、当業者が理解しうるように、本発明は他のマークアップ言語および非マークアップ型の言語に適用可能であるし、また、本発明は特定のマークアップ言語の将来の変更および現在未知の他の言語にも適用可能である。同様に、図1に示すhttpサーバ・プロセス152は単なる例示にすぎず、既知のプロトコルおよび未知のプロトコルをサポートする他の実施形態が考えられる。
〔環境の論理的な概観/実行時の概観〕
図2および図3は本発明のコンポーネント群の模式的な関係図200を示す図である。要求元エンティティ(たとえばアプリケーション140の1つ)は当該要求元エンティティの個別のアプリケーション照会仕様142によって定義した照会202を発行(issue)する。結果として得られる照会をここでは「抽象照会」と呼ぶ。というのは、DBMS154中に存在する、基となる物理的なエンティティを直接に参照するのではなく、抽象(すなわち論理)フィールドによって当該照会を合成しているからである。この結果、基となるデータに使用されている特定の表現とは無関係である抽象照会を定義することができる。一実施形態では、アプリケーション照会仕様142はデータを選択するために使用する基準(選択基準214)、照会のうちの少なくとも1つ(より典型的には少なくとも2つ)の条件を相関させるのに使用する基準(相関基準203)、および選択基準214に基づいて戻すべきフィールドの明示的な仕様(戻りデータ仕様206)を含んでいる。
図3に示す抽象照会202の詳細を下のテーブルIに示す。実例として、抽象照会202はXMLを用いて定義されている。しかし、任意の他の言語を使用してもよい。
〔テーブルI−照会の例〕
001 <QueryAbstraction>
002 <Selection>
003 <Condition field="Diagnosis" operator="EQ" value="Anemia"/>
004 <Condition field="Hemoglobin" operator="LT" value="20"
005 relOperator="AND"/>
006 <Correlation attribute="Age" operator="GT" value="40"/>
007 <Correlation attribute="Span(Time)" operator="LT" value="5"
008 relOperator="AND"?>
009 </Selection>
010 <Results>
011 <Field name="FirstName"/>
012 <Field name="LastName"/>
013 </Results>
014 </QueryAbstraction>
例示したように、テーブルIに示す抽象照会は選択基準を含む選択(selection)仕様(第005〜014行)および結果(result)仕様(第015〜019行)を含んでいる。一実施形態では、選択基準(ここでは「条件」とも呼ぶ)は(論理フィールド用の)フィールド名、比較演算子(=、>、<、など)、および(当該フィールドの比較対象である)値式から成る。一実施形態では、結果仕様は照会を実行した結果として戻すことになる抽象フィールド群から成るリストである。抽象照会に存在する結果仕様はフィールド名と分類基準から成る。たとえば、相関基準は「Age(年齢)」相関基準と「Span(Time)(時間範囲)」相関基準である。これらの相関基準は各々、当該照会の少なくとも1つの条件に適用する。この例では、「Age(年齢)」相関基準は特定の診断と検査結果の値を選択するのに使用する個別の述語に追加の論理を付加している。「Span(Time)(時間範囲)」相関基準は当該照会に追加の論理を全体として付加している。この例の場合には、互いの間が5日以内であった診断と検査結果の値を有する患者だけを選択することにより、これを行っている。
比較例を挙げると、次に示すものはテーブルIの抽象照会に対応するSQL照会を表している。
〔SQL照会4〕
SELECT f_name, l _name FROM patient WHERE
(diag ='Anemia' AND YEAR(diagdate - birthdate) > 40) AND
(testval < 20 AND YEAR(testdate - birthdate) > 40 AND
(ABS(DAYS(diagdate - testdate)) < 5 )
留意点を挙げると、所望の条件の各々に相関論理を適用している点がユーザの負担になっている。これに対して、本発明では、データ・リポジトリ抽象化コンポーネント148中に存在する事前に定義した相関属性の対象である各条件に相関基準を適用している。この点におけるデータ・リポジトリ抽象化コンポーネント148の諸側面については、下でより詳細に説明する。
一実施形態では、相関基準203、選択基準204、および戻りデータ仕様206は各々、ユーザがユーザ・インタフェース(たとえばブラウザ・プログラム122)を介して指定する。この目的のために、上記ユーザ・インタフェースは相関基準203、選択基準204、および戻りデータ仕様206の各々ごとに、抽象照会202を合成する際に依拠する個別の入力フィールドを備えている。
アプリケーション照会仕様142が指示しているとともに、抽象照会202を作成するのに使用する論理フィールドは、データ・リポジトリ抽象化コンポーネント148が定義している。一般に、データ・リポジトリ抽象化コンポーネント148は、データを選択するための基準を指定するため、および、照会オペレーションが戻す結果データのフォーマットを指定するために、アプリケーション140が(ユーザが入力する照会の条件に応答して)発行する照会(たとえば抽象照会202)中で使用しうる情報を1組の論理フィールドとして公表している。これらの論理フィールド群はDBMS154中で使用されている、基をなすデータ表現とは無関係に定義されているから、この基をなすデータ表現と緩やかに結合された照会を形成することが可能になる。
一般に、データ・リポジトリ抽象化コンポーネント148は複数のフィールド(field)仕様2081 、2082 、2083 、・・・(例として6つ示されている)(集合的にフィールド仕様208と呼ぶ)を備えている。特に、抽象照会を作成するのに利用可能な各論理フィールドは1つのフィールド仕様を備えている。一実施形態では、フィールド仕様208は論理フィールド名(name)2101 、2102 、2103 (集合的にフィールド名210)および関連するアクセス方式(access method)2121 、2122 、2123 (集合的にアクセス方式212)から成る。説明中の実施形態では、フィールド仕様208は少なくとも1つのカテゴリ名2161 、2162 、2163 (集合的にカテゴリ名216)も備えている。カテゴリ名は一群の論理フィールド名を関連付けている。たとえば、図3において、フィールド仕様2081 、2082 は「Demographic(人口統計)」カテゴリ2161 の一部であり、フィールド仕様2083 、2084 、2085 「Diagnostis (診断)」カテゴリ2162 の一部であり、フィールド仕様2086 、2087 、2088 は「Tests(検査)」カテゴリ2162 の一部である。しかし、カテゴリを使用することは特定の実施形態の単なる典型例にすぎず、他の実施形態ではカテゴリを使用していない。
アクセス方式212は論理フィールド名を、データベース(たとえばデータベース156のうちの1つ)における特定の物理データ表現2141 、2142 、・・・、214N に関連付けている(すなわちマップしている)。たとえば、図2には2つのデータ表現が示されている。すなわち、XMLデータ表現2141 とリレーショナル・データ表現2142 とである。しかし、物理データ表現214N は既知あるいは未知の他のすべてのデータ表現が考えられることを表している。
一実施形態では、単一のデータ・リポジトリ抽象化コンポーネント148が少なくとも2つの物理データ表現用のフィールド仕様(および付随するアクセス方式)を含んでいる。別の実施形態では、個別の物理データ表現214ごとに異なる単一のデータ・リポジトリ抽象化コンポーネント148を備えている。さらに別の実施形態では、複数のデータ・リポジトリ抽象化コンポーネント148を備えている。その場合、各データ・リポジトリ抽象化コンポーネント148は(少なくとも1つの物理データ表現を有する、)基をなす同一の物理データの様々な部分を公表している。このように、複数のユーザが単一のアプリケーション140を同時に用いて、基をなす同一の物理データにアクセスすることができる。その場合、アプリケーションに公表する、基をなすデータの特定の部分は個別のデータ・リポジトリ抽象化コンポーネント148が決める。
サポートすべき様々な種類の論理フィールドの個数に応じて、任意の個数のアクセス方式が考えられる。一実施形態では、単純フィールド用のアクセス方式、フィルタリング済みフィールド用のアクセス方式、および合成フィールド用のアクセス方式を備えている。フィールド仕様2081 、2082 、2083 はそれぞれ、単純フィールド用のアクセス方式2121 、2122 、2123 を示している。単純フィールドは基をなす物理データ表現中の特定のエンティティに直接にマップされている(たとえば所定のデータベースの表と列にマップされた1つのフィールド)。たとえば、図3に示す単純フィールド用のアクセス方式2121 は論理フィールド名2101 (「FirstName 」)を「patient(患者)」なる名前の表(table) 中の「f _name」なる名前の列(column)にマップしている。フィルタリング済みフィールド(図2と図3には例示せず)は関連する物理エンティティを特定するとともに、物理データ表現中の項目から成る特定のサブセットを定義するのに使用する規則を規定している。フィルタリング済みフィールドの一例としてニューヨーク州の郵便番号(ZIP code)フィールドが挙げられる。ニューヨーク州の郵便番号のフィールドは郵便番号の物理表現にマップされているとともに、データを、ニューヨーク州用に定義されたそれらの郵便番号だけに限定する。合成アクセス方式(たとえば2131 、2132)はアクセス方式の定義の一部として供給される式を用いて、少なくとも1つの物理フィールドから論理フィールドを算出する。このように、基をなすデータ表現中には存在しない情報を算出することができる。一例として、販売価格フィールドに売上税率を乗算して合成する売上税フィールドが挙げられる。
基をなすデータの任意の所定のデータ型(たとえば日付、10進数、など)用のフォーマットは変化するものと考えられる。したがって、一実施形態では、フィールド仕様208は基をなすデータのフォーマットを反映させた型属性を含んでいる。しかし、別の実施形態では、フィールド仕様208のデータ・フォーマットは関連する、基をなすデータとは異なっている。その場合、アクセス方式が、要求元エンティティが想定する適切なフォーマットでデータを戻す任に当たる。したがって、アクセス方式は基をなす物理データの実際のフォーマットに加え想定される(すなわち論理フィールドに従う)フォーマットを知っている必要がある。そうすれば、アクセス方式は基をなす物理データを論理フィールドのフォーマットに変換することができる。
たとえば、図2および図3に示すデータ・リポジトリ抽象化コンポーネント148のフィールド仕様208はリレーショナル・データ表現2142 で表したデータにマップされた論理フィールドを代表している。しかし、データ・リポジトリ抽象化コンポーネント148の他の例では、論理フィールドを他の物理データ表現(たとえばXML)にマップしている。
フィールド仕様208のうちの少なくとも1つは相関属性(図1に相関属性162として集合的に示されている)も用いて構成する。たとえば、「Diagnosis(診断)」フィールド仕様2083 は「Age(年齢)」相関属性2181 と「Time(時)」相関属性2182 を備えており、「Test Result(検査結果)」フィールド仕様2086 も「Age(年齢)」相関属性2181 と「Time(時)」相関属性2182 を備えている。すべてのフィールド仕様が相関属性を備える必要がある訳ではない、という点に留意すべきである。
一般に、相関属性によって、論理フィールドの相関相手であるエンティティ/イベントを特定する。一実施形態では、論理フィールドを時(特定の時点または時間範囲)、物理的な場所、および年齢と相関させている。したがって一実施形態では、相関属性によって、論理フィールドに付随するデータのインスタンスを制約するのに使用する空間または時間の大きさを特定している。しかし、より一般的には、照会オペレーションに関係する様々なエンティティの他の特性を考慮する相関属性(たとえば色、重さ、体積、長さ、幅など)を定義することができる。図3から分かるように、各フィールド定義に付随する相関属性は一般に、「Name(名前)」と「Fieldref(参照フィールド)」を備えている。「Name(名前)」は(相関属性が定義されている)対応するフィールドの相関相手になりうるものに基づいて当該相関属性を特定するためのハンドル(識別情報)を実現している。たとえば、相関属性2181 には、対応する論理フィールドを年齢に相関させうることを示す「Age(年齢)」なる名前が付与されている。現在の例では、「Age(年齢)」なる相関属性2181 と「Time (時) 」なる相関属性2182 は「Diagnosis(診断)」なる論理フィールド2103 と「Test Result(検査結果)」なる論理フィールド2106 用のフィールド仕様の一部である。「Fieldref(参照フィールド)」は特定の論理フィールド用の相関属性の定義を提供している。たとえば、「Diagnosis(診断)」なる論理フィールド2103 の「Age(年齢)」なる相関属性2181 用の「Fieldref(参照フィールド)」は、「AgeAtDiagnosis (診断時の年齢) 」と呼ばれる定義を指している。現在の実施形態では、「AgeAtDiagnosis (診断時の年齢) 」は別の論理フィールド2105 であり、それは「Diagnostics(診断)」なるカテゴリ2162 の一部でもある。特に、「AgeAtDiagnosis (診断時の年齢) 」なる論理フィールド2105 は上で定義した合成フィールドである。現在の例では、合成論理フィールド2105 は「Diagnosis Date(診断日)」と「Birth Date(誕生日)」とを入力として受領し、それらのパラメータ値の間の差をとる。このように、「Age(年齢)」なる相関属性は様々な定義をもつ。たとえば、「Test Result(検査結果)」なる論理フィールド2106 用に指定されている「Age(年齢)」なる相関属性2181 は検査時の年齢(Fieldref="AgeAtTest") に基づいて定義されている。「AgeAtDiagnosis (診断時の年齢) 」なる論理フィールド2108 は「Test Date(検査日)」と「Birth Date(誕生日)」とを入力として受領し、その差をとって検査時の年齢を算出する合成フィールドである。
動作中、相関属性(たとえばテーブルIおよび図3の抽象照会202に示したもの)を用いて構成した抽象照会を発行して実行の用に供すると、相関アルゴリズム151は数ステップを実行して、当該相関属性の適用先である各条件が当該相関属性をサポートしているか否かを判断する。これは必要なメタデータを定義している、データ・リポジトリ抽象化コンポーネント148中の情報と、抽象照会202が参照している論理フィールド用のアクセス方式の情報とを用いて行う。特に、データ・リポジトリ抽象化コンポーネント148の相関属性162を検査して、当該抽象照会の特定の論理フィールド用にサポートされている相関属性を見つける。そして、当該相関属性をサポートしている各論理フィールドごとに、当該抽象照会を表すために作成した実行可能な照会文に追加の述語を付加する。
図3に示したものに対応するデータ・リポジトリ抽象化コンポーネント148の例をテーブルIIを参照してさらに説明する。この例では、「データ・リポジトリ抽象化」コンポーネントはXMLを用いて定義している。しかし、任意の他の言語を使用してもよい。
〔テーブルII−データ・リポジトリ抽象化の例〕
001 <DataRepository>
002 <Category name="Demographic">
003 <Field queryable="Yes" Displayable="Yes" name="FirstName">
004 <AccessMethod>
005 <Simple columnName="f _name" tableName="patient"/>
006 </AccessMethod>
007 <Type baseType="char"/>
008 </Field>
009 <Field queryable="Yes" displayable="Yes" name="LasrName">
010 <AccessMethod>
011 <Simple columnName="l _name" tableName="patient"/>
012 </AccessMethod>
013 <Type baseType="char"/>
014 </Field>
015 <Field queryable="Yes" displayable="Yes" name="BirthDate">
016 <AccessMethod>
017 <Simple columnName="b _name" tableName="patient"/>
018 </AccessMethod>
019 <Type baseType="date"/>
020 </Field>
021 </Category>
022 <Category name="Diagnotics">
023 <Field queryable="Yes" Displayable="Yes" name="Diagnosis">
024 <AccessMethod>
025 <Simple columnName="diag" tableName="patient"/>
026 </AccessMethod>
027 <Correlation name="Age" fieldRef="AgeAtDiagnosis"/>
028 <Correlation name="Time" fieldRef="DiagnosisDate"/>
029 <Type baseType="char"/>
030 </Field>
031 <Field queryable="Yes" displayable="Yes" name="DiagnosisDate">
032 <AccessMethod>
033 <Simple columnName="diagdate" tableName="patient"/>
034 </AccessMethod>
035 <Type baseType="date"/>
036 </Field>
037 <Field queryable="Yes" displayable="Yes" name="AgeAtDiagnosis">
038 <AccessMethod>
039 <Composed>
040 <Composition>YEAR(Field(DiagnosisDate) - Field(BirthDate))
041 </Composition>
042 </Composed>
043 </AccessMethod>
044 <Type baseType="int"/>
045 </Field>
046 </Category>
047 <Category name="Tests">
048 <Field queryable="Yes" Displayable="Yes" name="Hemoglobin">
049 <AccessMethod>
050 <Simple columnName="testval" tableName="patient"/>
051 </AccessMethod>
052 <Correlation name="Age" fieldRef="AgeAtTest"/>
053 <Correlation name="Time" fieldRef="TestDate"/>
054 <Type baseType="int"/>
055 </Field>
056 <Field queryable="Yes" displayable="Yes" name="TestDate">
057 <AccessMethod>
058 <Simple columnName="testdate" tableName="patient"/>
059 </AccessMethod>
060 <Type baseType="date"/>
061 </Field>
062 <Field queryable="Yes" displayable="Yes" name="AgeAtTest">
063 <AccessMethod>
064 <Composed>
065 <Composition>YEAR(Field(TestDate) - Field(BirthDate))
066 </Composition>
067 </Composed>
068 </AccessMethod>
069 <Type baseType="int"/>
071 </Field>
072 </Category>
073 </DataRepository>
実行時コンポーネント150が抽象照会を処理する一実施形態を図5〜図7を参照して説明する。照会を処理する方法300はステップ302において開始する。ステップ302において、実行時コンポーネント150が抽象照会を受領して処理の用に供する。また、実行時コンポーネント150は当該抽象照会のインスタンスを読み込んで解析し、個別の選択基準、相関基準、および適切な結果フィールドを確認する。ステップ304において、当該抽象照会に存在する各相関基準ごとにループに入り、それを実行する。ステップ306において、実行時コンポーネント150は当該相関が範囲型の相関(すなわち各データ・エンティティ間の時間間隔に基づいてデータ・エンティティ群を相関させる相関)であるか否かを判断する。たとえば、図3に示す抽象照会は「Span(Time)<5 (時間範囲<5)」なる相関基準を含んでいる。「Span(Time)<5 (時間範囲<5)」は(当該相関基準の適用先である)当該抽象照会のデータ・エンティティが互いに5単位時間(たとえば5日)以内になければならない、ということを示している。(ステップ306において)当該基準が範囲型の基準である場合、当該基準を範囲基準リスト170(図1も参照)に付加する(ステップ308)。次いで、方法300はステップ304に戻り、次の相関基準用の処理を開始する。(ステップ306において)当該基準が範囲型の基準ではない場合、当該基準を個別基準リスト172(図1も参照)に付加する(ステップ310)。次いで、方法300はステップ304に戻り、次の相関基準用の処理を開始する。
当該抽象照会に存在する相関基準の各々を処理したら、方法300はステップ312に進む。ステップ312において、選択基準を有する条件ごとループに入る。次に示す点を想起されたい。すなわち、一実施形態では、条件は(論理フィールド用の)フィールド名、比較演算子(=、>、<など)、および(当該フィールドの比較対象である)値式から成る。ステップ314において、実行時コンポーネント150は抽象照会に存在する条件中のフィールド名を用いてデータ・リポジトリ抽象化148中に存在する当該フィールドの定義を探索する。次いで、実行時コンポーネント150は処理中の論理フィールド用の「実行可能照会寄与部(Executable Query Contribution)」を構築する。ここで定義しているように、「実行可能照会寄与部」は現在の論理フィールドに基づいてデータの選択を行うために使用する実行可能照会の一部分である。実行可能照会とはSQLや「XML Query」のような言語で表した照会のことであり、所定の物理データ・リポジトリ(たとえばリレーショナル・データベースやXMLリポジトリなど)のデータと整合している。したがって、実行可能照会は図1に示すDBMS154によって代表される物理データ・リポジトリ中のデータの所在を特定し、当該データを検索・取得するために使用する。次いで、現在のフィールド用に生成した「実行可能照会寄与部」を「実行可能照会文(Executable Query Statement) 」に付加する(ステップ318)。
ステップ320において、実行時コンポーネント150は処理中の条件のフィールドが、範囲基準リスト170中の相関基準に対応する相関属性を(すなわち(i.e.)データ・リポジトリ抽象化コンポーネント148中に)有するか否かを判断する。YESなら、当該フィールドを範囲フィールド・リスト174に付加する(すなわち322)。一実施形態では、各型の範囲相関属性(すなわち(i.e.)「Span(Time)(時間範囲)」用のあるリスト、「Span(Location)(場所範囲)」用の別のリスト、など)ごとに範囲フィールド・リスト174を設けている。しかし、別の実施形態では、このステップにおいて単一の範囲フィールド・リストを作成し、個別の範囲相関基準を処理する(この処理については後述する)ときに、このリストからフィールドのサブセットを選択する。次いで、方法300はステップ312に戻り、次の選択基準条件の処理を開始する。しかし、ステップ320の結果がNOの場合には、プロセスはステップ324に進む。ステップ324において、実行時コンポーネント150は処理中のフィールドが、個別基準リスト172中の相関基準に対応する相関属性を(すなわち(i.e.)データ・リポジトリ抽象化コンポーネント148中に)有するか否かを判断する。NOなら、プロセスはステップ312に戻る。YESなら、処理中のフィールド用の相関属性をデータ・リポジトリ抽象化コンポーネント148から検索・取得する(ステップ326)。次いで、ステップ328において、実行時コンポーネント150は上記相関基準と上記フィールドの相関属性の定義から照会述語を構築する。次いで、当該述語を上記実行可能照会に付加する(ステップ330)。次いで、プロセスはステップ312に戻る。
ステップ312において入ったループによる選択基準の条件の各々の処理が完了したら、方法300はステップ332に進む。ステップ332において、範囲フィールド・リスト174中のフィールドから成る対(すなわち同一の相関属性を定義する根拠をなすフィールド群から成る順番に依存しない順列)の各々ごとにループに入る。次いで、ステップ334において、実行時コンポーネント150は上記対中の各フィールドごとに相関属性のフィールド定義を(すなわち(i.e.)データ・リポジトリ・ディストラクション(distraction)コンポーネント148から)検索・取得する。次いで、ステップ336において、実行時コンポーネント150は各フィールド属性定義の間の絶対差(たとえばABS(DAYS(testdate - diagdate)))を算出する値式を構築する。この式は範囲基準と組み合わせて、フィールド対を含む範囲照会述語(たとえばABS(DAYS(testdate - diagdate))>5)を形成している。次いで、この述語を上記実行可能照会に付加する(ステップ340)。次いで、プロセスはステップ332に戻り、範囲フィールド・リスト174中のフィールド群から成る次の対に備える。フィールド群から成る各対の処理が完了したら、方法300は終了する。このとき、上記照会は実行の準備ができている。
ステップ316とステップ328に従って論理フィールド用の「実行可能照会寄与部」を構築する方法400の一実施形態を図8を参照して説明する。ステップ402において、方法400は現在の論理フィールドに付随するアクセス方式が単純アクセス方式であるか否かを調べる。YESなら、物理データの所在情報に基づいて「実行可能照会寄与部」を構築した後(ステップ404)、上述した方法300に従って処理を継続する。NOなら、プロセスはステップ406に進み、現在の論理フィールドに付随するアクセス方式がフィルタリング済みアクセス方式であるか否かを調べる。YESなら、何らかの物理的なデータ・エンティティ用に、物理データの所在情報基づいて「実行可能照会寄与部」を構築する(ステップ408)。次いで、ステップ410において、上記物理的なデータ・エンティティに付随するデータをサブセット化するのに使用する追加の論理(フィルタの選択)を用いて当該「実行可能照会寄与部」を拡張する。次いで、プロセスは上述した方法300に従って継続する。
当該アクセス方式がフィルタリング済みアクセス方式ではない場合、プロセスはステップ406からステップ412に進む。ステップ412において、方法400は当該アクセス方式が合成アクセス方式であるか否かを判断する。当該アクセス方式が合成アクセス方式である場合、合成フィールド式中の各サブフィールド参照用の物理データの所在を確認し、それらを検索・取得する(ステップ414)。次いで、ステップ416において、当該合成フィールド式の論理フィールド参照に、当該合成フィールド式の物理フィールドの所在情報を代入する。この結果、「実行可能照会寄与部」が作成される。次いで、プロセスは上述した方法300に従って継続する。
当該アクセス方式が合成アクセス方式ではない場合、プロセスはステップ412からステップ418に進む。ステップ418は本発明の実施形態として考えられるすべての他のアクセス方式を代表している。しかし、利用可能なアクセス方式のすべては実装しない実施形態が考えられる、という点を理解すべきである。たとえば、ある特定の実施形態では、単純アクセス方式だけを使用する。別の実施形態では、単純アクセス方式とフィルタリング済みアクセス方式だけを使用する。
上述したように、照会条件中の論理フィールド参照は相関属性と、照会条件フィールド用の所定の相関属性の解釈の仕方を定義する別の論理フィールドを特定する「FieldRef(フィールド参照)」とを定義することになる。図8の方法400は「参照済み」の論理フィールドと相関属性に付随する論理とを用いて実行する。たとえば、相関基準が「Age>50(年齢が50歳を超えている)」であり、「Test(検査)」なるフィールドが「AgeAtTest(検査時の年齢)」の「FieldRef(フィールド参照)」を備えた「Age(年齢)」用の定義を含んでいる場合、方法400は「AgeAtTest>50(検査時の年齢が50歳を超えている)」なる条件に基づいて照会述語を構築する。
上述したように、論理フィールドが基をなす物理データとは異なるデータ・フォーマットを指定している場合には、データの変換を行う必要がある。一実施形態では、論理フィールド用の「実行可能照会寄与部」を方法400に従って構築するときに、個別のアクセス方式ごとに始めの変換を行う。たとえば、この変換はステップ404、408、416の一部として、あるいはそれらの直後に行う。次いで、ステップ322において照会を実行した後に、物理データのフォーマットから論理フィールドのフォーマットへの次の変換を行う。無論、論理フィールドの定義のフォーマットが基をなす物理データと同一である場合には、変換は必要ない。
上述した例は医療分野に関するものである。そして、相関属性は時、場所、および年齢について説明している。しかし、本発明はそのように限定されず、あらゆるデータベース環境、あらゆる種類のデータへの拡張が考えられる。たとえば、上述したように、照会オペレーションに関連す様々なエンティティの他の諸特性(たとえば色、重さ、体積、長さ、幅など)を考慮した相関属性を定義することができる。いま、対応するデータ抽象化コンポーネントが定義された次に示す抽象照会(テーブルIII)を考える。
〔テーブルIII− 抽象照会の例〕
001 <QueryAbstraction>
002 <Selection>
003 <Condition field="CarpetType="EQ" vale="berber"/>
004 <Condition field="WallpaperPattern" operator="EQ" value="floral"
005 reOperator="AND"/>
006 <Condition field="PaintFinish" operator="EQ" value="satin"reOperator="AND"007 />
008 <Correlation attribute="Span(Color)" operator="LT" value="10"/>
009 </Selection>
010 <Results>
011 <Field name="CarpetNumber"/>
012 <Field name="WallpaperNumber"/>
013 <Field name="PaintNumber"/>
014 </Results>
015 </QueryAbstraction>
この抽象照会は絨毯(じゅうたん)、壁紙、およびペンキの組み合わせから成る1つの組を絨毯の種別、壁紙の模様、およびペンキ仕上げの種別用に指定した基準に基づいて選択するように設計されている。ここに示した各エンティティ(絨毯、壁紙、ペンキ)が「color(色)」の相関属性を定義しているものと仮定すると、「Span(Color)<10 (色範囲が10未満) 」なる相関条件は選択された組み合わせを色が類似のものに限定することになる。したがって、「Span(Color)(色範囲)」用の定義として可能なものは「Red(赤) 」、「Green(緑) 」、および「Blue (青) 」の含有量が各々「n」単位以内である色におけるRGB(赤、緑、青)値になる。
したがって、データ・リポジトリ抽象化コンポーネント148によって様々な利点が得られる。一側面では、アプリケーションによる照会の指定と基をなすデータの表現との間の結合を緩やかに定義していることにより、利点が得られる。つまり、SQLを使用する場合のように特定の表、列、および関係の情報を用いてアプリケーションをエンコードするのではなく、アプリケーションはデータを照会する要件を、後ほど実行する時に特定の物理データ表現に結び付けるという、より抽象的な態様で定義する。本発明では照会−データ間の結合が緩やかであるから、要求元エンティティ(たとえばアプリケーション)は、たとえ基をなすデータの表現が変更されても、あるいは、要求元エンティティを開発した時に使用した物理データ表現を完全に新しくした物理データ表現によって当該要求元エンティティを使用すべき場合であっても機能することが可能になる。所定の物理データ表現を変更または再構成する場合には、対応するデータ・リポジトリ抽象化を更新して、基をなす物理データ・モデルになされた変更を反映させる。以前と同じ組の論理フィールドが照会による使用の際に利用可能である。それらは物理データ・モデル中の異なるエンティティまたは場所に結び付けられているにすぎない。この結果、抽象照会インタフェースに書き込まれた要求元エンティティは、たとえ対応する物理データ・モデルが大幅に変更されても、不変のまま機能し続ける。要求元エンティティを開発した時に使用した物理データ表現を完全に新しくした物理データ表現によって当該要求元エンティティを使用すべき場合には、同じ技術(たとえばリレーショナル・データベース)を使用するが、異なる命名と情報の構成の戦略(たとえば異なるスキーマ)に従って新たな物理データ・モデルを実装する。新たなスキーマは単純アクセス方式、フィルタリング済みアクセス方式、および合成フィールド・アクセス方式の手法を使用するアプリケーションが必要とする論理フィールドの組にマップする情報を含むことになる。あるいは、新たな物理表記では、類似の情報を表記する別の技術を使用する(たとえば、リレーショナル・データベース・システムに対してXMLに基づいたデータ・リポジトリを使用する)。いずれにしても、照会中で参照されるフィールドを新たな物理データ・モデル中の場所と物理表現にマップする別のデータ・リポジトリを備えることにより、抽象照会インタフェースを使用するように書かれている既存の要求元エンティティは新たな物理データ表現を使用することに容易に移行することができる。
また、抽象照会および基をなすデータの抽象化モデルとともにグローバル(大域的)な相関属性を使用すると、高度なデータの相関付けと分析を含む、複雑なデータの照会論理を記述するのがきわめて簡単になる。さらに、基本データを選択する論理を相関付けを行う論理から分離すると、基本的には同一であるが相関条件が様々である照会を迅速に再利用することが可能になる。
エンド・ユーザについては、データ・リポジトリを抽象化することにより、相関付けされているデータの照会を表現することに付随する複雑性の大部分を無くすことができる。特に、エンド・ユーザは所定の相関付け法をサポートしている照会選択条件はどれなのか、ということについてもはや心配する必要はない。そして、エンド・ユーザは照会に含まれている新たなエンティティごとにイベントに基づいた論理、および/または、エンティティに基づいた論理(たとえば時間に基づいた論理、場所指向の論理など)を表現する方法を理解しなければならない、ということについてもはや重荷を担う必要はない。
データ・リポジトリ抽象化モデルを使用すると、これらの利点および他の利点が得られるけれども、強調すべき点を挙げると、当業者が容易に認識しうるように、相関属性の目的と機能はデータ・リポジトリ抽象化コンポーネント148とは切り離して実装することができる。たとえば、SQLに基づいた照会の実装が使用する表と列に関する情報を補う追加のメタデータを備えた実施形態である。この場合、所定の列用のメタデータによって、相関属性(たとえば「Age(年齢) 」と当該列中に示されているエンティティ用の年齢を算出する方法を特定する、関連付けられたSQLによる照会式とを特定する。次いで、SQL照会のプリプロセッサが始めのSQL照会と少なくとも1つの相関条件とを入力として取り込み、取り込んだ相関条件の根拠をなす追加の述語を用いて当該SQL照会を補強する。これを行うには、相関条件群から成る組に属す相関属性(群)をサポートしている列に対する参照を詳しく調べ、特定の相関属性の所定の列の定義用に定義された照会式に基づいて、追加の「SQL WHERE」文節の述語を作成する。
留意点を挙げると、ここでは特定の値、定義、プログラミング言語、および例を参照しているが、それらはすべて単に説明を目的としたものにすぎない。したがって、本発明は特定の説明および例によって限定されない。また、SELECTION(選択)なるオペレーションを参照して本発明の諸側面を説明しているが、他の入出力オペレーション(たとえばADD(追加)、MODIFY(変更)、INSERT(挿入)、DELETE(削除)などの周知のオペレーション)も考えられる。無論、アクセス方式によっては、当該特定のアクセス方式を利用するフィールドを用いて定義しうる抽象照会の機能の種別に制限が課される。たとえば、合成アクセス方式に関連するフィールドはMODIFY(変更)、INSERT(挿入)、およびDELETE(削除)の実行可能なターゲット(目標)ではない。
上述した事項は本発明の実施形態に関するが、本発明の基本的な範囲の内で本発明の他の実施形態とさらなる実施形態とを案出することができる。したがって、本発明の範囲は特許請求の範囲によって確定される。
コンピュータ・システムの一実施形態を示す図である。 本発明の一実施形態のソフトウェア・コンポーネントの論理的/物理的な概観を示す図である。 抽象照会とデータ・リポジトリ抽象化の論理的な概観を示す図である。 抽象照会とデータ・リポジトリ抽象化の論理的な概観を示す図である。 実行時コンポーネントのオペレーションを示すフローチャートを示す図である。 実行時コンポーネントのオペレーションを示すフローチャートを示す図である。 実行時コンポーネントのオペレーションを示すフローチャートを示す図である。 実行時コンポーネントのオペレーションを示すフローチャートを示す図である。
符号の説明
100 システム
110 CPU
112 メモリ
114 記憶装置
116 入力装置
118 ネットワークI/F
119 出力装置
122 ブラウザ・プログラム
124 オペレーティング・システム
130 CPU
132 メイン・メモリ
138 オペレーティング・システム
140 アプリケーション
142 アプリケーション照会仕様
146 抽象照会I/F
148 データ・リポジトリ抽象化コンポーネント
150 実行時コンポーネント
151 相関アルゴリズム
152 HTTPサーバ
154 DBMS
162 相関属性
170 範囲基準リスト
172 個別基準リスト
174 範囲フィールド・リスト
200 コンポーネント群の模式的な関係
202 抽象照会
203 相関基準

Claims (1)

  1. 照会の対象となるデータベースと、
    抽象照会を作成するのに使用する論理フィールド及び選択された論理フィールド用の相関属性を含む抽象化コンポーネントと、前記抽象化コンポーネントにより定義された少なくとも2つの論理フィールドを含む抽象照会を前記データベースのための照会に変換する実行時コンポーネントとを記憶するメモリと、
    前記実行時コンポーネントを実行するプロセッサとを含み、
    前記相関属性は、名前と、当該相関属性の値を指定する参照フィールドとを備えており、
    前記実行時コンポーネントは、前記抽象照会の2つの条件を示す論理フィールドに範囲相関基準が適用されるか否かを判断し、適用される場合は、前記論理フィールドについて定義された相関属性の値の差を計算する式を構築し、該式を前記データベースのための照会に述語として付加するよう、前記プロセッサにより実行される、
    コンピュータ・システム
JP2004550040A 2002-10-31 2003-10-17 相関基準を用いてデータにアクセスする方法 Expired - Fee Related JP4410681B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/285,228 US7096217B2 (en) 2002-10-31 2002-10-31 Global query correlation attributes
PCT/US2003/033137 WO2004042617A1 (en) 2002-10-31 2003-10-17 Global query correlation attributes

Publications (3)

Publication Number Publication Date
JP2006505063A JP2006505063A (ja) 2006-02-09
JP2006505063A5 JP2006505063A5 (ja) 2006-11-30
JP4410681B2 true JP4410681B2 (ja) 2010-02-03

Family

ID=32175122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004550040A Expired - Fee Related JP4410681B2 (ja) 2002-10-31 2003-10-17 相関基準を用いてデータにアクセスする方法

Country Status (8)

Country Link
US (3) US7096217B2 (ja)
EP (1) EP1581888A4 (ja)
JP (1) JP4410681B2 (ja)
KR (1) KR100745533B1 (ja)
CN (1) CN1705945B (ja)
AU (1) AU2003284281A1 (ja)
TW (1) TW591440B (ja)
WO (1) WO2004042617A1 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7096217B2 (en) * 2002-10-31 2006-08-22 International Business Machines Corporation Global query correlation attributes
US7158969B2 (en) 2003-06-12 2007-01-02 International Business Machines Corporation Iterative data analysis process via query result augmentation and result data feedback
US20040254916A1 (en) * 2003-06-12 2004-12-16 International Business Machines Corporation Data query schema based on conceptual context
US7426520B2 (en) * 2003-09-10 2008-09-16 Exeros, Inc. Method and apparatus for semantic discovery and mapping between data sources
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7302447B2 (en) * 2005-01-14 2007-11-27 International Business Machines Corporation Virtual columns
US20060116999A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation Sequential stepwise query condition building
US7461052B2 (en) * 2004-12-06 2008-12-02 International Business Machines Corporation Abstract query plan
US8131744B2 (en) * 2004-12-17 2012-03-06 International Business Machines Corporation Well organized query result sets
US7333981B2 (en) * 2004-12-17 2008-02-19 International Business Machines Corporation Transformation of a physical query into an abstract query
US7526471B2 (en) * 2004-12-17 2009-04-28 International Business Machines Corporation Field-to-field join constraints
US7769579B2 (en) 2005-05-31 2010-08-03 Google Inc. Learning facts from semi-structured text
US8244689B2 (en) * 2006-02-17 2012-08-14 Google Inc. Attribute entropy as a signal in object normalization
US7321895B2 (en) * 2005-01-14 2008-01-22 International Business Machines Corporation Timeline condition support for an abstract database
US8122012B2 (en) 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7624097B2 (en) * 2005-01-14 2009-11-24 International Business Machines Corporation Abstract records
US8095553B2 (en) * 2005-03-17 2012-01-10 International Business Machines Corporation Sequence support operators for an abstract database
US7814044B2 (en) * 2005-03-22 2010-10-12 Sap Ag Data access service queries
US7587387B2 (en) 2005-03-31 2009-09-08 Google Inc. User interface for facts query engine with snippets from information sources that include query terms and answer terms
US8682913B1 (en) 2005-03-31 2014-03-25 Google Inc. Corroborating facts extracted from multiple sources
US9208229B2 (en) * 2005-03-31 2015-12-08 Google Inc. Anchor text summarization for corroboration
US7356524B2 (en) * 2005-05-13 2008-04-08 Sap Ag Query runtime estimation using statistical query records
US7831545B1 (en) * 2005-05-31 2010-11-09 Google Inc. Identifying the unifying subject of a set of facts
US7567976B1 (en) * 2005-05-31 2009-07-28 Google Inc. Merging objects in a facts database
US8996470B1 (en) 2005-05-31 2015-03-31 Google Inc. System for ensuring the internal consistency of a fact repository
US8140529B2 (en) * 2005-07-28 2012-03-20 International Business Machines Corporation Method and apparatus for autonomically regulating information transfer when accessing database resources
US7543204B2 (en) * 2005-07-28 2009-06-02 International Business Machines Corporation Method, apparatus and computer program product for designing logic scan chains for matching gated portions of a clock tree
US8285739B2 (en) * 2005-07-28 2012-10-09 International Business Machines Corporation System and method for identifying qualifying data records from underlying databases
US20070112827A1 (en) * 2005-11-10 2007-05-17 International Business Machines Corporation Abstract rule sets
US7440945B2 (en) * 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
US7444332B2 (en) * 2005-11-10 2008-10-28 International Business Machines Corporation Strict validation of inference rule based on abstraction environment
US20070143245A1 (en) * 2005-12-16 2007-06-21 International Business Machines Corporation System and method for managing presentation of query results
US7991797B2 (en) 2006-02-17 2011-08-02 Google Inc. ID persistence through normalization
US8260785B2 (en) 2006-02-17 2012-09-04 Google Inc. Automatic object reference identification and linking in a browseable fact repository
US8700568B2 (en) * 2006-02-17 2014-04-15 Google Inc. Entity normalization via name normalization
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
US8122026B1 (en) 2006-10-20 2012-02-21 Google Inc. Finding and disambiguating references to entities on web pages
US7814095B2 (en) * 2006-12-27 2010-10-12 Sybase, Inc. Optimizing the navigation of one-to-one and one-to-many relationships using query batching in named transactions
US8347202B1 (en) 2007-03-14 2013-01-01 Google Inc. Determining geographic locations for place names in a fact repository
US8239350B1 (en) 2007-05-08 2012-08-07 Google Inc. Date ambiguity resolution
US8140557B2 (en) 2007-05-15 2012-03-20 International Business Machines Corporation Ontological translation of abstract rules
US7966291B1 (en) 2007-06-26 2011-06-21 Google Inc. Fact-based object merging
US7970766B1 (en) 2007-07-23 2011-06-28 Google Inc. Entity type assignment
US8738643B1 (en) 2007-08-02 2014-05-27 Google Inc. Learning synonymous object names from anchor texts
US8812435B1 (en) 2007-11-16 2014-08-19 Google Inc. Learning objects and facts from documents
US8484233B2 (en) * 2008-10-21 2013-07-09 Microsoft Corporation Facet, logic and textual-based query composer
US9043355B1 (en) * 2009-10-16 2015-05-26 Iqor U.S. Inc. Apparatuses, methods and systems for a journal entry automator
WO2011115833A2 (en) 2010-03-15 2011-09-22 DynamicOps, Inc. Distributed event system for relational models
US20120078941A1 (en) * 2010-09-27 2012-03-29 Teradata Us, Inc. Query enhancement apparatus, methods, and systems
CN103514201B (zh) * 2012-06-27 2017-05-03 阿里巴巴集团控股有限公司 一种非关系型数据库的数据查询方法和装置
GB2518988A (en) * 2012-07-30 2015-04-08 Hewlett Packard Development Co Search method
US9792341B2 (en) 2014-06-02 2017-10-17 International Business Machines Corporation Database query processing using horizontal data record alignment of multi-column range summaries
DE102015008607B4 (de) * 2015-07-03 2017-03-02 Sap Se Adaptives Anpassen von Netzwerk-Anforderungen auf Client-Anforderungen in digitalen Netzwerken
CN109947654A (zh) * 2019-03-28 2019-06-28 上海连尚网络科技有限公司 用于测试用例库自动更新的方法与设备
KR102263317B1 (ko) * 2019-04-25 2021-06-14 주식회사 마이셀럽스 속성 언어 관리 방법 및 장치

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761493A (en) 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
US5265246A (en) * 1990-12-10 1993-11-23 International Business Machines Corporation Graphic definition of range in the selection of data from a database field
US5459859A (en) * 1991-06-18 1995-10-17 Mitsubishi Denki Kabushiki Kaisha Apparatus and system for providing information required for meeting with desired person while travelling
CA2079351A1 (en) * 1992-02-19 1993-08-20 Bruce A. Tate Scaled depiction of information from a database
US5794229A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with methodology for storing a database table by vertically partitioning all columns of the table
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5721903A (en) * 1995-10-12 1998-02-24 Ncr Corporation System and method for generating reports from a computer database
US6098081A (en) * 1996-05-06 2000-08-01 Microsoft Corporation Hypermedia navigation using soft hyperlinks
US6014656A (en) * 1996-06-21 2000-01-11 Oracle Corporation Using overlapping partitions of data for query optimization
JP3779431B2 (ja) 1997-06-13 2006-05-31 富士通株式会社 リレーショナルデータベース管理装置,中間リンクテーブル自動作成処理方法およびプログラム記憶媒体
US6353826B1 (en) * 1997-10-23 2002-03-05 Sybase, Inc. Database system with methodology providing improved cost estimates for query strategies
US6188403B1 (en) * 1997-11-21 2001-02-13 Portola Dimensional Systems, Inc. User-friendly graphics generator using direct manipulation
US6272488B1 (en) * 1998-04-01 2001-08-07 International Business Machines Corporation Managing results of federated searches across heterogeneous datastores with a federated collection object
US6353818B1 (en) * 1998-08-19 2002-03-05 Ncr Corporation Plan-per-tuple optimizing of database queries with user-defined functions
US6370547B1 (en) * 1999-04-21 2002-04-09 Union Oil Company Of California Database correlation method
JP4251726B2 (ja) * 1999-07-08 2009-04-08 三菱電機株式会社 ファイル管理方法
US20020123984A1 (en) * 1999-08-23 2002-09-05 Naveen Prakash Dynamic query of server applications
US6449620B1 (en) * 2000-03-02 2002-09-10 Nimble Technology, Inc. Method and apparatus for generating information pages using semi-structured data stored in a structured manner
US6581055B1 (en) * 2000-09-11 2003-06-17 Oracle International Corporation Query optimization with switch predicates
US6611843B1 (en) * 2000-10-26 2003-08-26 Docent, Inc. Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom
JP2002149697A (ja) * 2000-11-07 2002-05-24 Mitsubishi Electric Corp 類似事例検索装置
EP1271342A1 (en) * 2001-04-30 2003-01-02 Sun Microsystems, Inc. Method for accessing database table columns
US7096217B2 (en) * 2002-10-31 2006-08-22 International Business Machines Corporation Global query correlation attributes
US7136850B2 (en) * 2002-12-20 2006-11-14 International Business Machines Corporation Self tuning database retrieval optimization using regression functions
US7606829B2 (en) * 2005-04-14 2009-10-20 International Business Machines Corporation Model entity operations in query results
US8140559B2 (en) * 2005-06-27 2012-03-20 Make Sence, Inc. Knowledge correlation search engine

Also Published As

Publication number Publication date
CN1705945A (zh) 2005-12-07
TW200406689A (en) 2004-05-01
KR100745533B1 (ko) 2007-08-03
WO2004042617A1 (en) 2004-05-21
TW591440B (en) 2004-06-11
US20040088292A1 (en) 2004-05-06
US7310639B2 (en) 2007-12-18
AU2003284281A1 (en) 2004-06-07
EP1581888A1 (en) 2005-10-05
US20070271252A1 (en) 2007-11-22
KR20050059216A (ko) 2005-06-17
JP2006505063A (ja) 2006-02-09
US7734639B2 (en) 2010-06-08
US7096217B2 (en) 2006-08-22
EP1581888A4 (en) 2006-10-18
CN1705945B (zh) 2011-05-04
US20050228776A1 (en) 2005-10-13

Similar Documents

Publication Publication Date Title
JP4410681B2 (ja) 相関基準を用いてデータにアクセスする方法
US7840584B2 (en) Iterative data analysis enabled through query result abstraction
JP4965088B2 (ja) データ抽象化モデルにおける関係管理
US7747640B2 (en) Method for regenerating selected rows for an otherwise static result set
KR100843651B1 (ko) 추상적 데이터베이스에서의 규칙 애플리케이션 관리
US7925672B2 (en) Metadata management for a data abstraction model
US7158969B2 (en) Iterative data analysis process via query result augmentation and result data feedback
US8458200B2 (en) Processing query conditions having filtered fields within a data abstraction environment
US9031924B2 (en) Query conditions having filtered fields within a data abstraction environment
US7814127B2 (en) Natural language support for database applications
US8090737B2 (en) User dictionary term criteria conditions
US8548985B2 (en) Method and process of query optimization to a given environment via specific abstraction layer domain knowledge
US20060074873A1 (en) Extending data access and analysis capabilities via abstract, polymorphic functions
US20040153441A1 (en) Method of synchronizing distributed but interconnected data repositories

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061012

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061012

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091113

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees