(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025013271
(43)【公開日】2025-01-24
(54)【発明の名称】科学機器のメタデータをセマンティックモデルに整合させるための装置及び方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20250117BHJP
G06F 3/0481 20220101ALI20250117BHJP
【FI】
G06F11/36 164
G06F3/0481
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024111152
(22)【出願日】2024-07-10
(31)【優先権主張番号】63/513,076
(32)【優先日】2023-07-11
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】503363806
【氏名又は名称】サーモ フィニガン エルエルシー
【氏名又は名称原語表記】Thermo Finnigan LLC
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(72)【発明者】
【氏名】マーク レイモンド レスラー
(72)【発明者】
【氏名】デビッド ジェフリー エトリン
(72)【発明者】
【氏名】マシュー ディー カンプ
(72)【発明者】
【氏名】サチン エス デシュパンデ
【テーマコード(参考)】
5B042
5E555
【Fターム(参考)】
5B042GC11
5B042HH10
5B042HH14
5B042HH30
5B042MC17
5E555AA28
5E555AA33
5E555AA79
5E555BA01
5E555BB01
5E555BC04
5E555CA02
5E555CA12
5E555CA15
5E555CA18
5E555CB02
5E555CB12
5E555CB20
5E555CC01
5E555CC03
5E555DB41
5E555DB56
5E555DC13
5E555DD07
5E555DD09
5E555EA08
5E555EA14
5E555FA00
(57)【要約】 (修正有)
【課題】科学機器のメタデータをセマンティックモデルに整合させるための装置及び方法の提供。
【解決手段】命令を記憶するメモリハードウェアと命令を実行する処理ハードウェアとを含む科学機器支援装置は、命令が実行されると、メタデータに存在する拡張属性を識別するメタデータ処理、メタデータのメディアタイプ注釈に基づくセマンティックモデル読み込み、セマンティックモデルにおけるメタデータの拡張属性プロパティとマッチする拡張属性プロパティの照会、拡張属性プロパティ発見時のメタデータの各拡張属性プロパティを選択されたセマンティックモデルのデータプロパティとのマッチング、各対応するデータプロパティの出力グラフ上のノードへの整合、オブジェクトプロパティに基づくノード間の関係の出力グラフ上への生成、ノード間の関係のテストと出力グラフからの誤り関係の除去及び出力グラフ表示のためのGUIの変形を実施する。
【選択図】
図3A
【特許請求の範囲】
【請求項1】
科学機器支援装置であって、
命令を記憶するように構成されたメモリハードウェアと、
前記命令を実行するように構成された処理ハードウェアと、を含み、
前記命令が実行されると、前記装置は、
メタデータ内に存在する拡張属性を識別するために、前記メタデータを処理することと、
前記メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、
読み込まれた前記1つ以上のセマンティックモデルにおいて、前記メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、
前記1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、
前記メタデータ内の各拡張属性プロパティを前記選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、
各対応するデータプロパティを出力グラフ上のノードに整合させることと、
前記選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することと、
前記出力グラフ上のノード間の関係をテストすることと、
前記出力グラフから誤っている関係を除去することと、
前記出力グラフをユーザに表示するために、グラフィカルユーザインターフェースを変形させることと、
を実施する、装置。
【請求項2】
前記命令が実行されると、前記装置は、
前記メタデータ内で、マッチする拡張属性プロパティが見つからなかったことを受けて、
前記1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することと、
前記メタデータ内の各拡張属性プロパティを前記最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることと、
を実施する、請求項1に記載の装置。
【請求項3】
前記1つ以上のセマンティックモデルから前記最も可能性の高いセマンティックモデルを予測することが、
前記メタデータ内の拡張属性プロパティと前記1つ以上のセマンティックモデルの各々の中の拡張属性プロパティとの間の距離を計算することと、
計算された前記距離に基づいて、前記1つ以上のセマンティックモデルの各々についてマッチングスコアの合計を計算することと、
マッチングスコアの合計が最も高いセマンティックモデルを前記最も可能性の高いセマンティックモデルとして選択することと、
を含む、請求項2に記載の装置。
【請求項4】
前記メタデータ内の各拡張属性プロパティを前記最も可能性の高いセマンティックモデル内の前記推定データプロパティとマッチングさせることが、
前記メタデータ内の前記拡張属性プロパティ、及び前記最も可能性の高いセマンティックモデル内の推定拡張属性プロパティが、閾値を上回るマッチングスコアを有するか否かを判定することと、
前記メタデータ内の前記拡張属性プロパティと前記最も可能性の高いセマンティックモデル内の前記推定拡張属性プロパティとの間の前記マッチングが前記閾値を上回ると判定したことを受けて、前記メタデータ内の前記拡張属性プロパティを前記最も可能性の高いセマンティックモデル内の前記推定拡張属性プロパティとマッチングさせることと、
を含む、請求項2に記載の装置。
【請求項5】
前記メタデータ内の各拡張属性プロパティを前記選択されたセマンティックモデル内の前記対応するデータプロパティのうちの1つとマッチングさせることが、
前記選択されたセマンティックモデル内のデータプロパティを選択することと、
選択された前記データプロパティに基づいて、前記セマンティックモデルから拡張属性プロパティを選択することと、
選択された前記拡張属性プロパティの値が前記メタデータ内に存在するか否かを判定することと、
前記選択された拡張属性プロパティの前記値が前記メタデータ内に存在すると判定したことを受けて、前記選択されたデータプロパティと、前記選択された拡張属性プロパティの前記値に対応する前記メタデータからの関連付けられた拡張属性プロパティとを配列に追加することと、
を含む、請求項1に記載の装置。
【請求項6】
各対応するデータプロパティを出力グラフ上の前記ノードに整合させることが、
データプロパティと、関連付けられた拡張属性プロパティとの組み合わせを前記配列から選択することと、
選択された前記データプロパティと拡張属性プロパティとの組み合わせを表す前記ノードを前記出力グラフ上に生成することと、
を含む、請求項5に記載の装置。
【請求項7】
前記選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することが、
前記出力グラフ上の第1ノードを選択することと、
選択された前記ノードに対応する前記セマンティックモデルから定義域を選択することと、
前記定義域に関連付けられたオブジェクトプロパティ及び値域を選択することと、
選択された前記値域に対応する第2ノードが存在するか否かを確認することと、
前記第2ノードが存在すると判定したことを受けて、選択された前記オブジェクトプロパティに基づいて、前記第1ノードから前記第2ノードに延びるリンクを前記出力グラフ上に生成することと、
を含む、請求項1に記載の装置。
【請求項8】
前記セマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することが、
前記第2ノードが存在しないと判定したことを受けて、前記値域に基づいて、前記第2ノードを前記出力グラフ上に生成すること、
を含む、請求項7に記載の装置。
【請求項9】
前記出力グラフ上のノード間の関係をテストすることが、
前記出力グラフ上のテストノードを選択することと、
選択された前記テストノードを除去すると、前記出力グラフ上の他のいずれかのノードが切断されたままになるか否かを判定することと、
前記選択されたテストノードを除去しても、前記出力グラフ上の他のいかなるノードも切断されたままにはならないと判定したことを受けて、前記選択されたテストノードを誤りとしてマークすることと、
を含む、請求項1に記載の装置。
【請求項10】
前記命令が実行されると、前記装置は、
前記メタデータ内の拡張属性プロパティ、及び前記選択されたセマンティックモデル内の対応するデータプロパティに基づいて、データトリプルを生成することと、
前記データトリプルに基づいて、ノード及びリンクを前記出力グラフ上に生成することと、
を実施する、請求項1に記載の装置。
【請求項11】
科学機器支援のためのコンピュータ実施方法であって、
メタデータ内に存在する拡張属性を識別するために、前記メタデータを処理することと、
前記メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、
読み込まれた前記1つ以上のセマンティックモデルにおいて、前記メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、
前記1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、
前記メタデータ内の各拡張属性プロパティを前記選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、
各対応するデータプロパティを出力グラフ上のノードに整合させることと、
前記選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することと、
前記出力グラフ上のノード間の関係をテストすることと、
前記出力グラフから誤っている関係を除去することと、
前記出力グラフをユーザに表示するために、グラフィカルユーザインターフェースを変形させることと、
を含む、方法。
【請求項12】
前記メタデータ内で、マッチする拡張属性プロパティが見つからなかったことを受けて、
前記1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することと、
前記メタデータ内の各拡張属性プロパティを前記最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることと、
を更に含む、請求項11に記載の方法。
【請求項13】
前記1つ以上のセマンティックモデルから前記最も可能性の高いセマンティックモデルを予測することが、
前記メタデータ内の拡張属性プロパティと前記1つ以上のセマンティックモデルの各々の中の拡張属性プロパティとの間の距離を計算することと、
計算された前記距離に基づいて、前記1つ以上のセマンティックモデルの各々についてマッチングスコアの合計を計算することと、
マッチングスコアの合計が最も高いセマンティックモデルを前記最も可能性の高いセマンティックモデルとして選択することと、
を含む、請求項12に記載の方法。
【請求項14】
前記メタデータ内の各拡張属性プロパティを前記最も可能性の高いセマンティックモデル内の前記推定データプロパティとマッチングさせることが、
前記メタデータ内の前記拡張属性プロパティ、及び、前記最も可能性の高いセマンティックモデル内の推定拡張属性プロパティが、閾値を上回るマッチングスコアを有するか否かを判定することと、
前記メタデータ内の前記拡張属性プロパティと前記最も可能性の高いセマンティックモデル内の前記推定拡張属性プロパティとの間の前記マッチングが前記閾値を上回ると判定したことを受けて、前記メタデータ内の前記拡張属性プロパティを前記最も可能性の高いセマンティックモデル内の前記推定拡張属性プロパティとマッチングさせることと、
を含む、請求項12に記載の方法。
【請求項15】
前記メタデータ内の各拡張属性プロパティを前記選択されたセマンティックモデル内の前記対応するデータプロパティのうちの1つとマッチングさせることが、
前記選択されたセマンティックモデル内のデータプロパティを選択することと、
選択された前記データプロパティに基づいて、前記セマンティックモデルから拡張属性プロパティを選択することと、
選択された前記拡張属性プロパティの値が前記メタデータ内に存在するか否かを判定することと、
前記選択された拡張属性プロパティの前記値が前記メタデータ内に存在すると判定したことを受けて、前記選択されたデータプロパティと、前記選択された拡張属性プロパティの前記値に対応する前記メタデータからの関連付けられた拡張属性プロパティとを配列に追加することと、
を含む、請求項11に記載の方法。
【請求項16】
各対応するデータプロパティを出力グラフ上の前記ノードに整合させることが、
データプロパティと、関連付けられた拡張属性プロパティとの組み合わせを前記配列から選択することと、
選択された前記データプロパティと拡張属性プロパティとの組み合わせを表す前記ノードを前記出力グラフ上に生成することと、
を含む、請求項15に記載の方法。
【請求項17】
前記選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することが、
前記出力グラフ上の第1ノードを選択することと、
選択された前記ノードに対応する前記セマンティックモデルから定義域を選択することと、
前記定義域に関連付けられたオブジェクトプロパティ及び値域を選択することと、
選択された前記値域に対応する第2ノードが存在するか否かを確認することと、
前記第2ノードが存在すると判定したことを受けて、選択された前記オブジェクトプロパティに基づいて、前記第1ノードから前記第2ノードに延びるリンクを前記出力グラフ上に生成することと、
を含む、請求項11に記載の方法。
【請求項18】
前記セマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することが、
前記第2ノードが存在しないと判定したことを受けて、前記値域に基づいて、前記第2ノードを前記出力グラフ上に生成すること、
を含む、請求項17に記載の方法。
【請求項19】
前記出力グラフ上のノード間の関係をテストすることが、
前記出力グラフ上のテストノードを選択することと、
選択された前記テストノードを除去すると、前記出力グラフ上の他のいずれかのノードが切断されたままになるか否かを判定することと、
前記選択されたテストノードを除去しても、前記出力グラフ上の他のいかなるノードも切断されたままにはならないと判定したことを受けて、前記選択されたテストノードを誤りとしてマークすることと、
を含む、請求項11に記載の方法。
【請求項20】
命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、前記命令が、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
メタデータ内に存在する拡張属性を識別するために、前記メタデータを処理することと、
前記メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、
読み込まれた前記1つ以上のセマンティックモデルにおいて、前記メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、
前記1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、
前記メタデータ内の各拡張属性プロパティを前記選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、
各対応するデータプロパティを出力グラフ上のノードに整合させることと、
前記選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を前記出力グラフ上に生成することと、
前記出力グラフ上のノード間の関係をテストすることと、
前記出力グラフから誤っている関係を除去することと、
前記出力グラフをユーザに表示するために、グラフィカルユーザインターフェースを変形させることと、
を含む、ステップを行わせる、
非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
様々な実施形態は、概して、ただし排他的ではなく、科学機器によって生成されたデータのデータ処理及び分析システムなど、科学機器及び科学機器支援装置に関する。
【0002】
関連出願の相互参照
本出願は、2023年7月11日に出願された米国特許仮出願第63/513,076号の通常出願であり、その利益を主張し、その全内容は参照により本明細書で援用される。
【発明の概要】
【0003】
科学機器は、可動構成要素、センサ、入力及び出力ポート、エネルギー源、並びに、消耗構成要素の複雑な配置を含む。科学機器を実行すると、様々な科学機器支援装置によって管理、解釈、及び分析する必要がある膨大な量のデータを生成する傾向がある。このデータは複雑である傾向があり、異種のソース(異なる科学機器及び/又は各科学機器上の異なるセンサなど)に由来するので、メタデータ(科学機器データを記述する追加データなど)は、この科学機器データを整理及び理解するのに重要な役割を果たす。例えば、メタデータは、個々の機器実行に対して一意の識別子を提供することができ、異なる実行からのデータの異なるセットを区別することを可能にする。これは、様々な異なる実験からの出力を追跡及び整理するために重要であり得る。メタデータは、また、データが収集された条件に関するコンテキストを提供することができる。これは、実験セットアップ、機器設定、及び/又は、実行のデータ及び時間についての情報を含み得る。このコンテキストは、データを正確に解釈するのに有益であり得る。メタデータは、また、例えば、データがどのように収集されたか、どの機器が使用されたか、どのソフトウェアバージョンが使用されたか、どのプロトコルに従ったか、及び/又は、何らかの収集後のデータ処理が行われたか否か、を追跡することによって、データの履歴及び/又は出所を追跡するのに役立つ。このコンテキストによって、実験データの品質管理及び検証を支援することができる。
【0004】
異なる科学機器及び/又は異なる実験実行からのデータが統合される必要がある場合に、メタデータは、データを整合又は組み合わせるために必要なコンテキストを提供することができる。更に、メタデータは、個々のデータポイント又はデータポイントのグループを発見可能にし、それ故に、他の研究者に対して関連性があり、及び/又は、再使用可能にするのを助けることができる。メタデータは、また、機器の精度、正確さ、及び/又は、較正を追跡することなどによって、個々の機器からのデータの品質を追跡するために使用することができる。これは、ユーザが機器、及び/又は、機器によって生成されたデータの異常を追跡するのを助けることができる。しかしながら、科学機器からのデータセットは非常に複雑であることが多いため、生のメタデータを理解することは困難であることが多い。メタデータをナレッジグラフに変換することによって、様々な利点が提供され、ユーザがメタデータをより良く理解するのを助けることができる。例えば、生のメタデータは、JavaScript(登録商標)オブジェクト表記法(JavaScript Object Notation、JSON)フォーマットなどの、生のフォーマットされていないテキスト、又は、フォーマットされたテキストとして生成され得る。しかしながら、フォーマットされた場合であっても、メタデータは密度が高く、ユーザが迅速に処理することが困難である傾向がある。メタデータをナレッジグラフの形態の視覚表現に変換することによって、ユーザは、メタデータ内に存在する様々な構成要素間の視覚表現を迅速かつ直感的に見ることができる。これによって、特に複雑で、相互に関連する情報(科学機器及び関連付けられた実験実行に関するメタデータなど)を扱う場合に、メタデータを理解することをはるかに容易にすることができる。
【0005】
ナレッジグラフは、また、従来のテキストデータビューからは明らかではない可能性がある、メタデータの異なる構成要素間の接続を示すことができる。これは、ユーザが異なるデータソース間のリンクを統合及び理解するのを助けることができ、その結果、ユーザは、より包括的な分析を行い、異なるソースからのデータをより効果的に統合及び/又は融合することができる。更に、ナレッジグラフによって、メタデータの構成要素の背後にある意味又はセマンティックスを強調することができる。メタデータをナレッジグラフとして提示することによって、メタデータをコンテキスト化し、それを、より自然で直観的な方法で提示することによって、ユーザが、より深い理解を得るのを助けることができる。ナレッジグラフは、また、大量のメタデータにも良好に対応することができ、新しいタイプのメタデータ及び/又は既存のメタデータスキーマにおける変更を統合するのに十分に柔軟である。ナレッジグラフは、また、グラフの要素間の関係を使用することによって、推論及び予測などの、より洗練されたタイプの分析を支援することができる。これは、ユーザがメタデータの現在の状態を理解するだけでなく、将来の状態を予測し、データ内に隠れたパターンを推測するのに役立つ。最後に、ナレッジグラフは、リソース記述フレームワーク(Resource Description Framework、RDF)、及び、ウェブオントロジー言語(Web Ontology Language、OWL)、などの標準化されたフォーマット及び言語で提示されてもよい。それ故に、メタデータをナレッジグラフに変換することによって、ユーザがメタデータに含まれる情報を異なるプラットフォーム間で転送するのを助け、科学機器及び科学機器支援システムの相互運用性を高める。
【0006】
しかしながら、フォーマットされたメタデータ(JSONファイルなど)であっても、メタデータをナレッジグラフに変換するときに存在する様々な技術的課題がある。例えば、明確に定義されたスキーマを有するデータベースとは異なり、JSONドキュメントは、高度に可変であり、構造化されていない可能性がある。このことは、JSONメタデータをナレッジグラフにマッピングすることを困難にし得る(メタデータを解釈及び変換するための標準化された方法が存在しない場合があるため)。JSONデータは、また、ネストした配列及びオブジェクトを有する複雑な階層を含むことができる。ナレッジグラフモデルは、一般に、二項関係を想定するので、この複雑さをナレッジグラフモデルに直接変換することは困難である。ナレッジグラフは、また、データ間のセマンティック的理解及び関係に基づいて構築される。しかしながら、JSONメタデータは、本質的に、このセマンティック情報及び関係を伝えることはない。JSONメタデータをナレッジグラフにマッピングするためには、この情報を推論及び生成することが必要である。更に、JSONメタデータは、エラー、重複、不一致、及び/又は、欠損値を含み得る。これらのデータ品質問題は、変換プロセスを複雑にし、補正されない場合に、結果として得られる任意のナレッジグラフの品質を低下させる可能性がある。必要とされるのは、メタデータをナレッジグラフに効果的かつ正確に変換するために、要素間の関係を自動的かつ効果的に推論することができる技法である(非標準及び低品質メタデータファイルにおいてさえも)。これらの課題に対処することによって、そのような技法は、様々な科学機器によって生成される膨大な量の複雑で相互に関連するデータを、ユーザが理解するのを助けるための強力なツールを形成する。
【0007】
例えば、いくつかの実施形態では、科学機器支援装置は、命令を記憶するように構成されたメモリハードウェアと、それらの命令を実行するように構成された処理ハードウェアとを含む。命令は、メタデータ内に存在する拡張属性を識別するためにメタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、を含む。命令は、1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、出力グラフ上のノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフをユーザに表示するためにグラフィカルユーザインターフェースを変形させることと、を含む。
【0008】
他の特徴では、命令は、メタデータ内で、マッチする拡張属性プロパティが見つからなかったことを受けて、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することと、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることと、を含む。他の特徴では、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することは、メタデータ内の拡張属性プロパティと1つ以上のセマンティックモデルの各々の中の拡張属性プロパティとの間の距離を計算することと、計算された距離に基づいて1つ以上のセマンティックモデルの各々についてマッチングスコアの合計を計算することと、マッチングスコアの合計が最も高いセマンティックモデルを最も可能性の高いセマンティックモデルとして選択することと、を含む。
(請求項と同じなので、最後にやること!!)
【0009】
他の特徴では、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることは、メタデータ内の拡張属性プロパティ及び最も可能性の高いセマンティックモデル内の推定拡張属性プロパティが、閾値を上回るマッチングスコアを有するか否かを判定することと、メタデータ内の拡張属性プロパティと最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとの間のマッチングが閾値を上回ると判定したことを受けて、メタデータ内の拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとマッチングさせることと、を含む。
【0010】
他の特徴では、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の対応するデータプロパティのうちの1つとマッチングさせることは、選択されたセマンティックモデル内のデータプロパティを選択することと、選択されたデータプロパティに基づいてセマンティックモデルから拡張属性プロパティを選択することと、選択された拡張属性プロパティの値がメタデータ内に存在するか否かを判定することと、選択された拡張属性プロパティの値がメタデータ内に存在すると判定したことを受けて、選択されたデータプロパティと、選択された拡張属性プロパティの値に対応するメタデータからの関連付けられた拡張属性プロパティとを配列に追加することと、を含む。
【0011】
他の特徴では、各対応するデータプロパティを出力グラフ上のノードに整合させることは、データプロパティと、関連付けられた拡張属性プロパティとの組み合わせを配列から選択することと、選択されたデータプロパティ及び拡張属性プロパティの組み合わせを表すノードを出力グラフ上に生成することと、を含む。他の特徴では、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することは、出力グラフ上の第1ノードを選択することと、選択されたノードに対応するセマンティックモデルから定義域を選択することと、定義域に関連付けられたオブジェクトプロパティ及び値域を選択することと、選択された値域に対応する第2ノードが存在するか否かを確認することと、第2ノードが存在すると判定したことを受けて、選択されたオブジェクトプロパティに基づいて第1ノードから第2ノードに延びるリンクを出力グラフ上に生成することと、を含む。
【0012】
他の特徴では、セマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することは、第2ノードが存在しないと判定したことを受けて、値域に基づいて、第2ノードを出力グラフ上に生成することを含む。他の特徴では、出力グラフ上のノード間の関係をテストすることは、出力グラフ上のテストノードを選択することと、選択されたテストノードを除去すると、出力グラフ上の他のいずれかのノードが切断されたままになるか否かを判定することと、選択されたテストノードを除去しても出力グラフ上の他のいかなるノードも切断されたままにはならないと判定したことを受けて、選択されたテストノードを誤りとしてマークすることと、を含む。他の特徴では、誤っている関係を出力グラフから除去することは、誤りとしてマークされたテストノードを出力グラフから除去することを含む。
【0013】
他の特徴では、命令は、メタデータ内の拡張属性プロパティ、及び選択されたセマンティックモデル内の対応するデータプロパティに基づいてデータトリプルを生成することと、データトリプルに基づいて、ノード及びリンクを出力グラフ上に生成することと、を含む。他の特徴では、各データトリプルは、主語、述語、及び目的語を含み、主語に基づいて定義域ノードが生成され、目的語に基づいて値域ノードが生成され、述語に基づいて定義域ノードから値域ノードに延びるリンクが生成される。
【0014】
いくつかの実施例では、科学機器支援のためのコンピュータ実施方法は、メタデータ内に存在する拡張属性を識別するためにメタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、を含む。方法は、1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、出力グラフ上のノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフをユーザに表示するためにグラフィカルユーザインターフェースを変形させることと、を含む。
【0015】
他の特徴では、方法は、メタデータ内で、マッチする拡張属性プロパティが見つからなかったことを受けて、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することと、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることと、を含む。他の特徴では、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することは、メタデータ内の拡張属性プロパティと1つ以上のセマンティックモデルの各々の中の拡張属性プロパティとの間の距離を計算することと、計算された距離に基づいて1つ以上のセマンティックモデルの各々についてマッチングスコアの合計を計算することと、マッチングスコアの合計が最も高いセマンティックモデルを最も可能性の高いセマンティックモデルとして選択することと、を含む。
【0016】
他の特徴では、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることは、メタデータ内の拡張属性プロパティ及び最も可能性の高いセマンティックモデル内の推定拡張属性プロパティが、閾値を上回るマッチングスコアを有するか否かを判定することと、メタデータ内の拡張属性プロパティと最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとの間のマッチングが閾値を上回ると判定したことを受けて、メタデータ内の拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとマッチングさせることと、を含む。
【0017】
他の特徴では、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の対応するデータプロパティのうちの1つにマッチングさせることは、選択されたセマンティックモデル内のデータプロパティを選択することと、選択されたデータプロパティに基づいてセマンティックモデルから拡張属性プロパティを選択することと、選択された拡張属性プロパティの値がメタデータ内に存在するか否かを判定することと、選択された拡張属性プロパティの値がメタデータ内に存在すると判定したことを受けて、選択されたデータプロパティと、選択された拡張属性プロパティの値に対応するメタデータからの関連付けられた拡張属性プロパティとを配列に追加することと、を含む。
【0018】
他の特徴では、各対応するデータプロパティを出力グラフ上のノードに整合させることは、データプロパティと、関連付けられた拡張属性プロパティとの組み合わせを配列から選択することと、選択されたデータプロパティ及び拡張属性プロパティの組み合わせを表すノードを出力グラフ上に生成することと、を含む。他の特徴では、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することは、出力グラフ上の第1ノードを選択することと、選択されたノードに対応するセマンティックモデルから定義域を選択することと、定義域に関連付けられたオブジェクトプロパティ及び範囲を選択することと、選択された範囲に対応する第2ノードが存在するか否かを確認することと、第2ノードが存在すると判定したことを受けて、選択されたオブジェクトプロパティに基づいて第1ノードから第2ノードに延びるリンクを出力グラフ上に生成することと、を含む。
【0019】
他の特徴では、セマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することは、第2ノードが存在しないと判定したことを受けて、値域に基づいて、第2ノードを出力グラフ上に生成することを含む。他の特徴では、出力グラフ上のノード間の関係をテストすることは、出力グラフ上のテストノードを選択することと、選択されたテストノードを除去すると、出力グラフ上の他のいずれかのノードが切断されたままになるか否かを判定することと、選択されたテストノードを除去しても出力グラフ上の他のいかなるノードも切断されたままにはならないと判定したことを受けて、選択されたテストノードを誤りとしてマークすることと、を含む。
【0020】
他の特徴では、誤っている関係を出力グラフから除去することは、誤りとしてマークされたテストノードを出力グラフから除去することを含む。他の特徴では、方法は、メタデータ内の拡張属性プロパティ、及び選択されたセマンティックモデル内の対応するデータプロパティに基づいてデータトリプルを生成することと、データトリプルに基づいて、ノード及びリンクを出力グラフ上に生成することと、を含む。他の特徴では、各データトリプルは、主語、述語、及び目的語を含み、主語に基づいて定義域ノードが生成され、目的語に基づいて範囲ノードが生成され、述語に基づいて定義域ノードから範囲ノードに延びるリンクが生成される。他の特徴では、1つ以上の非一時的コンピュータ可読媒体は、命令を有し、命令は、科学機器支援装置の1つ以上の処理デバイスによって実行されるときに、科学機器支援装置に方法を行わせる。
【0021】
いくつかの実施例では、1つ以上の非一時的コンピュータ可読媒体は、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに、メタデータ内に存在する拡張属性を識別するためにメタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、出力グラフ上のノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフをユーザに表示するためにグラフィカルユーザインターフェースを変形させることと、を含むことを行わせる命令を有する。
【図面の簡単な説明】
【0022】
実施形態は、添付の図面と併せて、以下の詳細な説明によって容易に理解されるであろう。この説明を容易にするために、同様の参照番号は、同様の構造要素を指している。実施形態は、限定としてではなく、例として添付の図面の図に例解されている。
【
図1】様々な実施形態による、支援動作を行うための例示的な科学機器支援モジュールのブロック図である。
【
図2】科学機器支援モジュールのロジック要素によって生成及び/又は使用され得る、例示的なデータオブジェクトを示すブロック図である。
【
図3A】ナレッジグラフを生成するために、科学機器によって生成されたメタデータなどの、メタデータを自動的に処理するための、例示的なプロセスのフローチャートである。
【
図3B】ナレッジグラフを生成するために、科学機器によって生成されたメタデータなどの、メタデータを自動的に処理するための、例示的なプロセスのフローチャートである。
【
図3C】ナレッジグラフを生成するために、科学機器によって生成されたメタデータなどの、メタデータを自動的に処理するための、例示的なプロセスのフローチャートである。
【
図4】メタデータからの拡張属性プロパティを、セマンティックモデル内のデータプロパティとマッチングさせるための、例示的プロセスのフローチャートである。
【
図5A】マッチしたデータプロパティを、出力ナレッジグラフ上のノードに整合させるための、例示的なプロセスのフローチャートである。
【
図5B】マッチしたデータプロパティを、出力ナレッジグラフ上のノードに整合させるための、例示的なプロセスのフローチャートである。
【
図6】オブジェクトプロパティに基づいて、ノード間の関係を生成するための、例示的なプロセスのフローチャートである。
【
図7】最も可能性の高いセマンティックモデルを予測するための、例示的なプロセスのフローチャートである。
【
図8】メタデータ内の拡張属性プロパティを、選択された最も可能性の高いセマンティックモデル内の対応するデータプロパティとマッチングさせるための、例示的プロセスのフローチャートである。
【
図9】JavaScriptオブジェクト表記法でフォーマットされたテキストとして表現される、メタデータの一部の例を示す。
【
図10】フォーマットされたテキストとして表現された、セマンティックモデルの一部の例を示す。
【
図11】テーブルとして表現された、セマンティックモデルの一部の例を示す。
【
図12】テーブルとして表現された、オブジェクトプロパティの一部の例を示す。
【
図13】
図9の例示的なメタデータから生成される、ナレッジグラフを生成するのに好適なデータトリプルの例を示す。
【
図14】
図9の例示的なメタデータから生成された、部分的なナレッジグラフを示す。
【
図15】
図9の例示的なメタデータから生成された、ナレッジグラフを示す。
【
図16】様々な実施形態による、本明細書で開示される支援方法の一部又は全てを行うのに使用され得る、グラフィカルユーザインターフェースの一実施例の図である。
【
図17】様々な実施形態による、本明細書で開示される科学機器支援方法の一部又は全てを行い得る、例示的なコンピューティングデバイスのブロック図である。
【
図18】様々な実施形態による、本明細書で開示される科学機器支援方法の一部又は全てを行い得る、例示的な科学機器支援システムのブロック図である。
【
図19】ラマン分光計からの読み取り値のスペクトルトレースから生成された、グラフチャートの一例である。
【発明を実施するための形態】
【0023】
本明細書に開示されるのは、科学機器支援システム、並びに、関連する方法、コンピューティングデバイス、及びコンピュータ可読媒体である。例えば、いくつかの実施形態では、科学機器支援装置は、命令を記憶するように構成されたメモリハードウェアと、命令を実行するように構成された処理ハードウェアと、を含む。命令は、メタデータ内に存在する拡張属性を識別するためにメタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、選択されたセマンティックモデル内の対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、オブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、ノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフを表示するためにグラフィカルユーザインターフェースを変形させることと、を含む。
【0024】
本明細書に開示される科学機器支援の実施形態は、従来のアプローチに対して改善された性能を達成し得る。例えば、本明細書で説明する技法は、フォーマットされていないメタデータ、又は、フォーマットが不十分なメタデータであっても、属性及びそれらの関連付けられた値を自動的に識別する。本明細書で説明される技法は、また、メタデータ内の異なる属性間のセマンティック関係を推論及び生成し、メタデータ自体の中で関係が定義される必要はない。更に、本明細書で説明する技法は、メタデータ内の属性間の複雑な関係を、ナレッジグラフによって使用するのに好適な二項関係(主語-述語-目的語データトリプルなど)に自動的に変換する。最後に、本明細書で説明する技法は、不十分に、又は、不正確にフォーマットされたメタデータから、関係を自動的に推論する。これらの改善を提供することによって、本明細書で説明される技法は、科学機器によって生成されたメタデータを、グラフィカルユーザインターフェースへの出力に好適なナレッジグラフに自動的に変換すること、に関連付けられた技術的問題を解決する。それ故に、本明細書で開示の実施形態は、科学機器技術に改善を提供する(例えば、とりわけ、かかる科学機器を支援するコンピュータ技術の改善、など)。
【0025】
以下の詳細な説明では、本明細書の一部を形成する添付の図面が参照され、同様の数字は、全体を通して、同様の部分を示し、例解として、実施され得る実施形態が示される。本開示の範囲から逸脱することなく、他の実施形態が利用され得る。構造的又はロジック的な変更が行われ得ることを理解されたい。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。
【0026】
様々な動作は、本明細書に開示される技術的事項を理解するのに最も役立つように、複数の別個のアクション又は動作として、順に説明され得る。しかしながら、説明の順序は、これらの動作が必然的に順序に依存することを示唆するものとして解釈されるべきではない。具体的には、これらの動作は、提示の順序で行われない場合がある。説明される動作は、説明される実施形態とは異なる順序で行われてもよい。様々な追加の動作が行われてもよく、かつ/あるいは、説明された動作が追加の実施形態において省略され得る。
【0027】
本開示の目的のために、「A及び/又はB(A and/or B)」及び「AまたはB(A or B)」という語句は、(A)、(B)、または、(AかつB)を意味する。本開示の目的のために、「A、B、及び/又は、C(A, B, and/or C)」及び「A、B、又は、C(A,B,or C)」という語句は、(A)、(B)、(C)、(AかつB)、(AかつC)、(BかつC)、又は、(AかつBかつC)を意味する。いくつかの要素は単数形(例えば、「処理デバイス」)で言及され得るが、任意の適切な要素は、その要素の複数のインスタンスによって表され得る。逆も、また、同様である。例えば、処理デバイスによって行われるものとして説明された動作のセットは、異なる処理デバイスによって行われる動作のうちの異なるものを用いて実施され得る。
【0028】
本説明は、「ある実施形態」、「様々な実施形態」、及び「いくつかの実施形態」という語句を使用し、それらの各々は、同一又は異なる実施形態のうちの1つ以上を指し得る。更に、本開示の実施形態に関して使用される「備える(comprising)」、「含む(including)」、「有する(having)」などの用語は、同義である。寸法の範囲を説明するために使用されるとき、「X~Y(between X and Y)」という語句は、XとYとを含む範囲を表す。本明細書で使用する場合、「装置」は、任意の個々のデバイス、デバイスの集合、デバイスの一部、又は、デバイスの一部の集合を指し得る。図面は、必ずしも縮尺どおりではない。
【0029】
図1は、様々な実施形態による、支援動作を行うための科学機器支援モジュール1000のブロック図である。科学機器支援モジュール1000は、プログラムされたコンピューティングデバイスなどの回路(例えば、電気的及び/又は光学的構成要素を含む)によって実装され得る。科学機器支援モジュール1000のロジックは、単一のコンピューティングデバイスに含まれてもよく、又は、必要に応じて、互いに通信する複数のコンピューティングデバイスにわたって分散されてもよい。単独又は組み合わせて、科学機器支援モジュール1000を実施し得るコンピューティングデバイスの実施例は、
図17のコンピューティングデバイス17000を参照しながら、本明細書で説明され、更に、科学機器支援モジュール1000がコンピューティングデバイスの1つ以上にわたって実施され得る、相互接続されたコンピューティングデバイスのシステムの実施例は、
図18の科学機器支援システム18000を参照して、本明細書で説明される。
【0030】
科学機器支援モジュール1000は、本明細書では、機器ロジック1002と称され得る第1ロジックと、本明細書ではナレッジグラフロジック1004と称され得る第2ロジックと、本明細書ではユーザインターフェースロジック1006と称され得る第3のロジックと、を含み得る。本明細書で使用する場合、「ロジック」という用語は、ロジックに関連付けられた動作のセットを行う装置を含み得る。例えば、支援モジュール1000に含まれるロジック要素のいずれかは、コンピューティングデバイスの1つ以上の処理デバイスに関連付けられた動作のセットを行う命令でプログラムされた、1つ以上のコンピューティングデバイスによって、実施され得る。特定の実施形態では、ロジック要素は、命令を有する1つ以上の非一時的コンピュータ可読媒体を含み得る。命令は、1つ以上のコンピューティングデバイスの1つ以上の処理デバイスによって実行されるときに、1つ以上のコンピューティングデバイスに、関連付けられた動作のセットを行わせる。本明細書で使用する場合、「モジュール」という用語は、一緒にモジュールに関連付けられた機能を行う、1つ以上のロジック要素の集合を指し得る。モジュール内のロジック要素のうちの異なるものは、同じ形態をとり得るか、又は、異なる形態をとり得る。例えば、モジュール内のいくつかのロジックは、プログラムされた汎用処理デバイスによって実装され得る。モジュール内の他のロジックは、特定用途向け集積回路(application-specific integrated circuit、ASIC)によって実装され得る。別の実施例では、モジュール内のロジック要素のうちの異なるものは、1つ以上の処理デバイスによって実行される異なる命令のセットに関連付けられ得る。モジュールは、関連付けられた図面に図示されたロジック要素の全てを含むとは限らず、例えば、モジュールは、そのモジュールが、そのモジュールを参照して本明細書で説明される動作のサブセットを行うとき、関連する図面に図示されるロジック要素のサブセットを含み得る。機器ロジック1002、ナレッジグラフロジック1004、及び/又は、ユーザインターフェースロジック1006の追加の機能は、本明細書において
図2~
図15を参照して、更に説明される。
【0031】
図2は、支援モジュール1000のロジック要素によって生成及び/又は使用され得る、例示的なデータオブジェクトを示すブロック図である。様々な実装態様では、データストア2002及び/又はデータストア2004は、コンピューティングデバイス17000の記憶デバイス17004の例など、非一時的コンピュータ可読記憶媒体上に記憶される。データストア2002及びデータストア2004は、
図2に2つの要素として示されているが、それらは、単一の非一時的コンピュータ可読記憶媒体上に記憶されてもよく、かつ/あるいは、複数の非一時的コンピュータ可読記憶媒体にわたって分散されてもよい。データストア2002は、科学機器の実行から得られたメタデータ2006を含む。いくつかの実施例では、機器ロジック1002は、科学機器の実行に基づいてメタデータ2006を生成し、生成されたメタデータ2006をデータストア2002に記憶させる。いくつかの実施形態では、メタデータ2006は、テキストファイルとして記憶される。様々な実装態様では、メタデータ2006は、JSONファイルとして記憶される。いくつかの実施形態では、メタデータ2006は、メディアタイプ2008及び1つ以上の拡張属性を識別するテキスト文字列などの情報を含む。いくつかの実装態様では、拡張属性は、ユーザがコンピュータファイルをメタデータに関連付けることを可能にする、ファイルシステムの特徴を含み得る。例えば、科学機器によって生成されるメタデータのコンテキストでは、拡張属性は、これらの機器によって生成されるデータファイルに関する追加情報を提供するメタデータを指すことができる。これらの拡張属性は、データが適切に解釈、分析、及び共有され得ることを確実にするために重要であり得る。科学機器によって生成されるファイルのコンテキストにおける拡張属性の例には、較正情報、機器設定、環境条件、オペレータ情報、サンプル情報、単位及びスケール、タイムスタンプ、及び/又は、データ処理履歴が含まれる。
【0032】
較正情報の例には、科学機器が最後に較正された日時、及び/又は、使用された較正標準に関する情報が含まれる。機器設定の例には、利得、積分時間、及び/又は、使用されたあらゆるフィルタなど、測定データを生成するために使用される設定に関するデータが含まれる。環境条件の例としては、温度、圧力、及び/又は、湿度についてのデータが含まれる。オペレータ情報の例には、誰が実験を行い、サンプルを扱い、かつ/あるいは、科学機器を扱ったか、についての詳細が含まれる。サンプル情報の例には、そのソース、調製方法、及び/又は、組成など、分析されるサンプルについてのデータが含まれる。単位及びスケールの例には、科学機器によって使用される測定単位及び/又はスケール(線形スケール、対数スケール、など)についてのデータが含まれる。タイムスタンプの例には、サンプルが分析された日時、及び/又は、データが処理及び/又は収集された日時が含まれる。データ処理履歴の例には、科学機器によって生成されたデータファイルに適用された、あらゆる処理及び/又は変換についてのデータが含まれる。
【0033】
いくつかの実施例では、1つ以上の拡張属性には、拡張属性プロパティ2010(キーである)、及び、拡張属性データ値2012(対応する値である)など、1つ以上のキー-値ペアが含まれ得る。キーは、属性の名前を表す文字列であり得る。値は、属性の値を指定する文字列であり得る。2つの拡張属性のみが
図2に示されているが([i]拡張属性プロパティ2010及び拡張属性データ値2012、並びに、[ii]拡張属性プロパティ2014及び拡張属性データ値2016)、メタデータ2006は、任意の数の拡張属性を含むことができる。
【0034】
様々な実装態様では、データストア2004は、セマンティックモデル2018及び/又はオブジェクトプロパティライブラリ2038などのデータ又は注釈を含み、それらは、ナレッジグラフロジック1004が、メタデータ2006を自動的に構文解析し、メタデータ2006内の拡張属性間の隠れたセマンティック関係を抽出し、メタデータ2006に基づいてナレッジグラフを生成するために使用される。
図2には、単一のセマンティックモデル2018及び単一のオブジェクトプロパティライブラリ2038データオブジェクトのみが示されているが、データストア2004は、任意の数のセマンティックモデル及びオブジェクトプロパティデータオブジェクトを含むことができる。更に、セマンティックモデル2018及びオブジェクトプロパティライブラリ2038は、2つの別個のデータオブジェクトとして示されているが、セマンティックモデル2018及びオブジェクトプロパティライブラリ2038は、単一のデータオブジェクト又はデータ構造(まとめてセマンティックモデルと呼ばれる)に統合してもよい。様々な実装態様では、セマンティックモデル2018には、ナレッジグラフロジック1004がメタデータ2006を構文解析して、ナレッジグラフのノードを生成するために使用するデータが含まれ得る。いくつかの実装形態では、オブジェクトプロパティライブラリ2038には、ナレッジグラフロジック1004が、生成されたノードを互いにリンクさせるために使用するデータが含まれ得る。
【0035】
例えば、セマンティックモデル2018には、メディアタイプ2020識別子及び1つ以上の拡張属性プロパティについての注釈が含まれる。様々な実施例では、各拡張属性プロパティの注釈には、拡張属性プロパティ自体の識別子(拡張属性プロパティ2022など)、拡張属性プロパティに関連付けられたデータプロパティ値(データプロパティ2024など)、エンティティ値(エンティティ2026など)、及び、識別用の注釈(識別用の注釈2028など)が含まれる。様々な実装態様では、各拡張属性プロパティに対応するデータプロパティ値は、ナレッジグラフを生成するために使用される標準プロパティを含み得る。各拡張属性プロパティに対応するエンティティ値は、ナレッジグラフ内で使用されるノードのタイプを含み得る。各拡張属性プロパティに対応する識別用の注釈は、真又は偽の値を示し得る。
図2は、2つの拡張属性プロパティに対する注釈([i]拡張属性プロパティ2022に対応するデータプロパティ2024、エンティティ2026、及び、識別用の注釈2028、並びに、[ii]拡張属性プロパティ2030に対応するデータプロパティ2032、エンティティ2034、及び、識別用の注釈2036)を例解するが、セマンティックモデル2018は、任意の数m個の拡張属性及びm個の拡張属性に対する対応する注釈を含み得る。
【0036】
オブジェクトプロパティライブラリ2038は、メディアタイプ2040識別子、及び、1つ以上のオブジェクトプロパティの注釈を含み得る。様々な実装態様では、各オブジェクトプロパティの注釈は、オブジェクトプロパティ自体の識別子(データプロパティ2024など)、オブジェクトプロパティに関連付けられた定義域(定義域2044など)、及び、オブジェクトプロパティに関連付けられた値域(値域2046など)を含み得る。いくつかの実施形態では、各オブジェクトプロパティは、リンクをナレッジグラフ内に生成するために使用されるデータを含み、各オブジェクトプロパティ値に関連付けられた定義域及び値域の値は、オブジェクトプロパティ値のエンドポイントを決定するために使用される。
図2には、2つのオブジェクトプロパティ([i]オブジェクトプロパティ2042、及び、関連付けられた定義域2044と値域2046、並びに、[ii]オブジェクトプロパティ2048、及び、関連付けられた定義域2050と値域2052)のみのための定義域及び値域のみが示されるが、オブジェクトプロパティライブラリ2038は、任意の数Iのオブジェクトプロパティ、並びに、対応する定義域及び値域を含み得る。
【0037】
図3A~
図3Cは、ナレッジグラフを生成するために、科学機器によって生成されたメタデータなどのメタデータを自動的に処理するための例示的なプロセス3000のフローチャートである。3002において、ナレッジグラフロジック1004は、メタデータを読み込む。例えば、ナレッジグラフロジック1004は、データストア2002からメタデータ2006を読み込む。3004において、ナレッジグラフロジック1004は、出力グラフを初期化する。3006において、ナレッジグラフロジック1004は、読み込まれたメタデータ2006を処理して、メディアタイプを識別する。例えば、ナレッジグラフロジック1004は、メタデータ2006を構文解析し、メディアタイプ2008に基づいて、メディアタイプを識別する。3008において、ナレッジグラフロジック1004は、メタデータ2006を構文解析して、メタデータ2006内に存在する拡張属性プロパティを識別する。例えば、グラフ化ロジック3008は、メタデータ2006を処理し、メタデータ2006内に存在するn個の拡張属性プロパティ2010~2014のそれぞれを識別する。3010において、ナレッジグラフロジック1004は、メタデータ2006内で示されるメディアタイプ2008に対応するセマンティックモデル及びオブジェクトプロパティを読み込む。例えば、ナレッジグラフロジック1004は、メディアタイプ2008とマッチするメディアタイプ2020を受けて、セマンティックモデル2018を読み込む。逆に、ナレッジグラフロジック1004は、メディアタイプ2020がメディアタイプ2008とマッチしない場合、セマンティックモデル2018を読み込まない。同様に、いくつかの実施例では、ナレッジグラフロジック1004は、メディアタイプ2040がメディアタイプ2008とマッチしたことを受けて、オブジェクトプロパティライブラリ2038を読み込み、メディアタイプ2040がメディアタイプ2008とマッチしなかったことを受けて、オブジェクトプロパティライブラリ2038を読み込まない。
【0038】
3012において、ナレッジグラフロジック1004は、読み込まれたセマンティックモデル及び/又はオブジェクトプロパティに、メタデータ2006内に存在する拡張プロパティとマッチする拡張属性プロパティについて照会する。例えば、セマンティックモデル2018が読み込まれた場合、ナレッジグラフロジック1004は、セマンティックモデル2018の拡張属性プロパティ2022~2030のいずれかがメタデータ2006の拡張属性プロパティ2010~2014のいずれかとマッチするか否かを判定する。セマンティックモデル2018とメタデータ2006との間でマッチする拡張属性プロパティが見つかったことを受けて(意思決定ブロック3014において「はい」)、ナレッジグラフロジック1004は、3016において、マッチする拡張属性プロパティを有するセマンティックモデルを選択する。3018において、ナレッジグラフロジック1004は、メタデータ3018からの各拡張属性プロパティを選択されたセマンティックモデル2018内のデータプロパティとマッチングさせる。例えば、メタデータ2006からの拡張属性プロパティ2010が、セマンティックモデル2018内の拡張属性プロパティ2022とマッチしたことを受けて、ナレッジグラフロジック1004は、拡張属性プロパティ2010を、データプロパティ2024(セマンティックモデルからのマッチした拡張属性プロパティに対応するデータプロパティ)とマッチングさせる。メタデータからの拡張属性プロパティを選択されたセマンティックモデル内のデータプロパティとマッチングさせることに関連付けられた、追加の詳細については、
図4を参照して、本明細書で更に説明する。
【0039】
3020において、ナレッジグラフロジック1004は、マッチしたデータプロパティを出力グラフ上のノードに整合させる。例えば、ナレッジグラフロジック1004は、マッチしたデータプロパティの各々に基づいて、データトリプルを生成し、データトリプルに基づいて、ナレッジグラフ上にノードをプロットする。マッチしたデータプロパティを出力グラフ上のノードに整合させることに関連付けられた、追加の詳細については、
図5を参照して、本明細書で、更に説明する。3022において、ナレッジグラフロジック1004は、オブジェクトプロパティライブラリ2038などのオブジェクトプロパティに基づいて、ナレッジグラフのノード間の関係を生成する。様々な実装態様では、関係は、ナレッジグラフ上のノード間のリンクとしてプロットされた、オブジェクトプロパティライブラリ2038からのオブジェクトプロパティを含み得る。様々な実装態様では、オブジェクトプロパティの定義域は、オブジェクトプロパティが開始するノードを示し、オブジェクトプロパティの値域は、オブジェクトプロパティが終了するノードを示す。オブジェクトプロパティに基づいてノード間の関係を生成することに関連付けられた、追加の詳細については、
図6を参照して、本明細書で、更に説明する。
【0040】
3024において、ナレッジグラフロジック1004は、ノード間の関係をテストし、適切な場合、ナレッジグラフから誤っている関係を除去する。例えば、ナレッジグラフロジック1004は、メタデータ2006からの拡張属性とマッチしないナレッジグラフ上の各ノードを選択する。ナレッジグラフロジック1004は、各ノードを除去すると、ナレッジグラフ内の他のいずれかのノードが切断されたままになるか否かをテストする。ノードを除去しても、他のいかなるノードも切断されたままにはならないと判定したことを受けて、ナレッジグラフロジック1004は、ノードを除去する。例えば、ナレッジグラフロジック1004は、ノードに関連する全てのデータトリプルを除去する。3026において、ナレッジグラフロジック1004は、データプロパティをミラーリングする標準プロパティを作成する。例えば、ナレッジグラフロジック1004は、データプロパティを使用して生成された出力グラフ内の各データトリプルを選択する。ナレッジグラフロジック1004は、標準プロパティ注釈がデータプロパティにリンクされているか否かを確認する。標準プロパティ注釈がリンクされていると判定したことを受けて、ナレッジグラフロジック1004は、元のデータトリプルと同じ定義域及び値域を有するが、データプロパティの代わりに、標準プロパティを有する新しいデータトリプルを出力グラフ内に生成する。3028において、ナレッジグラフロジック1004及び/又はユーザインターフェースロジック1006は、ナレッジグラフをグラフィカルユーザインターフェースに出力する。
【0041】
セマンティックモデル2018とメタデータ2006との間で、マッチする拡張属性プロパティが見つからなかったことを受けて(意思決定ブロック3014における「いいえ」)、ナレッジグラフロジック1004は、ファジーマッチングが有効化されているか否かを判定する。様々な実装態様では、ファジーマッチングは、ほぼ等しい文字列を見つけるプロセスである。いくつかの実施例では、ファジーマッチングは、機械学習によって実施することができる。ファジーマッチングが有効化されていないと、ナレッジグラフロジック1004が判定したことを受けて(意思決定ブロック3030における「いいえ」)、ナレッジグラフロジック1004及び/又はユーザインターフェースロジック1006は、エラーメッセージを、グラフィカルユーザインターフェースに返す(例えば、読み込まれたメタデータに対してマッチするセマンティックモデルを見つけることができないことを示す)。ファジーマッチングが有効であるとナレッジグラフロジック1004が判定したことを受けて(意思決定ブロック3030における「はい」)、3034において、ナレッジグラフロジック1004は、最も可能性の高いセマンティックモデルを予測し、そのセマンティックモデルを選択する。最も可能性の高いセマンティックモデルを予測することに関連付けられた追加の詳細については、
図7を参照して、本明細書で、更に説明する。3036において、ナレッジグラフロジック1004は、メタデータ2006内の各拡張属性プロパティを、選択されたセマンティックモデル内の対応するデータプロパティとマッチングさせる。各拡張属性プロパティを選択されたセマンティックモデル内の対応するデータプロパティとマッチングした後、ナレッジグラフロジック1004は、3020において、マッチングされたデータプロパティを、出力グラフ上のノードに整合させる。
【0042】
図4は、メタデータからの拡張属性プロパティを、セマンティックモデル内のデータプロパティとマッチングさせるための、例示的なプロセス4000のフローチャートである。4002において、ナレッジグラフロジック1004は、選択されたセマンティックモデルから初期データプロパティを選択する。4004において、ナレッジグラフロジック1004は、選択されたデータプロパティに関連付けられたセマンティックモデルから拡張属性プロパティを選択する。例えば、4002において、データプロパティ2024が選択された場合、4004において、対応する拡張属性プロパティ2022が選択される。4006において、ナレッジグラフロジック1004は、選択された拡張属性プロパティの値がメタデータ内に存在するか否かを確認する。例えば、4004において、拡張属性プロパティ2022が選択された場合、ナレッジグラフロジック1004は、メタデータ2006内の拡張属性プロパティ2010~2014のいずれかが拡張属性プロパティ2022とマッチするか否かを確認する。セマンティックモデルからの拡張属性プロパティがメタデータ内に存在すると判定したことを受けて(意思決定ブロック4008における「はい」)、ナレッジグラフロジック1004は、選択されたデータプロパティ及び拡張属性プロパティを配列に追加する。例えば、ナレッジグラフロジック1004は、データプロパティ2024及び拡張属性プロパティ2022を配列に追加する。
【0043】
意思決定ブロック4014において、ナレッジグラフロジック1004は、別の未処理のデータプロパティが、選択されたセマンティックモデル内に存在するか否かを判定する。セマンティックモデルからの拡張属性プロパティがメタデータ内には存在しないと判定したことを受けて(意思決定ブロック4008における「いいえ」)、ナレッジグラフロジック1004は、4012において、警告メッセージを記録し、選択されたセマンティックモデル内に別の未処理のデータプロパティが存在するか否かの判定に進む。様々な実装態様では、エラーメッセージは、グラフィカルユーザインターフェース上に表示される。選択されたセマンティックモデル内に別の未処理のデータプロパティが存在すると判定したことを受けて(意思決定ブロック4014における「はい」)、ナレッジグラフロジック1004は、4016において、選択されたセマンティックモデルから、次の未処理のデータプロパティを選択し、4004において、選択されたデータプロパティに関連付けられた拡張属性プロパティを選択する。別の未処理のデータプロパティが選択されたセマンティックモデルには存在しないと判定したことを受けて(意思決定ブロック4014における「いいえ」)、ナレッジグラフロジック1004は、3020において、マッチしたデータプロパティを出力グラフ上のノードに整合させる。
【0044】
図5A及び
図5Bは、マッチしたデータプロパティを、出力ナレッジグラフ上のノードに整合させるための、例示的なプロセス5000のフローチャートである。5002において、ナレッジグラフロジック1004は、配列(4010において生成された配列など)から、データプロパティと、その関連付けられた拡張属性プロパティとの最初の組み合わせを選択する。5004において、ナレッジグラフロジック1004は、セマンティックモデルから、データプロパティに関連付けられたエンティティを選択する。例えば、データプロパティと、拡張属性プロパティとの選択された組み合わせが、データプロパティ2024及び拡張属性プロパティ2022を含む場合、ナレッジグラフロジック1004は、セマンティックモデル2018からエンティティ2026を選択する。5006において、ナレッジグラフロジック1004は、識別用の注釈が選択されたエンティティにリンクされているか否かを確認する。例えば、5004において、エンティティ2026が選択された場合、ナレッジグラフロジック1004は、識別用の注釈2028が「TRUE」の値を有するか否かを確認する。識別用の注釈2028は、その値が「TRUE」であることを受けて、エンティティ2026にリンクされているとみなされ得る。逆に、識別用の注釈2028は、その値が「FALSE」であることを受けて、エンティティ2026にリンクされていないとみなされ得る。識別用の注釈が、選択されたエンティティにリンクされていることを受けて(意思決定ブロック5010における「はい」)、ナレッジグラフロジック1004は、5010において、選択されたエンティティに基づいて、ノードを出力ナレッジグラフ内に生成し、データプロパティと、拡張属性プロパティとの別の未処理の組み合わせが、配列内に存在するか否かを判定する(意思決定ブロック5012において)。識別用の注釈が選択されたエンティティにリンクされていないことを受けて(意思決定ブロック5008における「いいえ」)、ナレッジグラフロジック1004は、データプロパティと、拡張属性プロパティとの別の未処理の組み合わせが、配列内に存在するか否かを判定する(意思決定ブロック5012において)。
【0045】
データプロパティと、拡張属性プロパティとの別の未処理の組み合わせが、配列内に存在すると判定したことを受けて(意思決定ブロック5012における「はい」)、ナレッジグラフロジック1004は、5014において、データプロパティと、関連付けられた拡張属性プロパティとの次の組み合わせを配列から選択し、5004において、データプロパティに関連付けられたエンティティをセマンティックモデルから選択する。データプロパティと、拡張属性プロパティとの別の未処理の組み合わせが、配列内には存在しないと判定したことを受けて(意思決定ブロック5012における「いいえ」)、ナレッジグラフロジック1004は、5016において、リンクされた識別用の注釈を有さないデータプロパティ及び関連付けられた拡張属性の最初の組み合わせを配列から選択する。5018において、ナレッジグラフロジック1004は、選択された組み合わせに関連付けられたエンティティがナレッジグラフのノードに既に関連付けられているか否かを確認する。エンティティがノードで既に識別されていると判定したことを受けて(意思決定ブロック5020における「はい」)、ナレッジグラフロジック1004は、5022において、エンティティを識別されたノードとリンクさせる。意思決定ブロック5024において、ナレッジグラフロジック1004は、リンクされた識別用の注釈のない、データプロパティと、関連付けられた拡張属性プロパティとの別の組み合わせが、配列に存在するか否かを確認する。エンティティがノードによってまだ識別されていないと判定したことを受けて(意思決定ブロック5020における「いいえ」)、ナレッジグラフロジック1004は、5026において、エンティティに基づいて、ノードを出力グラフ内に生成し、意思決定ブロック5024において、リンクされた識別用の注釈のない、データプロパティと、関連付けられた拡張属性プロパティとの別の組み合わせ、が配列内に存在するか否かを判定する。
【0046】
リンクされた識別用の注釈のない、データプロパティと、関連付けられた拡張属性プロパティとの別の組み合わせが、配列内に存在すると判定したことを受けて(意思決定ブロック5024における「はい」)、ナレッジグラフロジック1004は、5028において、リンクされた識別用の注釈のないデータプロパティに関連付けられた拡張属性との次の組み合わせを選択し、5018において、選択された組み合わせに関連付けられたエンティティがノードで既に識別されているか否かを確認する。リンクされた識別用の注釈のない、データプロパティと、関連付けられた拡張属性プロパティとの別の組み合わせが、配列内には存在しないと判定したことを受けて(意思決定ブロック5024における「いいえ」)、ナレッジグラフロジック1004は、3022において、オブジェクトプロパティに基づいて、ノード間の関係を生成する。
【0047】
図6は、オブジェクトプロパティに基づいて、ノード間の関係を生成するための例示的なプロセス6000のフローチャートである。6002において、ナレッジグラフロジック1004は、ナレッジグラフの最初のノードを選択する。6004において、ナレッジグラフロジック1004は、選択されたノードに対応するオブジェクトプロパティから定義域を選択する。6006において、ナレッジグラフロジック1004は、選択された定義域に関連付けられたオブジェクトプロパティ及び値域を選択する。例えば、6004において定義域2044が選択された場合、6006において、オブジェクトプロパティ2042及び値域2046が選択される。6008において、ナレッジグラフロジック1004は、6006において選択された値域に対応する二次ノードが、ナレッジグラフ内に存在するか否かを確認する。二次ノードが存在すると判定したことを受けて(意思決定ブロック6010における「はい」)、ナレッジグラフロジック1004は、6012において、選択されたオブジェクトプロパティに従って、選択されたノードと識別された二次ノードとをリンクさせる。例えば、選択されたノードは、起点又は定義域であり得る。識別された二次ノードは、終点又は値域であり得る。オブジェクトプロパティは、定義域を値域にリンクし得る。6014において、ナレッジグラフロジック1004は、ナレッジグラフ内の全てのノードがリンクされているか否かを判定する。二次ノードが存在しないと判定したことを受けて(6010における「いいえ」)、ナレッジグラフロジック1004は、6016において、選択された値域に従って、新しいノードを出力グラフ上に生成し、6014において、ナレッジグラフ内の全てのノードがリンクされているか否かを判定する。全てのノードがリンクされていないと判定したことを受けて(意思決定ブロック6014における「いいえ」)、ナレッジグラフロジック1004は、6018において、次のノードを選択し、6004において、選択されたノードに対応するオブジェクトプロパティから、定義域を選択する。全てのノードがリンクされていると判定したことを受けて(意思決定ブロック6014における「はい」)、ナレッジグラフロジック1004は、3024において、ノード間の関係をテストし、ナレッジグラフから誤っている関係を除去する。
【0048】
図7は、最も可能性の高いセマンティックモデルを予測するための例示的なプロセス7000のフローチャートである。7002において、ナレッジグラフロジック1004は、メタデータから、初期拡張属性プロパティを選択する。7004において、グラフ化ロジック7004は、メタデータからの選択された拡張属性プロパティと、各セマンティックモデル内の各拡張属性プロパティとの間のLevenshtein距離を計算する。Levenshtein距離は、テキストの2つの文字列又はシーケンス間の差を測定するための文字列メトリックである。Levenshtein距離は、第1文字列を第2文字列に(又は、第2文字列を第1文字列に)変更するのに必要な単一文字編集(挿入、削除、又は、置換など)の数を指し得る。いくつかの実施例では、第1文字列が長さiを有して、第2文字列が長さjを有する場合に、Levenshtein距離は、最初に、i×j行列を初期化することによって計算することができる。i×j行列は、反復的に値が入れられていく。各セルについて、削除コスト、挿入コスト、及び、置換コストを計算することができる。削除コストは、現在のセルの左のセルの値に1を加えたものとして、計算され得る。挿入コストは、現在のセルより上のセルの値に1を加えたものとして、計算され得る。置換コストは、(i)左斜め上のセルが現在のセルに等しくない場合は、そのセルの値に1を加えたもの、又は、(ii)左斜め上のセルが現在のセルに等しい場合は、そのセルの値、として計算され得る。削除コスト、挿入コスト、及び、置換コストの最小値が、現在のセルの値として設定される。i×j行列の最後の値(右下の隅の値)が、Levenshtein距離である。
【0049】
7006において、ナレッジグラフロジック1004は、行列に対する最大のLevenshtein距離を有するセマンティックモデルからの拡張属性プロパティを記憶する。7008において、ナレッジグラフロジック1004は、別の拡張属性プロパティがメタデータ内に存在するか否かを判定する。別の拡張属性プロパティがメタデータ内に存在すると判定したことを受けて(意思決定ブロック7008における「はい」)、ナレッジグラフロジック1004は、7014において、次の拡張属性プロパティを選択し、7004において、メタデータからの選択された拡張属性プロパティと、各セマンティックモデル内の各拡張属性プロパティとの間のLevenshtein距離を計算する。別の拡張属性がメタデータ内には存在しないと判定したことを受けて(意思決定ブロック7008における「いいえ」)、ナレッジグラフロジック1004は、7012において、(メタデータからの任意の拡張属性プロパティによってマッチングされた各セマンティックモデルについて)(メタデータからの)拡張属性プロパティ及び(行列内の)拡張属性プロパティについてのマッチングスコアの合計を計算する。7014において、ナレッジグラフロジック1004は、マッチングスコアの合計が最大であるセマンティックモデルを、最も可能性の高いセマンティックモデルとして選択する。
【0050】
図8は、メタデータ内の拡張属性プロパティを、選択された最も可能性の高いセマンティックモデル内の対応するデータプロパティとマッチングさせるための例-示的なプロセス8000のフローチャートである。7014において、ナレッジグラフロジック1004が、マッチングスコアの合計が最大であるセマンティックモデルを最も可能性の高いセマンティックモデルとして選択した後に、ナレッジグラフロジック1004は、8002において、選択されたセマンティックモデル内に存在する各拡張属性プロパティを、第1配列に読み込む。8004において、ナレッジグラフロジック1004は、読み込まれた拡張属性プロパティが、それらのマッチングスコアに従って降順になるように(例えば、行列を参照することによって)、第1配列を順序付ける。8006において、ナレッジグラフロジック1004は、順序付けられた第1配列内で最初の拡張属性プロパティを選択する。8008において、ナレッジグラフロジック1004は、7006において計算された行列からの最大マッチングスコアが閾値を超えるか否かを判定する。7006において、最大マッチングスコアが第1閾値を超えると判定したことを受けて、ナレッジグラフロジック1004は、(i)行列から[セマンティックモデルからの]拡張属性プロパティを選択し、(ii)第1配列から[セマンティックモデルから]選択された拡張属性値を除去し、(iii)マッチしたプロパティとして、[メタデータからの]拡張属性プロパティ、及び、[セマンティックモデルからの]拡張属性プロパティを第2配列に保存する。8012において、ナレッジグラフロジック1004は、別の拡張属性プロパティが、順序付けられた第1配列内に存在するか否かを判定する。別の拡張属性プロパティが第1配列内に存在すると判定したことを受けて(意思決定ブロック8012における「はい」)、ナレッジグラフロジック1004は、8014において、順序付けられた第1配列からの次の拡張属性プロパティを選択し、8008において、行列からの最大マッチングスコアが閾値を超えるか否かを判定する。
【0051】
図9は、JavaScriptオブジェクト表記法(JSON)でフォーマットされたテキストとして表現されたメタデータの一部の例を示す。
図9の例では、“mediaType”:“application/raman-spc」は、メディアタイプが「application/raman-spc」であることを示す。“sampleId”、“measurementId”、“testTime”、及び“deviceSn”は、拡張属性プロパティであり、“20190202_041854”、“20190202_041854”、“2019-02-02T04:18:54Z”、及び“RAMAN1”は、それぞれの拡張属性プロパティに対応する拡張属性プロパティである。
【0052】
図10は、フォーマットされたテキストとして表現されたセマンティックモデルの一部の例を示す。
図11は、テーブルとして表現されたセマンティックモデルの一部の例を示す。
図12は、テーブルとして表現されたオブジェクトプロパティの一部の例を示す。
図13は、
図9の例示的なメタデータから生成されるナレッジグラフを生成するのに好適なデータトリプルの例を示す。
図14は、
図9の例示的なメタデータから生成された部分ナレッジグラフ14000を示す。
図15は、
図9の例示的なメタデータから生成されたナレッジグラフ15000を示す。プロセス3000及び
図3A~
図3Cを参照して前述したように、ナレッジグラフロジック1004は、
図9の例示的なメタデータを構文解析して、好適なセマンティックモデル(例えば、
図11に表されるような)、及び、好適なオブジェクトプロパティ(例えば、
図12に表されるような)を決定する。ナレッジグラフロジック1004は、メタデータからの各拡張属性プロパティを、選択されたセマンティックモデル内のデータプロパティとマッチングさせ、マッチしたデータプロパティを、ナレッジグラフ上のノードに整合させる。例えば、メタデータ(
図9)からの“sampleId”、“measurementId”、及び“deviceSn”は、セマンティックモデル(
図11)内のデータプロパティとマッチングされ、マッチしたデータプロパティごとにデータトリプルが生成され、データトリプルに基づいて、ノード14002-14006が生成される。ノード14002~14006は、マッチした拡張属性プロパティごとに、それぞれの拡張属性データ値でラベル付けされる。例えば、メタデータからの拡張属性プロパティ“sampleId”が、セマンティックモデルからの拡張属性プロパティsampleIdとマッチするので、対応するエンティティpoc:sampleIdが、ノード14002として生成され、対応する拡張属性データ値“20190202_041854”として、ラベル付けされる。同様に、拡張属性プロパティ“measurementId”が、セマンティックモデルからの拡張属性プロパティmeasurementIdとマッチするので、対応するエンティティpoc:Testが、ノード14004として生成され、メタデータからの対応する拡張属性データ値“20190202_041854”でラベル付けされる。最後に、拡張属性プロパティ“deviceSn”が、メタデータからの拡張属性プロパティdeviceSnとマッチするので、対応するエンティティpoc:RamanSpecが、ノード14006として生成され、メタデータからの対応する拡張属性データ値“RAMAN1”でラベル付けされる。
【0053】
ナレッジグラフロジック1004は、次に、ナレッジグラフ14000から最初のノード14002を選択する。ナレッジグラフロジック1004は、オブジェクトプロパティ(
図12)から、対応する定義域を選択する。定義域に関連付けられた値域がナレッジグラフ上にノードとして既に存在する場合は、ナレッジグラフロジック1004は、定義域及び既存の値域を、オブジェクトプロパティでリンクさせる。値域がナレッジグラフ上にノードとしてまだ存在していない場合は、ナレッジグラフロジック1004は、値域をノードとして追加し、定義域と値域とを、オブジェクトプロパティでリンクさせる。例えば、値域poc:SamplingPointがナレッジグラフ14000上にノードとしてまだ存在していないので、ナレッジグラフロジック1004は、poc:SamplingPointを、ナレッジグラフ15000上のノード15002として追加し、定義域poc:Sample(ノード14002)と値域poc:SamplingPoint(ノード15002)とを、オブジェクトプロパティpoc:sampledFromで、定義域ノード14002から値域ノード15002に向かうリンク15004としてリンクさせる。値域poc:Testが、ノード14004としてナレッジグラフ14000上に既に存在しているので、ナレッジグラフロジック1004は、定義域poc:Sample(ノード14002)と値域poc:Test(ノード14004)とを、オブジェクトプロパティpoc:testedInで、定義域ノード14002から値域ノード14004に向かうリンク15006としてリンクさせる。同様に、値域poc:RamanSpectrometerが、ナレッジグラフ14000上に--ノード14006として既に存在しているので、ナレッジグラフロジック1004は、定義域poc:Test(ノード14004)と値域poc:RamanSpectrometer(ノード14006)とを、オブジェクトプロパティpoc:executedOnで、定義域ノード14004から値域ノード14006に向かうリンク15008としてリンクさせる。
【0054】
いくつかの実施例では、ナレッジグラフロジック1004は、まず、データトリプル(
図13に示されるデータトリプルなど)を生成し、次いで、ナレッジグラフ(
図15に示されるナレッジグラフ15000など)を生成する。前述のように、データトリプルは、主語-述語-目的語形式で表現することができる。それ故に、各データトリプルは、主語(ステートメントが対象とするエンティティである)、述語(主語と目的語とを接続する関係又はプロパティを表す)、及び、目的語(主語が述語を介して関係する、又は、関連付けられる別のエンティティである)を含むことができる。いくつかの実施例では、主語は、エンティティ又はノードであり得る。述語は、オブジェクトプロパティ又はリンクであり得る。目的語は、エンティティ又はノードであり得る。様々な実装態様では、主語は、ステートメントの定義域を形成することができ、目的語は、値域を形成することができ、述語は、定義域から値域に延びるリンクを形成することができる。
【0055】
例えば、
図13に示されるように、表現“tfdata:Sample%20for%2020190202_041854 a poc:Sample”は、主語を表し、ナレッジグラフ15000上でノード14002として示される。入れ子表現“poc:testedIn tfdata:Test%20of%2020190202_041854”は、関連付けられる述語(poc:testedIn、リンク15006)と、オブジェクト(tfdata:Test%20of%2020190202_041854、ノード14004)とのペアを形成する。この表現に基づいて、ナレッジグラフロジック1004は、主語に基づいて、ノード14002を生成し、目的語に基づいて、ノード14004を生成し、述語に基づいて、ノード14002からノード14004へのリンク15006を生成する。同様に、ナレッジグラフロジック1004は、オブジェクト“tfdata:SAMPLING-POINT-1”、及び、述語“poc:sampledFrom”に基づいて、ノード14002からノード15002に延びるリンク15004に基づいて、ノード15002を生成する。同様に、ナレッジグラフロジック1004は、オブジェクト“tfdata:RAMAN1”、及び、述語“poc:executedOn”に基づくリンク15008に基づいて、ノード14006を生成する。ナレッジグラフロジック1004は、主語ノード14004(tfdata:Test%20of%2020190202_041854 a poc:Test)と、目的語ノード14006とを述語リンク15008でリンクさせる。
【0056】
本明細書に開示される科学機器支援方法は、(例えば、
図18を参照して本明細書で説明される、ユーザローカルコンピューティングデバイス18020を介した)人間のユーザとの相互作用を含み得る。これらの相互作用は、ユーザに情報を提供すること(例えば、
図18の科学機器18010などの科学機器の動作に関する情報、分析されているサンプル、若しくは科学機器によって行われる他のテスト、若しくは測定に関する情報、ローカル若しくはリモートデータベースから取得された情報、又は、他の情報)、又は、ユーザがコマンド(例えば、
図18の科学機器18010などの科学機器の動作を制御するため、又は、科学機器によって生成されるデータの分析を制御するため)、クエリ(例えば、ローカル又はリモートデータベースへの)、若しくは、他の情報を入力するためのオプションを提供すること、を含み得る。いくつかの実施形態では、これらの相互作用は、ユーザに出力を提供し、かつ/あるいは、入力を提供するようにユーザに指示する(例えば、
図17を参照して、本明細書で説明される、他のI/Oデバイス17012に含まれる、キーボード、マウス、トラックパッド、又は、タッチスクリーンなどの、1つ以上の入力デバイスを介して)表示デバイス(例えば、
図17を参照して、本明細書で説明される、表示デバイス17010)上の視覚的表示を含む、グラフィカルユーザインターフェース(graphical user interface、GUI)を通じて、行われ得る。本明細書に開示される科学機器支援システムは、ユーザとの相互作用のための任意の好適なGUIを含み得る。
【0057】
図16は、様々な実施形態による、本明細書に開示される支援方法の一部又は全てを行うことにおいて使用され得る、例示的なGUI16000を図示する。上記のように、GUI16000は、科学機器支援システム(例えば、
図18を参照して、本明細書で説明される、科学機器支援システム18000)のコンピューティングデバイス(例えば、
図17を参照して、本明細書で説明される、コンピューティングデバイス17000)の表示デバイス(例えば、
図17を参照して、本明細書で説明される、表示デバイス17010)上に提供され得る。ユーザは、任意の好適な入力デバイス(例えば、
図17を参照して、本明細書で説明される、他のI/Oデバイス17012に含まれる、入力デバイスのいずれか)、及び、入力技法(例えば、カーソルの移動、モーションキャプチャ、顔認識、ジェスチャ検出、音声認識、ボタンの作動、など)を使用して、GUI16000と相互作用することができる。
【0058】
GUI16000は、データ表示領域16002、データ分析領域16004、科学機器制御領域16006、及び、設定領域16008を含み得る。
図16に図示される領域の特定の数及び配置は、例解的なものに過ぎず、GUI16000には、所望のいかなる特徴を含む、いかなる数及び配置の領域が含まれてもよい。データ表示領域16002は、科学機器(例えば、
図18を参照して、本明細書で説明される、科学機器18010)によって生成されたデータを表示し得る。例えば、科学機器18010は、1つ以上のラマン分光計などの1つ以上の分光計を含み得る。1つ以上のラマン分光計は、グラフチャートで視覚化することができる読み取り値(x,y)のスペクトルトレースを生成することができる。
図19は、ラマン分光計からの読み取り値のスペクトルトレースから生成されたグラフチャートの一例である。ラマン分光計によって生成されるスペクトルトレース読み取り値のためのメタデータは、サンプルが採取された日付及び/又は時間、サンプルが採取されたソース(例えば、サンプリング箇所)、測定を行う機器のシリアル番号、機器のオペレータに関連付けられた識別子、プロジェクトに関連付けられた識別子、並びに、他の適切なメタデータを含み得る。様々な実装態様では、
図19に示すチャートなどの、科学機器18010によって生成されたデータから生成されたグラフチャートが、データ表示領域16002に表示される。様々な実装態様では、データ表示領域16002は、ナレッジグラフロジック1004及び/又はユーザインターフェースロジック1006によって生成されたナレッジグラフ(ナレッジグラフ14000及び/又はナレッジグラフ15000など)を表示することができる。様々な実装態様では、データ表示領域16002は、ナレッジグラフロジック1004によって生成された、任意のエラーメッセージ又はログを表示する。
【0059】
データ分析領域16004は、データ分析の結果(例えば、データ表示領域16002に例解されるデータ及び/又は他のデータを分析した結果)を表示することができる。いくつかの実施形態では、データ表示領域16002及びデータ分析領域16004は、GUI16000において組み合わせられ得る(例えば、科学機器からのデータ出力、及び、データのいくつかの分析を、共通のグラフ又は領域に含めるために)。科学機器制御領域16006は、ユーザが科学機器(例えば、
図18を参照して本明細書で説明される科学機器18010)を制御することを可能にするオプションを含み得る。設定領域16008は、ユーザが、GUI16000(及び/又は、他のGUI)の特徴及び機能を制御し、かつ/あるいは、データ表示領域16002及びデータ分析領域16004に関する共通のコンピューティング動作を行うことを可能にするオプションを含み得る(例えば、
図17を参照して本明細書で説明される記憶デバイス17004などの、記憶デバイス上にデータを保存すること、別のユーザにデータを送信すること、データをラベル付けすること、など)。
【0060】
上記のように、科学機器支援モジュール1000は、1つ以上のコンピューティングデバイスによって実施され得る。
図17は、様々な実施形態による、本明細書に開示される科学機器支援方法の一部又は全てを行い得る、コンピューティングデバイス17000のブロック図である。いくつかの実施形態では、科学機器支援モジュール1000は、単一のコンピューティングデバイス17000によって、又は、複数のコンピューティングデバイス17000によって、実施され得る。更に、以下で説明されるように、科学機器支援モジュール1000を実施するコンピューティングデバイス17000(又、は複数のコンピューティングデバイス17000)は、
図18の科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040の1つ以上の一部であってもよい。
【0061】
図17のコンピューティングデバイス17000は、いくつかの構成要素を有するものとして例解されているが、これらの構成要素のうちのいずれか1つ以上が、用途及び設定に対して好適となるように、省略又は重複してもよい。いくつかの実施形態では、コンピューティングデバイス17000に含まれる構成要素の一部又は全ては、1つ以上のマザーボードに取り付けられ、筐体(例えば、プラスチック、金属、及び/又は、他の材料を含む)に収められてもよい。いくつかの実施形態では、これらの構成要素の一部は、単一のシステムオンチップ(system-on-a-chip、SoC)上に製造することができる(例えば、SoCは、1つ以上の処理デバイス17002及び1つ以上の記憶デバイス17004を含み得る)。加えて、様々な実施形態では、コンピューティングデバイス17000は、
図17に例解される1つ以上の構成要素を含まない場合があるが、任意の好適なインターフェース(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)インターフェース、高精細マルチメディアインターフェース(High-Definition Multimedia Interface、HDMI(登録商標))インターフェース、コントローラエリアネットワーク(Controller Area Network、CAN)インターフェース、シリアルペリフェラルインターフェース(Serial Peripheral Interface、SPI)インターフェース、イーサネットインターフェース、無線インターフェース、又は、任意の他の好適なインターフェース)を使用して1つ以上の構成要素に結合するためのインターフェース回路(図示せず)を含み得る。例えば、コンピューティングデバイス17000は、表示デバイス17010を含まない場合があるが、表示デバイス17010が結合され得る表示デバイスインターフェース回路(例えば、コネクタ及びドライバ回路)を含み得る。
【0062】
コンピューティングデバイス17000は、処理デバイス17002(例えば、1つ以上の処理デバイス)を含み得る。本明細書で使用する場合、「処理デバイス」という用語は、レジスタ及び/又はメモリからの電子データを処理して、その電子データをレジスタ及び/又はメモリに記憶され得る他の電子データに変換する、任意のデバイス又はデバイスの一部分を指し得る。処理デバイス17002には、1つ以上のデジタル信号プロセッサ(digital signal processor、DSP)、特定用途向け集積回路(application-specific integrated circuits、ASIC)、中央処理ユニット(central processing units、CPU)、グラフィックス処理ユニット(graphics processing units、GPUs)、暗号プロセッサ(ハードウェア内で暗号アルゴリズムを実行する専用プロセッサ)、サーバプロセッサ、又は、他の任意の好適な処理デバイスが含まれ得る。
【0063】
コンピューティングデバイス17000は、記憶デバイス17004(例えば、1つ以上の記憶デバイス)を含み得る。記憶デバイス17004には、ランダムアクセスメモリ(random access memory、RAM)(例えば、静的RAM(static RAM、SRAM)デバイス、磁気RAM(magnetic RAM、MRAM)デバイス、ダイナミックRAM(dynamic RAM、DRAM)デバイス、抵抗型RAM(resistive RAM、RRAM)デバイス、又は、導電性ブリッジRAM(conductive-bridging RAM、CBRAM)デバイス)、ハードドライブベースのメモリデバイス、ソリッドステートメモリデバイス、ネットワークドライブ、クラウドドライブ、又は、メモリデバイスの任意の組み合わせなどの1つ以上のメモリデバイスが含まれ得る。いくつかの実施形態では、記憶デバイス17004は、処理デバイス17002とダイを共有するメモリを含み得る。かかる実施形態では、メモリは、キャッシュメモリとして使用され得る。例えば、組み込みダイナミックランダムアクセスメモリ(embedded dynamic random access memory、eDRAM)、又は、スピン転送トルク磁気ランダムアクセスメモリ(spin transfer torque magnetic random access memory、STT-MRAM)を含み得る。いくつかの実施形態では、記憶デバイス17004は、命令を有する非一時的コンピュータ可読媒体を含み得る。命令は、1つ以上の処理デバイス(例えば、処理デバイス17002)によって実行されるときに、コンピューティングデバイス17000に、本明細書に開示される方法のうちの任意の適切なもの、又は、それらの方法の一部を行わせる。
【0064】
コンピューティングデバイス17000は、インターフェースデバイス17006(例えば、1つ以上のインターフェースデバイス17006)を含み得る。インターフェースデバイス17006には、コンピューティングデバイス17000と、他のコンピューティングデバイスとの間の通信を管理するために、1つ以上の通信チップ、コネクタ、及び/又は、他のハードウェア及びソフトウェアが含まれ得る。例えば、インターフェースデバイス17006には、コンピューティングデバイス17000との間でデータを転送するための無線通信を管理する回路が含まれ得る。「無線」という用語及びその派生語は、非固体媒体を介した変調された電磁放射の使用を通じて、データを通信し得る、回路、デバイス、システム、方法、技法、通信チャネル、などを説明するために使用され得る。この用語は、関連するデバイスが、いかなる配線も含まないことを意味するものではないが、実施形態によっては、含まない場合もある。無線通信を管理するためのインターフェースデバイス17006に含まれる回路は、限定されないが、Wi-Fi(登録商標)(IEEE802.11系)、IEEE802.16規格(例えば、IEEE802.16-2005改正)を含む、米国電気電子学会(Institute for Electrical and Electronic Engineers、IEEE)の規格、何らかの改正、更新、及び/又は、改訂を伴うロングタームエボリューション(Long-Term Evolution、LTE)プロジェクト(例えば、アドバンストLTEプロジェクト、ウルトラモバイルブロードバンド(ultra mobile broadband、UMB)プロジェクト(「3GPP(登録商標)2」とも称される)など)を含む、いくつかの無線規格、又は、プロトコルのいずれかを実装し得る。いくつかの実施形態では、無線通信を管理するためのインターフェースデバイス17006に含まれる回路は、モバイル通信用グローバルシステム(Global System for Mobile、GSM)、汎用パケット無線サービス(General Packet Radio Service、GPRS)、ユニバーサルモバイル電気通信システム(Universal Mobile Telecommunications System、UMTS)、高速パケットアクセス(High Speed Packet Access、HSPA)、進化型HSPA(Evolved HSPA、E-HSPA)、又は、LTEネットワークに従って、動作し得る。いくつかの実施形態では、無線通信を管理するためのインターフェースデバイス17006に含まれる回路は、GSM進化型高速データ(Enhanced Data for GSM Evolution、EDGE)、GSM EDGE無線アクセスネットワーク(GSM EDGE Radio Access Network、GERAN)、ユニバーサル地上無線アクセスネットワーク(Universal Terrestrial Radio Access Network、UTRAN)、又は、進化型UTRAN(Evolved UTRAN、E-UTRAN)に従って、動作し得る。いくつかの実施形態では、無線通信を管理するためのインターフェースデバイス17006に含まれる回路は、符号分割多元接続(Code Division Multiple Access、CDMA)、時分割多元接続(Time Division Multiple Access、TDMA)、デジタル拡張コードレス電気通信(Digital Enhanced Cordless Telecommunications、DECT)、エボリューションデータ最適化(Evolution-Data Optimized、EV-DO)、及び、それらの派生物、並びに、3G、4G、5G、及び、それ以降として指定される任意の他の無線プロトコルに従って、動作し得る。いくつかの実施形態では、インターフェースデバイス17006には、無線通信の受信及び/又は送信用の1つ以上のアンテナ(例えば、1つ以上のアンテナアレイ)が含まれ得る。
【0065】
いくつかの実施形態では、インターフェースデバイス17006には、電気的、光学的、又は、他の任意の好適な通信プロトコルなどの有線通信を管理するための回路が含まれ得る。例えば、インターフェースデバイス17006には、イーサネット技術に従った、通信をサポートする回路が含まれ得る。いくつかの実施形態では、インターフェースデバイス17006は、無線通信及び有線通信の双方をサポートし得る。かつ/あるいは、複数の有線通信プロトコル及び/又は複数の無線通信プロトコルをサポートし得る。例えば、インターフェースデバイス17006の回路の第1セットは、Wi-Fi又はBluetoothなどの短距離無線通信専用であってもよく、インターフェースデバイス17006の回路の第2セットは、全地球測位システム(global positioning system、GPS)、EDGE、GPRS、CDMA、WiMAX、LTE、EV-DOなどの長距離無線通信専用であってもよい。いくつかの実施形態では、インターフェースデバイス17006の回路の第1セットは、無線通信専用であり得る。インターフェースデバイス17006の回路の第2セットは、有線通信専用であり得る。
【0066】
コンピューティングデバイス17000は、バッテリ/電力回路17008を含み得る。バッテリ/電力回路17008には、1つ以上のエネルギー貯蔵デバイス(例えば、バッテリ又はコンデンサ)、及び/又は、コンピューティングデバイス17000の構成要素を、コンピューティングデバイス17000とは別個のエネルギー源(例えば、ACライン電力)に結合するための回路が含まれ得る。
【0067】
コンピューティングデバイス17000は、表示デバイス17010(例えば、複数の表示デバイス)を含み得る。表示デバイス17010には、ヘッドアップディスプレイ、コンピュータモニタ、プロジェクタ、タッチスクリーンディスプレイ、液晶ディスプレイ(liquid crystal display、LCD)、発光ダイオードディスプレイ、又は、フラットパネルディスプレイ、などの任意の視覚表示器が含まれ得る。
【0068】
コンピューティングデバイス17000は、他の入力/出力(input/output、I/O)デバイス17012を含み得る。他のI/Oデバイス17012には、例えば、1つ以上のオーディオ出力デバイス(例えば、スピーカ、ヘッドセット、イヤホン、アラーム、など)、1つ以上のオーディオ入力デバイス(例えば、マイクロフォン又はマイクロフォンアレイ)、位置デバイス(例えば、当該技術分野で既知であるような、コンピューティングデバイス17000の位置を受信するために衛星ベースのシステムと通信するGPSデバイス)、オーディオコーデック、ビデオコーデック、プリンタ、センサ(例えば、熱電対又は他の温度センサ、湿度センサ、圧力センサ、振動センサ、加速度計、ジャイロスコープ、など)、カメラなどの画像キャプチャデバイス、キーボード、カーソル制御デバイス(マウス、スタイラス、トラックボール、又は、タッチパッド、など)、バーコードリーダ、クイックレスポンス(Quick Response、QR)コードリーダ、又は、無線周波数識別(radio frequency identification、RFID)リーダ、が含まれ得る。
【0069】
コンピューティングデバイス17000は、ハンドヘルド若しくはモバイルコンピューティングデバイス(例えば、携帯電話、スマートフォン、モバイルインターネットデバイス、タブレットコンピュータ、ラップトップコンピュータ、ネットブックコンピュータ、ウルトラブックコンピュータ、パーソナルデジタルアシスタント(personal digital assistant、PDA)、ウルトラモバイルパーソナルコンピュータ、など)、デスクトップコンピューティングデバイス、又は、サーバコンピューティングデバイス、若しくは、他のネットワーク化されたコンピューティング構成要素など、その用途及び設定に好適な任意の形態因子を有し得る。
【0070】
本明細書に開示される科学機器支援モジュール又は方法のいずれかを実施する1つ以上のコンピューティングデバイスは、科学機器支援システムの一部であり得る。
図18は、様々な実施形態による、本明細書に開示される科学機器支援方法の一部又は全てが行われ得る、例示的な科学機器支援システム18000のブロック図である。本明細書に開示される科学機器支援モジュール及び方法(例えば、
図1の科学機器支援モジュール1000、及び、
図3~
図8の方法3000~8000)は、科学機器支援システム18000の科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040の1つ以上によって実施され得る。
【0071】
科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040のいずれかは、
図17を参照して本明細書で説明される、コンピューティングデバイス17000の実施形態のいずれかを含み得る。科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040のいずれかは、
図17を参照して本明細書で説明される、コンピューティングデバイス17000の実施形態のいずれか適切なものの形態をとり得る。
【0072】
科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040は、それぞれに、処理デバイス18002、記憶デバイス18004、及び、インターフェースデバイス18006を含み得る。処理デバイス18002は、
図17を参照して本明細書で説明される、処理デバイス17002のいずれかの形態を含む、任意の好適な形態をとり得る。科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040のうちの異なるものに含まれる処理デバイス18002は、同じ形態又は異なる形態をとってもよい。記憶デバイス18004は、
図17を参照して本明細書で説明される、記憶デバイス18004のいずれかの形態を含む、任意の好適な形態をとり得る。科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040のうちの異なるものに含まれる記憶デバイス18004は、同じ形態又は異なる形態をとってもよい。インターフェースデバイス18006は、
図17を参照して本明細書で説明される、インターフェースデバイス17006のいずれかの形態を含む、任意の好適な形態をとり得る。科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、又は、リモートコンピューティングデバイス18040のうち異なるものに含まれるインターフェースデバイス18006は、同じ形態又は異なる形態をとってもよい。
【0073】
科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、及び、リモートコンピューティングデバイス18040は、通信経路18008を介して科学機器支援システム18000の他の要素と通信し得る。通信経路18008は、示されるように、科学機器支援システム18000のうちの異なる要素のインターフェースデバイス18006と通信可能に結合され得る、有線又は無線通信経路であり得る(例えば、
図17のコンピューティングデバイス17000のインターフェースデバイス17006を参照して本明細書で説明される、通信技法のいずれかに従って)。
図18に図示される特定の科学機器支援システム18000は、科学機器18010、ユーザローカルコンピューティングデバイス18020、サービスローカルコンピューティングデバイス18030、及び、リモートコンピューティングデバイス18040の各ペアの間の通信経路を含むが、この「完全に接続された」実装態様は、例解的なものに過ぎず、様々な実施形態では、通信経路18008の様々なものが存在しない場合がある。例えば、いくつかの実施形態では、サービスローカルコンピューティングデバイス18030は、そのインターフェースデバイス18006と科学機器18010のインターフェースデバイス18006との間に直接通信経路18008を有さない場合があり、その代わりとして、サービスローカルコンピューティングデバイス18030とユーザローカルコンピューティングデバイス18020との間の通信経路18008、及び、ユーザローカルコンピューティングデバイス18020と科学機器18010との間の通信経路18008を介して、科学機器18010と通信することができる。
【0074】
ユーザローカルコンピューティングデバイス18020は、科学機器18010のユーザの近くにある(例えば、本明細書で説明されるコンピューティングデバイス17000の実施形態のいずれかによる)コンピューティングデバイスであり得る。いくつかの実施形態では、ユーザローカルコンピューティングデバイス18020は、また、科学機器18010の近くにあり得るが、そうである必要はない。例えば、ユーザの自宅又はオフィスにあるユーザローカルコンピューティングデバイス18020は、科学機器18010から離れた場所にあるが、それと通信し得る。その結果、ユーザは、ユーザローカルコンピューティングデバイス18020を使用して、科学機器18010からのデータを制御し、かつ/あるいは、それにアクセスし得る。いくつかの実施形態では、ユーザローカルコンピューティングデバイス18020は、ラップトップ、スマートフォン、又は、タブレットデバイスであり得る。いくつかの実施形態では、ユーザローカルコンピューティングデバイス18020は、ポータブルコンピューティングデバイスであり得る。
【0075】
サービスローカルコンピューティングデバイス18030は、科学機器18010にサービスを提供するエンティティの近くにある(例えば、本明細書で説明されるコンピューティングデバイス17000の実施形態のいずれかによる)、コンピューティングデバイスであり得る。例えば、サービスローカルコンピューティングデバイス18030は、科学機器18010の製造元、又は、サードパーティサービス会社の近くにあってもよい。いくつかの実施形態では、サービスローカルコンピューティングデバイス18030は、科学機器18010、ユーザローカルコンピューティングデバイス18020、及び/又は、リモートコンピューティングデバイス18040と通信して(例えば、上で説明したように、直接通信経路18008を介して、又は、複数の「間接」通信経路18008を介して)、科学機器18010、ユーザローカルコンピューティングデバイス18020、及び/又は、リモートコンピューティングデバイス18040の動作に関するデータ(例えば、科学機器18010の自己診断テストの結果、科学機器18010によって使用される較正係数、科学機器18010に関連付けられたセンサの測定値、など)を受信し得る。いくつかの実施形態では、サービスローカルコンピューティングデバイス18030は、科学機器18010、ユーザローカルコンピューティングデバイス18020、及び/又は、リモートコンピューティングデバイス18040と通信して(例えば、上で説明したように、直接通信経路18008、又は、複数の「間接」通信経路18008を介して)、科学機器18010、ユーザローカルコンピューティングデバイス18020、及び/又は、リモートコンピューティングデバイス18040に(例えば、科学機器18010において、ファームウェアなどのプログラムされた命令を更新するため、科学機器18010においてテスト又は較正シーケンスを行うことを開始するため、ユーザローカルコンピューティングデバイス18020又はリモートコンピューティングデバイス18040において、ソフトウェアなどのプログラムされた命令を更新する、などのために)データを送信し得る。科学機器18010のユーザは、科学機器18010若しくはユーザローカルコンピューティングデバイス18020に関する問題を報告するために、科学機器18010の動作を改善させるための訪問を技術者に要求するために、科学機器18010に関連付けられた消耗部品若しくは交換部品を注文するために、又は、他の目的のために、科学機器18010又はユーザローカルコンピューティングデバイス18020を利用して、サービスローカルコンピューティングデバイス18030と通信し得る。
【0076】
リモートコンピューティングデバイス18040は、科学機器18010から、及び/又は、ユーザローカルコンピューティングデバイス18020から離れた場所にある(例えば、本明細書で説明されるコンピューティングデバイス17000の実施形態のうちのいずれかによる)コンピューティングデバイスであってもよい。いくつかの実施形態では、リモートコンピューティングデバイス18040は、データセンター又は他の大規模サーバ環境に含まれていてもよい。いくつかの実施形態では、リモートコンピューティングデバイス18040は、ネットワーク接続ストレージを含むことができる(例えば、記憶デバイス18004の一部として)。リモートコンピューティングデバイス18040は、科学機器18010によって生成されたデータを記憶し、科学機器18010によって生成されたデータの分析を行い(例えば、プログラムされた命令に従って)、ユーザローカルコンピューティングデバイス18020と科学機器18010との間の通信を容易にし、かつ/あるいは、サービスローカルコンピューティングデバイス18030と科学機器18010との間の通信を容易にし得る。
【0077】
いくつかの実施形態では、
図18に例解される科学機器支援システム18000の要素の1つ以上が存在しない場合がある。更に、いくつかの実施形態では、
図18の科学機器支援システム18000の要素のうちの様々な要素が複数個存在することがある。例えば、科学機器支援システム18000は、複数のユーザローカルコンピューティングデバイス18020(例えば、異なるユーザに関連付けられた、又は、異なる場所にある、異なるユーザローカルコンピューティングデバイス18020)を含み得る。別の実施例では、科学機器支援システム18000は、複数の科学機器18010を含み得る。全てが、サービスローカルコンピューティングデバイス18030及び/又はリモートコンピューティングデバイス18040と通信する。かかる実施形態では、サービスローカルコンピューティングデバイス18030は、これらの複数の科学機器18010を監視し得る。サービスローカルコンピューティングデバイス18030が更新を引き起こし得るか、又は、他の情報が同時に複数の科学機器18010に「一斉送信」され得る。科学機器支援システム18000内の科学機器18010のうちの異なるものが、互いに近くに(例えば、同じ部屋に)、又は、互いに遠くに(例えば、建物の異なる階に、異なる建物に、異なる都市に、など)位置していてもよい。いくつかの実施形態では、科学機器18010は、ウェブベースアプリケーション、仮想若しくは拡張現実アプリケーション、モバイルアプリケーション、及び/又は、デスクトップアプリケーションを通じて科学機器18010の指令及び制御を可能にするモノのインターネット(Internet-of-Things、IoT)のスタックに接続され得る。これらのアプリケーションのいずれも、介在するリモートコンピューティングデバイス18040によって科学機器18010と通信するユーザローカルコンピューティングデバイス18020を、ユーザが操作することによって、アクセスされ得る。いくつかの実施形態では、科学機器18010は、ローカル科学機器コンピューティングユニット18012の一部として、1つ以上の関連するユーザローカルコンピューティングデバイス18020と合わせて、製造元から販売され得る。
【0078】
いくつかの実施形態では、科学機器支援システム18000に含まれる科学機器18010のうちの異なるものは、異なるタイプの科学機器18010であってもよい。いくつかのそのような実施形態では、リモートコンピューティングデバイス18040及び/又はユーザローカルコンピューティングデバイス18020は、科学機器支援システム18000に含まれる、異なるタイプの科学機器18010からのデータを組み合わせ得る。
【0079】
以下の段落では、本明細書に開示される実施形態の様々な実施例を提供する。
【0080】
実施例1は、命令を記憶するように構成されたメモリハードウェアと、命令を実行するように構成された処理ハードウェアとを含む、科学機器支援装置を含む。命令は、メタデータ内に存在する拡張属性を識別するために、メタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、を含む。命令は、1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、出力グラフ上のノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフをユーザに表示するためにグラフィカルユーザインターフェースを変形させることと、を含む。
【0081】
実施例2は、実施例1の技術的事項を含み、更に、命令が、メタデータ内で、マッチする拡張属性プロパティが見つからなかったことを受けて、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することと、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることと、を含むことを規定する。
【0082】
実施例3は、実施例2の技術的事項を含み、更に、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することが、メタデータ内の拡張属性プロパティと1つ以上のセマンティックモデルの各々の中の拡張属性プロパティとの間の距離を計算することと、計算された距離に基づいて1つ以上のセマンティックモデルの各々についてマッチングスコアの合計を計算することと、マッチングスコアの合計が最も高いセマンティックモデルを最も可能性の高いセマンティックモデルとして選択することと、を含むことを規定する。
【0083】
実施例4は、実施例2又は実施例3の技術的事項を含み、更に、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることが、メタデータ内の拡張属性プロパティ及び最も可能性の高いセマンティックモデル内の推定拡張属性プロパティが閾値を上回るマッチングスコアを有するか否かを判定することと、メタデータ内の拡張属性プロパティと最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとの間のマッチングが閾値を上回ると判定したことを受けて、メタデータ内の拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとマッチングさせることと、を含むことを規定する。
【0084】
実施例5は、実施例1~4のいずれか1つの技術的事項を含み、更に、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の対応するデータプロパティのうちの1つとマッチングさせることは、選択されたセマンティックモデル内のデータプロパティを選択することと、選択されたデータプロパティに基づいてセマンティックモデルから拡張属性プロパティを選択することと、選択された拡張属性プロパティの値がメタデータ内に存在するか否かを判定することと、選択された拡張属性プロパティの値がメタデータ内に存在すると判定したことを受けて、選択されたデータプロパティと、選択された拡張属性プロパティの値に対応するメタデータからの関連付けられた拡張属性プロパティとを配列に追加することと、を含むことを規定する。
【0085】
実施例6は、実施例5の技術的事項を含み、更に、各対応するデータプロパティを出力グラフ上のノードに整合させることは、データプロパティと、関連付けられた拡張属性プロパティとの組み合わせを配列から選択することと、選択されたデータプロパティと拡張属性プロパティとの組み合わせを表すノードを出力グラフ上に生成することと、を含むことを規定する。
【0086】
実施例7は、実施例1~6のいずれか1つの技術的事項を含み、更に、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することは、出力グラフ上の第1ノードを選択することと、選択されたノードに対応するセマンティックモデルから定義域を選択することと、定義域に関連付けられたオブジェクトプロパティ及び値域を選択することと、選択された値域に対応する第2ノードが存在するか否かを確認することと、第2ノードが存在すると判定したことを受けて、選択されたオブジェクトプロパティに基づいて第1ノードから第2ノードに延びるリンクを出力グラフ上に生成することと、を含むことを規定する。
【0087】
実施例8は、実施例7の技術的事項を含み、更に、セマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することは、第2ノードが存在しないと判定したことを受けて、値域に基づいて、第2ノードを出力グラフ上に生成することを含むことを規定する。
【0088】
実施例9は、実施例1~8のいずれか1つの技術的事項を含み、更に、出力グラフ上のノード間の関係をテストすることが、出力グラフ上のテストノードを選択することと、選択されたテストノードを除去すると、出力グラフ上の他のいずれかのノードが切断されたままになるか否かを判定することと、選択されたテストノードを除去しても出力グラフ上の他のいかなるノードも切断されたままにはならないと判定したことを受けて、選択されたテストノードを誤りとしてマークすることと、を含むことを規定する。
【0089】
実施例10は、実施例9の技術的事項を含み、更に、出力グラフから誤っている関係を除去することが、出力グラフから誤りとしてマークされたテストノードを除去することを含むことを規定する。
【0090】
実施例11は、実施例1~10のいずれか1つの技術的事項を含み、更に、命令が、メタデータ内の拡張属性プロパティ、及び、選択されたセマンティックモデル内の対応するデータプロパティに基づいてデータトリプルを生成することと、データトリプルに基づいてノード及びリンクを出力グラフ上に生成することと、を含むことを規定する。
【0091】
実施例12は、実施例11の技術的事項を含み、更に、各データトリプルが、主語、述語、及び、目的語を含み、定義域ノードが、主語に基づいて生成され、値域ノードが、目的語に基づいて生成され、定義域ノードから値域ノードに延びるリンクが、述語に基づいて生成されることを規定する。
【0092】
実施例13は、科学機器支援のためのコンピュータ実施方法を含む。方法は、メタデータ内に存在する拡張属性を識別するために、メタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、出力グラフ上のノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフをユーザに表示するためにグラフィカルユーザインターフェースを変形させることと、を含む。
【0093】
実施例14は、実施例13の技術的事項を含み、更に、方法が、メタデータ内で、マッチする拡張属性プロパティが見つからなかったことを受けて、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することと、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることと、を含むことを規定する。
【0094】
実施例15は、実施例14の技術的事項を含み、更に、1つ以上のセマンティックモデルから最も可能性の高いセマンティックモデルを予測することが、メタデータ内の拡張属性プロパティと1つ以上のセマンティックモデルの各々の中の拡張属性プロパティとの間の距離を計算することと、計算された距離に基づいて1つ以上のセマンティックモデルの各々についてマッチングスコアの合計を計算することと、マッチングスコアの合計が最も高いセマンティックモデルを最も可能性の高いセマンティックモデルとして選択することと、を含むことを規定する。
【0095】
実施例16は、実施例14又は実施例15の技術的事項を含み、更に、メタデータ内の各拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定データプロパティとマッチングさせることが、メタデータ内の拡張属性プロパティ及び最も可能性の高いセマンティックモデル内の推定拡張属性プロパティが閾値を上回るマッチングスコアを有するか否かを判定することと、メタデータ内の拡張属性プロパティと最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとの間のマッチングが閾値を上回ると判定したことを受けて、メタデータ内の拡張属性プロパティを最も可能性の高いセマンティックモデル内の推定拡張属性プロパティとマッチングさせることと、を含むことを規定する。
【0096】
実施例17は、実施例13~16のいずれか1つの技術的事項を含み、更に、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の対応するデータプロパティのうちの1つとマッチングさせることが、選択されたセマンティックモデル内のデータプロパティを選択することと、選択されたデータプロパティに基づいてセマンティックモデルから拡張属性プロパティを選択することと、選択された拡張属性プロパティの値がメタデータ内に存在するか否かを判定することと、選択された拡張属性プロパティの値がメタデータ内に存在すると判定したことを受けて、選択されたデータプロパティと、選択された拡張属性プロパティの値に対応するメタデータからの関連付けられた拡張属性プロパティとを配列に追加することと、を含むことを規定する。
【0097】
実施例18は、実施例17の技術的事項を含み、更に、各対応するデータプロパティを出力グラフ上のノードに整合させることは、データプロパティと、関連付けられた拡張属性プロパティとの組み合わせを配列から選択することと、選択されたデータプロパティと拡張属性プロパティとの組み合わせを表すノードを出力グラフ上に生成することと、を含むことを規定する。
【0098】
実施例19は、実施例13~18のいずれか1つの技術的事項を含み、更に、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することが、出力グラフ上の第1ノードを選択することと、選択されたノードに対応するセマンティックモデルから定義域を選択することと、定義域に関連付けられたオブジェクトプロパティ及び値域を選択することと、選択された値域に対応する第2ノードが存在するか否かを確認することと、第2ノードが存在すると判定したことを受けて、選択されたオブジェクトプロパティに基づいて第1ノードから第2ノードに延びるリンクを出力グラフ上に生成することと、を含むことを規定する。
【0099】
実施例20は、実施例19の技術的事項を含み、更に、セマンティックモデル内のオブジェクトプロパティに基づいてノード間の関係を出力グラフ上に生成することが、第2ノードが存在しないと判定したことを受けて、値域に基づいて、第2ノードを出力グラフ上に生成することを含むことを規定する。
【0100】
実施例21は、実施例13~20のいずれか1つの技術的事項を含み、更に、出力グラフ上のノード間の関係をテストすることが、出力グラフ上のテストノードを選択することと、選択されたテストノードを除去すると、出力グラフ上の他のいずれかのノードが切断されたままになるか否かを判定することと、選択されたテストノードを除去しても出力グラフ上の他のいかなるノードも切断されたままにはならないと判定したことを受けて、選択されたテストノードを誤りとしてマークすることと、を含むことを規定する。
【0101】
実施例22は、実施例21の技術的事項を含み、更に、出力グラフから誤っている関係を除去することが、出力グラフから誤りとしてマークされたテストノードを除去することを含むことを規定する。
【0102】
実施例23は、実施例13~22のいずれか1つの技術的事項を含み、更に、方法が、メタデータ内の拡張属性プロパティ、及び、選択されたセマンティックモデル内の対応するデータプロパティに基づいてデータトリプルを生成することと、データトリプルに基づいてノード及びリンクを出力グラフ上に生成することと、を含むことを規定する。
【0103】
実施例24は、実施例23の技術的事項を含み、更に、各データトリプルが、主語、述語、及び、目的語を含み、定義域ノードが主語に基づいて生成され、値域ノードが目的語に基づいて生成され、定義域ノードから値域ノードへ延びるリンクが述語に基づいて生成されることと、を規定する。
【0104】
実施例25は、命令を有する1つ以上の非一時的コンピュータ可読媒体を含み、命令は、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに、メタデータ内に存在する拡張属性を識別するためにメタデータを処理することと、メタデータ内のメディアタイプ注釈に基づいて、1つ以上のセマンティックモデルを読み込むことと、読み込まれた1つ以上のセマンティックモデルにおいて、メタデータ内の拡張属性プロパティとマッチする対応する拡張属性プロパティについて照会することと、1つ以上のセマンティックモデルのうちの選択されたセマンティックモデル内で、対応する拡張属性プロパティが見つかったことを受けて、メタデータ内の各拡張属性プロパティを選択されたセマンティックモデル内の1つ以上の対応するデータプロパティのうちの1つとマッチングさせることと、各対応するデータプロパティを出力グラフ上のノードに整合させることと、選択されたセマンティックモデル内のオブジェクトプロパティに基づいて、ノード間の関係を出力グラフ上に生成することと、出力グラフ上のノード間の関係をテストすることと、出力グラフから誤っている関係を除去することと、出力グラフをユーザに表示するためにグラフィカルユーザインターフェースを変形させることと、を含むステップを行わせる。
【外国語明細書】