(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-12
(54)【発明の名称】データ検索のためのリストベースのデータ保存
(51)【国際特許分類】
G06F 16/901 20190101AFI20231205BHJP
【FI】
G06F16/901
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023528107
(86)(22)【出願日】2021-11-09
(85)【翻訳文提出日】2023-07-10
(86)【国際出願番号】 EP2021081011
(87)【国際公開番号】W WO2022101156
(87)【国際公開日】2022-05-19
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
(71)【出願人】
【識別番号】523168168
【氏名又は名称】コルテックス イノベーションズ ゲーエムベーハー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】パルム,ペテル
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175KA07
(57)【要約】
本発明は、データストレージ(104)にデータ(114,115,116)を保存するための方法に関し、方法は:
‐ データ処理及び検索システム(DVSシステム)(102)によって生データ(112)又は生データのアクセスアドレスを受信するステップ(202)と;
‐ 複数の異なるパーサによって生データをパースするステップ(204)であって、それぞれ1つ以上のデータ値及びデータオブジェクトのそれぞれのオブジェクトIDを有するデータオブジェクトを特定し、前記データ値の少なくとも一部には、セマンティックコンセプトがそれぞれ割り当てられている、ステップと;
‐ 前記DVSシステムによるパース結果を自動インポートするステップ(206)と;
‐ 前記DVSシステムによってデータストレージ内に冗長性なしデータ値リスト(114、115、116)の形態で全てのパース結果を自動的に保存するステップ(208)であって、
前記冗長性なしリストは:
・ 1つ以上のコンセプトリストであって、
前記コンセプトリストの各々は、それぞれ1つのセマンティックコンセプトを表し、
非冗長リストは、前記パースの際にそのコンセプトリストの前記セマンティックコンセプトを割り当てられた、インポートされたデータ値を選択的に含み、
・ コンセプトなしリストであって、
前記コンセプトなしリストは、前記パースの際にセマンティックコンセプトが割り当てられなかった、インポートされたデータ値を選択的に含む、コンセプトなしリストと、を含む、ステップと;
‐ 検索クエリに応答するため、及び/又は、データ分析を実行するために、前記DVSシステムによって前記冗長性なしリストを提供するステップと、を含む、方法。
【特許請求の範囲】
【請求項1】
データストレージにデータを保存する方法であって、前記方法は、
‐ データ処理及び検索システム(DVSシステム)によって生データ又は前記生データのアクセスアドレスを受信するステップであって、前記生データは異なる構造を有するステップと;
‐ 複数の異なるパーサによって生データをパースするステップであって、それぞれ1つ以上のデータ値及びデータオブジェクトのそれぞれのオブジェクトIDを有するデータオブジェクトを特定し、前記データ値の少なくとも一部には、セマンティックコンセプトがそれぞれ割り当てられている、ステップと;
‐ 前記DVSシステムによるパース結果を自動インポートするステップと;
‐ 前記DVSシステムによってデータストレージ内に冗長性なしデータ値リストの形態で全てのパース結果を自動的に保存するステップであって、
前記冗長性なしリストは:
・ 1つ以上のコンセプトリストであって、前記コンセプトリストの各々は、それぞれ1つのセマンティックコンセプトを表し、非冗長リストは、前記パースの際にそのコンセプトリストの前記セマンティックコンセプトを割り当てられた、インポートされたデータ値を選択的に含み、前記コンセプトリスト内の各データ値には、そのデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、含まれる前記データ値はこのコンセプトリストの前記セマンティックコンセプトの表現である、コンセプトリストと、
・ コンセプトなしリストであって、前記コンセプトなしリストは、前記パースの際にセマンティックコンセプトが割り当てられなかった、インポートされたデータ値を選択的に含み、前記コンセプトなしリスト内の各データ値には、そのデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、前記パースの際にこのデータオブジェクトに含まれるデータ値にセマンティックコンセプトを割り当てることができなかった、コンセプトなしリストと、を含む、ステップと;
‐ 検索クエリに応答するため、及び/又は、データ分析を実行するために、前記DVSシステムによって前記冗長性なしリストを提供するステップであって、特に、前記検索クエリ及び/又はデータ分析は生データにアクセスすることなく行われる、ステップと;
を含む、方法。
【請求項2】
前記生データの少なくとも一部は、複数のデータ構造の形態で存在し又は受信され、
前記複数のデータ構造は、特に、
‐ XMLファイル、
‐ JSONファイル、
‐ テキストファイル、
‐ CSVファイル、
‐ データバンクテーブル、
‐ オブジェクトツリー、
‐ メディアファイル、特にビデオ、オーディオ、画像ファイル、
‐ GUIを介して受信したデータ、
‐ ストリーミングデータ、
のうちの2つ以上のデータ構造の混合を含む、
請求項1記載の方法。
【請求項3】
前記冗長性なしリストは、
‐ グローバルリストであって、
前記グローバルリストは、インポートされた全てのデータ値の冗長性なしリストであり、
グローバルリストの各データ値には1つ以上のポインタが割り当てられ、
ポインタの各々は、前記コンセプトリストのうちの1つの要素又はそのデータ値と同一のデータ値を含むコンセプトなしリストの要素を指す、グローバルリストを含み、
‐ 前記DVSシステムは、少なくとも前記グローバルリスト上でも分析又はクエリの検索を実行するように構成されており、
前記グローバルリストは、異なるデータオブジェクト内の異なるセマンティックコンセプトを表すデータ値の認識及び/又はコンセプト固有の処理に使用される、
請求項1又は2記載の方法。
【請求項4】
‐ 前記データ値の少なくとも一部は、前記生データを構成するデータ構造のフィールドから抽出され、
前記フィールドは、前記データ構造によって定義され、
前記フィールドは、1つ以上のコンセプト関連フィールド及び/又は1つ以上のコンセプト不可知フィールドを含み、
コンセプト関連フィールドは、フィールド識別子を割り当てられたフィールドであり、
前記フィールド識別子はセマンティックコンセプトを表し;及び/又は
データ値の少なくとも一部は、インポートされたデータ値と、データ分析に基づいてそれらに割り当てられたセマンティックコンセプトを認識するセマンティックパーサによってインポートされ、
‐ データ分析に基づいて、インポートされたデータ値及びそれに割り当てられたセマンティックコンセプトを認識するセマンティックパーサによって前記データ値の少なくとも一部がインポートされ、
前記データ分析は、特に画像分析、音声信号分析、統計分析、分類方法、機械学習方法、及び/又はパターン認識方法であり、
‐ 例えば、DVSシステムは、コンセプト関連フィールドから抽出されたデータ値のうち、それらのコンセプト関連フィールドのフィールド識別子のセマンティックコンセプトを表すコンセプトリストのうちの1つに保存する;及び/又は
‐ 例えば、DVSシステムは、使用されるパーサがデータ値のセマンティックコンセプトを認識しない場合、コンセプト不可知フィールドから抽出されたデータ値のうち、それらを専用的にコンセプトなしリストに保存する、
請求項1乃至3いずれか1項記載の方法。
【請求項5】
‐ 前記データ値がインポートされ保存された後、少なくとも1つの新たなセマンティックコンセプトに割り当てられたデータ値を認識しインポートするように設計されたパーサをさらに提供するステップであって、
前記新たなセマンティックコンセプトは、データストレージに現在含まれているコンセプトリストのいずれによっても表されないコンセプトである、ステップと、
‐ さらなるパーサによって生データを処理するステップであって、
少なくとも1つの新たなコンセプトに割り当てられた生データから1つ以上の新たなデータ値を抽出する、ステップと、
‐ 前記さらなるパーサによって認識された少なくとも1つの新たなセマンティックコンセプトを、DVSシステムによるデータメモリ内の概念リストと比較し、
前記さらなるパーサが少なくとも1つのデータ値を抽出した前記少なくとも1つの新たなセマンティックコンセプトのそれぞれについて新たなコンセプトリストを自動的に生成して記憶するステップと、
‐ 前記さらなるパーサによって前記生データから抽出されたデータ値を、前記さらなるパーサによってそのデータ値に割り当てられた新たなセマンティックコンセプトを表す少なくとも1つの新たなコンセプトリストのものに自動的に保存するステップと、
をさらに含む、請求項1乃至4いずれか1項記載の方法。
【請求項6】
‐ 1つ以上のコンセプト関連検索基準及び/又は1つ以上のコンセプト不可知検索基準を満たすデータオブジェクトを特定するための検索クエリを受信するステップであって、コンセプト関連検索基準は、セマンティックコンセプトの識別子が割り当てられた検索基準であり、コンセプト不可知検索基準は、前記セマンティックコンセプトが割り当てられない検索基準である、ステップと、
‐ 受信した前記コンセプト不可知検索基準のそれぞれを満たす1つ以上のデータ値について、前記コンセプトなしリストを検索するステップと、及び/又は、
‐ 受信したコンセプト関連検索基準のそれぞれについて、この検索基準のセマンティックコンセプトを表すコンセプトリストのうち、前記コンセプト関連検索基準を満たす1つ以上のデータ値を選択的に検索するステップと、
‐ 前記DVSシステムによる検索クエリに応答して、グローバルリスト及び/又は少なくとも1つの前記コンセプトリストの検索の際に特定されたデータ値に割り当てられたオブジェクトID、又はそれらのオブジェクトIDのサブセットを返すステップと、
をさらに含む、請求項1乃至5いずれか1項記載の方法。
【請求項7】
クエリの検索及び/又はデータ分析を実行するために前記冗長性なしリストを使用することは、
‐ 前記冗長性なしリストの2つ以上のデータ値に割り当てられたオブジェクトIDの集合に対して集合演算を行うステップであって、
前記集合演算は、特に、交差集合、結合集合、差分集合又は対称差分集合の演算を含む、
をさらに含む、請求項1乃至6いずれか1項記載の方法。
【請求項8】
‐ データオブジェクトの少なくとも一部は、他のデータオブジェクトと関連し;
‐ DVSシステムは、生データを解析する過程で、及び/又は生データ及び/又は既に保存されている冗長性なしリストのデータ値に対して後で行われるデータ処理演算の過程で、
これらのデータオブジェクトの他のデータオブジェクトに対するオブジェクト関係の抽出を実行し、
‐ データオブジェクトのうちの1つ(第1データオブジェクトと称される)とデータオブジェクトのうちの他のもの(第2データオブジェクトと称される)との抽出された各関係は、関係タイプと第2のデータオブジェクトのオブジェクトIDの組み合わせの形で抽出され、
‐ 抽出された前記組み合わせの各々は、前記コンセプトなしリスト及び/又は少なくとも1つの前記コンセプトリストのデータ値の1つとして保存され、
前記コンセプトなしリスト及び/又は少なくとも1つのコンセプトリストにおいて、
抽出された前記組み合わせの各々は、前記組み合わせで指定された関係が存在する前記第1データオブジェクトの前記オブジェクトIDを割り当てられる、
請求項1乃至7いずれか1項記載の方法。
【請求項9】
‐ 検索データオブジェクトとの関係を有する全てのデータオブジェクトを特定するための検索クエリ又は分析コマンドを受信するステップであって、クエリ又はコマンドは検索オブジェクトIDを含む、ステップと、
‐ グローバルリストを検索して、関係タイプと、前記検索オブジェクトIDと同一のオブジェクトIDと、の組み合わせで構成される全てのデータ値を特定する、ステップと、
‐ 前記グローバルリストで決定された前記データ値が参照する1つ以上のコンセプトリストを識別するステップと;
‐ 前記1つ以上の識別されたコンセプトリストを検索して、前記関係タイプと、前記検索オブジェクトIDと同一のオブジェクトIDと、の組み合わせからなるデータ値を特定する、ステップと、
‐ 1つ以上のコンセプトリストにおいて、特定されたデータ値に割り当てられたオブジェクトID、すなわち検索オブジェクトとの関係を有するデータオブジェクトのIDを返すステップと、
をさらに含む、請求項8記載の方法。
【請求項10】
‐ 前記DVSシステムによるマッピングテーブルを提供するステップであって、前記マッピングテーブルは、前記コンセプトなしリストの各データ値及び前記コンセプトリストの各データ値に1つ以上の識別子を割り当て、前記識別子は、その長さ及び/又は種類が検索及び/又は分析に用いられるコンピュータシステムのプロセッサアーキテクチャに依存する特定の値である、ステップと、
‐ DVSシステムによる前記コンセプトなしリスト及び各コンセプトリストの難読化コピーを生成するステップであって、前記難読化コピーでは、データ値はそれぞれ、マッピングテーブル内のデータ値に割り当てられた識別子でそれぞれ置き換えられる、ステップと、
‐ 前記難読化されたリストを使用して、DVSシステムによる検索クエリ及び/又は分析を実行する、ステップと、
をさらに含む、請求項1乃至9いずれか1項記載の方法。
【請求項11】
‐ 前記DVSシステムによって前記コンセプトリスト及び前記コンセプトなしリストの暗号化するステップ、又は、前記DVSシステムによって難読化されたコンセプトリスト及び前記難読化されたコンセプトなしリストの暗号化するステップと;
‐ 前記検索クエリ又はデータ分析コマンドの受信に応答して、前記暗号化されたリストのうち、前記検索クエリ又は前記データ分析コマンドを処理するために、処理する必要があるリストを識別するステップと;
‐ DVSシステムに対する検索クエリの送信者を認証するステップであって、前記DVSシステムは、識別されたリストのそれぞれについて、前記送信者がリストのコンテンツにアクセスする権限を有するかどうかを個別にチェックする、ステップと;
‐ 前記DVSシステムによって、前記送信者がアクセスする権限を有すると認証されたリストのうち、選択的に復号化されたコピーを生成するステップと;
‐ 前記復号化されたリストコピーに対して、前記検索クエリ又は前記データ分析を実行すること
ー 前記検索クエリ又は前記データ分析の実行後、前記DVSシステムによって前記復号化されたリストコピーを削除し、好ましくは、前記DVSシステムは各リストの暗号化のために異なる暗号化キーを使用する、ステップと、
をさらに含む、請求項1乃至10いずれか1項記載の方法。
【請求項12】
‐ 前記コンセプトリストの少なくとも1つは、種又は亜種の複数の個体のゲノムマーカーを表し、
前記コンセプトリストの別の少なくとも1つは、これらの個体の代謝特性又は表現型特性を表し、
前記DVSシステムは、リストに対する集合演算を用いてデータ分析を実行し、及び
前記データ分析には、一方ではゲノムマーカー、他方では代謝又は表現型形質の相関分析が含まれるか、又は
‐ グローバルリスト及び/又は少なくとも1つの前記コンセプトリストの前記データ値の少なくとも一部は、他のオブジェクトのオブジェクトIDを含む他のオブジェクトとの「ist-Bestandteil-von」関係を指定し、
前記コンセプトリストの別の少なくとも1つは、これらの個体の代謝特性又は表現型特性を表し、
前記DVSシステムは、クエリの検索を実行し、
検索基準は、関係タイプ「ist-Bestandteil-von」とオブジェクトIDの組み合わせを含み、
前記検索基準のオブジェクトIDは、機械若しくは車両又はその機械若しくは車両の多構成部品を表すか、又は
‐ 前記グローバルリスト及び/又は少なくとも1つの前記コンセプトリストの前記データ値の少なくとも一部は、自然言語の単語であり、
前記DVSシステムは、リストに対する集合演算を用いてデータ分析を実行し、及び
前記データ分析は、この自然言語の予測モデルを作成するための単語の相関分析する、
をさらに含む、請求項1乃至11いずれか1項記載の方法。
【請求項13】
前記データ値は、前記冗長性なしリストにソートされている、
をさらに含む、請求項1乃至12いずれか1項記載の方法。
【請求項14】
コンピュータ可読命令が記憶される揮発性又は不揮発性記憶媒体であって、前記命令は、データメモリにデータを保存する、請求項1乃至13いずれか1項記載の方法を、プロセッサに実行させるように設計されている、
記憶媒体。
【請求項15】
‐ 前記冗長性なしデータ値リストは、複数のコンセプトリスト及び1つのコンセプトなしリストを含み、
‐ 冗長性なしリストは、データ値と、1つ以上のこのデータ値をそれぞれ含むデータオブジェクトのオブジェクトIDと、を含み、
‐ 前記コンセプトリストの各々は、それぞれセマンティックコンセプトを表し、
前記冗長性なしリストは、このコンセプトリストのセマンティックコンセプトが割り当てられたデータ値を選択的に含み、
コンセプトリストのデータ値の各々には、
このデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、
含まれる前記データ値は、このコンセプトリストのセマンティックコンセプトの表現であり、
‐ コンセプトなしリストは、セマンティックコンセプトが割り当てられていないデータ値を選択的に含み、
コンセプトなしリストのデータ値の各々には、このデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、
このデータオブジェクトの含まれるデータ値にはセマンティックコンセプトが割り当てられていない、
冗長性なしデータ値リスト。
【請求項16】
請求項15記載の冗長性なしデータ値リストを、このリストに含まれるデータ値を検索及び/又は分析するために使用する方法。
【請求項17】
電子データリポジトリ内のデータを検索するためのコンピュータシステムであって、
前記コンピュータシステムは、この検索の際に、請求項15記載の冗長性なしデータ値リストを、このリストに含まれるデータ値の検索及び/又は分析のために使用するように構成されている、
コンピュータシステム。
【請求項18】
データを保存するコンピュータシステムであって、
‐ 少なくとも1つのプロセッサと、
‐ データストレージと、
‐ データ処理及び検索システム(DVSシステム)と、を備え、
前記DVSシステムは、前記データストレージに保存されたデータを管理し、検索するように設計されており、
前記少なくとも1つのプロセッサに、
・ データ処理及び検索システム-DVSシステムによって生データ又は前記生データのアクセスアドレスを受信するステップであって、前記生データは異なる構造を有するステップと;
・ 複数の異なるパーサによって生データをパースするステップであって、それぞれ1つ以上のデータ値及びデータオブジェクトのそれぞれのオブジェクトIDを有するデータオブジェクトを特定し、前記データ値の少なくとも一部には、セマンティックコンセプトがそれぞれ割り当てられている、ステップと;
・ 前記DVSシステムによるパース結果を自動インポートするステップと;
・前記DVSシステムによってデータストレージ内に冗長性なしデータ値リストの形態で全てのパース結果を自動的に保存するステップであって;
前記冗長性なしリストは:
・・ 1つ以上のコンセプトリストであって、前記コンセプトリストの各々は、それぞれ1つのセマンティックコンセプトを表し、非冗長リストは、前記パースの際にそのコンセプトリストの前記セマンティックコンセプトを割り当てられた、インポートされたデータ値を選択的に含み、前記コンセプトリスト内の各データ値には、そのデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、含まれる前記データ値はこのコンセプトリストの前記セマンティックコンセプトの表現である、コンセプトリストと、
・・ コンセプトなしリストであって、前記コンセプトなしリストは、前記パースの際にセマンティックコンセプトが割り当てられなかった、インポートされたデータ値を選択的に含み、前記コンセプトなしリスト内の各データ値には、そのデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、前記パースの際にこのデータオブジェクトに含まれるデータ値にセマンティックコンセプトを割り当てることができなかった、コンセプトなしリストと、を含む、ステップと;
・ 検索クエリに応答するため、及び/又は、データ分析を実行するために、前記DVSシステムによって前記冗長性なしリストを提供するステップと;
を含む方法を実行させるように設計されている、
コンピュータシステム。
【請求項19】
前記少なくとも1つのプロセッサは、算術論理ユニット(ALU)を含み、前記ALUは、
冗長性なしリストの2つ以上のデータ値に割り当てられたオブジェクトIDの集合に対して集合演算を行うように設計されており、
集合演算は、特に、交差集合、結合集合、差分集合又は対称差分集合の演算を含む、
請求項18記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを検索するためのデータを処理及び保存する方法及びシステムに関するものである。
【背景技術】
【0002】
従来技術では、データの保存、管理、効率的な処理のために、様々なデータベース管理システム(DBMS:Datenbankmanagementsysteme)が知られている。DBMSの本質的な課題は、大量のデータを効率よく、矛盾なく、永続的に保存し、必要なサブセットをユーザやアプリケーションプログラムが、ニーズに応じた様々な表現形態で利用できるようにすることである。従来のDBMSで管理されるデータベースのデータとその関係を構造化する基礎は、DBMSの製造者によって定義されるデータベースモデルである。データベースモデルによって、データベーススキーマ(Datenbankschema)は特定の構造化オプションに適合させる必要がある。今日使用されている既知のデータベースモデルには、階層型、ネットワーク型、リレーショナル型(テーブル整理型)、オブジェクト指向型、文書指向型、及びこれらの混合型がある。さらに、古典的には、多数の小規模なクエリ(OLTP)に又は長期の評価(OLAP)に効率的に応答するように最適化されたDBMSが区別されている。
【0003】
従来のDBMSでは、DBMSの選択時やDBMSが管理するデータベースの内部構造(データベーステーブルのサイズ、数、内部参照、インデックスを作成するカラムの種類の選択など)を定義する際に、データベース開発者が管理するデータの内容(情報量)とDBMSが処理しなければならないであろうクエリ(Anfragen)の種類の両方を検討する必要があった。
【0004】
問題は、この2つの態様が時間とともに変化する可能性があり、データベースのセットアップ時には知られていないか、完全に知られていないことが多いということである。実際には、データベースに保存されているデータの他のあるいは追加の態様が時間とともに関連することが判明し、最初のデータベース作成時には考慮できなかった新しいクエリを策定しなければならないことがよくある。例えば、データベースが医療データを含み、データベースが設定された後に、いくつかの症状の組み合わせが特定の診断を予測することができるという新しい医療知識が得られた場合、データベースデータは症状を含んでいるものの、症状が異なるテーブル間で分散され及び/又はインデックスが付されており、したがって、クエリが非効率的になり、すなわち多くのワーキングメモリ(Arbeitsspeicher)、CPU容量及び時間を消費することが起こり得る。しかしながら、一度定義されたデータベースのその後の構造調整は、非常に時間がかかり、エラーが発生しやすく、データベース内のデータ及びクライアントシステムに関する多数の依存関係のために、もはや不可能であることが多い。
【0005】
さらに、時間の経過とともに、さらなるデータソースをデータベースに統合しなければならないが、その内部構造が、データベースのセットアップ時に選択されたデータモデルに適合しないという問題がしばしば発生する。例えば、リレーショナルデータモデルを備えるデータベースが選択されており、階層構造になっているさらなるデータを統合すべき場合、さらなるデータはコンセプト的に互換性があっても、さらなるデータをそのようにしてデータベースに保存できないことがよくある。また、それ自体が不適当なデータモデルにさらなるデータを保存することができたとしても、少なくともデータベース内のデータ構成を根本から見直さない限り、既存のデータとさらなるデータの共通のクエリやセマンティックな統合は不可能である。
【0006】
このように、既存のDBMSは、特に、多くの異なる属性(キー)と対応する値を有する大量のデータオブジェクトに関する複雑なクエリを処理する場合、構造的に柔軟性がなく、拡張性が低く、性能が低いという特徴を有していることが多い。事後的に、さらなる異なる構造のデータをデータベースに保存しなければならない場合、既存のデータや新しく追加されたデータを、内容的に有意で高パフォーマンスでリソースを節約できる方法で、一緒にクエリ及び解析することは不可能である。これは、「モノのインターネット」の文脈では特に問題を生じるが、それだけではない。なぜなら、さまざまなオブジェクトやセンサーによって、内容的にも構造的にも非常に異質なデータが収集され、その構成や性質が時間とともに変化することが多いからである。
【発明の概要】
【0007】
本発明の目的は、効率的に検索可能である方法でデータを保存するための改良された方法とシステムを提案することである。
【0008】
本発明の基礎となる課題は、それぞれ独立特許請求の範囲の特徴で解決される。本発明の実施形態は、従属請求項において示される。以下に示す実施形態は、相互に排他的でないことを条件として、互いに自由に組み合わせることができる。
【0009】
1つの態様において、本発明は、データストレージ又はデータストレージ(Datenspeicher)にデータを保存する方法に関する。
本方法は、以下を含む:
‐ データ処理・検索システム-DVSシステムによって生データ又は生データのアクセスアドレスを受信するステップであって、生データは異なる構造を有するステップと;
‐ 複数の異なるパーサによって生データをパースするステップであって、1つ以上のデータ値及びデ‐タオブジェクトのそれぞれのオブジェクトIDを有するデータオブジェクトをそれぞれ特定し、データ値の少なくともいくつかには、セマンティックコンセプトがそれぞれ割り当てられている、ステップと;
‐ DVSシステムによるパース結果を自動的にインポートするステップと;
‐ DVSシステムによってデータストレージ内に冗長性なしデータ値リストの形態で全てのパース結果を自動的に保存するステップであって、
前記冗長性なしリストは:
・ 1つ以上のコンセプトリストであって、コンセプトリストの各々は、それぞれ1つのセマンティックコンセプトを表し、非冗長リストは、インポートされたデータ値のうち、パースの際にそのコンセプトリストのセマンティックコンセプトを割り当てられたものを選択的に含み、コンセプトリスト内の各データ値には、このデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、含まれる前記データ値はこのコンセプトリストのセマンティックコンセプトの表現である、コンセプトリストと、
・ コンセプトなしリストであって、コンセプトなしリストは、インポートされたデータ値のうち、パースの際にセマンティックコンセプトが割り当てられなかったものを選択的に含み、コンセプトなしリスト内の各データ値には、このデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、パースの際にこのデータオブジェクトに含まれるデータ値にセマンティックコンセプトを割り当てることができなかった,コンセプトなしリストと、を含む、ステップと、
‐ 検索クエリに応答するため、及び/又は、データ分析を実行するために、DVSシステムによって冗長性なしリストを提供するステップと、を含む方法。
【0010】
これは、構造と内容の点で非常に異質な生データが、大量のデータでも高速かつ効率的に処理できる共通の構造(複数のリストの要素のオブジェクトIDの交差、結合、差分又は対称的な差分集合)に転送され、この目的のためにデータストレージ内のデータの構造を根本的に変更する必要がなく、内容の点でも(さらに有利には自動的に生成されるコンセプトリストを追加することによって)、サポートするクエリと分析プロセスの点でもいつでも拡張できる点で有利になり得る。リストは冗長性がないため、各データ値は1つのリスト内に1回だけ含まれる。生データの複数のデータオブジェクトに出現する場合、リストに1回出現するこのデータ値は、これら複数のオブジェクトIDにリンクされて格納される。このように、非常に大きなデータセットであっても、少ないワーキングメモリ及び/又は少ないCPU容量を有するコンピュータシステムでも、迅速かつ効率的に処理することができる。特に、生データが特定のデータ値を複数回含む場合(例えば、既存の単語の有限セットの特定の組み合わせを表すテキストの場合、又はアミノ酸の有限セットの特定の配列を表すタンパク質の場合)、この形式のデータ表現は、膨大なデータ圧縮効果につながる。例えば、オブジェクトIDはそれぞれデータセット(タンパク質配列ID、生データファイルのURL、自然言語テキストや文章、Excelファイルの行など)を表すことができ、データ値はそのデータセットで発生する値(単語、ビット列、数値など)である。
【0011】
データ値へのセマンティックコンセプトの付与は、通常、パースプロセスの一部である。
【0012】
本発明の実施形態によれば、DVSシステムは、このように、インポートされたデータ値を、それらに割り当てられたセマンティックコンセプト(これがパース中に決定され得るか、又は他の方法で予め特定されていた場合)に応じて冗長性なしデータ値リストに保存し、それによって、リストにおけるデータ値の保存及び配布は、データ値のデータオブジェクトへの本来の所属とは無関係に行われる。
【0013】
このように、本発明の実施形態は、データストレージへのインポート時にデータオブジェクトへのデータ値の割り当てが構造的に解決されるため、構造的及び内容的に異質な大量のデータの統合に関して非常に柔軟であり、データ分析及び検索プロセスのパフォーマンスが非常に高いという利点を有する:オブジェクトへのデータ値の割り当ては、オブジェクトIDにのみ存在し、それ以外はDVSシステムによって管理されるデータの構造に影響を与えない:生データが階層的、表形式、XMLファイルとして提供されているかどうかにかかわらず、データ値が生データですでに大部分が予め定義されているかどうか(たとえば、キーバリューフィールドによって)、又は分析プロセス(画像や音声データのパターン認識など)においてパーサの1つによって動的に取得されたかにかかわらず、データ値は常に、データ値を含むオブジェクトIDにリンクされた冗長性なしリスト内に保存される。この保存では、データ値が表すセマンティックコンセプトを考慮し、そのコンセプトを表すコンセプトリストに選択的にデータ値を保存する。データ値が既にこのリストに存在する場合は、オブジェクトIDのセットのみが適宜補完される。生データのパース時にデータ値の背後にあるセマンティックコンセプトを特定できなかった場合、このデータ値は「コンセプトなし」リストに保存され、データ値がすでにそこに存在する場合は、対応するエントリのみがオブジェクトIDによって拡張される。
【0014】
このように、インポート処理は、生データの全データオブジェクトから抽出された全データ値の総和を、それに割り当てられたセマンティックコンセプトに基づいて冗長性なしデータ値リストに保存する、全データオブジェクト構造を解決する処理と理解することができる。
【0015】
例えば、JSONファイル、XMLファイル、データベーステーブル、メディアファイル又はユーザ入力などの異なるデータソースは、ユーザインタフェース、例えばグラフィカルユーザインタフェースを介してDVSシステムに提供することができる。この提供は、例えば、DVSシステムがネットワークを介して、ローカルデータストレージ又は他のソースから生データ(オリジナル又はコピー)を受信し、まず最初に独自のドキュメントストアに保存するような方法で行うことができる。これは、オリジナルがまだ利用可能であり、場合によっては、検索又は分析結果を表示する目的、又は後に補足されるだけのパース処理及び分析に使用できるという利点を有することができる。しかし、生データがDVSシステムの文書ストアにコピーとして保存されず、DVSシステムが、生データを処理しパースできるようにするために、生データへの(永久又は一時的な)読み取りアクセスのみを受け取ることも可能である。この場合、DVSシステムは生データのアクセスアドレスを受信していれば十分である。
【0016】
本発明の実施形態は、多種多様なセマンティックコンセプト(キー)に関連する非常に多数のプロパティ(値)によって記述されたデータオブジェクトが、データオブジェクトの元の構造に依存するデフォルトに従うことなく(例えば、データベース内のテーブル及びインデックス構造に関するリレーショナル、インデックスベースのDBMSにおける検索クエリの場合のように)、非常に短いクエリ時間で多様なキー値の任意の組み合わせについてクエリすることができるという利点がある。インデックスベースのシステムでは、すべてのキーの可能な組み合わせのインデックスが利用可能でなければならない。そのため、従来のインデックスベースDBMSでは、キーの階乗!に応じてインデックスのセットが増えていく。特に、多数の異なるセマンティックコンセプトを持つ多数の異なるオブジェクトタイプの場合、必要なインデックスの数は、キーに関連する検索基準の考え得るあらゆる組み合わせをキーの階乗!とともに増大する。一方、本発明の実施形態によれば、インデックス(データ値に加えて生成される検索可能なデータ構造、例えばB-treeの意味での)を生成して使用する必要はない。実施形態によれば、非冗長コンセプトリストは、各セマンティックコンセプトに対応し、このコンセプトの各データ値は、例えばリレーショナルDBMSのデータレコードベース(datensatzbasierten)のテーブルとは対照的に、一度だけ出現する。したがって、本発明の実施形態によれば、予想される検索クエリに適合するインデックス構造を作成することなく、検索及び/又は分析を実行することができる。むしろ、検索は、冗長性なしリストにおいて直接行うことができ、好ましくは、検索基準が参照するセマンティックコンセプトに対応するそれらのコンセプトリストのみ(及び場合によっては、コンセプトなしリスト及び/又はグローバルリストも)を使用する。
【0017】
本発明の実施形態によれば、データストレージは、揮発性又は不揮発性のデータストレージである。データストレージは、例えば、ハードディスクドライブ(HDD)又は大容量記憶装置-ソリッドステートドライブ(SSD)又はワーキングメモリ(メモリ ストレージ及びリストの管理)であることができる。
【0018】
本発明の実施形態によれば、生データの少なくとも一部は、複数のデータ構造の形式であるか、又は複数のデータ構造の形式で受信される。特に、複数のデータ構造は、以下のデータ構造のうちの2つ以上の混合物から構成されることがある:
‐ XMLファイル
‐ JSONファイル
‐ テキストファイル
‐ CSVファイル
‐ データベーステーブル
‐ オブジェクトツリー
‐ メディアファイル(特にビデオ、オーディオ、画像ファイル)
‐ GUIで入力されたデータ
‐ ストリーミングデータ
【0019】
ストリーミングデータとは、ソースシステムによって連続的に生成され、(FiFoの原則に基づく)キュー内で及び/又はパケットで送信されるデータのことである。通常、このデータはストリーミングフレームワークによって「リアルタイム」で処理される。ストリーミングフレームワークは、このデータのストリームを受信し、メモリ内で情報を処理してから、データストレージ(例えば、ハードディスクドライブ(HDD)又は大容量記憶装置-ソリッドステートドライブ(SSD))に書き込む。実施形態によれば、DVSシステムは、ストリーミング生データのリアルタイム処理のために設計されることもできる。ストリーミングデータは、例えば、ERPシステムのログデータ、電子商取引イベント(ビュー、注文、バスケット)、モバイルアプリのトラッキングイベント、ウェブアプリケーションからのジオロケーション、又は特定の製品の使用データであり得る。
【0020】
ただし、このリストは網羅的なものとして理解されるものではありません。
【0021】
実施形態によれば、非冗長リスト(nicht-redundanten Listen)の少なくともいくつか(典型的にはほとんど)は、生データを含む異なるデータ構造のうちの2つ以上に含まれていたデータ値を含む。したがって、データ値がどのデータ構造で生データ中に発生するかという問題は、DVSシステムによって管理されるリストの構造に影響を与えない。このことは、システムを、生データを含むファイルやデータベースの構造から独立させるという意味で有利である。生データは、多種多様な内容及び構造のデータであり得る。これは、DVSシステムの使用は、多くの独立したソースからの大量の異種データを共通のデータ構造(非冗長データ値リスト)に統合することを可能にするため、有利であり得る。これにより、データ量を非常に圧縮できるだけでなく、少なくとも、2つ以上の異なるソースからの生データが、同じセマンティックコンセプトを表す少なくとも1種類のデータ値を持ち、このことがパースプロセスでも認識される場合には、意味的に統合することも可能となる。この場合、このコンセプトのデータ値は、同じコンセプトリスト内のそれぞれのデータオブジェクトへのリファレンスとリンクして保存される。
【0022】
また、異なるソースからのデータオブジェクトを完全にセマンティックに統合する必要がないことは、特に有利である。例えば、生データがタンパク質配列又は遺伝子配列であり、これらのデータのパースプロセスの過程で、「診断Xの予測因子」というコンセプトを表す特定のペプチド配列又はゲノムマーカーが他のデータソースの生データにも存在することが認識された場合、使用するパーサが、あるデータソースの生データに存在し得るすべてのセマンティックコンセプトを認識及び抽出できないとしても害はない。このように、異なる異種ソースからのデータを統合するために、完全な「理解」又は「データモデル」は必要ではない。
しかし、異なるデータソースの生データをパースしたときに、特定のセマンティックコンセプトの少なくとも1つ又はいくつかのデータ値が見つかった場合、これらは対応するリストに分類され、その結果統合することができる。
【0023】
セマンティックコンセプトが不明な場合でも、相関ベースで異種データを統合することが可能であり:
例えば、あるゲノムマーカーがある診断名と共に文献に頻繁に記載されている場合、
一方ではゲノム マーカーを含み、他方では診断を含むデータオブジェクトのオブジェクトIDの共通部分又はカットセット(Schnittmengen)が非常に大きくなる(個々のデータ値の発生頻度を考慮すると、統計的に予想される値よりも大きくなる)ことがある。
このマーカーの背後にある生物学的機能、ひいては関連するセマンティックコンセプトが不明な場合、
マーカーはコンセプトなしリストにデータ値として保存されるため、検
検索クエリやデータ分析、例えば相関分析など、の処理の際に、
ゲノムマーカーがXMLファイル、テキストファイル、その他のどの形式で提供されたかにかかわらず、考慮することができる。
【0024】
本発明の実施形態は、このように、非常に柔軟に拡張可能であるという利点も有している:
生データのデータオブジェクトの構造も、データオブジェクトの属性の種類や数も、DMSシステムが管理するデータの構造に影響を与えないので(これらはいずれにしても非冗長リストの形で保存される)、いつでもさらなる生データをインポートして新たな構造に統合できる。
生データの構造が今まで不明な場合、
生データを処理し、可能であればそこに含まれるデータ値をセマンティックコンセプトに割り当て、割り当てられたセマンティックコンセプトの存在とタイプに応じて、
データ値を、関連するデータオブジェクトのオブジェクトID、または少なくともオブジェクトIDとともに、コンセプトなしリスト又はコンセプトリストの1つに保存する、対応するパーサを開発すれば良い。
【0025】
実施形態によれば、本方法は、DVSシステム又は別のDMSシステムによって、検索クエリ及び/又は分析を実行することを含む。
【0026】
実施形態によれば、検索クエリ及び/又はデータ分析は、特に、生データにアクセスすることなく実行される。
【0027】
実施形態によれば、DVSシステムは、専ら冗長性のないリストに基づいて、又はDVSシステムによってこれらのリストから導出されたデータに基づいて、分析及び/又は検索を行うように構成されており、分析及び/又は検索は、特に、生データ、そこに含まれるデータオブジェクト又はこれらのデータオブジェクトを表すデータレコード(Datensaetzen)に対して行われることはない。
【0028】
これは、検索及び分析が生データの構造に依存せず、テラバイト級の生データ量であっても、標準的なコンピュータ及び一部はRaspberry Pi等のシングルボードコンピュータで、迅速に処理でき、複雑なクエリで検索できるサイズまで圧縮及び処理できるという利点がある。圧縮は、各データ値が各コンセプトリストとコンセプトなしリストで一度だけ起きることに依存する。例えば「銀又はシルバー」等のデータ値が、複数の異なるセマンティックコンセプト(姓、色、金属タイプ)に割り当てられている場合、2つ以上のコンセプトリストに出現する可能性がある。しかし、各リストでは、値「シルバー」は一度しか出現しない。データ値「シルバー」は、データ値「シルバー」がコンセプト「金属」を表すさらなるデータオブジェクトに見出される場合、これらのデータオブジェクトのオブジェクトIDは、コンセプト「金属タイプ」を表すリストにおいて選択的にリスト要素「シルバー」に追加で割り当てられる。パーサは、特定の生データをパースするときに、データ値「シルバー」が色、金属、姓、又はこれまでリストとして表現されていなかった他のセマンティックコンセプトを表すかどうかを認識できない場合、このデータ値「シルバー」はコンセプトなしリストに認識される。したがって、データ値「銀」が生データでは数千回出現しても、DVSシステムが動作するリストでは1回又は数回しか出現しないことがあり得る。オブジェクトIDは、好ましくは、メモリをほとんど消費せず、高速なセット操作が可能な数値の形態で保存される。したがって、複雑な検索クエリ、例えば、製品タイプ「パイプ材」及び「金属タイプ」としての「シルバー」を含むすべてのデータオブジェクトは、コンセプトリスト「製品タイプ」のデータ値「パイプ材」及びコンセプトリスト「金属タイプ」のデータ値「銀」に割り当てられたオブジェクトIDのセットからオブジェクトIDの共通部分を計算することによって応答することができる。このため、データ分析では、生データに含まれるデータオブジェクトの構造が不要になる。
【0029】
実施形態によれば、DVSシステムによって管理されるデータストレージは、データオブジェクト(データレコードと称されるされることもある)を含まない。
【0030】
他の実施形態によれば、DVSシステムは、生データを含むデータ構造のすべて又は少なくとも一部が保存される文書ストアを追加的に管理する。しかし、ここでも、この生データは、検索クエリを処理する目的やデータ分析のために使用されるのではなく、他の目的のために使用される。例えば、追加の及び/又はより優れたパーサが利用可能になった後の時点に、生データに対するパーサプロセスを新たに実行し、以前に使用したパーサによって検出又はパースできなかった、さらなるデータ値及び/又はそれに割り当てられたセマンティックコンセプトを検出及び抽出するために、DVSシステムの文書ストア(Dokumentenspeicher)に生データのコピーを保存することが有利であり得る。これにより、ネットワークに接続されたシステムに保存された生データは、新たな又はより優れたパーサが利用可能になったときに再送信する必要がないため、ネットワークトラフィックを削減することができる。
【0031】
本発明の実施形態によれば、冗長性なしリストは、グローバルリストをさらに含む。グローバルリストは、インポートされた全てのデータ値の冗長性なしリストであり、グローバルリスト内の各データ値には1つ以上のポインタが割り当てられ、ポインタの各々は、そのデータ値と同一のデータ値を含むコンセプトリストの要素又はコンセプトなしリストの要素を指す。DVSシステムは、少なくともグローバルリスト上でも分析又はクエリの検索(angefragte Suche)を実行するように構成され、グローバルリストは、異なるデータオブジェクト内の異なるセマンティックコンセプトを表すデータ値の認識及び/又はコンセプト固有処理に使用される。
【0032】
好ましくは、グローバルリスト内のデータ値にはオブジェクトIDは割り当てられない。例えば、グローバルリストには、データ値「シルバー」が一度だけ含まれる。グローバルリストのこのデータ値には、オブジェクトIDは直接割り当てられないが、データオブジェクトの少なくとも1つにおいてデータ値「銀」が割り当てられるセマンティックコンセプトを表す1つ以上のコンセプトリストへのポインタが割り当てられる。この例では、グローバルリストにおけるデータ値「シルバー」には、このように、コンセプトリスト「姓」、「金属タイプ」及び「色」が割り当てられることになる。データ値「シルバー」がコンセプトなしリストにも保存されている場合、「シルバー」データ値にはコンセプトなしリストも割り当てられることになる。
【0033】
グローバルリストを使用することは、各データ値について、それが文脈に応じて異なるセマンティックコンセプトを表すかどうか、表すとしたらいくつでどのコンセプトか、を直接判断できるという利点を有する。好ましくは、個々のコンセプトリスト又はコンセプトなしリストのデータ値のみにオブジェクトIDが直接割り当てられるので、あるコンセプトに従ってデータ値「シルバー」を含むデータオブジェクトを、他のコンセプトに従って単語「シルバー」を含むデータオブジェクトから容易に選択し区別することができる。
【0034】
一実施形態によれば、DVSシステムは、検索用語を(eines Suchbegriffs)入力するためのGUIを提供するように設計されている。検索用語の入力中、DVSシステムはグローバルリストを検索して、入力された用語がグローバルリストのデータ値に対応するかどうかを決定する。DVSシステムは、既に入力された検索用語と少なくとも部分的に同一又は類似している1つ以上の特定されたデータ値をユーザに提案する。例えば、DVSシステムは、特定されたデータ値をコンテキストメニュー又はオートコンプリートリストでユーザに表示して、選択肢を提供することができる。ユーザが提案されたデータ値の1つを選択すると、DVSシステムは、グローバルリストのこのデータ値が参照するセマンティックコンセプト(及び対応するコンセプトリスト)の数及び種類が特定される。このように特定されたセマンティックコンセプトはまた、GUI上に表示され、ユーザが、GUIを介してこれらのセマンティックコンセプトの1つ以上を選択することを可能にする。例えば、検索用語「銀」を入力すると、ユーザは、この検索用語に対していくつかのコンセプト(姓、金属タイプ、色)が知られていることを知る。ユーザは、いわゆる「チェックボックス」、「ドロップダウンリスト」、「ラジオボタン」などのGUI要素によって、これらのコンセプトを選択し、それによって検索クエリを所定のセマンティックコンセプトに限定することができるようになる。例えば、「金属タイプ」というコンセプトを選択すると、金属の識別子としてデータ値「シルバー」を含むデータオブジェクトに検索が制限される。これらのデータオブジェクトのオブジェクトIDは、すべて「金属タイプ」コンセプトリストに保存され、「シルバー」リスト要素に割り当てられる。
【0035】
本発明の実施形態によれば、データ値の少なくとも一部は、生データを含むデータ構造のフィールドから抽出される。フィールドは、データ構造によって定義される。フィールドは、1つ以上のコンセプト関連フィールド及び/又は1つ以上のコンセプト不可知フィールド(konzeptagnostische Felder)を含む。
【0036】
フィールドは、例えば、Excelファイルのセル、データベーステーブルの要素、XMLオブジェクトツリー内の特定のXML要素等であることができる。これは、1つ以上のデータ値を保存するために使用されるデータ構造内の事前定義されたコンテナに対応するものである。コンセプト関連フィールド(Ein konzeptbezogenes Feld)とは、フィールド識別子が割り当てられたフィールドであり、フィールド識別子はセマンティックコンセプトを表す。コンセプト不可知フィールドとは、セマンティックな意味割り当てがないフィールドである。通常、生データのデータ値の少なくとも一部は、コンセプト関連フィールドに保存され、及び/又は生データの他のデータ値の一部は、コンセプト不可知フィールドに保存される。例えば、Excel表がパースされ、その列も行も、表に含まれるデータのセマンティックコンセプトの識別子を含まない場合、そのフィールドはコンセプト不可知フィールドと見なされることがある。しかし、「姓」「名」「生年月日」「製造年月日」「重量」などのフィールド識別子が存在する場合、それらはコンセプト関連フィールドである。
【0037】
コンセプト関連フィールドに保存されたデータ値を解析してインポートすることは、新たなセマンティックコンセプトを自動的に「学習」してDVSシステムに統合することができるため、有利である。いくつかのパーサタイプを使用することでも、計り知れない学習効果を達成できる:テーブルの最初の行のセルのデータ値を、同じ列内のこのセルの下のデータ値を解釈するセマンティックコンセプトとして解釈するパーサを定義することにより、パーサが使用されることができ、新たなセマンティックコンセプトも、新たなデータ値も、それぞれの列のセマンティックコンセプトが最初行(タイトル)に含まれるスキームにしたがうエクセルテーブルからインポートされることができる。DVSシステムが、「姓」の列のデータ値をインポートする際に、「姓」というセマンティックコンセプトが今まで未知であること(すなわち、「姓」に対するコンセプトリストが存在しない)を認識した場合、DVSシステムによってかかるコンセプトリストが自動的に作成され、この列のすべてのデータ値がこのリストに冗長性なく保存される。
【0038】
本発明の実施形態によれば、DVSシステムは、コンセプト関連フィールドから抽出されたデータ値を、これらのコンセプト関連フィールドのフィールド識別子のセマンティックコンセプトを表すコンセプトリストのデータ値に保存する。
【0039】
実施形態によれば、DVSシステムは、使用されるパーサがデータ値のセマンティックコンセプトを認識しない場合、コンセプト不可知フィールドから抽出されたデータ値を、コンセプトなしリストのみに保存する。
【0040】
本発明の実施形態によれば、データ値の少なくとも一部は、インポートされたデータ値だけでなく、データ分析に基づいてそれらに割り当てられたセマンティックコンセプトを認識するセマンティックパーサによってインポートされ、データ分析は、特に画像分析、オーディオ信号分析、統計分析、分類方法、機械学習方法、及び/又はパターン認識方法である。一実施形態によれば、使用される複数のパーサは、オーディオデータを分類してテキストに変換し、それをデータ値として使用される単語に分解するパーサを含む。付加的にあるいは代替的に、パーサは、音楽ジャンルを認識するためにオーディオデータを評価し、オーディオデータ全体を、自動的に特定された音楽ジャンル(例えば、ロック、テクノ、クラシック)がセマンティックコンセプトとして割り当てられるデータ値として扱うことができる。
【0041】
したがって、データ値が割り当てられるセマンティックコンセプトを示すフィールド識別子がない場合でも、パース過程でセマンティックコンセプトが認識される可能性がある。例えば、生データはデジタル画像であり、パーサは所定のオブジェクト(人、動物、植物など)を認識することができる画像分析ソフトウェアである可能性がある。特定のオブジェクトが認識された画像又は画像セグメントにはオブジェクトIDが与えられ、画像(又は対応する画像セグメントのピクセルデータ、又は認識されたオブジェクトの名称(「人間」、「犬」、「猫」など)だけが、パースされた「データ値」として対応するコンセプトリスト(「人間」又は「犬」など)に保存される。したがって、生データでデータ値を認識し抽出できるかどうか、またこのデータ値にセマンティックコンセプトを割り当てられるかどうかは、フィールド識別子及び/又は使用するパーサに依存する可能性がある。
【0042】
冗長性なしデータ値リストに、動的に検出された新たなセマンティックコンセプト(新しい音楽スタイル、画像データの新しいオブジェクトタイプ)のためのコンセプトリストがまだ含まれていない場合、DVSシステムは、好ましくは、このセマンティックコンセプトのための新たなコンセプトリストを自動的に作成する。
【0043】
本発明の実施形態によれば、本方法はさらに:
‐ データ値をインポートし保存した後、少なくとも1つの新たなセマンティックコンセプトに割り当てられたデータ値を認識しインポートするように設計されたパーサをさらに提供するステップであって、新たなセマンティックコンセプトは、データストレージに現在含まれているコンセプトリストのいずれによっても表現されていないコンセプトである、ステップと;
‐ さらなるパーサによって生データを処理するステップであって、少なくとも1つの新たなコンセプトに割り当てられた生データから1つ以上の新たなデータ値を抽出する、ステップと;
‐ さらなるパーサによって認識された少なくとも1つの新たなセマンティックコンセプトを、DVSシステムによるデータメモリ内の概念リストと比較し、さらなるパーサが少なくとも1つのデータ値を抽出した少なくとも1つの新たなセマンティックコンセプトのそれぞれについて新たなコンセプトリストを自動的に生成して記憶するステップと;
‐ さらなるパーサによって生データから抽出されたデータ値を、さらなるパーサによってそのデータ値に割り当てられた新たなセマンティックコンセプトを表す少なくとも1つの新たなコンセプトリストのものに自動的に保存するステップと;を含む。
‐ 好ましくは、さらに、コンセプトなしリストにおいて、新たなパーサがまず新たなコンセプトを割り当てることができたデータ値を含むデータオブジェクトの、データ値に割り当てられたオブジェクトIDが削除されるように、コンセプトなしリスト及び/又はグローバルリストの更新も行う。これらのオブジェクトIDは、それぞれ、新たなコンセプトリストにおいて、このデータ値に割り当てられる。データ値を含むが、新しいパーサがコンセプトを割り当てられなかったデータオブジェクトのオブジェクトIDは、このデータ値のためにコンセプトなしリストに残る。
【0044】
このように、同じ生データでも、その後、新たな改良されたパーサで評価することができ、その過程で抽出された知識は、既存のリスト構造にシームレスに統合され、検索可能になることができる。
【0045】
実施形態によれば、方法はさらに:
‐ 1つ以上のコンセプト関連検索基準及び/又は1つ以上のコンセプト不可知検索基準を満たすデータオブジェクトを特定するための検索クエリを受信するステップであって、コンセプト関連検索基準は、セマンティックコンセプトの識別子が割り当てられた検索基準であり、コンセプト不可知検索基準は、前記セマンティックコンセプトが割り当てられない検索基準である、ステップと、
‐ 受信したコンセプト不可知検索基準のそれぞれを満たす1つ以上のデータ値について、コンセプトなしリストを検索するステップであって、例えば、検索は、検索用語に関して同一又は類似のデータ値の検索であることができ;類似検索のために、例えば正規表現(regulaere Ausdruecke )が使用されることができる、ステップと;及び/又は、
‐ 受信したコンセプト関連検索基準のそれぞれについて、この検索基準のセマンティックコンセプトを表すコンセプトリストのうち、コンセプト関連検索基準を満たす1つ以上のデータ値を選択的に検索するステップと;
‐ DVSシステムによる検索クエリに応答して、グローバルリスト及び/又は少なくとも1つのコンセプトリストの検索の際に特定されたデータ値に割り当てられたオブジェクトID、又はそれらのオブジェクトIDのサブセットを返すステップと、を含む。
【0046】
データ値の膨大な量の圧縮及びセマンティックコンセプトに応じた異なるリストへの分割に基づいて、膨大な量の生データも、リスト構造に含まれるデータ値への変換後は、低性能なコンピュータでも非常に高速に処理することが可能である。
【0047】
本発明の好ましい実施形態によれば、リストの各々のデータ値は、ソートされる、すなわち、順序関係(例えば、英数字文字列からなるデータ値についてはアルファベット順)に従って順序付けられる。これは、順序関係に基づいて、リストのデータ値を通り過ぎた後に、そのデータ値がリストに含まれることができないと判断された場合に、検索を中止することができるので、特定のデータ値に対するリストの検索を高速化できる。
【0048】
実施形態によれば、クエリの検索及び/又はデータ分析を実行するために冗長性なしリストを使用することは、冗長性なしリストの2つ以上のデータ値に割り当てられたオブジェクトIDの集合に対して集合演算又はセット操作(Mengenoperation)を行うステップであって、特に、集合演算は、特に、交差集合、結合集合、差分集合又は対称差分集合の演算を含む、ステップを含む。
【0049】
例えば、複数のコンセプトリスト及び/又はコンセプトなしリストは、それぞれ、クエリの検索用語と同一又は最大限類似する1つ以上のデータ値(「一致値」)を認識することができる。これらのコンセプトリストのそれぞれの一致値に割り当てられたオブジェクトIDの集合に統合集合形成演算(Vereinigungsmengenbildungsoperation)を適用することにより、この1つのコンセプトリストのすべての一致値を含むデータオブジェクトのそれらの統合した全体が特定される。異なるコンセプトリストについて、統合集合形成ステップで得られたオブジェクトIDの集合に交差集合形成演算を適用することにより、クエリの検索基準が参照するコンセプトリストのそれぞれについて少なくとも1つの一致値を含むデータオブジェクトの交差集合が特定される。この交差集合を、検索クエリの結果として返すことができ、及び/又は、さらなる分析に使用することができる。実施形態によれば、コンセプトなしリスト及び/又は1つ以上のコンセプトリストのデータ値は、それぞれ1つ以上の時間情報(Zeitangaben)にリンクして保存され、時間情報はそれぞれ、データ値の初期生成のトランザクション時間又はDVSシステムによるデータ値のインポートの時間を含む。本方法は、検索クエリに応答するため、及び/又はデータ分析を実行するために、DVSシステムによる時間情報の考慮をさらに含む。
【0050】
例えば、会社「イエロー株式会社(Gelb AG)」の商業登記簿抄本番号238号のオブジェクトIDに関連してコンセプトリスト「会社所在地(Firmensitz)」のデータ値「フランクフルト」に「1978年3月13日から」という時刻を割り当てることができ、そこから時刻情報が取得される。さらに、コンセプトリスト「会社所在地」のデータ値「ベルリン」には、商業登記簿正抄本第46474号のオブジェクトIDに関連して「2012年7月16日から」という時刻を割り当てることができ、そこから、同じ会社「イエロー株式会社」が割り当てられている、この時刻情報が取得される。したがって、「イエロー株式会社」社のすべての「登録事務所」データ値を照会することにより、データ値が抽出されたデータオブジェクトとそのオブジェクトIDがこの時間情報にリンクされているため、会社所在地の移転の時系列を再構築することも可能である。「イエロー株式会社」のすべての「会社所在地」データ値を紹介することで、会社所在地移転の時系列経過も再構築できる。データ値が抽出されたデータオブジェクトとそのオブジェクトID がこの時間情報にリンクされているからである。
【0051】
本発明の実施形態によれば、データオブジェクトの少なくとも一部は、他のデータオブジェクトと関係を有する。これらの関係は、例えば、「~の構成要素である(ist Bestandteil von)」、「~に含まれる(beinhaltet)」、「クラスに属する(gehoert zu Klasse)」、「アクティブ化される(aktiviert)」、「禁止する(inhibiert)」、「~において使用可能である(ist_verbaubar_in)」等の関係であることができる。関係は、既に生データに明示的又は暗黙的に含まれており、パースプロセスの過程で抽出されることができる。しかし、DVSシステムが、生データ及び/又は既に保存されている冗長性なしリストのデータ値に対して後に実行されるデータ処理演算の過程でのみ、関係を抽出することも可能である。
【0052】
データオブジェクトの1つ(「第1データオブジェクト」)とデータオブジェクトの別のもの(「第2データオブジェクト」)との抽出された各関係は、関係タイプ(すなわち、「is_buildable_in」などの関係の識別子)と第2のデータオブジェクトのオブジェクトIDとの組み合わせ(特に連結(Konkatenation))の形態で抽出される。抽出された組み合わせの各々は、コンセプトなしリスト及び/又は少なくとも1つのコンセプトリストのデータ値の1つとして保存され、抽出された組み合わせのそれぞれのコンセプトなしリスト及び/又は少なくとも1つのコンセプトリストにおいて、オブジェクトIDは、その組み合わせにおいて指定される関係が存在する第1データオブジェクトのオブジェクトIDに割り当てられる。
【0053】
例えば、このようなオブジェクト関係の抽出及び保存は、この検索オブジェクトを参照するオブジェクトの集合と関係の性質を含む、特定のオブジェクトのコンテキストを抽出する、「オープン」検索クエリを形成するために使用することができます。
【0054】
実施形態によれば、パース中に特定されたデータオブジェクトのオブジェクトIDもデータ値として扱われ、例えば、コンセプトリスト「オブジェクトID」(任意でグローバルリストにも追加的に)に保存される。例えば、データオブジェクトのオブジェクトIDをデータ値として抽出し、コンセプトリスト「オブジェクト識別子」に保存することができる。このオブジェクト識別子コンセプトリストを特定のオブジェクトID(検索オブジェクトID)で検索して、このリストの中から検索オブジェクトIDと同一のデータ値を見出すことができる。その後、オブジェクト識別子コンセプトリストにおいて、この特定されたデータ値に割り当てられる、全てのデータオブジェクトのIDが特定される。これらは、検索オブジェクトと同一のデータオブジェクトに加えて、検索オブジェクトのオブジェクトIDも含まれているため、検索オブジェクトと関係を有するすべてのデータオブジェクトでもある。
【0055】
上記の「同一」一致の検索に加えて、検索オブジェクトのオブジェクトIDを含む正規表現でグローバルリストを検索することも可能である。例えば、グローバルリストは、「ist_verbaubar_in_Motor_XL-3000」、「ist_leistungsequivalent_zu_Motor_XL-3000」、「wird_aktiviert_von_p53_Gen」等の関係を形成する複数のデータ値を含むことができ、コンポーネント「Motor_XL-3000」又は「p53_Gen」は、オブジェクトIDを表すことができる。検索オブジェクトIDとしてオブジェクトIDのみを指定し、関係タイプ識別子をオープンにする正規表現による検索に基づいて、データ値のコンポーネント、つまり検索オブジェクトを参照するすべての関係タイプとして、検索オブジェクトIDを含むすべてのデータ値は、最初にグローバルリストで特定できる。このようにして特定されたグローバルリストのデータ値は、対応するコンテキストリスト、例えばセマンティックコンセプト「ist_verbaubar_in」及び「ist_leistungsequivalent_zu」に対するコンテキストリストを参照する。コンセプトリスト「ist_verbaubar_in」(~において使用可能である)は、オブジェクトIDの第1集合が割り当てられるデータ値「ist_verbaubar_in_Motor_XL-3000」(Motor_XL-3000において使用可能である)を含むことができる。コンセプトリスト「ist_leistungsequivalent_zu」(~と同等出力である)は、オブジェクトIDの第2セットが割り当てられるデータ値「ist_leistungsequivalent_zu_Motor_XL-3000」(Motor_XL-3000と同等出力である)を有することができる。このように、オブジェクトIDの第1集合及び第2集合の統合集合は、検索オブジェクト「Motor_XL_3000」に、「verbaubar in」又は「leistungsequivalent zu」のいずれかのデータオブジェクトの全体を結果としてもたらす。
【0056】
本発明の実施形態によれば、方法は:
‐ 検索データオブジェクトとの関係を有する全てのデータオブジェクトを特定するための検索クエリ又は分析コマンドを受信するステップであって、クエリ又はコマンドは検索オブジェクトIDを含む、ステップと、
‐ グローバルリストを検索して、関係タイプと、前記検索オブジェクトIDと同一のオブジェクトIDと、の組み合わせで構成される全てのデータ値を特定する、ステップと、
‐ グローバルリストで特定された前記データ値が参照する1つ以上のコンセプトリストを識別するステップと;
‐ 1つ以上の識別されたコンセプトリストを検索して、前記関係タイプと、前記検索オブジェクトIDと同一のオブジェクトIDと、の組み合わせから構成されるデータ値を特定する、ステップと、
‐ 1つ以上のコンセプトリストにおいて、特定されたデータ値に割り当てられたオブジェクトID、すなわち検索オブジェクトとの関係を有するデータオブジェクトのIDを返すステップと、を含む。
【0057】
したがって、Bツリー形式のデータベースインデックスを作成し、必要に応じて新たなデータオブジェクトタイプや検索クエリを統合する際にそれを適応させる必要もなく、非常に柔軟でスケーラブルかつパフォーマンスの高い方法で、非常に複雑な検索クエリや類似検索(正規表現によるファジー検索)を実行できる。したがって、各検索オブジェクトについて、どのような関係タイプが検索オブジェクトに関連して実際に存在するのか、また、いくつの、且つ、どのような他のオブジェクトがこれらの関係タイプの1つ以上を介して検索オブジェクトを参照し又は接続されているのか、を非常に迅速に見出すことが可能である。
【0058】
これは、「インダストリー4.0」適用のコンテキストで、又は、高度に複雑なコンポーネント(航空機のタービンやエンジン)を注文及び/又は構成する場合に特に有利である。複雑なコンポーネント又はシステムコンポーネントは、数千のコンポーネントから構成されることができ、そのコンポーネントはサブコンポーネントから構成されることができる。自動車メーカーや航空機メーカーのデータベースに大量のコンポーネントが含まれている場合、このタイプの関係クエリを使用すると、どのデータオブジェクトが、例えば「ist-Bestandteil-von-Motor-XM-300049 BT」という関係であるかを非常に迅速に判断できるようになる。
【0059】
本発明の実施形態によれば、方法は、
‐ DVSシステムによるマッピングテーブルを提供するステップであって、マッピングテーブルは、コンセプトなしリストの各データ値及びコンセプトリストの各データ値に1つ以上の識別子を割り当てる、ステップと、
‐ DVSシステムによるコンセプトなしリスト及び各コンセプトリストの難読化コピー(obfuskierten Kopien)を生成するステップであって、難読化コピーでは、データ値はそれぞれ、マッピングテーブル内のデータ値に割り当てられた識別子でそれぞれ置き換えられる、ステップと、
‐ 難読化されたリストを使用して、DVSシステムによる検索クエリ及び/又は分析を実行する、ステップと、を含む。
【0060】
これは、データのセキュリティを向上させるという利点がある。例えば、マッピングテーブルと難読化されたリストのコピーは、異なるコンピュータシステム上で提供され、及び/又は、別個のITセキュリティ環境で保存及び使用されることができる。権限のない第三者が難読化されたリストにアクセスした場合、マッピングテーブルがなければリストの内容を認識することができない。また、マッピングテーブル自体にも、オブジェクトへのデータ値の割り当てを再構成できるようなオブジェクトIDは含まれていないため、アクセスされても無害である。したがって、権限のない第三者が元のリストを再構成するためには、2つの別個のコンピュータシステム又は2つの別個のセキュリティシステムに侵入する必要がある。このように、特に安全なデータ管理及び検索方法が提供される。
【0061】
実施形態によれば、識別子は、その長さ及び/又はタイプが、検索及び/又は分析に使用されるコンピュータシステムのプロセッサアーキテクチャに依存する値であり、すなわち、これらの要因に応じて選択される。特に、識別子の長さ及び/又はタイプは、プロセッサアーキテクチャによって非常に迅速に処理できるように選択される。例えば、識別子の長さは、プロセッサアーキテクチャの処理幅(例えば、32ビットアーキテクチャの場合は32ビット、64ビットアーキテクチャの場合は64ビット)に対応することができる。プロセッサアーキテクチャが数値を特に効率的に処理できる場合、識別子は数値で構成されることができる。プロセッサアーキテクチャが他の値のタイプ(例えばシンボル)を特に効率的に処理できる場合、識別子はシンボルで構成されることができる。
【0062】
実施形態によれば、検索又は分析は、マッピングテーブルに基づいて検索値識別子を特定し、検索値識別子は、マッピングテーブル内の検索値に割り当てられた識別子である。
【0063】
本発明の実施形態によれば、全ての識別子は固定長、特に同一の長さを有し、好ましくは、各識別子が、本発明の実施形態による方法を実行する少なくとも1つのプロセッサのALUの作業レジスタ内に完全に収まるように選択される。したがって、本発明の実施形態によれば、識別子は、ALUの単一の作業サイクルにおいて、識別子を互いに及び/又は検索値識別子と比較される。
【0064】
これは、データ値を1つ以上の識別子で置き換えることで、不正アクセスからのデータ内容の保護を改善できるだけでなく、さらに、検索クエリ及びデータ分析を処理する過程で、より効率的なデータ処理を提供できるため有利になり得る。
【0065】
本発明の実施形態によれば、本方法はさらに:
‐ DVSシステムによってコンセプトリスト及びコンセプトなしリストを暗号化するステップ、又は、DVSシステムによって難読化されたコンセプトリスト及び難読化されたコンセプトなしリストを暗号化するステップと;
‐ 検索クエリ又はデータ分析コマンドの受信に応答して、前記暗号化されたリストのうち、前記検索クエリ又は前記データ分析コマンドを処理するために、処理する必要があるリストを識別するステップと;
‐ DVSシステムに対する検索クエリの送信者を認証するステップであって、DVSシステムは、識別されたリストのそれぞれについて、送信者がリストのコンテンツにアクセスする権限を有するかどうかを個別にチェックする、ステップと;
‐ 前記DVSシステムによって、選択的に、送信者がアクセス権を有すると認証されたリストの復号化されたコピーを生成するステップと;
‐ 復号化されたリストコピーに対して、検索クエリ又はデータ分析を実行するステップと;
‐ 検索クエリ又はデータ分析の実行後、DVSシステムによって復号化されたリストコピーを削除するステップと、を含む。
【0066】
これは、DVSシステムによって生成及び管理されるリストが、暗号化されているため、基本的に読み取り不可能であるという利点があり得る。復号化に必要な暗号キーは、好ましくは、HSM上又は比較的に安全な環境に安全に保存される。これは、リスト又はリストのコピーを入手した、権限のない第三者が、それらが含むデータを読むことができないことを意味する。検索クエリ又は分析コマンドへの応答においてのみ、クエリに答えるために読む必要があるリストの一部が一時的に復号化される。したがって、データを管理及び検索するための、柔軟に拡張可能で、リソースを節約し、同時に安全な方法を提供できる。
【0067】
好ましい実施形態によれば、DVSシステムは、リストの各々を暗号化するために異なる暗号化キーを使用する。これにより、セキュリティをさらに高めることができる。
【0068】
実施形態によれば、コンセプトリストの少なくとも1つは、種又は亜種の複数の個体のゲノムマーカーを表し、コンセプトリストの別の少なくとも1つは、これらの個体の代謝特性又は表現型特性を表す。DVSシステムは、リストに対する集合演算を用いてデータ分析を実行する。データ分析には、一方ではゲノムマーカー、他方では代謝又は表現型形質の相関分析が含まれる。このように、いわゆる「ゲノムワイド関連研究-GWA」を実行するための新しい、非常に効率的な形態が提供される。
【0069】
他の実施形態によれば、グローバルリスト及び/又は少なくとも1つのコンセプトリストのデータ値の少なくとも一部は、他のオブジェクトのオブジェクトIDを含む他のオブジェクトとの「ist-Bestandteil-von」関係を指定し、コンセプトリストの別の少なくとも1つは、これらの個体の代謝特性又は表現型特性を表し、DVSシステムは、クエリの検索を実行し、検索基準は、関係タイプ「ist-Bestandteil-von」とオブジェクトIDの組み合わせを含み、検索基準のオブジェクトIDは、機械若しくは車両又はその機械若しくは車両の多構成部品を表す。
【0070】
他の実施形態によれば、グローバルリスト及び/又は少なくとも1つのコンセプトリストのデータ値の少なくとも一部は、自然言語の単語である。DVSシステムは、リストに対する集合演算を用いてデータ分析を実行する。データ分析は、この自然言語の予測モデルを作成するための単語の相関分析を含む。
【0071】
別の態様では、本発明は、コンピュータ読み取り可能な命令が格納された揮発性又は不揮発性記憶媒体に関し、命令は、プロセッサに、先行する請求項のいずれか1項に記載のデータメモリにデータを格納する方法を実行させるよう設計される。
【0072】
一実施形態によれば、冗長性なしデータ値リストが格納されるデータメモリは、メインメモリ(Arbeitsspeicher)である。メインメモリは、特にシングルボードコンピュータ、例えばRaspberry Piコンピュータなどの、プロセッサのメインメモリであり得る。
【0073】
別の態様において、本発明は、複数の冗長性なしデータ値リストに関するものである。データ値リストは、複数のコンセプトリスト及び1つのコンセプトなしリストを含む。任意で、冗長性なしデータ値リストは、グローバルリストも含む。冗長性なしリストは、データ値と、1つ以上のこのデータ値をそれぞれ含むデータオブジェクトのオブジェクトIDと、を含む。コンセプトリストの各々は、それぞれセマンティックコンセプトを表し、冗長性なしリストは、このコンセプトリストのセマンティックコンセプトが割り当てられたデータ値のを選択的に含み、コンセプトリストのデータ値の各々には、このデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、含まれるデータ値は、このコンセプトリストのセマンティックコンセプトの表現である。コンセプトなしリストは、セマンティックコンセプトが割り当てられていないデータ値を選択的に含み、コンセプトなしリストのデータ値の各々には、このデータ値を含むデータオブジェクトの全てのオブジェクトIDを割り当てられ、このデータオブジェクトの含まれるデータ値にはセマンティックコンセプトが割り当てられていない。
【0074】
さらなる態様において、本発明は、冗長性なしデータ値リストを、このリストに含まれるデータ値を検索及び/又は分析するために使用することに関するものである。特に、冗長性なしデータ値リストの使用は、電子データ処理システムによって実行され得る。典型的には、検索及び/又は分析は、リストを作成したのと同じDVSシステムによって実行される。しかしながら、検索が、リストを生成したものとは異なるシステム、例えば異なるDVSシステムによって実行されることも可能である。
【0075】
別の態様において、本発明は、電子データリポジトリ内のデータを検索するように構成されたコンピュータシステムに関し、コンピュータシステムは、この検索の際に、冗長性なしデータ値リストを、このリストに含まれるデータ値の検索及び/又は分析のために使用するように構成されている。
【0076】
別の態様において、本発明は、データを保存するためのコンピュータシステムに関する。このコンピュータシステムは、少なくとも1つのプロセッサと、データメモリと、データ処理及び検索システム-DVSシステムとを備える。DVSシステムは、データメモリに保存されたデータを管理及び検索するように設計され、少なくとも1つのプロセッサに、
‐ データ処理及び検索システム-DVSシステムによって生データ又は生データのアクセスアドレスを受信させるステップであって、生データは異なる構造を有する、ステップと、
‐ 複数の異なるパーサによって生データをパースするステップであって、それぞれ1つ以上のデータ値及びデータオブジェクトのそれぞれのオブジェクトIDを有するデータオブジェクトを特定し、前記データ値の少なくとも一部には、セマンティックコンセプトがそれぞれ割り当てられている、ステップと;
‐ DVSシステムによるパース結果を自動インポートするステップと;
‐ DVSシステムによってデータストレージ内に冗長性なしデータ値リストの形態で全てのパース結果を自動的に保存するステップであって、
冗長性なしリストは:
・ 1つ以上のコンセプトリストであって、コンセプトリストの各々は、それぞれ1つのセマンティックコンセプトを表し、非冗長リストは、パースの際にそのコンセプトリストのセマンティックコンセプトを割り当てられた、インポートされたデータ値を選択的に含み、コンセプトリスト内の各データ値には、そのデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、含まれるデータ値はそのコンセプトリストのセマンティックコンセプトの表現である、コンセプトリストと、
・ コンセプトなしリストであって、コンセプトなしリストは、パースの際にセマンティックコンセプトが割り当てられなかった、インポートされたデータ値を選択的に含み、コンセプトなしリスト内の各データ値には、そのデータ値を含むデータオブジェクトの全てのオブジェクトIDが割り当てられ、パースの際にこのデータオブジェクトに含まれるデータ値にセマンティックコンセプトを割り当てることができなかった、コンセプトなしリストと、
を含む、ステップと、
‐ 検索クエリに応答するため、及び/又は、データ分析を実行するために、DVSシステムによって冗長性なしリストを提供するステップと、
を含む方法を実行させるように設計されている。
【0077】
実施形態によれば、少なくとも1つのプロセッサは、算術論理ユニット-ALUを含み、ALUは、冗長性なしリストの2つ以上のデータ値に割り当てられたオブジェクトIDの集合に対して集合演算を行うように設計されており、集合演算は、特に、交差集合、結合集合、差分集合又は対称差分集合の演算を含む。特に、集合演算は、2つのオブジェクトIDの比較がALUの1つの動作クロック(比較演算)内で実行されるように、ALUによって実行され得る。
【0078】
「プロセッサ」は、ここでは、(通常は非常に縮小され、通常は自由に)プログラム可能な演算装置、すなわち機械又は電子回路であり、転送された命令に従って他の機械又は電気回路を制御し、その際、通常データ処理を伴うアルゴリズム(プロセス)を駆動すると理解される。プロセッサは、例えば、メインプロセッサ、中央処理装置、又は(より一般的には)コンピュータ又はそれらが命令を実行するコンピュータ類似装置のための中央処理装置(CPU)であることができる。また、プロセッサは、組み込みシステム(家電製品、券売機、スマートフォンなど)におけるマイクロコントローラであってもよい。
【0079】
実施形態によれば、本方法のステップの少なくとも1つは、プロセッサのサブユニットによって直接実行される。
【0080】
特に、本発明の実施形態によれば、オブジェクトIDに対する集合演算は、少なくとも1つのプロセッサの算術論理演算装置(英語ではarithmetic logic unit、したがってALUと略される)によって直接実行することができる。ALUは、同じ桁数(n)を有する2つの2進数値を連結することができる。nビットALUと称される。nの典型的な値は、8,16、32及び64である。本発明の実施形態によれば、全てのオブジェクトIDは固定長、特に同一の長さを有し、好ましくは、各オブジェクトIDがALUの作業レジスタに完全に収まるように選択され、ALUにおける集合演算の過程で互いに比較されることができる。特に、オブジェクトIDの2つの集合を比較するために、例えば、交差集合、結合集合、差分集合又は対称差分集合を計算するために、ALUは、一方の集合の全てのオブジェクトIDを他方の集合の全てのオブジェクトIDと比較して同一性を確認できる。
【0081】
ここでいう「生データ」とは、電子的な形態で利用可能であり、DVSシステムのパーサによってパースされた形態でないあらゆるデータを意味する。特に、生データは、観察、測定又はデータ収集中に直接得られたデータであって、未処理のまま利用可能なものを含む。しかしながら、本発明の意味における「生データ」は、一次収集されたデータから導出されたデータも含み、その導出は、DMSシステムにデータをインポートするために使用されるパーサによって実行されていないものである。したがって、生データとは、その獲得及び保存が、典型的には、DVSシステムの存在又は介入とは全く無関係に生成及び保存されたデータを意味する、と解されるべきである。
【0082】
「アクセスアドレス(Zugriffsadressen)」とは、データ処理システムが、アクセスアドレスの下で利用可能になったデータに対して、少なくとも読み取りアクセスを行うことを可能にする情報であると解される。アクセスアドレスは、例えば、ネットワークを介して利用可能なファイルへのURL、ファイルのローカルファイルシステムベースのアドレス、特定のデータレコードを有するデータベースとその中のデータベーステーブルの名前の表示、等とすることができる。
【0083】
「データ処理及び検索システム-DVSシステム」は、本明細書では、電子データを保存し、管理し、処理するためのソフトウェア及び/又はハードウェアベースのシステムと解される。本発明の実施形態によれば、DVSシステムは、大量のデータを効率的に、矛盾なく、かつ永続的に保存するように設計されている。実施形態によれば、DVSシステムは、モジュールとして設計されることができるいくつかのコンポーネントを含むことができきる:生データを受信してパースするため、及びパースされたデータを非冗長リストに保存するためのインポートコンポーネントを含む。ここで、インポートコンポーネントは、既存のリストを使用することができ、必要に応じて、新しいリストを自動的に作成することができる。DVSシステムは、リストを検索及び/又は分析するための検索及び分析コンポーネントをさらに含むことができる。任意で、DVSシステムは、ユーザがぱーすされるべき生データ及び/又はインポートされるべきコンセプト-データ値ペア(キー値ペア)及び/又は検索用語及び/又は解析コマンドを入力できるGUIを含むことができる。DVSシステムは、DVSシステムによって管理されるデータストレージへの読み取り及び書き込みアクセスを有する。実施形態によれば、DVSシステムは、データストレージとそこに格納されたリストとを含む。オプションとして、DVSシステムは、生データの少なくとも一部を保存するための文書ストアをさらに含むことができる。
【0084】
「データオブジェクト」又は「データレコード」は、ここでは、関連する内容、例えば成形品番号及び成形品名、製造年月日を有する(オブジェクトに属する)データ値のグループと理解される。データレコードは、データオブジェクトのデータが保存されたときに決定された、又はデータがパースされたときにのみ認識される、データ値の論理構造に対応する。パースされた生データが例えば画像である場合、画像に描かれた個々の認識されたオブジェクトは、本発明の意味における「データオブジェクト」であることができる。しかし、画像の画素情報のマトリックス全体がデータオブジェクト「画像」を構成することもあり得る。この場合、デジタル画像はデータオブジェクトであり、画像の識別子をオブジェクトIDとして使用することができる。
【0085】
したがって、生データに含まれるデータオブジェクトには、生データの個別のオブジェクトとして明示的に識別されたデータレコード(例えば、行単位のデータレコードを持つExcelテーブルの個々の行)のほか、パースプロセスの過程で動的に認識及び抽出されたデータオブジェクトが含まれる。後者は、生データに「暗黙的に」含まれるデータオブジェクトを意味する。
【0086】
「データ値」は、データセットの評価可能な最小単位と理解する。何が評価可能な最小単位とみなされるかは、アプリケーションコンテキスト、例えば、生データ内のデータ値及び任意でそのセマンティックな意味を認識及び抽出するパーサに依存する。例えば、画像分析パーサは、デジタル画像のパターンをビットレベルで認識するように設計されることができる。この場合、データ値は、ピクセル位置データに関連するバイナリ値である。別の例によれば、パーサは、個々のピクセルの強度値に基づいてパターンを認識することができる。この場合、データ値は、特定の画素位置における強度値であることができる。生データの性質に応じて、データ値は、英数字のシーケンス(例えば、単語、ペプチド配列、ヌクレオチド配列)、数値(例えば、重量又はサイズ情報)、又はバイナリオブジェクト(画像、音声、又はビデオファイル)であり得る。
【0087】
「パーサ」とは、ここでは、入力を分解し、さらなる処理に適した形式に変換する役割を担うコンピュータプログラム又はプログラムモジュールとして理解される。特に、パーサは、入力に明示的又は暗黙的に含まれるデータ値の意味(セマンティクス、セマンティックコンセプト)を認識し、さらなる処理のためにこのデータ値にリンクされた抽出されたデータ値の認識されたセマンティックコンセプトを渡す役割を果たすことができる。通常、パーサは、処理する生データを、追加のセマンティック情報を含む所望の形式で出力する。例えば、DVSシステムにデータをインポートするために使用されるパーサは、パースされたデータ値及びそのセマンティックコンセプトをキー-値ペアの形で出力し、これを既存のリストに保存するか、新たなコンセプトリストを自動的に作成するための基礎として機能することができる。しかし、パーサは、特定の分解及び/又は抽出スキームにしたがって生データを含むデータ構造を処理し、生データから1つ以上のデータ値を抽出する、純粋な構文パーサである場合もある。
【0088】
「冗長性なし」データ値リストは、ここでは、各データ値を1回だけ含むデータ値リストと理解する。
【0089】
「データストレージ」とは、データを保存するために使用される、記憶媒体又は記憶媒体上の記憶領域、又は複数の記憶媒体又は記憶領域の組合せをいう。データストレージが複数の記憶媒体又は記憶媒体領域を含む場合、これらを互いに接続して論理データストレージを形成することができる。この場合、記憶媒体又は記憶媒体領域は、例えば、ネットワークを介して、又はコンピュータシステムのバスを介して、互いに動作可能に接続されることができる。例えば、DVSシステムによって管理されるデータストレージは、DVSシステムがそのデータに排他的にアクセスするデータストレージとすることができる。
【0090】
「コンセプトリスト」とは、非冗長性であり、好ましくはソートされたデータ値のリストであり、各コンセプトリストは特定のセマンティックコンセプトを表し、このセマンティックコンセプトがインポート時に割り当てられたデータ値のみを含むと理解する。コンセプトリストの特定のデータ値又はリスト要素に割り当てられたオブジェクトIDは、このデータ値又はリスト要素を含み、インポート中にこのセマンティックコンセプトが割り当てられたデータオブジェクトのオブジェクトIDのみを含む。
【0091】
「コンセプトなしリスト」とは、ここでは、いかなるセマンティックコンセプトも表さず、インポート中にセマンティックコンセプトが割り当てられなかったデータ値を含む、非冗長で好ましくはソートされたデータ値のリストと解される。コンセプトなしリストの特定のデータ値又はリスト要素に割り当てられたオブジェクトIDは、このデータ値又はリスト要素を含み、インポート中にセマンティックコンセプトが割り当てられなかったデータオブジェクトのオブジェクトIDのみを含む。
【0092】
「グローバルリスト」とは、ここでは、グローバルリスト内の各データ値に1つ以上のポインタが割り当てられる、非冗長で、好ましくはソートされたデータ値のリストとして解され、各ポインタは、コンセプトリストのうちの1つの要素、又はグローバルリストのこのデータ値と同一のデータ値を含むコンセプトなしリストの要素を指す。
【0093】
「セマンティックコンセプト」とは、ここでは、様々な具体的な実施形態で実現可能な意味の内容と解される。例えば、セマンティックコンセプトは、いくつかの要素を含むオブジェクト又はプロセスのクラスを示すことができる。使用される生データ及び/又はパーサの種類に応じて、様々な異なるコンセプトが、パースされインポートされたデータ値に割り当てられる場合がある。例えば、医療データの場合、セマンティックコンセプトは、例えば「糖尿病」、「パーキンソン病」、「皮膚がん」などの様々な具体的な実施形態(データ値)を含む「診断」であり得る。別のセマンティックコンセプトは「症状」であり、「熱」、「悪寒」、「歯痛」などの具体的な実施形態又はデータ値を含むことができる。
【0094】
DVSシステムによるパース結果の「インポート」とは、ここでは、DVSシステムによって1つ以上のDVSシステム外部のパーサからパース結果を受信する過程と解される。パーサの1つ以上がDVSシステムの内部コンポーネントである場合、インポートとは、このパーサ又はこれらのパーサからのパース結果を、結果を冗長性なしリストの形式で保存する役割を担うDVSシステムのモジュールに転送することを指す。
【0095】
「コンピュータシステム」とは、ここでは、モノリシック又は分散型データ処理システム、特にデジタルデータ処理システムを意味すると解される。したがって、データ処理システムは、例えば、スタンドアロン型コンピュータシステム又はコンピュータネットワーク、特にクラウドシステムで構成することができる。コンピュータシステムは、例えば、モバイルデータ処理システム、例えば、ノートブック、タブレットコンピュータ又はポータブル電気通信装置、例えば、スマートフォンとして設計することも可能である。
【0096】
ここでいう「システム」とは、データを処理することができる1つ以上の要素の総体であると理解する。この目的のために、システムコンポーネントは、データ及び/又は制御コマンドを交換する。例えば、システムは、DVSシステムを有するコンピュータを含むことができる。オプションとして、システムは、さらなるコンポーネント、例えば、DVSシステムに検索クエリ及び/又は分析クエリを送信する1以上のクライアントコンピュータシステム、及び/又はDVSシステム及びパーサによって非冗長データ値リストに変換される生データの一部をそれぞれ含むソースシステムを含むことができる。
【図面の簡単な説明】
【0097】
以下、図面を参照しながら、本発明の実施形態を説明する。
【
図1】
図1は、DVSシステムを有するシステムのブロック図を示す図である。
【
図2】
図2は、データを保存する方法のフローチャートを示す図である。
【
図3】
図3は、異なる構造及び異なる内容の生データを有する複数のデータ構造を示す図である。
【
図4】
図4は、DMSシステムで生成されたリストの一部を抜粋したバックダイアグラムを示す図である。
【
図5】
図5は、DVSシステムのクライアントを有する分散型コンピュータシステムを示す図である。
【
図6】
図6は、正規表現による検索結果を有するDVSシステムのGUIのスクリーンショットを示す図である。
【
図7】
図7は、異なる検索オプションを有するDVSシステムのGUIのスクリーンショットを示す図である。
【
図8】
図8は、DVSシステムのGUIのスクリーンショットを示す図であり、GUIはコンセプトリストの内容を要約したものである。
【発明を実施するための形態】
【0098】
図1は、本発明の一実施形態によるDVSシステム102を有するシステム100のブロック図である。
【0099】
例えば、
図2のフローチャートに記載されているようなデータを保存し及び検索するための方法は、
図1に示すようなシステム100によって実行することができる。したがって、以下では、2つの図を参照しながら、システム100と
図2の方法とについてまとめてに説明する。例えば、システム及び方法は、大量の異種構造化された生データ112を統合し、効率的かつ柔軟に拡張可能な方法で検索可能及び分析可能にするために使用することができる。
【0100】
例えば、生データは、様々な内容及び構造のXMLファイル、JSONファイル、様々な形式のテキストファイル(例えば、Microsoft Word、OpenOffice、Adobe Acrobat PDFファイル、TXTファイルなど)、1つ以上の異なるリレーショナルデータベースからの様々なテーブル、メディアデータ、又は階層的に整理されたデータ、例えばオブジェクトツリーを含み得る。いくつかの実施形態では、生データは、DVSシステムのユーザインタフェースを介して入力されることもある。一般に、生データは、複数の独立したデータソース、例えば、異なる組織、特に企業、研究機関及び公的機関から発信されるものである。一部の生データでは、データオブジェクト、そのデータ値、及びオプションでそのセマンティックな意味も多かれ少なかれ明示的に識別できる。例えば、データベーステーブル、Excelファイル、及び対応するフィールドを有するその他の比較的高度に構造化されたデータなどである。他の生データ(例えば画像データ)では、データオブジェクトとそのデータ値は明示的ではなく、暗黙的である場合がある。つまり、データオブジェクトとそのデータ値は、パースプロセスの過程で初めて認識され、抽出される。
【0101】
様々な生データをパースするために、複数の異なる構文解析及び/又はセマンティックパーサ118ー130が提供される。例えば、パーサは、DVSシステム102の統合モジュール110の一部であることができる。また、パーサは、その実行がDVSシステムによって開始され制御される外部コンポーネントであることも可能である。生データをパースするために、使用されるパーサ118ー130は、それぞれの生データへの少なくとも読み取りアクセスを必要とする。パースの間、例えば、データオブジェクトのためにオブジェクトIDを動的に作成する際に、このIDが本当に一意であるか、又は、データ値リストの1つで参照として使用されているオブジェクトIDによってすでに占有されているかどうか、を決定できるようにするために、パーサは、DVSシステム又はDVSシステムの他のコンポーネントと交換することが好ましい。
【0102】
第1ステップ202において、DMSシステム102及び/又はそれによって制御されるパーサは、生データ112又はこの生データへの少なくともアクセスアドレスを受信する。アクセスアドレスは、生データへの少なくとも読み取りアクセスを可能にする。例えば、生データは、ネットワークを介して接続された1つ以上のソースシステムで生成又は捕捉され、ネットワーク、例えばインターネットを介してコンピュータシステム100に伝送されることができる。いくつかの実施形態では、生データは、例えば、既存のパーサの追加及び/又は改良バージョンによって後に改めて処理するために、DMSシステムによってコピーで保存される。しかしながら、生データは、検索クエリに応答するために直接処理されない。
【0103】
異なる生データのパーサとインポートは、並行して行うことができるが、生データ及び/又はパースに使用するパーサの利用可能性に応じて、異なる生データを次々に、さらには大きな時間間隔で処理することも可能である。
【0104】
ステップ204において、生データは、複数のパーサ118ー130によって処理され、データオブジェクト、そのオブジェクトID、及びデータオブジェクトの各々に含まれる1つ又は複数のデータ値を抽出する。例えば、Excelファイル、テキストファイル、画像ファイル、様々なXMLファイル、データベーステーブルに対して異なるパーサが存在する可能性がある。オブジェクトIDは、生データによって既に与えられているデータオブジェクトの識別子であって、DVSシステムによってオブジェクトIDとして採用されるものであることができる。あるいは、オブジェクトIDは、パース中に生成することもできる。例えば、複数のデータレコードをExcelテーブルに行ごとに保存することができる。このExcelテーブルのパーサは、Excelファイルの各行をデータオブジェクトとして解釈し、ファイル名と、データセット/データオブジェクトを含む行の行番号と、の組み合わせを使用するように構成されることができる。生データ内で既に明示的に特定のセマンティックコンセプトが抽出されたデータ値に割り当てられている場合 (対応するフィールドまたは列の識別子などによって)、担当のパーサは、抽出されたデータ値がそれを具体化する(verkoerpert)セマンティックコンセプトを抽出されたデータ値に割り当てる。パーサが特定のフィールド識別子をセマンティックコンセプトとして使用し、DVSシステムが対応するコンセプトリストを自動的に生成することにより、そのコンセプトがデータメモリにコンセプトリストの形でまだ存在しない場合、DMSシステムは自動的に新しいセマンティックコンセプトを学習する。パースの際に生データから抽出されたデータ値は、フィールド識別子によって割り当てられたセマンティックコンセプトに従って、コンセプトリストに保存される。しかし、パーサが、複雑なパースプロセスにおいて、生データに明示的に含まれないデータオブジェクト及びデータ値のみを認識することも可能である。同様に、パーサが、抽出されたデータ値がどのセマンティックコンセプトに属するかを認識しないこともあり得る。そのため、パースステップを実行した後の結果は、(最初は冗長な可能性がある)データ値リストの形式となり、その要素はそれぞれオブジェクトIDにリンクされ、オプションでセマンティックコンセプトも割り当てられる。
【0105】
ステップ206において、DVSシステムは、例えば統合モジュール110を介して、パースプロセスの結果をインポートし、その結果を非冗長データ値リスト114、115、116の形で、DVSシステムが管理するデータストレージ又はデータ記憶領域104に保存する。これらのリストは、1つ以上のコンセプトリスト116、典型的にはコンセプトなしリスト及びオプションとしてグローバルリスト115も含む。好ましくは、リスト内のデータ値は、特定の順序関係に従って、例えばアルファベット順にソートされる。リストの機能及び構造は、
図4を参照してより詳細に説明される。この形式の保存によって、オブジェクト構造、すなわち、特定のデータオブジェクトにどのデータ値又はセマンティックコンセプトが存在するかという疑問は、ある程度解消される。したがって、データ量は非常に強力に圧縮され、追加の生データ及び/又は追加のパーサの形で提供されたさらなるデータ値及び/又はコンセプトによって、構造的な変化なしにいつでも拡張することができる。
【0106】
ステップ210において、DVSシステムは、冗長性なしリスト114、115、116を提供し、これらのリストに基づいて検索クエリに応答し、及び/又はリストに含まれるデータ値について分析を実行する。例えば、リストを作成したDVSシステムは、検索クエリを受信して処理するためのモジュール106、及び/又は分析を実行するためのモジュールを含むことができる。例えば、モジュール106は、1つ以上のクライアントコンピュータからネットワークインターフェースを介して、又はローカルで作業するユーザから直接GUIを介して、検索クエリを受信するように構成され得る。付加的にあるいは代替的に、モジュール106は、複数のコンセプトリストと、任意でコンセプトなしリスト及びグローバルリストに対する集合演算に基づく複数の複雑な分析関数も含むことができる。
【0107】
他の実施形態では、リスト114、115、116を作成したDMSシステムが、リスト114、115、116をオリジナルで、又はコピーとして検索及び分析システムに転送することも可能である。検索及び分析システムは、DVSシステムのさらなるインスタンスであってもよいし、検索クエリ及び/又は分析コマンドを受信して処理するためのインタフェースを有する別のハードウェア及び/又はソフトウェアベースのデータ処理システムであってもよい。この他の検索及び分析システムは、オプションとして、パーサ及びパース結果をインポートするためのインタフェースを含むことができるが、これらのコンポーネントを含む必要はない。
図3は、生データを持つデータ構造を示しており、データ構造は異なる構造、異なる内容を有する。
【0108】
例えば、データ構造302,304,306は、メーカーからの、JSON形式のエンジン(Motoren)の製品データシート(ここではスペースの都合上、タブ区切りのテキストファイルとして示す)である。例えば、3つのJSONファイル302,304,306のそれぞれを、それぞれがオブジェクトIDを有する別個のデータオブジェクトとして解釈するように、パースプロセスを行うことができる。各データオブジェクトは、セマンティックコンセプト「出力」に対する具体的なデータ値、セマンティックコンセプト「トルク」に対する具体的なデータ値など、複数のキー値フィールドを含む。
【0109】
以下に示すデータ構造は、塗装ディーラーの塗装の様々な特性の仕様が記載されたExcelテーブルである。各行308ー313は、正確に1つのデータオブジェクト(データレコード)を含む。パースプロセス中に、認識された各データオブジェクトは、例えば、オブジェクトIDとしてこのExcelテーブルの識別子と組み合わせて行番号を割り当てることができる。
【0110】
生データの一部は、例えばテキストファイル314ー318のようなテキストデータの形態であることがある。例えば、純粋な構文パーサを使用して、このテキストを個々の単語(それぞれがデータ値として機能する)に分解することができる。例えば、構文パーサは、自然言語テキストを、(必要に応じていくつかのストップワードは別として)データ値として作用する単語に分解するトークナイザ(Tokenisierer)であり得る。この場合、インポート時に単語/データ値にセマンティックコンセプトが最初に割り当てられず、単語と、それぞれのソースオブジェクトのオブジェクトIDと、が概念なしリストに保存され、各単語はこのリストで1回だけ出現する。
【0111】
生データの別の部分は、例えば、商業登記簿からの抜粋320ー324の形態で提供されることができる。これらには、キー値フィールド及びフリーテキストが混在していることがある。
【0112】
生データは異なるソースに由来し、あるものは内容が重複し(「イエロー株式会社(Gelb-AG)」)、あるものはデータ値が曖昧である(「シルバー(Silber)」)。それでも、実施形態では、意味的な曖昧さを解消しながら、これらすべてのデータを効率的に統合して処理することができる。
【0113】
図4は、
図3に示した生データに基づいてDVSシステムによって生成されたデータ構造の一部の抜粋を示すブロック図である。冗長性なしリスト114、115、116に示されたデータ値もまた、抜粋に過ぎず、典型的には、リストはかなり長いものである。
【0114】
DVSシステムによって生成及び管理されるすべてのデータ値リスト114、115、116は、冗長性がなく、すなわち、各データ値を1回だけ含む。好ましくは、データ値はさらにソートされているので、検索用語の順番のソートとリストの既に検索されたデータ値に基づいて、リスト内のさらなる検索がヒットをもたらすことが除外される場合、リスト内の連続的な検索が中止されることができる。
【0115】
例えば、パーサは生データを処理する際に、特に以下のセマンティックコンセプトを特定した:色、製造者、塗装ID、姓、リレーションタイプ、メタルタイプ。これらのセマンティックコンセプトは、それぞれコンセプトリスト402、404、406、408、410、412で表される。
【0116】
コンセプトなしリスト115は、パース中にセマンティックコンセプトが割り当てられなかったデータ値を含む。例えば、メッセージテキスト314のパーサが、単語の意味を認識しない、テキストを単語に変換する純粋なトークナイザである場合、このパーサによって特定された単語は「コンセプトなし」であり、コンセプトリストに非冗長形式で保存される。したがって、使用されるパーサがその言葉のセマンティックな意味を認識することなく、テキスト314が「Gelb-AG」について言及している場合、そのデータ値は、データオブジェクト314を参照して、コンセプトなしリストに保存される。同じデータ値「イエロー株式会社(Gelb-AG)」が他の生データにも含まれている可能性があり、それによって、この他の生データを解析するときに、このデータ値に意味的コンセプトを割り当てることが可能である。例えば、データ値「イエロー株式会社(Gelb-AG)」は、フィールド識別子「会社」の下で商業登記簿抜粋320にも含まれる。例えば、商業登録パーサ及び/又はDVSシステムは、セマンティックコンセプト「会社」及び「製造者」を同じセマンティックコンセプトの同義語とみなすように構成され、データ値「イエロー株式会社(Gelb-AG)」が、データオブジェクト302上のオブジェクトIDに関連付けられたコンセプト「製造者」に対するコンセプトリスト404に格納されるようにしてもよい。データ値が既にリストに存在する場合、このデータ値に割り当てられたオブジェクトIDの集合のみが適宜補完される。
【0117】
コンセプトなしリスト115だけでなく、
図3に示した他のいくつかのリストに基づいて、リストデータ値は異なるデータオブジェクトによってソートされ、リストにおけるデータ値のソートは、特定のデータオブジェクトからのデータ値の起源とは無関係であることがわかる。このように、生データに含まれるデータオブジェクトの本来の構造は、リスト生成時に構造的に完全に解消され、データオブジェクトへのデータ値の割り当てが、オブジェクトIDの形でしか残っておらず、再構成可能であることがわかる。
【0118】
任意選択で、いくつかの実施形態では、それぞれのデータオブジェクト内のデータ値の位置データもリスト115ー116内のオブジェクトIDとともに保存することができ、その結果、データオブジェクト内のデータ値の位置もまた、生データで再構成されることができる。
【0119】
冗長性なしデータ値リストは、好ましくは、グローバルリスト114も含む。これにはオブジェクトID は含まれず、データ値を1つ以上のセマンティックコンセプト及び対応するコンセプトリストに割り当てるために使用される。例えば、グローバルリストのデータ値「シルバー」は、コンセプトリスト「色」、「姓」及び「金属タイプ」に割り当てられるが、データ値「Stolze」は、コンセプトリスト「姓」にのみ割り当てられる。例えば、グローバルリストは、所定の研削用語を含む異なるセマンティックコンセプトを、検索用語を入力する際に、動的に表示するように働き、及び/又は、データベース検索又はデータ分析の際に、評価されるデータ値を、所定のセマンティックコンセプトを表すデータ値に制限するように働くことができる。
【0120】
好ましくは、リストはまた、データオブジェクトの関係を表す1つ以上のコンセプトリスト410を含む。ここで、データ値は、関係タイプ(例えば、「Verbaubar in(~にインストール可能)」)とオブジェクトID(例えば、エンジンタイプMF-3000、...、MF6000の識別子)との連結(Konkatenation)からなる。この関係は、所定のコンポーネント(パース中にこの関係が抽出されたデータオブジェクトで指定された)が、どのモータタイプにインストールできるかを指定する。検索値「Verbaubar_in_MF_3100(MF_3100にインストール可能)」を有する検索クエリは、タイプMF_3100のエンジンにインストール可能なエンジン部品を表すデータオブジェクトのすべてのオブジェクトIDを迅速に返す。このように、可能な限りすべての関係タイプのオブジェクトに対する非常に効率的な検索機能が提供され、ワーキングメモリや計算能力の低いデータ処理装置でも使用することができる。
【0121】
図5は、ネットワークを介してDVSシステム102のインタフェース106に検索クエリ及び/又は分析クエリを送信し、その応答として、例えばデータ値が送信された検索基準を満たすオブジェクトのリストなどの応答を受信するDVSシステムクライアント506、508を有する分散コンピュータシステム500を示す。
【0122】
生データは、複数のソースシステム502、504から、例えばインターネットなどのネットワークを介しても提供される。
【0123】
しかしながら、
図5に示すシステムアーキテクチャ500は、多くの可能なアーキテクチャのうちの1つに過ぎない。例えば、DVSシステムと同じコンピュータシステム100上に生データのコピーを保存すること、及び/又は、ネットワーク接続されたクライアントシステム506、508に加えて又は代えて、コンピュータシステム100上にインスタンス化された1つ以上のローカルクライアントクエリアプリケーションも使用するなど、多くの代替アーキテクチャが考えられる。パーサ118ー130はDVSシステムの一体型であっても、DVSシステムによって制御される外部ソフトウェアプログラムであってもよい。
【0124】
例えば、パーサ118ー130は、抽出された情報からキー-値(Key-Value(KV)-Listen)リストを最初に生成することができ、このリストには、冗長な形式のデータ値(例えば、色=緑、重量=100kg、音楽ジャンル=クラシック、本=科学等)が依然として含まれている。追加的又は代替的に、CTリストは、DPシステムのGUIを介して受け取ることができ、この場合の構文解析プロセスは、与えられたキー値ペアを受け容れ、キー値ペアが抽出されるデータオブジェクトのオブジェクトIDに関連付けるだけですむ。例えば、GUIでは、医師が複数の症状に基づいて診断を入力することができる。このとき、「症例」は、関連するデータ集合(データオブジェクト)として入力することができ、「症状=高血糖値」、「症状=低インスリン濃度」、「症状=めまい」)だけでなく、「診断=糖尿病」というキーバリューペアがそれぞれコンセプトリスト「症状」、「診断」に格納され、検索クエリにおいてこの「症例」のオブジェクトIDを介して同じ症例を付与することができる。
【0125】
しかし、特定の症例・患者のデータ値を再構成するだけでなく、数十万人の患者の症状や診断を含むデータ値リストに対して、包括的な統計分析を行うことができる。
【0126】
このように、複数のコンセプトリストのデータ値のオブジェクトIDを交差させるなどして、冗長性なしリストに対して効率的に相関分析を行うことで、新たな医学的知見を得ることができる。
【0127】
パーサ118ー130によって生成されたすべてのキー値ペア503は、好ましくは、自動的に、標準化され、常に同じ方法で処理されて、冗長性なしデータ値リスト114、115、116に転送される。リスト構造又は任意のインデックス(両方とも、さらなるデータ又は今まで未知の構造を有する新たなデータセットを統合するときに、従来のDBMSにおいて通常適合させなければならない)の変更は必要ない。
【0128】
データ値リストの全体は、データレコードが他のデータレコードから構造的に区切られた別個のユニットとして存在しない多次元モデルを表している。データ値と特定のデータオブジェクトとの関連は、冗長性なしリスト内の検索、及びこれらのリストの要素のオブジェクトIDに対するセット操作によってのみ算出される。
【0129】
例えば、検索クエリは、電話帳のエントリに関する以下の検索条件を含むことができる:「姓= /[CK].*ristin/」、「通り=”/.*[Aa]llee.*/」及び「番地 =/14/」。このように、検索クエリには、検索基準として、「あいまい一致」を許容する2つの正規表現と、正確に満たさなければならないデータ値「14」とが含まれている。DVSシステムは、検索クエリの検索条件が適用されるコンセプトリスト(この場合、姓、ストリート、通り、番地)を特定し、次に、基準の種類に応じて、それぞれのコンセプトリストのデータ値における同一値のファジー検索又は検索を実行するように構成されている。このような検索は非常に高速であるだけでなく、名前のタイプミスやスペルの違いによって、検索条件を満たす電話帳エントリ(データオブジェクト)が見落とされることがないという利点もある(タイプミスが正規表現によってまだカバーされている場合に限る)。
【0130】
図6は、一実施形態による正規表現の検索結果を有するDVSシステムのGUI600のスクリーンショットを示す図である。
【0131】
この例では、8.9ギガバイトの生データ集合がパースされ、4.42ギガバイトの非冗長リストに転送された。生データ集合は、カンマで区切られたファイルの集合を含み、列はそれぞれが、姓、名、通り、番地、郵便番号、市、市外局番、電話番号などの異なるセマンティックコンセプトを含む。実施形態に関して既に説明したように、このデータは、グローバルリストおよび以下のコンセプトリストに変換され、そのそれぞれは、名、姓、郵便番号、市、番地、市外局番及び電話などの非冗長データ値のみを含む。さらに、いくつかのデータ集合(データオブジェクト)については、他のデータオブジェク ト(データセット)との関係が定義され、この場合、「母」と「父」の関係が定義された。
【0132】
GUIにより、ユーザは、リストの1つ以上に関連する検索条件を含むことができ、異なる検索モード(同一性又は正規表現でのマッチング)で使用できる異なる検索クエリを策定することができ、検索モードは、コンセプトインデックスのそれぞれについて個別に選択することができる。
【0133】
図6に示す例では、検索フィールド602に正規表現が入力され、冗長性なしコンセプトリスト「名を検索する。コンセプトリスト「名」に含まれるデータ値のうち、正規表現に「一致」するすべてのデータ値と、このコンセプトリストにおいてこの一致するデータ値に割り当てられたオブジェクトIDが、第1ステップで特定される。89ギガバイトの生データではなく、320万個の異なるデータ値を有するソートされた名前リストだけを検索するため、この第1ステップはわずか0.7秒しかかからない。第2ステップでは、第1ステップで特定されたすべてのオブジェクトIDを使用して、「一致する」姓を持つ人を表すデータオブジェクト(データレコード)が出力されます。ここに示す例では、これらのデータ集合の出力には約11秒かかる。なお、これらの実行時間は、2012年製造のMacBook Air(8GBラム搭載)において、データ検索用のDMSシステムの他に、Webサーバーやその他のさまざまなプログラムが動作しており、冗長性なしリストはノートPCにUSB接続された外部SSDストレージデバイスに保存されていることを考慮する必要がある。正規表現による検索は、専用のデータベースサーバーではなく、数年前のノートパソコンで1秒以下の実行時間で実行された。
【0134】
したがって、非冗長データ値リストの使用は、ID検索だけでなく、正規表現による検索を非常に効率的に実行できる利点がある。しかし、非冗長データ値リストという具体的なデータ整理によって、
図7に示すような様々な検索クエリに対応することができる。
【0135】
図7は、様々な検索オプションを有するDVSシステムのGUI700のスクリーンショットを示す。一方では、ユーザは、ここでは「ユニバーサル検索」と呼ばれる「グローバル検索」を実行するオプションを有する。ユニバーサル検索では、ID検索のための検索用語、又は正規表現の形の検索用語が入力される。すると、インポートされたすべてのデータ値の全体(Gesamtheit)を含むグローバルリストで検索される。例えば、グローバルリストには、検索用語「Berlin」が1回含まれ、グローバルリストにおけるこのデータ値は、複数のコンセプトリスト「名」、「都市」、「通り」、「名」を参照し、その中でこのデータ値がそれぞれ1327回、1112234回、89412回、81回出現する。一方、データ値「Berlin」は、コンセプトリスト「番地」と「郵便番号」には出現していない。姓「Berlin」が81回ヒットするのは、生データにエラーがあることを示しているのかもしれない。たとえば、セパレータがない、あるいは間違っているために、パース中にフィールドの割り当てが認識されないなどである。
【0136】
グローバル検索に加えて又は代えて、ユーザは任意の組み合わせ検索を定義し実行することもできる。組み合わせ検索では、ユーザは、検索で考慮すべき各セマンティックコンセプト(ここでは、例えば、名前、個人の略称、及び電話又は通り)について検索基準を入力することができ、好ましくは、検索基準のいずれかにさらに文字を入力するごとに、すでに入力されているすべての検索基準(完全に又は部分的に)に対する検索をトリガする。
【0137】
いくつかのコンセプトリストに対するいくつかの正規表現でも、実行時間は表現の種類によって数秒から数十秒の範囲である。また、検索に用いるセマンティックコンセプトの数や種類によって、インデックスを作成したり、リストの構造(インデックス)を調整したりする必要がないことも特筆される。従来の多くのDBMSでは、表形式の関係データに加えて大量の検索インデックスを作成する必要があり、そのサイズは8.9GBの生データのサイズにほぼ相当する。したがって、同じ多数の検索クエリをサポートする従来のリレーショナルDBMSの有効メモリ消費量は、ここで説明する実施形態によるDVSシステムが消費する4.42GBより何倍も高く、グローバルリスト及び/又はコンセプトリスト及び/又はコンセプトなしリストに対する任意の組み合わせ的に可能な検索クエリを可能にするためである。
【0138】
別の実施例では、14億件のタクシー移動記録(出発地と目的地の時間・位置情報、客数、支払額を含む)を含む550GBの生データセットを、総サイズ396GBの非冗長リスト集合に変換したものがあります。生データのデータレコード(データオブジェクト)はそれぞれ、出発地となるタクシーゾーンと目的地となるタクシーゾーンを参照していた。データセットが膨大なサイズであるにもかかわらず、あるゾーンを開始ゾーン又は目的ゾーンとするタクシー移動の総数を求めるための実行時間は、説明したリスト整理のおかげで、わずか0.01秒であった
【0139】
図8は、DVSシステムのGUI800の画面であり、このGUIでは、コンセプトリストの内容がまとめられている。列「フィールド名(Feldname)」には、DVSシステムによって管理され、検索に使用されるコンセプトリストの名称が含まれる。この名称は、このコンセプトリストが表すセマンティックコンセプトと同一である。列 「フィールドインデックスエントリ(Field index entries)」には、それぞれのコンセプトリストにおける異なるデータ値の数が示される。コンセプトリスト「電話(Telephone)」には、6941134個の異なる電話番号(市外局番なし)が存在する。コンセプトリスト「姓(Name)」には、3210129個の異なる姓が存在する。コンセプトリスト「名(First name)」には、673264通りの名が存在する。それぞれのリストのデータ値全体に割り当てられた(異なる、つまり非冗長な)オブジェクトIDの総数が、「出現(Vorkommen)」の列に示されている。したがって、生データは、フィールド「電話」のデータ値を有する34795673個のデータオブジェクト(データレコード)を含み、これらの「電話フィールド」の全体において、合計6941134個の異なる電話番号が含まれ抽出される。
【国際調査報告】