JP5048956B2 - データベースのクローリングによる情報検索 - Google Patents

データベースのクローリングによる情報検索 Download PDF

Info

Publication number
JP5048956B2
JP5048956B2 JP2006055312A JP2006055312A JP5048956B2 JP 5048956 B2 JP5048956 B2 JP 5048956B2 JP 2006055312 A JP2006055312 A JP 2006055312A JP 2006055312 A JP2006055312 A JP 2006055312A JP 5048956 B2 JP5048956 B2 JP 5048956B2
Authority
JP
Japan
Prior art keywords
database
information
crawler
databases
unified
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
JP2006055312A
Other languages
English (en)
Other versions
JP2006277732A (ja
JP2006277732A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006277732A publication Critical patent/JP2006277732A/ja
Publication of JP2006277732A5 publication Critical patent/JP2006277732A5/ja
Application granted granted Critical
Publication of JP5048956B2 publication Critical patent/JP5048956B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Landscapes

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

Description

本発明は、主に検索に関し、より詳細には、検索エンジンによるキーワード一致検索を強化するために、アプリケーション文書やデータベースなどの多種多様な情報ソースをクローリングすることに関する。
インターネット104は、TCP/IPプロトコル群を用いて相互通信を行うネットワークおよびゲートウェイの、世界中にまたがる集合体である。インターネット104の心臓部は、データやメッセージをルーティングする、商用、政府系、教育機関系、およびその他の何千ものコンピュータシステムで構成される主要なノードまたはホストコンピュータを結ぶ高速データ通信回線のバックボーンである。インターネット104の全体を危険にさらしたり、インターネット104上の通信を停止させたりすることなく、インターネット104の1つまたは複数のノードをオフラインにすることが可能であるが、これは、インターネット104を制御しているのが1つのコンピュータやネットワークではないためである。インターネット104の起源は、ARPANETという分散ネットワークであり、これは、米国の国防総省が1969年に、核攻撃を受けても通信が持続されることを目的として創設したものである。現在では、インターネット104は、電子メールやワールドワイドウェブなどの一連のサービスをユーザに提供している。
世界中のHTTPサーバに、相互にリンクされたハイパーテキスト文書106の膨大な集合が存在している。ワールドワイドウェブ(Webページ)を含むこれらの文書は、HTML(hypertext markup language)で書かれ、ファイルにアクセス可能とする手段として特定のマシンおよびパス名を指定するURL(uniform resource locator)で識別され、HTTP(hypertext transfer protocol)によってサーバからエンドユーザに送信される。これらのWebページは、検索エンジン102による検索が可能である。検索エンジン102は、利用可能なWebページのリストを収集し、それらのリストを、ユーザがキーワードで検索可能なデータベースに格納する。検索エンジンの古い例として、LycosやExciteがある。最近の検索エンジンの例としては、GoogleやA9がある。
インターネット104においてWebページの検索が容易であるのは、それらの多くがHTMLという共通言語で書かれ、URLという合意された指定方法によってアクセスが可能であり、HTTPという共通プロトコルによって通信が可能だからである。イントラネット108での検索には、インターネット104では一般に見られない問題がある。イントラネット108は、TCP/IPなどのインターネットプロトコルに基づくプライベートネットワークであるが、会社や団体の内部の情報管理のために設計される。その用途には、文書配布、ソフトウェア配布、データベースへのアクセス、トレーニングなどのサービスが含まれる。イントラネット108がそう呼ばれているのは、ワールドワイドウェブサイトに似ていて、類似技術をベースにしているからであるが、その一方で、厳格に組織内部用であって、インターネットにはまったく接続されない。イントラネット108の内部で利用可能になっているWebページは、従来の検索エンジン102による検索が可能である。一般にそうであるように、文書112など、イントラネット108に接続されている多くの文書は、ハイパーテキストなどの共通言語ではなく、Microsoft(登録商標) Word、Microsoft(登録商標) Excelなど、独自色の強いフォーマットで形成されている。検索エンジン102などの従来の検索エンジンは、ハイパーテキストなどの共通言語で形成されていない文書112の中の情報を検索することができない。
データベース110などのデータベースを検索する場合にも同様の問題が生じる。データベースでは、データは、Webページなどの文書には関連付けられていない。しかし、データベース110には、所望の情報が格納されており、それらはイントラネット108のユーザに対して公開されなければならない(expose)。しかしながら、データベース110は、検索用としてよく整理された構造になっていない。データベース110の検索に関する別の問題は、データベース110の検索に用いることが可能なプロトコルが多いことである。たとえば、検索エンジン102は、照会言語を用いてデータにアクセスすることが可能である。しかしながら、一般にそうであるように、データベース110などのデータベースは、直接にはアクセスされず、検索エンジン102がアプリケーションプログラミングインターフェースの様々なセットを介してアクセスしなければならない。検索エンジン102が1つのプロトコル(HTTP)だけを知っていればWebページと通信してデータを抽出することが可能であるインターネット104とは異なり、イントラネット108を検索する場合は、検索エンジン102は、データベース110などのデータベースやアプリケーション文書112から情報を抽出するために適切であることも適切でないこともある複数のプロトコルを知っていなければならない。
これらの問題や他の問題について、上記でイントラネット検索の文脈で説明してきたが、他のデータベース検索や文書検索の場合も、同一でなくとも類似の、イントラネットと関連することの多い異機種環境の問題がある。ユーザのイントラネット照会に効率よく応えなければならないという問題を解決しなければ、最後には、検索エンジン102は、格納されている情報を再生できる所望のコンピュータ活用を可能にするものとしてユーザに信頼されることがなくなるであろうし、市場での検索エンジンの需要が先細りになるであろう。したがって、既存のシステムに関連する前述の問題や他の問題を回避または緩和しながらイントラネット照会に応えるためのシステム、方法、およびコンピュータ読み取り可能な記録媒体が必要である。
本発明は、データベースおよびアプリケーション文書をクローリングするためのシステム、方法、およびコンピュータ読み取り可能な記録媒体を提供する。
本発明のシステム形態は、情報を求めて多種多様なデータベースを探索するシステムを備える。このシステムは、探索される一連のデータベースと、返される情報に制約を加えるフィルタとを列挙する、コンピュータ読み取り可能な記録媒体に格納された統一データ構造体(unifying data structures)を含む。このシステムはさらに、一連のデータベースと通信するためのプロトコル群を1つのプロトコルに変換する、別のコンピュータ読み取り可能な記録媒体に格納された統一アプリケーションプログラミングインターフェースを含む。このシステムはさらに、その1つのプロトコルを用いて、統一データ構造体で記述されたメソッドを呼び出し、一連のデータベースの各データベースに固有のプロトコルを知ることなく、所望の情報を求めて一連のデータベースを探索するクローラを含む。
本発明のさらなる態様によれば、本発明のコンピュータ読み取り可能な記録媒体の形態は、情報を求めて多種多様なデータベースをクローリングするプロセスを強化するデータ構造体を格納するコンピュータ読み取り可能な記録媒体を含む。このデータ構造体は、クローラによって探索されるデータベースを示すシステムフィールドと、データベースに格納されている各情報に与えられる意味を示すエンティティフィールドと、データベース内のエンティティフィールドのインスタンスを見つけるための呼び出し可能なロジック部分を示すメソッドと、値で埋められる変数を示すパラメータフィールドと、メソッドの呼び出しによって返される情報に制約を加える注釈を示すフィルタフィールドとを含む。
本発明のさらなる態様によれば、本発明の方法形態は、所望の情報を求めてデータベースおよびアプリケーション文書を探索する、コンピュータに実装される方法を含む。この方法は、所望の情報を求めてクローリングすることを含み、このクローリングは、統一データ構造体にアクセスし、1つまたは複数のフィルタを有するファインダメソッドを呼び出して各データベース下の各エンティティを探索することによって行われる。各フィルタは、返される情報に制約を加える。この方法はさらに、ユーザがハイパーリンクを選択した場合に、その選択結果を受け取ることを含む。このハイパーリンクは、ある識別子に関連付けられており、それによって、1つまたは複数のデータベースに存在する、その識別子に関連付けられたエンティティに関係する情報を取得する。
本発明の前述の各態様および付随する利点の多くは、以下の詳細説明を添付図面と併せて参照することにより、よりよく理解され、より容易に価値が認められるであろう。
システム内部でイントラネットに接続されたビジネスシステム群を検索することが可能なシステムを図2に示す。このシステムは、データベース208〜212およびアプリケーション文書(図示せず)から形成されたビジネスシステム群に格納されている情報をクローラ200が見つけることを可能にするために連係動作するソフトウェアアプリケーション群を有するネットワークコンピューティング環境である。クローラ200は、所望の情報を求めてイントラネットを検索する、自動化されたアプリケーションである。クローラ200は、検索エンジン(図示せず)による一致評価を可能にするように、データベース208〜212内およびコンテンツ関連情報内のキーフィールドにインデックスを作成する。
図2に示したシステムは、検索エンジンが、データベース208〜212およびアプリケーション文書(Microsoft(登録商標) Excel文書など)と通信するための固有プロトコルを知らなくても、情報を求めてデータベース208〜212を検索することを可能にする機能を提供する。クローラ200がデータベース208〜212に接続するために用いなければならないであろうプロトコルは多数あるが、本発明の各種実施形態は、データベース208〜212およびアプリケーション文書にある情報にアクセスする方法を統一する統一アプリケーションプログラミングインターフェース204を含む。統一アプリケーションプログラミングインターフェース204は、クローラ200がデータベース208〜212およびアプリケーション文書と通信するための固有プロトコルを知らなくてもデータベース208〜212と通信できるように、変換を行う。多くのデータベース(データベース208〜212など)は、データベースの照会、更新、および管理に用いられてきた従来のデータベース準言語である構造化照会言語を理解する。しかしながら、データベース208〜212は一般に、構造化照会言語の使用を隠蔽してデータベース208〜212から所望の情報を取得することができるビジネスロジックを有する。したがって、各データベース208〜212は、個々のデータベースに情報を照会するための、個々のデータベースに固有である、カスタマイズ可能なプロトコルを有する。多くのソフトウェアアプリケーションは、クローラ200からはアクセスも閲覧もできない埋め込み(embed)データベースにアプリケーション文書を格納していた。ソフトウェアアプリケーションにおけるこれらの埋め込みデータベースは、適切なプロトコルがコンパイルされていればアクセス可能である。本発明の各種実施形態では、ユーザが検索エンジンにキーワードを入力することが可能であり、クローラ200が、データベース208〜212内の所望の情報を検索することが可能であり、それらの情報を検索結果としてユーザに返すことが可能であるように、それらの情報にインデックスを作成することが可能である。
統一アプリケーションプログラミングインターフェース204は、統一データ構造体202とともに、クローラ200が、データベース208〜212およびアプリケーション文書と通信するための固有プロトコルを知らなくてもデータベース208〜212と通信することを可能にする。たとえデータベース208〜212のプロトコルが既知であっても、データベース208〜212から所望の情報を取得するためには、データベース208〜212の固有のアプリケーションプログラミングインターフェース(API)208A〜212Aも既知でなければならない。統一アプリケーションプログラミングインターフェース204は、統一データ構造体202とともに、クローラ200が、固有のプロトコルを知らなくても、固有のアプリケーションプログラミングインターフェース208A〜212Aを知らなくても、所望の情報を取得できるようにする。
当業者であれば理解されるように、データベース208〜212に格納されている各情報は、何テラバイトにもおよぶ非常に大きいものである場合がある。データベース208〜212が様々な情報を非常に高速に処理可能であるとしても、様々な情報が非常に素早く非常に大きくなる。クローラ200がデータベース208〜212内のどれだけ多くの情報を探索してインデックスを作成するかについては、クローラ200に制約を加えることが好ましい。重要でないレガシーデータや履歴データは、クローラ200の探索対象から外すことが好ましい。本発明の各種実施形態は、統一データ構造体202の中にフィルタまたは注釈を含み、これらのフィルタまたは注釈は、クローラ200の探索に様々な制約を加える。クローラ200が統一アプリケーションプログラミングインターフェース204を呼び出すと、統一アプリケーションプログラミングインターフェース204は、統一データ構造体202に照会して、データベース208〜212およびアプリケーション文書にある情報を探索する際の制約を認識する。フィルタまたは注釈を与える好適な手法の1つは、データ記述言語を用いることである。データ記述言語は、データ構造体を記述することに特化して設計された言語である。
データベース208がAPI208Aを有し、特定ビジネスの顧客に関する情報を取得するためにAPI208Aを呼び出すことが可能であるとする。このAPIが呼び出されると、データベース208が、検索可能な顧客リストを返す。本発明の各種実施形態では、そのAPIの呼び出しの入力パラメータに対し、最終修正日付などの制約によるフィルタリングまたは注釈づけを行い、それによって、データベース208の探索を制限する。クローラ200は、統一データ構造体202に格納されている制約を用いて、その最終修正日付より新しい情報を見つけることが可能である。API208Aは、統一データ構造体202によって与えられた制約(最終修正日付)に対応する情報を返す。この例では、統一データ構造体202に格納されている内容物の中でも特にこの制約がAPI208Aに意義を与えている。言い換えると、返される情報は、最終修正日付より新しい顧客情報であることがわかっている。フィルタまたは注釈を用いることにより、クローラ200の探索の効率を高めることが可能になる。
データベース208がクローラ200によって探索された後、情報がフィールド名およびフィールド値によって戻される。各フィールドは特定の意味を有する。データベース208がリレーショナルデータベースとして実装されていれば、フィールドは、特定の並びを識別する一意識別フィールドであることができる。本発明の各種実施形態では、カテゴリ結果をユーザに提示して、情報に関連付けられた値への接続を可能にするために、それらの一意識別フィールドからハイパーリンクを作成することが可能である。ユーザがハイパーリンクを選択すると、その特定のハイパーリンクに接続されたすべての情報が、適切なアプリケーション(ブラウザなど)を介してユーザに対して表示される。この手法は、クローラ200が探索したすべての内容を返すようにデータベース208〜212に要求することによって、データベース208〜212を過負荷にすることを避けるために用いることが好ましい。キーフィールドを識別子として用いるとともに、統一データ構造体202においてフィルタまたは注釈を用いると、すべての情報が一度に返されるのを防ぐことが可能であり、それによって、データベース208〜212によって形成されているコンピューティングシステムが壊滅することを回避することが可能である。本発明の各種実施形態では、統一データ構造体202においてフィルタまたは注釈を用い、キーフィールドを識別子として用いることによって、検索要求を複数の部分に分割する。特定の識別子に接続されたハイパーリンクをユーザが選択すると、この識別子が、データベース208内の並びを一意識別するフィールドに接続され、ユーザの関心の対象であると示された、情報の一部分が返される。
データベース208〜212はレコード群で構成され、各レコードには、フィールド群と、それに付随する検索、並べ替え、再結合およびその他の機能のセットとが含まれる。レコード内のフィールドは、キーの一部として指定される情報部分を一意識別する構造体である。これらのキーは、データベース208〜212の情報を取り出す性能を高める。本発明の各種実施形態は、これらのキーフィールドに関連付けられた説明または名前を提供する。これらのキーフィールドの1つをユーザが選択すると、所望の情報を含む、しかるべきレコードがユーザに返される。
統一データ構造体202は、クローラ200が探索可能なデータベース208〜212を表す、システムのディレクトリを示す。言い換えると、統一データ構造体202は、組織内のビジネスシステムの系統(データベース208〜212など)を、クローラ200が探索できるように列挙する。統一データ構造体202内のフィルタまたは注釈は、クローラ200の探索によって見つかった、データベース208〜212内の情報に意味を与える。クローラ200は、統一アプリケーションプログラミングインターフェース204を介して、データベース208〜212のうちのいずれとも通信することができる。クローラ200は、統一アプリケーションプログラミングインターフェース204とだけ通信できればよい。統一アプリケーションプログラミングインターフェース204は、データベース208〜212との通信に用いるアダプタ群206のうちの特定のアダプタを認識する。アダプタ群206から選択されたアダプタは、API208A〜212Aのうちの特定のAPIを認識し、データベース208〜212内の情報にアクセスする。
アダプタ206は、通常は、データベース208〜212のソフトウェアメーカーから提供される。しかしながら、サードパーティのソフトウェアメーカーもアダプタ206を提供することが可能である。アダプタ206は一般にセマンティック変換(または意味の付与)を行わないが、統一アプリケーションプログラミングインターフェース204が、統一データ構造体202とともにセマンティック変換を行う。これは、当業者であれば理解されるように、クローラ200は一般に、データベース208〜212に格納されている情報のセマンティクスを理解することを期待されていないからである。クローラ200は、探索時に、情報のフィールド、テーブルまたは部分を認識するが、情報の意味を理解しない。統一アプリケーションプログラミングインターフェース204および統一データ構造体202によって行われるセマンティック変換(「最終修正日付」など)は、クローラ200がよりインテリジェントに検索を行うことを可能にする。
図3は、統一データ構造体202の本質をよりよく説明するクラウド(cloud)図300である。システム300は、クラウド間の関係を示しており、各クラウドは、より具体的なアイテムのグループを表す一般化カテゴリである。図3を参照されたい。クラウドは、クラウドの任意のメンバを特徴づける属性の集合および/またはサービス(プログラムの他の部分に対して実行可能なアクション)の集合を定義するためにプログラム内で用いられる記述ツールである。各クラウドは、本質的に、含んでいるエンティティの種類と、それらのエンティティの動作とを定義する。各クラウドは、好適なプログラミング手法(たとえば、オブジェクト指向プログラムやリレーショナルデータベーステーブルなど)を用いて実装可能である。
システムクラウド302は、ビジネスの系統を表す属性およびサービスを定義し、それはそのビジネスに関連する情報を含む。たとえば、データベース208〜212は、それぞれが、システムクラス302によって表されることが可能なシステムである。システム302のインスタンスは、SAPシステム302Aを含み、このSAPシステム302AはSAPシステムに関連する属性およびサービスを定義する。SAPシステム302Aから発せられ、システムクラウド302の矢印形状のところで終わる端部は、SAPシステム302Aのインスタンス化とシステムクラウド302との間に対応関係があることを示す。
エンティティクラウド304は、データベース208〜212やSAPシステム302Aなどのシステムにある情報に与えられた構造に関連する属性およびサービスを定義する。たとえば、SAPシステム302Aがリレーショナルデータベースを用いて実装されているとする。エンティティクラウド304の適切なインスタンス化を用いると、クローラ200からはデータのリレーショナルテーブルが見えず、SAPシステム302A内の顧客の並びが見える。エンティティクラウド304から発せられ、システムクラウド302の矢印形状のところで終わる端部は、システムクラウド302との1対多関係(すなわち、1つのシステムと、その1つのシステムの中の多数のエンティティとの関係)を示す。
顧客インスタンス304Aは、商品またはサービスを購入する顧客の表現に関連した属性およびサービスを定義する。顧客インスタンス304Aを用いて、SAPシステム302Aにある情報に意味と構造を与え、それらの中の特定の情報が顧客に関連する情報であることを示すことが可能である。エンティティクラウド304によって表される各エンティティは、システムクラウド302によって表されるシステム(SAPシステム302Aなど)に存在する情報の構造の記述である。顧客エンティティ304Aから発せられ、エンティティクラウド302の矢印形状のところで終わる端部は、顧客エンティティ304Aのインスタンス化とエンティティクラウド302との間に対応関係があることを示す。
各エンティティクラウド304は、メソッドクラウド306で表される特徴を有する。メソッドクラウド306は、エンティティが持ちうる動作を表す属性およびサービスを定義する。メソッドクラウド306から発せられ、エンティティクラウド304の矢印形状のところで終わる端部は、エンティティクラウド304との1対多関係(すなわち、1つのエンティティと、その1つのエンティティの中の多数のメソッドとの関係)を示す。
ファインダメソッド306Aは、システム内でエンティティを見つける機能を提供する。たとえば、ファインダメソッド306Aを用いて、システム(SAPシステム302Aなど)内のエンティティとして顧客を見つけることができる。クローラ200は、システム内のエンティティの固有のファインダメソッドを用いて、そのエンティティのすべてのインスタンスを見つけることが好ましい。ファインダメソッド306Aから発せられ、メソッドクラウド306の矢印形状のところで終わる端部は、ファインダメソッド306Aのインスタンス化とメソッドクラウド306との間に対応関係があることを示す。
各メソッドは、1つまたは複数のパラメータを有する。これらのパラメータは、パラメータクラウド308で表され、これはメソッドのパラメータを表す属性およびサービスを定義する。パラメータクラウド308から発せられ、メソッドクラウド304の矢印形状のところで終わる端部は、メソッドクラウド306との1対多関係(すなわち、1つのメソッドと、その1つのメソッドの中の多数のパラメータとの関係)を示す。
パラメータの1つの種類が、フィルタクラウド308Aで表されるフィルタである。フィルタクラウド308Aは、(ファインダメソッド306Aなどの)メソッドを呼び出すことによって、クローラ200が探索し返す情報に、注釈をつけるかその情報を制限する属性およびサービスを定義する。フィルタクラウド308Aから発せられ、パラメータクラウド308の矢印形状のところで終わる端部は、パラメータクラウド308との1対多関係(すなわち、1つのパラメータと、その1つのパラメータの中の多数のフィルタとの関係)を示す。
1つの好ましいフィルタは、「修正開始時(modified-since)」フィルタ308Bで表され、これは修正日付が特定時点より後である情報を制限することに関する属性およびサービスを定義する。修正開始時フィルタ308Bから発せられ、フィルタクラウド308Aの矢印形状のところで終わる端部は、修正開始時フィルタ308Bのインスタンス化とフィルタクラウド308Aとの間に対応関係があることを示す。フィルタクラウド308Aをインスタンス化して、(SAPシステム302Aなどの)システムにある所望の情報に注釈をつけるか、その情報をフィルタリングすることが可能である。
メソッドの名前(たとえば、ファインダメソッド306A)とそのシグネチャ(たとえば、パラメータクラウド308のインスタンスとフィルタ308Aのインスタンス(すなわち、修正開始時フィルタ308B))は、原文どおりに記述され、統一データ構造体202に格納されることが好ましい。メソッドクラウド306は、パラメータクラウド308によって表されるパラメータの集合体である。メソッドクラウド306によって表されるメソッドの集合体が、エンティティクラウド304によって表されるエンティティの特性または動作である。それとともに、システムクラウド302のインスタンス、エンティティクラウド304のインスタンス、およびメソッドクラウド306のインスタンスが、システムに格納されているロジック部分(たとえば、呼び出して、所望の情報を取得することが可能な、データベース208〜212のAPI208A〜212A)をポイントする。
ユーザがブラウザの検索入力領域に検索表現「98229」を入力するとする。検索文字列は、注文番号、顧客番号、郵便番号など、様々な意味を持つものであることが可能である。検索エンジンもクローラ200も、検索表現が意味する内容を知ることはない。エンティティクラス304は、戻りデータに意味を持たせられるように、統一データ構造体202内にセマンティクスを与える。たとえば、クローラ200は、検索表現「98229」を見つけることが可能な、SAPシステム302A内のエンティティのカテゴリを返すことができる。これらのカテゴリは、注文番号、顧客番号、郵便番号などを含む。検索表現は、SAPシステム302Aまたは他のシステム(データベース208〜212など)に格納されている任意のフィールドに表示することが可能である。ユーザは、システムから情報を取得するためには、特定のエンティティを表すハイパーリンクを選択して指定する必要がある。この選択内容から、クローラ200が、所望の情報をSAPシステム302Aから抽出するためにどの固有メソッドまたはファインダメソッドを呼び出すべきかを認識する。
本発明の各種実施形態では、特定のシステム(データベース208〜210など)の固有のプロトコルと直接対話する新しいプロトコルハンドラを書く必要はもはやない。それに代わって、クローラ200は、統一アプリケーションプログラミングインターフェース204および統一データ構造体202を用いて、統一アプリケーションプログラミングインターフェース204と直接対話する必要があり、その際、データベース208〜212が必要とするプロトコルの細部を知る必要がない。データベース208〜212に固有のプロトコルは、ある意味では、本発明の各種実施形態によって単一の統一プロトコルに変換される。より具体的には、この変換は、クローラ200が特定のエンティティについてファインダメソッドを呼び出すことである。情報を見つけるためには、クローラ200は、ユーザの関心の対象である特定のエンティティの所望のファインダメソッドを見つけるだけでよい。他の複雑なプロトコルを知らなくても、クローラ200は、所望の情報をデータベース208〜212から抽出することが可能である。
統一データ構造体202は、システムクラウド302によって定義される様々なシステムと、エンティティクラウド304によって定義される様々なエンティティと、メソッドクラウド306によって定義される様々なメソッド(たとえば、ファインダメソッド306A)と、パラメータクラウド308によって定義される様々なパラメータと、フィルタクラウド308Aによって定義される様々なフィルタ(たとえば、修正開始時フィルタ308B)とを、原文どおりに含む。データベース208〜212などのシステムの知識を有する、組織内の情報技術(IT)担当者が、統一データ構造体202の内容を埋めることが好ましい。統一データ構造体202の実装において本発明の各種実施形態を用いれば、コードを書く必要はない。統一データ構造体202の内容を埋めるために、組織内の情報技術担当者にユーザインターフェースが提供されることが好ましい。
ファインダメソッド306Aは、複数存在することが可能である。1つのファインダメソッドが、データベース208〜212などのシステムにおいて、情報を含む特定の並びを見つけることを可能にし、別の好適なファインダが、所望の情報を含む複数の並びを見つけることが好ましい。メソッドクラウド306で表されるいくつかのメソッドは、パラメータクラス308で表される複雑なパラメータを有することができる。メソッドの呼び出しを簡略化するために、本発明の各種実施形態では、各種メソッドのデフォルトのパラメータを記述し、統一データ構造体202に格納することが可能である。これらのデフォルトのパラメータは、メソッドの呼び出しの際に自動的に挿入され、クローラ202はパラメータの細部を指定する必要がない。
図4A〜Gは、データベースおよびアプリケーション文書にある情報を求めてクローリングするプロセス400を示しており、簡単のために、プロセス400の以下の説明では、クラウド図300(図3)およびクローラ200(図2)と関連して示される様々な要素を参照する。プロセス400は、開始ブロックから、継続ターミナル(「ターミナルA」)と出口ターミナル(「ターミナルB」)との間で定義された一連のプロセスステップ402に進む。一連のプロセスステップ402は、統一データ構造体202の内容を埋めるプロセスである。
プロセス400は、ターミナルA(図4B)からブロック408に進む。ブロック408では、情報技術担当者が1つまたは複数のシステムを原文どおりに指定する。プロセス400はブロック410に進む。ブロック410では、IT担当者がシステム内の1つまたは複数のエンティティを原文どおりに指定する。次にIT担当者は、エンティティに関連する1つまたは複数のメソッド(すなわち、ファインダメソッド)を原文どおりに指定する。ブロック412を参照されたい。プロセス400は次にブロック414に進む。ブロック414では、IT担当者が、メソッドに関連する1つまたは複数のパラメータを原文どおりに指定する。次のブロック416では、IT担当者が、メソッドに関連する1つまたは複数のフィルタを原文どおりに指定する。IT担当者は同様に、1つまたは複数のデフォルトパラメータを原文どおりに指定する。ブロック418を参照されたい。その後、プロセス400は出口ターミナルBに進む。
プロセス400は、出口ターミナルBから、継続ターミナル(「ターミナルC」)と出口ターミナル(「ターミナルD」)との間で定義された一連のプロセスステップ404に進む。一連のプロセスステップ404は、データベースおよびアプリケーション文書に対してクローリングを実行するプロセスである。
プロセス400は、ターミナルC(図4C)からブロック420に進む。ブロック420では、クローラが統一APIを用いて統一データ構造体を調べ、クローリングするシステムを選択する。次のブロック422では、クローラが統一APIを用いて、(統一データ構造体内で)クローリングするシステムのエンティティを見つける。システムの一例がデータベース208である。エンティティの別の例は、顧客エンティティ304Aである。クローラは、統一APIを用いて、エンティティのファインダメソッドを見つける。ブロック424を参照されたい。プロセス400は次にブロック426に進む。ブロック426では、クローラが、統一APIを用いて、ファインダメソッドに関連する1つまたは複数のパラメータを見つける。クローラは、統一APIを用いて、1つまたは複数のデフォルトパラメータを見つける。ブロック428を参照されたい。プロセス400は次にブロック430に進む。ブロック430では、クローラが、統一APIを用いて、クローラの期限切れを強制するために1つまたは複数のフィルタを見つける。次にプロセス400は、さらなる継続ターミナル(「ターミナルC1」)に進む。
ターミナルC1(図4D)から、クローラは、統一APIを用いて、1つまたは複数のフィルタによる制約を受けた1つまたは複数のデフォルトパラメータを有するメソッドを呼び出す。次のブロック434では、統一APIが、メソッドおよびパラメータを、特定のシステム(たとえば、データベース208)へのアダプタが認識可能なパラメータを有する別のメソッドに変換する。アダプタは、メソッド呼び出しを、システムのAPI(たとえば、API208A)が認識可能なプロトコルに変換する。ブロック436を参照されたい。プロセス400は次にブロック438に進む。ブロック438では、アダプタが、メソッド呼び出しを、所望の情報を見つけることが可能なシステムの特定のAPIが認識可能なプロトコルに変換する。次にプロセス400は、さらなる継続ターミナル(「ターミナルC2」)に進む。
プロセス400は、ターミナルC2(図4E)から判断ブロック442に進む。判断ブロック442では、クローラが選択されたメソッドを用いてクローリングを完了したかどうかを判定するテストを実行する。判断ブロック442のテストの答えが「いいえ」であれば、プロセス400はループバックして判断ブロック442のテストを再度実行する。答えが「はい」であれば、プロセス400はブロック444に進む。ブロック444では、メソッドが、所望の情報を含む並びを一意識別するキーフィールド(およびキーフィールドの説明)にインデックスを作成する。さらに判断ブロック446では、クローリングすべきエンティティがシステム内にさらにあるかどうかを判定するテストを実行する。判断ブロック446のテストの答えが「はい」であれば、プロセス400はさらなる継続ターミナル(「ターミナルC3」)に進む。プロセス400は、ターミナルC3(図4C)からブロック422にループバックする。ブロック422では、既述のプロセスステップを繰り返す。判断ブロック446のテストの答えが「いいえ」であれば、プロセス400はさらなる継続ターミナル(「ターミナルC4」)に進む。
プロセス400は、ターミナルC4(図4F)から判断ブロック448に進む。判断ブロック448では、クローリングすべきシステムがさらにあるかどうかを判定するテストを実行する。このテストの答えが「はい」であれば、プロセス400はさらなる継続ターミナル(「ターミナルC5」)に進む。プロセス400は、ターミナルC5(図4C)からブロック420にループバックする。ブロック420では、既述のプロセスステップを繰り返す。判断ブロック448のテストの答えが「いいえ」であれば、プロセス400は出口ターミナルDに進む。
プロセス400は、出口ターミナルDから、継続ターミナル(「ターミナルE」)と出口ターミナル(「ターミナルF」)との間で定義された一連のプロセスステップ406に進む。一連のプロセスステップ406では、クローラが見つけた情報の各種識別情報を選択的に表示する。ターミナルE(図4F)から、ユーザがブラウザを介して検索表現を入力する。ブロック450を参照されたい。次のブロック452では、プロセス400は、検索表現の内容を含む、システムのエンティティを収集する。次にプロセス400は、さらなる継続ターミナル(「ターミナルE1」)に進む。
プロセス400は、ターミナルE1(図4G)からブロック454に進む。ブロック454では、検索表現の内容を含むエンティティの説明をユーザに提示する。次のブロック456では、ユーザが特定のエンティティを選択する。統一APIが、インデックスを用いて、検索表現の内容および特定システムの特定エンティティに関連する実際の情報をプルする。次にプロセス400はブロック460に進む。ブロック460では、ブラウザ上でユーザに情報を提示する。次にプロセス400は判断ブロック462に進む。判断ブロック462では、実行すべき検索がさらにあるかどうかを判定する、さらなるテストを実行する。判断ブロック462のテストの答えが「はい」であれば、プロセス400はターミナルEに進み、図4Fにループバックして、既述のプロセスステップを繰り返す。判断ブロック462のテストの答えが「いいえ」であれば、プロセス400は出口ターミナルFに進み、実行を終了する。
本発明の好ましい実施形態を図示および説明してきたが、これらについては、本発明の趣旨および範囲を逸脱することなく様々な変更を施すことが可能であることを理解されたい。
アプリケーション文書およびデータベースを検索する際の様々な問題を示す、従来のシステムのブロック図である。 情報を求めてデータベースおよびアプリケーション文書をクローリングする例示的システムを示すブロック図である。 データベースおよびアプリケーション文書に格納されている各情報に対する構造体をまとめて定義するアイテムグループを表す一般化カテゴリを示すクラウド図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。 本発明の一実施形態による、情報を求めてデータベースおよびアプリケーション文書をクローリングするプロセスを示すプロセス図である。
符号の説明
200 クローラ
202 統一データ構造体
204 統一アプリケーションプログラミングインターフェース
206 アダプタ
208,210,212 データベース
208A,210A,212A API

Claims (13)

  1. 情報を求めて多種多様なデータベースを探索するシステムであって、
    前記システムは、少なくとも1つのメモリストレージと、
    前記少なくとも1つのメモリストレージに接続された少なくとも1つのプロセッサと
    を備え、
    前記メモリストレージは、
    探索される一連のデータベースと、検索要求に対して返される情報の各部分を制約し、すべての情報が一度に返されるのを防ぐことにより、前記一連のデータベースの過負荷を防止するために、検索要求を複数の各部分に分割するためのフィルタとを列挙する、統一データ構造体と、
    前記一連のデータベースと通信するためのプロトコル群を1つのプロトコルに変換し、情報の前記各部分に対する意味を付与するセマンティンク変換する統一アプリケーションプログラミングインターフェースと、
    前記統一アプリケーションプログラミングインターフェース内の前記1つのプロトコルを用いて、前記統一データ構造体で記述されたメソッドを呼び出し、前記一連のデータベースの各データベースに固有の対応するアプリケーションプログラミングインターフェースに加えて対応するプロトコルを知ることなく、前記一連のデータベース内の情報の前記各部分を探索するクローラ(crawler)と
    を備え、
    記フィルタは前記クローラを制約するように構成され、前記統一アプリケーションプログラミングインターフェースは、前記統一データ構造体と対話して前記クローラの制約条件を決定するように構成され、前記統一アプリケーションプログラミングインターフェースが、前記統一データ構造体と対話して前記クローラの制約条件を決定するように構成されることは、前記統一アプリケーションプログラミングインターフェースが、統一データ構造体に照会して、前記一連のデータベース内の情報の前記各部分を探索する際の制約を認識することと、前記一連のデータベースをクローリングすることに関連する前記メソッドを呼び出すことを前記クローラに許容するために変換を提供することとを含み、前記統一アプリケーションプログラミングインターフェースによる前記照会は、前記統一データ構造体を記述することに特化して設計されたデータ記述言語を使用することを含む
    ことを特徴とするシステム。
  2. 前記統一データ構造体は、システムの下に、システム内の情報の前記各部分に与えられた構造に関連する属性およびサービスを定義する、少なくとも1つのエンティティを含み、各システムは、前記一連のデータベースの中のデータベースを含み、各エンティティは、前記一連のデータベースの中の少なくとも1つデータベース内の情報の前記各部分に構造を与えることを特徴とする請求項1に記載のシステム。
  3. 前記統一データ構造体は、前記少なくとも1つのエンティティの下に、前記少なくとも1つのエンティティに属する動作を表す属性およびサービスを定義する少なくとも1つのメソッドを含み、前記少なくとも1つの各メソッドは、少なくとも1つのデータベース内の情報の前記各部分を呼び出して探索する機能を前記クローラに提供するように構成されている前記統一データ構造体によって記述可能であることを特徴とする請求項2に記載のシステム。
  4. 前記統一データ構造体は、前記少なくとも1つのメソッドのパラメータを表す属性およびサービスを定義する少なくとも1つのパラメータを含み、前記少なくとも1つのパラメータは、返される情報の前記各部分に制約を加えるために前記フィルタによって注釈を付けられる(annotate)ことを特徴とする請求項3に記載のシステム。
  5. 前記フィルタは、特定の日付以降に修正された情報の前記各部分をフィルタリングするフィルタを含むことを特徴とする請求項4に記載のシステム。
  6. 情報の各部分を求めてデータベースおよびアプリケーション文書を探索する、コンピュータに実装される方法であって、
    一データ構造体にアクセスし、各データベースに固有のプロトコルおよびアプリケーションプログラミングインターフェースを知ることなく、少なくとも1つのフィルタを有するファインダメソッドを呼び出して各データベース下の各エンティティを探索することであって、
    前記少なくとも1つのフィルタのそれぞれは、
    検索要求に対して返される情報の各部分に制約を与えること、
    検索要求を複数の部分に分割すること、
    少なくとも1つのデータベースであって、前記少なくとも1つデータベースのそれぞれは、少なくとも1つのレコードを備え、前記少なくとも1つのレコードは少なくとも1つのフィールドを備え、前記少なくとも1つのフィールドは、キーの一部である情報を識別するように構成されている、少なくとも1つのデータベースの過負荷を防止すること、および
    クローラを制約すること、とを行うように構成され、
    前記クローラを制約することは、統一アプリケーションプログラミングインターフェースが前記一連のデータベースと通信するためのプロトコル群を1つのプロトコルに変換し、情報の前記各部分に対する意味を付与するセマンティンク変換を行うことと、統一アプリケーションプログラミングインターフェースが、統一データ構造体に照会して、前記少なくとも1つのデータベース内の情報の前記各部分を探索する際の制約を認識することと、前記少なくとも1つのデータベースをクローリングすることに関連する前記ファインダメソッドを呼び出すことを前記クローラに許容するために変換を提供することとにより、前記統一データ構造体と対話して前記クローラの前記制約を決定することとを含み、前記統一アプリケーションプログラミングインターフェースによる前記照会は、前記統一データ構造体を記述することに特化して設計されたデータ記述言語を使用することを含む探索することと、
    識別子に関連付けられているハイパーリンクが、ユーザによって選択された場合にユーザ選択を受け取ることであって、前記識別子は、前記識別子に関連付けられたエンティティに関係する、少なくとも1つのデータベースに存在する情報を取得するための識別子であることを特徴とする受け取ることと、
    によって、クローラと通信しているコンピュータデバイスにより、所望の情報を求めてクローリングする動作と、
    クローリングされる少なくとも1つのデータベースと、各データベース内の情報の各部分に与えられる構造に関係する属性とサービスを定義するエンティティと、各メソッドのパラメータを表す属性とサービスを定義するメソッドと、前記パラメータに関連付けられたフィルタと、を列挙するための、前記クローリング動作に先立って前記統一データ構造体の内容を埋める動作と
    を含むことを特徴とする方法。
  7. 前記データベース内のキーフィールドにインデックスを作成することをさらに備えることを特徴とする請求項に記載の方法。
  8. 前記統一アプリケーションプログラミングインターフェースによる前記メソッドの前記呼び出しを、データベースに固有のアプリケーションプログラミングインターフェースの呼び出しに変換することをさらに備えることを特徴とする請求項に記載の方法。
  9. 前記少なくとも1つのデータベースで見つかった情報の各部分を、前記メソッドの呼び出しに関連付けられた前記フィルタに適合するようにフィルタリングすることをさらに備えることを特徴とする請求項8に記載の方法。
  10. 所望の情報の各部分を求めてデータベースおよびアプリケーション文書を探索する、コンピュータに実装される方法を実装するための命令を格納するコンピュータ読み取り可能な記録媒体であって、前記方法は、
    統一データ構造体にアクセスし、各データベースに固有のプロトコルおよびアプリケーションプログラミングインターフェースを知ることなく、少なくとも1つのフィルタを有するファインダメソッドを呼び出して各データベース下の各エンティティを探索することであって、前記各フィルタは、
    検索要求に対して返される情報の前記各部分に制約を与えること、
    検索要求を複数の各部分に分割すること、
    少なくとも1つのデータベースであって、前記少なくとも1つのデータベースのそれぞれは、少なくとも1つのレコードを備え、前記少なくとも1つのレコードは少なくとも1つのフィールドを備え、前記少なくとも1つのフィールドは、キーの一部である情報を識別するように構成されている、少なくとも1つのデータベースの過負荷を防止すること、および
    クローラを制約すること、とを行うように構成され、
    前記クローラを制約することは、統一アプリケーションプログラミングインターフェースが前記一連のデータベースと通信するためのプロトコル群を1つのプロトコルに変換し、情報の前記各部分に対する意味を付与するセマンティンク変換を行うことと、統一アプリケーションプログラミングインターフェースが、統一データ構造体に照会して、前記少なくとも1つのデータベース内の情報の前記各部分を探索する際の制約を認識することと、前記少なくとも1つのデータベースをクローリングすることに関連する前記ファインダメソッドを呼び出すことを前記クローラに許容するために変換を提供することとにより、前記統一データ構造体と対話して前記クローラの前記制約を決定することとを含み、前記統一アプリケーションプログラミングインターフェースによる前記照会は、前記統一データ構造体を記述することに特化して設計されたデータ記述言語を使用することを含む探索することと、
    識別子に関連付けられているハイパーリンクがユーザによって選択された場合に選択内容を受け取ることであって、前記識別子は、前記識別子に関連付けられたエンティティに関係する、少なくとも1つのデータベースに存在する情報を取得するための識別子である受け取ることと
    によって、情報の前記各部分をクローリングする動作と、
    クローリングされる少なくとも1つのデータベースと、各データベース内の情報の前記各部分に与えられる構造に関係する属性とサービスを定義するエンティティと、各エンティティに属する動作を表す属性とサービスを定義するメソッドと、各メソッドのパラメータを表す属性とサービスを定義するメソッドと、各メソッドの前記パラメータに関連付けられたフィルタとを列挙するために、クローリング動作に先立って前記統一データ構造体の内容を埋める動作と
    を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
  11. 前記データベース内のキーフィールドにインデックスを作成することをさらに備えることを特徴とする請求項10に記載のコンピュータ読み取り可能な記録媒体。
  12. 統一アプリケーションプログラミングインターフェースによる前記メソッドの呼び出しを、データベースに固有のアプリケーションプログラミングインターフェースの呼び出しに変換することをさらに備えることを特徴とする請求項11に記載のコンピュータ読み取り可能な記録媒体。
  13. 前記1つまたは複数のデータベースで見つかった情報の前記各部分を、前記メソッドの呼び出しに関連付けられた前記フィルタに適合するようにフィルタリングすることをさらに備えることを特徴とする請求項12に記載のコンピュータ読み取り可能な記録媒体。
JP2006055312A 2005-03-29 2006-03-01 データベースのクローリングによる情報検索 Expired - Fee Related JP5048956B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/096,429 2005-03-29
US11/096,429 US7801880B2 (en) 2005-03-29 2005-03-29 Crawling databases for information

Publications (3)

Publication Number Publication Date
JP2006277732A JP2006277732A (ja) 2006-10-12
JP2006277732A5 JP2006277732A5 (ja) 2009-04-16
JP5048956B2 true JP5048956B2 (ja) 2012-10-17

Family

ID=36581869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006055312A Expired - Fee Related JP5048956B2 (ja) 2005-03-29 2006-03-01 データベースのクローリングによる情報検索

Country Status (5)

Country Link
US (1) US7801880B2 (ja)
EP (1) EP1708104A1 (ja)
JP (1) JP5048956B2 (ja)
KR (1) KR101224800B1 (ja)
CN (1) CN1841377A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848264B1 (ko) * 2006-11-23 2008-07-25 연세대학교 산학협력단 강교량의 데이터베이스 구축방법
JP4868245B2 (ja) * 2007-08-17 2012-02-01 ヤフー株式会社 検索システム、検索装置、および検索方法
EP2463785A1 (en) * 2010-12-13 2012-06-13 Fujitsu Limited Database and search-engine query system
US8620897B2 (en) * 2011-03-11 2013-12-31 Microsoft Corporation Indexing and searching features including using reusable index fields
JP5578137B2 (ja) * 2011-05-25 2014-08-27 富士通株式会社 検索プログラム、装置及び方法
US9558248B2 (en) * 2013-01-16 2017-01-31 Google Inc. Unified searchable storage for resource-constrained and other devices
RU2568276C2 (ru) * 2014-01-24 2015-11-20 Закрытое акционерное общество "РИВВ" Способ извлечения полезного контента из установочных файлов мобильных приложений для дальнейшей машинной обработки данных, в частности поиска
US10467062B1 (en) 2019-03-11 2019-11-05 Coupang, Corp. Systems and methods for managing application programming interface information
US11366862B2 (en) * 2019-11-08 2022-06-21 Gap Intelligence, Inc. Automated web page accessing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370004B1 (en) * 1999-11-15 2008-05-06 The Chase Manhattan Bank Personalized interactive network architecture
US6876997B1 (en) * 2000-05-22 2005-04-05 Overture Services, Inc. Method and apparatus for indentifying related searches in a database search system
JP2002049637A (ja) * 2000-08-04 2002-02-15 Hitachi Ltd データベース管理方法及び装置並びに記録媒体
US7630959B2 (en) * 2000-09-06 2009-12-08 Imagitas, Inc. System and method for processing database queries
US20020042789A1 (en) * 2000-10-04 2002-04-11 Zbigniew Michalewicz Internet search engine with interactive search criteria construction
US6636854B2 (en) * 2000-12-07 2003-10-21 International Business Machines Corporation Method and system for augmenting web-indexed search engine results with peer-to-peer search results
US7299219B2 (en) * 2001-05-08 2007-11-20 The Johns Hopkins University High refresh-rate retrieval of freshly published content using distributed crawling
US20040230572A1 (en) * 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
US6763362B2 (en) * 2001-11-30 2004-07-13 Micron Technology, Inc. Method and system for updating a search engine
US20040117376A1 (en) * 2002-07-12 2004-06-17 Optimalhome, Inc. Method for distributed acquisition of data from computer-based network data sources
JP2005071050A (ja) * 2003-08-22 2005-03-17 Nippon Hoso Kyokai <Nhk> 情報提示システム、情報提示装置、及び情報提示プログラム。
US8224872B2 (en) * 2004-06-25 2012-07-17 International Business Machines Corporation Automated data model extension through data crawler approach

Also Published As

Publication number Publication date
CN1841377A (zh) 2006-10-04
JP2006277732A (ja) 2006-10-12
US7801880B2 (en) 2010-09-21
US20060224592A1 (en) 2006-10-05
KR20060105438A (ko) 2006-10-11
KR101224800B1 (ko) 2013-01-21
EP1708104A1 (en) 2006-10-04

Similar Documents

Publication Publication Date Title
JP5048956B2 (ja) データベースのクローリングによる情報検索
US9298702B1 (en) Systems and methods for pairing of a semantic network and a natural language processing information extraction system
US9460396B1 (en) Computer-implemented method and system for automated validity and/or invalidity claim charts with context associations
US5737592A (en) Accessing a relational database over the Internet using macro language files
US8260815B2 (en) System and method for accessing non-compatible content repositories
US8060538B2 (en) Method and system for creating a concept-object database
US6199081B1 (en) Automatic tagging of documents and exclusion by content
US9026901B2 (en) Viewing annotations across multiple applications
US7487174B2 (en) Method for storing text annotations with associated type information in a structured data store
US20050234894A1 (en) Techniques for maintaining collections of generated web forms that are hyperlinked by subject
Punin et al. LOGML: Log markup language for web usage mining
US7548912B2 (en) Simplified search interface for querying a relational database
US8983931B2 (en) Index-based evaluation of path-based queries
US20030088715A1 (en) System for keyword based searching over relational databases
JP2000090076A (ja) ドキュメント管理方法およびドキュメント管理システム
US20070061294A1 (en) Source code file search
US20080016048A1 (en) Intelligent condition pruning for size minimization of dynamic, just in time tables
KR20060048418A (ko) 사용자 정의 형식의 지정 멤버의 지연 인출을 위한시스템과 방법
US8015570B2 (en) Arbitration mechanisms to deal with conflicting applications and user data
US20020089551A1 (en) Method and apparatus for displaying a thought network from a thought&#39;s perspective
US20060265387A1 (en) Method and apparatus for loading artifacts
JP2002534741A (ja) 半構造化テキストデータを処理する方法及び装置
JP3786233B2 (ja) 情報検索方法および情報検索システム
Martin et al. Using metadata to query passive data sources
Cotter et al. Pro Full-Text Search in SQL Server 2008

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090302

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111220

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: 20120713

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: 20120720

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

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees