×この技術を簡単クリック査定この機能をご利用いただくには、会員登録(無料)が必要です。出願した特許の牽制数、引用された数などを知る事ができます。気になる技術や特許をブックマークしておけば、いつでも後から読むことができます。後で印刷するために、公報をPDFでダウンロードできます。会員登録してastamuseを使えば、もっと簡単に便利にお使いいただけます。会員登録(無料)「astamuse」は世界中の挑戦したい社会課題に挑戦し、未来を創る人のプラットフォームです。この項目の情報は公開日時点(2014年2月20日)のものです。変更履歴を個別管理する各属性情報から構成される情報の検索を容易にすることを課題とする。解決手段データ検索装置10は、メインテーブル21のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブル22から、属性情報および変更履歴を取得し、有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成する。データ検索装置10は、作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成する。データ検索装置10は、作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う。近年、異なるシステムや異なるフォーマットで蓄積されたために、統合した利用が困難な共有資産となるデータが多数存在している。このようなデータを利用する既存システムに応じて個別最適化されたスキーマとデータ群が、既存の枠組みを超えて参照・有効活用できることが求められている。Integration)、企業内の知識共有が可能なようにするナレッジマネージメント、マスタデータを統合活用するためのマスタデータマネージメントなどの技術が提供されている。このようなデータを管理する技術として、コード管理ファイルに有効期限を付与することにより同一コードに対応する値の変更履歴の管理を可能とする技術が知られている(例えば、非特許文献1参照)。このようなデータを管理して検索する技術として、リレーショナルデータベースに格納されているデータをグラフデータの一種であるRDFデータへと変換し、RDFデータを検索する技術が知られている(例えば、非特許文献2参照)。変更履歴を個別管理する各属性情報から構成される情報の検索を容易にすることを課題とする。データ検索装置10は、メインテーブル21のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブル22から、属性情報および変更履歴を取得し、有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成する。データ検索装置10は、作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成する。データ検索装置10は、作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う。請求項1所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成部と、前記テーブル作成部によって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成部と、前記グラフ作成部によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索部と、を備えることを特徴とするデータ検索装置。請求項2前記テーブル作成部は、前記履歴テーブルから、前記属性情報および前記変更履歴を取得し、全ての属性情報について、前記有効期間が共通する属性情報同士を対応付け、前記有効期間が共通する属性情報の組に対して一意に識別できる識別子を付与したテーブルをログテーブルとして作成し、前記ログテーブルの情報に基づき、前記有効期間のうち最も新しい期間の属性情報を記憶するテーブルをカレントログテーブルとして作成することを特徴とする請求項1に記載のデータ検索装置。請求項3前記テーブル作成部によって作成されたテーブルを記憶する記憶部をさらに備え、前記検索部は、前記記憶部によって記憶されたテーブルを読み出し、該テーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成することを特徴とする請求項1または2に記載のデータ検索装置。請求項4前記グラフ作成部は、前記テーブル作成部で作成されたテーブルを用いて、所定のデータの最新の全属性情報と、その属性情報が有効な期間とを紐づけたカレントリソースと、所定のデータの最新の全属性情報が不変な期間と、その期間の全属性情報とを紐づけたログリソースと、前記カレントリソースと前記ログリソースの関係情報で構成されたグラフデータを作成することを特徴とする請求項1〜3のいずれか一つに記載のデータ検索装置。請求項5前記グラフ作成部は、前記最新の全属性情報、前記カレントリソース、前記不変な期間、前記ログリソース、および、前記グラフデータに加え、前記ログリソース間の順序関係をさらに作成することを特徴とする請求項4に記載のデータ検索装置。請求項6前記所定のデータを記憶するメインテーブルとともに、該所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とが対応付けられた複数の履歴テーブルを記憶する記憶部と、前記記憶部によって記憶された複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成部と、前記テーブル作成部によって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成部と、前記グラフ作成部によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索部と、を備えることを特徴とするデータ検索システム。請求項7データ検索装置で実行される情報推薦方法であって、所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成工程と、前記テーブル作成工程によって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成工程と、前記グラフ作成工程によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索工程と、を含んだことを特徴とするデータ検索方法。0001本発明は、データ検索装置、データ検索システム、データ検索方法およびデータ検索プログラムに関する。背景技術0002近年、異なるシステムや異なるフォーマットで蓄積されたために、統合した利用が困難な共有資産となるデータが多数存在している。このようなデータを利用する既存システムに応じて個別最適化されたスキーマとデータ群が、既存の枠組みを超えて参照・有効活用できることが求められている。Integration)、企業内の知識共有が可能なようにするナレッジマネージメント、マスタデータを統合活用するためのマスタデータマネージメントなどの技術が提供されている。0004また、このようなデータを管理する技術として、コード管理ファイルに有効期限を付与することにより同一コードに対応する値の変更履歴の管理を可能とする技術が知られている(例えば、非特許文献1参照)。このようなデータを管理して検索する技術として、リレーショナルデータベースに格納されているデータをグラフデータの一種であるRDFデータへと変換し、RDFデータを検索する技術が知られている(例えば、非特許文献2参照)。先行技術0005“就業管理システムリシテアシリーズ”、[online]、[平成24年7月23日検索]、インターネット<http://lysithea.jp/products/>“D2RQ”、[online]、[平成24年7月23日検索]、インターネット<http://d2rq.org/>発明が解決しようとする課題0006しかしながら、上記した同一コードに対応する値の変更履歴を管理する技術では、検索のためのクエリが複雑化するという課題があった。複数の属性情報から構成される情報を一意に実体が定まるIDに紐付けて統合・管理する場合に、IDに紐付けられた情報を構成する属性情報個々の変更履歴は管理されているが、変更履歴情報を横断的に検索する手段については言及されていない。このため、変更履歴を個別管理する各属性情報から構成される情報を検索する場合に、情報のスキーマ構造を把握していなければ、どのような属性情報から構成されるかが分からず、検索のためのクエリが複雑化するという課題があった。0007また、上記したRDFデータを検索する技術では、スキーマ構造を知らなくても全属性情報を検索、取得できるようになるが、履歴情報を持つ各属性情報のテーブルを1つに統合するために再構成するスキーマ変更機能を持たないため、全属性情報の変遷を辿る検索の実施にあたり、複数の履歴情報の精査が必要となり、クエリが複雑化するという課題があった。0008そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、変更履歴を個別管理する各属性情報から構成される情報の検索を容易に実現することを目的とする。課題を解決するための手段0009上述した課題を解決し、目的を達成するため、データ検索装置は、所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成部と、前記テーブル作成部によって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成部と、前記グラフ作成部によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索部と、を備えることを特徴とする。0010また、データ検索システムは、前記所定のデータを記憶するメインテーブルとともに、該所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とが対応付けられた複数の履歴テーブルを記憶する記憶部と、前記記憶部によって記憶された複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成部と、前記テーブル作成部によって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成部と、前記グラフ作成部によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索部と、を備えることを特徴とする。0011また、データ検索方法は、データ検索装置で実行される情報推薦方法であって、所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成工程と、前記テーブル作成工程によって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成工程と、前記グラフ作成工程によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索工程と、を含んだことを特徴とする。0012また、データ検索プログラムは、所定のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブルから、前記属性情報および前記変更履歴を取得し、前記有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成するテーブル作成ステップと、前記テーブル作成ステップによって作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成するグラフ作成ステップと、前記グラフ作成ステップによって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う検索ステップと、をコンピュータに実行させることを特徴とする。発明の効果0013本願に開示するデータ検索装置、データ検索システム、データ検索方法およびデータ検索プログラムは、変更履歴を個別管理する各属性情報から構成される情報の検索を容易にするという効果を奏する。図面の簡単な説明0014図1は、第一の実施の形態に係るデータ検索装置の構成を示すブロック図である。図2は、社員メインテーブルの一例を示す図である。図3は、部屋番号履歴テーブルの一例を示す図である。図4は、職責履歴テーブルの一例を示す図である。図5は、部屋番号履歴テーブルの一例を示す図である。図6は、社員ログテーブルの一例を示す図である。図7は、社員ログ順序テーブルの一例を示す図である。図8は、社員カレントログテーブルの一例を示す図である。図9は、RDFデータの一例を示す図である。図10は、RDFデータの一例を示す図である。図11は、社員カレントログテーブルの一例を示す図である。図12は、URIであらわされるカレントリソースをグラフ表現した場合におけるノードの一例を示す図である。図13は、RDFデータの一例を示す図である。図14は、設定ファイルの一例を示す図である。図15は、RDFデータの計算機処理フォーマットの一例を示す図である。図16は、社員ログテーブルの一例を示す図である。図17は、URIであらわされるログリソースをグラフ表現した場合におけるノードの一例を示す図である。図18は、RDFデータの一例を示す図である。図19は、設定ファイルの一例を示す図である。図20は、RDFデータの計算機処理フォーマットの一例を示す図である。図21は、RDFデータの一例を示す図である。図22は、設定ファイルの一例を示す図である。図23は、RDFデータの計算機処理フォーマットの一例を示す図である。図24は、マスタデータから作成したRDFデータの一例を示す図である。図25は、簡単な検索クエリで検索結果を取得できることを説明するための図である。図26は、簡単な検索クエリで検索結果を取得できることを説明するための図である。図27は、RDFに変換しているため、外部のRDFデータとの相互接続が容易であることを説明する図である。図28は、第一の実施の形態に係るデータ検索装置の処理動作を示すフローチャートである。図29は、第一の実施の形態に係るデータ検索装置の処理動作を示すフローチャートである。図30は、データ検索プログラムを実行するコンピュータを示す図である。図1図10図11図12図13図14図15図16図17図18実施例0015以下に添付図面を参照して、この発明に係るデータ検索装置、データ検索システム、データ検索方法およびデータ検索プログラムの実施形態を詳細に説明する。この実施形態によりこの発明が限定されるものではない。0016[第一の実施の形態]以下の実施の形態では、第一の実施の形態に係るデータ検索システムの構成、および処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。0017[データ検索装置の構成]まず、図1を用いて、図1に示したデータ検索システム100に含まれるデータ検索装置10の構成を説明する。図1は、第一の実施の形態に係るデータ検索装置の構成を示すブロック図である。Base)20と、アプリケーション30とを有する。図10018マスタデータDB20は、メインテーブル21と、メインテーブル21に対応付けられた複数の履歴テーブル22とを格納する。Data」と、レコードが存在する間不変な「属性情報」とが格納されている。Data」が格納されている。0019例えば、メインテーブル21は、図2に例示するように、社員に関する情報を格納するメインテーブルとして「社員メインテーブル」を記憶する。Data」とを記憶する。図20020また、例えば、履歴テーブル22は、図3および図4に例示するように、社員に関する履歴管理された属性情報を格納した履歴テーブルとして、「部屋番号履歴テーブル」および「職責履歴テーブル」を記憶する。Data」とを対応付けて記憶する。Data」とを対応付けて記憶する。図3図40021アプリケーション30は、データ検索装置10に対して、検索クエリを送信して検索要求を行い、その検索要求に対する検索結果を受信する。検索処理については、データ検索装置の検索部13の説明で詳述する。0022データ検索装置10は、テーブル作成部11、グラフ作成部12、検索部13、変換用DB14およびグラフDB15を有し、マスタデータDB20およびアプリケーション30と接続している。以下にこれらの各部の処理を説明する。0023変換用DB14は、後述するテーブル作成部11によって作成されるログテーブル、ログ順序テーブルおよびカレントログテーブルを記憶する。変換用DB14は、記憶したログテーブル、ログ順序テーブルおよびカレントログテーブルが、後述するグラフ作成部12によって読み出される。ログテーブル、ログ順序テーブルおよびカレントログテーブルについては、後に詳述する。0024グラフDB15は、後述するグラフ作成部12によって作成されたRDFグラフデータを格納する。グラフDB15は、記憶したRDFグラフデータが、後述する検索部13によって検索され、読み出される。RDFグラフデータについては、後に詳述する。0025テーブル作成部11は、メインテーブル21のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブル22から、属性情報および変更履歴を取得し、有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成し、変換用DB14に格納する。以下に、テーブル作成部11によって実行させる処理について詳しく説明する。0026まず、テーブル作成部11は、変換するメインテーブル21をマスタデータDB21から取得し、メインテーブル21に紐付く全ての履歴テーブル22を取得する。テーブル作成部11は、図2に例示した「社員メインテーブル」が変換するメインテーブルとして指定された場合には、該メインテーブルに紐付く全履歴テーブルとして、図3および図4に例示した「部屋番号履歴テーブル」と「職責履歴テーブル」とをマスタデータDB20から取得する。図2図3図40027そして、テーブル作成部11は、履歴テーブルの中で、履歴情報の無い期間を精査し、履歴の無い期間をNULL値で埋める。図3の部屋番号履歴テーブルの例では、「2000−4−1から2000−4−31までの期間」および「2002−6−1から2003−5−31までの期間」については、履歴情報が無い期間である。このような場合、テーブル作成部11は、履歴情報の無い期間に対しては、期間とID以外の属性情報にNULL値を入れて、図5に例示するように、履歴の無い期間を無くした部屋番号履歴テーブルを作成する。オリジナルのテーブルにデータを追記することは、安全でないため、ビューや一時テーブルの形で記録しておくことが望ましい。図3図50028続いて、テーブル作成部11は、全履歴テーブルで、属性値が変化しない期間を取得し、ログテーブルを構築する。具体的には、テーブル作成部11は、メインテーブル21と関連する属性テーブルに格納されている属性情報を精査し、全ての属性情報において変更しない期間を取得する。テーブル作成部11は、「LogID」を付与して、IDおよび全属性値と属性値が変化しない期間をログテーブルに格納する。0029例えば、図4に例示した職責履歴テーブルおよび図5に例示した部屋番号履歴テーブルを精査し、全ての属性情報において変更しない期間を取得してログテーブルを構築した結果、図6に例示するような社員ログテーブルが出来上がる。「LogID」は、一意の値となるように自動的に付与されており、上記の例では、ID+startDataとなっているが、この例に限定されることはない。図4図5図60030そして、テーブル作成部11は、ログテーブルからログ順序テーブルを構築する。具体的には、テーブル作成部11は、ログテーブルの中で、同一IDを持つレコード間の順序関係を精査し、順序関係を記録するログ順序テーブルを作成する。このログ順序テーブルには、図7に例示するように、「LogID」と、LogIDの1つ前のログを示す「PrevLogID」、LogIDの次のログを示す「NextLogID」が格納される。図7に例示する社員ログ順序テーブルは、図6の社員ログテーブルを精査した結果、出来上がったテーブルの例である。図6図70031続いて、テーブル作成部11は、ログテーブルからカレントログテーブルを構築する。Date以外の値を社員カレントログテーブルに格納する。社員ログテーブルにおけるLogIDは、社員カレントログテーブルにおけるカレントLogIDに対応する。図2の社員メインテーブルと図6の社員ログテーブルから、図8に例示する社員カレントログテーブルを構築することができる。図2図6図80032その後、テーブル作成部11は、全ての変換するメインテーブルに対して上記で説明した処理を行って、ログテーブル、ログ順序テーブルおよびカレントログテーブルを作成する処理を繰り返し行い、ログテーブル、ログ順序テーブルおよびカレントログテーブルを変換用DB14に格納する。Framework)データ)を作成し、グラフDB15に格納する。以下に、グラフ作成部12によって実行させる処理について詳しく説明する。RDFデータとは、サブジェクト、プロパティ、オブジェクトの3つ組みで表されるラベル付き有向グラフで表せるデータである。図9および図10は、RDFデータをグラフ表現した例である。図9の「emp:1234111」とラベルが付けされた楕円ノードがサブジェクト、「鈴木太郎」とラベルが付けされた長方形ノードがオブジェクト、「emp:氏名」とラベル付けされた有向きエッジがプロパティである。RDFデータのノードには、楕円ノードで表現されるRDFリソースと、長方形ノードで表現されるリテラルの2種類のノードがある。RDFリソースとプロパティには、URIなどユニークに識別できるIDをラベルにふられる。RDFリソースは、「rdf:type」でタイプを割り当てることができる。図10では、RDFリソース「emp:1234111」のタイプは「emp:社員」である。図10図90034まず、グラフ作成部12は、カレントログテーブルから、カレントリソースと、カレントリソースに繋がる周辺情報を作成する。Identifier)化してRDFリソース化したものである。カレントリソースの周辺情報は、カレントリソースをサブジェクトないしはオブジェクトにし、カレントログテーブルのID以外の属性をプロパティに、その属性値をオブジェクトないしはサブジェクトに変換することで作成する。0035例えば、図11に例示する社員カレントログテーブルに格納されているデータからは、URIのカレントリソースとして、「http://hogehoge.com/employee#1234111」および「http://hogehoge.com/employee#3399000」が得られる。上記したURIであらわされるカレントリソースは、後述のグラフ表現するとき、図12に示すような楕円で囲まれたノードで表現される。図11図120036具体的には、グラフ作成部12は、カレントリソースと、カレントリソースに繋がる周辺情報を作成する処理として、カレントログテーブルのレコードごとにRDFデータを変換する。グラフ作成部12は、IDをRDFリソースに変換し、これをサブジェクトに、ID以外のカレントログテーブルの属性をプロパティに、その属性値をオブジェクトに変換する。ここで、カレントリソースのタイプ、カレントリソースをサブジェクトにするか、オブジェクトにするか、各属性に対応するプロパティ名、各属性値をリテラルにするか、RDFにするか等は、グラフ作成部12が保持する設定ファイルによって事前に定義されている。図14は、図11の社員カレントログテーブルから、カレントリソースとカレントリソースにつながる周辺情報を作成するための設定ファイルの例である。図14の設定ファイルを用いた、カレントリソースの作成方法を説明する。社員カレントログテーブルの「ID」の値と「http://hogehoge.com/employee#」を組み合わせて、タイプが「emp:社員」となるRDFリソース化し、これをカレントリソースとする。次に、図14の設定ファイルを用いた周辺情報の作成方法を説明する。社員カレントログテーブルの「カレントLogID」の値を、「http://hogehoge.com/employee#」と組み合わせてRDFリソース化したものをオブジェクトとし、カレントリソースをサブジェクトとし、プロパティ「emp:カレントlog」を経由してつなげる。社員カレントログテーブルの「氏名」の値は、値をそのままリテラル化したものをオブジェクトとし、カレントリソースをサブジェクトとして、プロパティ「emp:氏名」を経由してつなげる。同様に、社員カレントログテーブルの他の値もRDFに変換する。図11図140037具体例を挙げると、図13に示すRDFデータは、図8に例示する社員カレントログテーブルのID「1234111」のレコードを変換してRDFデータにしたものである。図14に例示するデータは、図13に例示するRDFデータに変換する際に使用した設定ファイルの例であり、各属性に対応するプロパティ名などが定義されている。図15に例示するデータは、図13に例示するRDFデータを計算機処理する際のデータフォーマットの例である。図13図14図15図80038そして、グラフ作成部12は、ログテーブルから、ログリソースと、ログリソースに繋がる周辺情報を作成する。ここで、ログリソースとは、ログテーブルやログ順序テーブルに格納されている「LogID」に該当する項目、ログ順序テーブルに格納されている「NextLogID」および「PrevLogID」に該当する項目が抽出され、URI化してRDFリソース化したものである。ログリソースの周辺情報は、ログリソースをサブジェクトないしはオブジェクトにし、ログテーブルのLogID以外の属性をプロパティに、その属性値をオブジェクトないしはサブジェクトに変換することで作成する。0039例えば、図16に例示する社員ログテーブルに格納されているデータからは、URIのログソースとして、「http://hogehoge.com/employee#1234111-2000-4-1」、「http://hogehoge.com/employee#1234111-2000-5-1」等が得られる。URIの「http://hogehoge.com/employee#」の部分は、グラフ作成部12が保持する定義ファイル等で設定されているものとする。上記したURIであらわされるログリソースは、後述のグラフ表現するとき、図17に示すような楕円で囲まれたノードで表現される。図16図170040具体的には、グラフ作成部12は、ログリソースと、ログリソースに繋がる周辺情報を作成する処理として、ログテーブルから、ログリソースの周辺情報を作成する。グラフ作成部12は、IDをリソースに変換してサブジェクトにし、LogIDから作成したログリソースをオブジェクトに、IDとログID間の関係性を示す名称をプロパティに変換する。0041また、グラフ作成部12は、ログIDをRDFリソースに変換し、これをサブジェクトに、ログIDとID以外のログテーブルの属性をプロパティに、その属性値をオブジェクトに変換する。ここで、ログリソースのタイプ、ログリソースをサブジェクトにするか、オブジェクトにするか、各属性に対応するプロパティ名、各属性値をリテラルにするか、RDFにするか等は、グラフ作成部12が保持する設定ファイルによって事前に定義されている。図19は、図16の社員ログテーブルから、ログリソースとログリソースに繋がる周辺情報を作成するために使用する、設定ファイルの例である。図19の設定ファイルを用いた、ログリソースの作成方法を説明する。社員ログテーブルの「LogID」の値と「http://hogehoge.com/employee#」を組み合わせて、タイプが「emp:社員ログ」となるRDFリソース化し、これをログリソースとする。次に、図19の設定ファイルを用いた周辺情報の作成方法を説明する。log」を経由してつなげる。社員ログテーブルの「氏名」の値は、値をそのままリテラル化したものをオブジェクトとし、ログリソースをサブジェクトとして、プロパティ「emp:氏名」を経由してつなげる。同様に、社員ログテーブルの他の値もRDFに変換する。図16図190042具体例を挙げると、図18に示すRDFデータは、図6に例示する社員ログテーブルのID「1234111−2000−5−1」のレコードを変換してRDFデータにしたものである。図19に例示するデータは、図18に例示するRDFデータに変換する際に使用した設定ファイルの例であり、各属性に対応するプロパティ名などが定義されている。図20に例示するデータは、図18に例示するRDFデータを計算機処理する際のデータフォーマットの例である。図18図19図20図60043続いて、グラフ作成部12は、ログ順序テーブルから、ログリソース間の順序関係情報を作成する。具体的には、グラフ作成部12は、ログIDをRDFリソース化したものをサブジェクトに、前ログを示すプロパティを用意し、PrevLogIDをRDFリソース化したものをオブジェクトに変換する。プロパティ名等は、設定ファイルによって事前に定義されている。図22は、図7のログ順序テーブルから、ログリソース間の順序関係情報を作成するために使用する、設定ファイルの例である。図22の設定ファイルを用いたログリソース間の順序関係情報の作成方法を説明する。社員ログ順序テーブルの「LogID」の値を、「http://hogehoge.com/employee#」と組み合わせてRDFリソース化したものを、サブジェクトとする。次に、プロパティを「emp:prevLog」として、社員ログ順序テーブルの「PrevLogID」の値を、「http://hogehoge.com/employee#」と組み合わせてRDFリソース化したものを、オブジェクトとする。図22図70044具体例を挙げると、図21に示すRDFデータは、図7に例示する社員ログ順序テーブルのレコードを変換してRDFデータにしたものである。図22に例示するデータは、図21に例示するRDFデータに変換する際に使用した設定ファイルの例であり、各属性に対応するプロパティ名などが定義されている。図23に例示するデータは、図21に例示するRDFデータを計算機処理する際のデータフォーマットの例である。図21図22図23図70045上記の処理によってグラフ作成部12は、図24に例示するように、マスタデータDB20に記憶されたマスタデータからRDFデータを作成する。図24のRDFデータの例は、図2のマスタデータから作成されたグラフデータである。このように、データ検索装置10は、マスタデータのスキーマ構造を知らなくても、属性情報と属性値を取得できるように、マスタデータに記録された実体を表す実体リソースに対して、全ての実体リソースの属性情報と属性値を紐づくようにスキーマ変更を行う。図2図240046また、データ検索装置10は、事前に複数の履歴情報を持つテーブルの履歴情報を精査し、全ての属性情報に対して変更が無い期間を抽出したのち、属性情報の変更が無い期間に対して履歴リソースを割り当て、実体リソースと履歴リソースの関係を定義し、属性情報と上記の属性情報の変更が無い期間の属性値のペアを、上記の履歴リソースと直接紐づくようにスキーマを変換する。同じ実体リソースに関係する履歴リソースを、履歴期間順にソートし、履歴の前後関係を明記するスキーマに変換する。0047図1の説明に戻って、検索部13は、グラフ作成部12によって作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う。具体的には、検索部13は、アプリケーション30からクエリを受け付けると、受け付けたクエリを用いて、グラフDB15に対してデータ検索を行い、検索結果をアプリケーション30に返信する。図10048ここで、図25および図26の例を用いて、検索処理について具体的に説明する。2002年8月1日時点の全属性情報を検索するクエリを受け付け、該クエリを用いて、グラフDB15に対してデータ検索を行い、鈴木太郎に関する全属性情報を取得する。2002−6−1」〜「2003−3−31」、1つ前のログのログID「1234111−2000−5−1」を取得する。図25図260049このように、ある時点の全属性情報を検索するクエリが容易に記述できる。オリジナルのマスタデータのスキーマ構造では、複雑なクエリになってしまうところが、簡単なクエリの記述で、どのような属性情報があるか分からなくとも、全ての属性情報を取得できる。属性情報の変更履歴を検索するクエリを受け付け、該クエリを用いて、グラフDB15に対してデータ検索を行い、鈴木太郎に関する属性情報の変更履歴を取得し、検索結果としてアプリケーション30に返信する。このように、全属性情報の変更履歴を、簡易なクエリで辿ることができる。オリジナルのマスタデータのスキーマ構造では、複雑なクエリになってしまうところが、簡単なクエリの記述で、どのような属性情報があるか分からなくとも、全属性情報の変更履歴を取得できる。図260051このように、データ検索装置10は、ある時点における全属性情報の検索、及び全属性情報個々の変更履歴の検索を、情報のスキーマ構造を知らず、簡単なクエリにより実現可能とする。0052また、データ検索装置10は、マスタデータDB20に格納されたマスタデータをRDFデータに変換しているので、外部のRDFデータとの相互接続が容易となる。RDFデータは、全てのリソースにユニークなIDとなるURIが割り当てられるため、異種データ間での相互接続が容易となる。異種データを相互接続するため、近年RDF形式のデータが多数公開されている。異なるURIリソースが同一実体であることも、図27に示すように、「owl:sameAs」プロパティを用いることで表現できる。図27に示すように、RDF化することで、マスタデータと外部データとの接続ができ、マスタデータには存在しない情報を辿ることができるようになる。図270053[データ検索装置による処理]次に、図28および図29を用いて、第一の実施形態に係るデータ検索装置10による処理を説明する。図28および図29は、第一の実施形態に係るデータ検索装置の処理動作を示すフローチャートである。図28は、テーブル作成部11によって実行される処理を示すフローチャートであり、図29は、グラフ作成部12によって実行される処理を示すフローチャートである。図28図290054まず、図28を用いて、テーブル作成部11によって実行される処理について説明する。図28に示すように、テーブル作成部11は、変換するメインテーブルをマスタデータDB21から取得し(ステップS101)、メインテーブルに紐付く全ての履歴テーブル22を取得する(ステップS102)。テーブル作成部11は、図2に例示した「社員メインテーブル」が変換するメインテーブルとして指定された場合には、該メインテーブルに紐付く全履歴テーブルとして、図3および図4に例示した「部屋番号履歴テーブル」と「職責履歴テーブル」とをマスタデータDB20から取得する。図2図28図3図40055そして、テーブル作成部11は、履歴テーブル22の中で、履歴情報の無い期間を精査し、履歴の無い期間をNULL値で埋める(ステップS103)。図3の部屋番号履歴テーブルの例では、「2000−4−1から2000−4−31までの期間」および「2002−6−1から2003−5−31までの期間」については、履歴情報が無い期間である。このような場合、テーブル作成部11は、履歴情報の無い期間に対しては、期間とID以外の属性情報にNULL値を入れて、図5に例示するように、履歴の無い期間を無くした部屋番号履歴テーブルを作成する。図3図50056続いて、テーブル作成部11は、全履歴テーブルで、属性値が変化しない期間を取得し、ログテーブルを構築する(ステップS104)。具体的には、テーブル作成部11は、メインテーブル21と関連する属性テーブルに格納されている属性情報を精査し、全ての属性情報において変更しない期間を取得する。テーブル作成部11は、「LogID」を付与して、IDおよび全属性値と属性値が変化しない期間をログテーブルに格納する。0057そして、テーブル作成部11は、ログテーブルからログ順序テーブルを構築する(ステップS105)。具体的には、テーブル作成部11は、ログテーブルの中で、同一IDを持つレコード間の順序関係を精査し、順序関係を記録するログ順序テーブルを作成する。このログ順序テーブルには、図7に例示するように、「LogID」と、LogIDの1つ前のログを示す「PrevLogID」、LogIDの次のログを示す「NextLogID」が格納される。図70058続いて、テーブル作成部11は、ログテーブルからカレントログテーブルを構築する(ステップS106)。Date以外の値を社員カレントログテーブルに格納する。0059その後、テーブル作成部11は、全ての変換するメインテーブル21を処理したか判定する(ステップS107)。この結果、テーブル作成部11は、全ての変換するメインテーブル21を処理していない場合には(ステップS107否定)、ステップS101の処理に戻る。テーブル作成部11は、全ての変換するメインテーブル21を処理した場合には(ステップS107肯定)、テーブル作成部11の処理を終了する。0060次に、図29を用いて、グラフ作成部12によって実行される処理について説明する。図29に示すように、グラフ作成部12は、カレントログテーブルから、カレントリソースに繋がる周辺情報を作成する(ステップS201)。具体的には、グラフ作成部12は、カレントリソースに繋がる周辺情報を作成する処理として、カレントログテーブルのレコードごとにRDFデータを変換する。グラフ作成部12は、IDをRDFリソースに変換し、これをサブジェクトに、ID以外のカレントログテーブルの属性をプロパティに、その属性値をオブジェクトに変換する。図290061そして、グラフ作成部12は、ログテーブルから、ログリソースと、ログリソースに繋がる周辺情報を作成する(ステップS202)。具体的には、グラフ作成部12は、ログリソースと、ログリソースに繋がる周辺情報を作成する処理として、ログテーブルから、ログリソースの周辺情報を作成する。グラフ作成部12は、IDをリソースに変換してサブジェクトにし、LogIDから作成したログリソースをオブジェクトに、IDとログID間の関係性を示す名称をプロパティに変換する。グラフ作成部12は、ログIDをRDFリソースに変換し、これをサブジェクトに、ログIDとID以外のログテーブルの属性をプロパティに、その属性値をオブジェクトに変換する。0062続いて、グラフ作成部12は、ログ順序テーブルから、ログリソース間の順序関係情報を作成し(ステップS203)、グラフ作成部12の処理を終了する。具体的には、グラフ作成部12は、ログIDをRDFリソース化したものをサブジェクトに、前ログを示すプロパティを用意し、PrevLogIDをRDFリソース化したものをオブジェクトに変換する。0063[第一の実施形態の効果]上述してきたように、データ検索装置10は、メインテーブル21のデータに関する属性情報の変更履歴と変更された各属性情報が有効であった期間である有効期間とを対応付けて記憶する複数の履歴テーブル22から、属性情報および変更履歴を取得し、有効期間が共通する属性情報同士を対応付けて記憶するテーブルを作成する。データ検索装置10は、作成されたテーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成する。データ検索装置10は、作成されたグラフデータに対して、検索クエリを用いてデータ検索を行う。これにより、変更履歴を個別管理する各属性情報から構成される情報の検索を容易にすることが可能である。このように、マスタデータとその属性値の変更履歴に関する情報をRDFデータの形式に変換してRDFグラフとしてモデル化して格納する仕組み、及びRDFグラフにモデル化されたマスタデータの変更履歴を検索する仕組みを提供することで、マスタデータの履歴情報の横断検索を容易化することが可能である。ある時点における全属性情報の検索、及び全属性情報個々の変更履歴の検索を、情報のスキーマ構造を知らず、簡単なクエリにより実現可能とする。0064また、第一の実施形態によれば、データ検索装置10は、履歴テーブル22から、属性情報および変更履歴を取得し、全ての属性情報について、有効期間が共通する属性情報同士を対応付け、有効期間が共通する属性情報の組に対して一意に識別できるログIDを付与したログテーブルを作成する。このようなログテーブルを用いて、全ての属性値の変更履歴に関する情報をRDFグラフデータとして作成することが可能である。0065また、第一の実施形態によれば、データ検索装置10は、履歴テーブル22から、属性情報および変更履歴を取得し、有効期間が共通する属性情報同士を対応付けて記憶するログテーブルを作成するとともに、該属性情報の組同士の順序関係を記憶するログ順序テーブルを作成する。このため、ログリソース間の順序関係をRDFグラフデータとして作成することが可能である。0066また、第一の実施形態によれば、データ検索装置10は、履歴テーブル22から、属性情報および変更履歴を取得し、有効期間が共通する属性情報同士を対応付けて記憶するログテーブルを作成するとともに、有効期間のうち最も新しい期間の属性情報を記憶するカレントログテーブルを作成する。このため、カレントログテーブルを用いて、最も新しい属性値の変更履歴に関する情報をRDFグラフデータとして作成することが可能である。0067また、第一の実施形態によれば、データ検索装置10は、作成されたログテーブル等を記憶する変換用DB14をさらに備える。データ検索装置10は、変換用DB14によって記憶されたテーブルを読み出し、該テーブルを用いて、所定の期間における各属性情報同士の関係を表現するグラフデータを作成する。このため、データ検索装置10は、作成したテーブルを適切に記憶して、グラフデータを作成することが可能である。0068[変換用DB]上記第一の実施形態では、変換用DB14は、テーブル作成部11によって作成されるログテーブル、ログ順序テーブルおよびカレントログテーブルを記憶し、記憶したログテーブル、ログ順序テーブルおよびカレントログテーブルが、グラフ作成部12によって読み出される場合を説明したが、これに限定されるものでなく、変換用DB14がなくともよい。この場合には、テーブル作成部11は、作成したログテーブル、ログ順序テーブルおよびカレントログテーブルを、グラフ作成部12に通知する。0069[システム構成]また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。データやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。0070また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。0071[プログラム]また、上記実施形態において説明したデータ検索装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。第一の実施形態に係るデータ検索装置10が実行する処理をコンピュータが実行可能な言語で記述したデータ検索プログラムを作成することもできる。この場合、コンピュータがデータ検索プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。かかるデータ検索プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されデータ検索プログラムをコンピュータに読み込ませて実行することにより上記第一の実施形態と同様の処理を実現してもよい。以下に、図1に示したデータ検索装置10と同様の機能を実現するデータ検索プログラムを実行するコンピュータの一例を説明する。図10072図30は、データ検索プログラムを実行するコンピュータ1000を示す図である。図30に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。Memory)1011及びRAM1012を含む。System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図30に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図30に例示するように、ディスクドライブ1041に接続される。磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1041に挿入される。シリアルポートインタフェース1050は、図30に例示するように、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、図30に例示するように、例えばディスプレイ1061に接続される。図300074ここで、図30に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。上記のデータ検索プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。図300075また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。0076なお、データ検索プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。データ検索システムページトップへこの技術を出願した法人この情報を共有FacebookTwitterGoogle+LinkedInこの技術を発明した人物この情報を共有FacebookTwitterGoogle+LinkedInページトップへ関連する挑戦したい社会課題この情報を共有FacebookTwitterGoogle+LinkedIn癌(5大疾病)のない社会を実現する癌のない社会を実現すると、全世界の患者約1,750万人を助け、年間約760万人の亡くなる命を救うことができます。厚労省が定めた五大疾病に含まれる癌は、周囲の組織を破壊し、治療が遅れると全身に転...最終更新日:2018/06/11高い食料自給率を実現する高い食料自給率を実現すると、国内での食料の安定供給や、他国の問題による食料不足などの問題を防止する可能性が高まります。イノベーションを導く多くの企業が膨大な労力と費用をかけて新たな市場や事業を生み出そうとしている中「イノベーション」にかかわるデータのニーズはかつてないほどの高まりを見せいます。