JP2024041902A - Multi-source interoperability and/or information retrieval optimization - Google Patents

Multi-source interoperability and/or information retrieval optimization Download PDF

Info

Publication number
JP2024041902A
JP2024041902A JP2024002844A JP2024002844A JP2024041902A JP 2024041902 A JP2024041902 A JP 2024041902A JP 2024002844 A JP2024002844 A JP 2024002844A JP 2024002844 A JP2024002844 A JP 2024002844A JP 2024041902 A JP2024041902 A JP 2024041902A
Authority
JP
Japan
Prior art keywords
data
graph
query
neural network
queries
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2024002844A
Other languages
Japanese (ja)
Inventor
エヴレン シリン,
マイケル ハワード グローブ,
ケンドール グラント クラーク,
ジェス エム. バリント,
オリヴェイラ, ペドロ カルヴァーリョ ド
パベル クリノフ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stardog Union
Original Assignee
Stardog Union
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/007,850 external-priority patent/US10223417B1/en
Priority claimed from US16/007,639 external-priority patent/US10303688B1/en
Priority claimed from US16/007,911 external-priority patent/US10599719B2/en
Application filed by Stardog Union filed Critical Stardog Union
Publication of JP2024041902A publication Critical patent/JP2024041902A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

【課題】データ検索プロセスにおけるクエリ関連のリソース使用を削減する方法及びシステムを提供する。【解決手段】方法は、データリクエスト関連のグラフクエリを取得し、グラフデータモデルおよびグラフクエリのパターンに基づいて、グラフクエリをクエリセットに変換する。生成されるクエリセットは、クエリおよびクエリをリンクするクエリ演算子を含んでもよく、クエリ演算子は第1のクエリと第2のクエリとをリンクする第1のクエリ演算子を含む。第1のクエリまたは第2のクエリの実行に先立って、充足可能性の問題を予測し、予測に基づいて、クエリセットを更新するために第1のクエリ演算子をクエリセットから削除し、フラフクエリを満たすべく更新されたクエリセットを実行する。【選択図】図14A method and system for reducing query-related resource usage in a data retrieval process is provided. The method takes a graph query associated with a data request and converts the graph query into a query set based on a graph data model and a pattern of the graph query. The generated query set may include queries and query operators linking the queries, the query operators including a first query operator linking a first query and a second query. Prior to executing the first query or the second query, predicting a satisfiability problem, and based on the prediction, removing the first query operator from the query set to update the query set, and executing the updated query set to satisfy the fluff query.

Description

(関連出願の相互参照)
本出願は、2018年6月13日に出願された以下の米国出願の利益を主張し、これらの全内容は参照により本明細書に組み込まれる。(1)米国特許出願第16/007,639号、発明の名称「予測に基づくデータサブグラフの生成を介してデータ検索遅延を低減するシステムおよび方法」、(2)米国特許出願第16/007,911号、発明の名称「予測モデルに基づくグラフデータモデルの生成を提供するためのシステムおよび方法」、(3)米国特許出願第16/07,850号、発明の名称「データ検索プロセスにおけるクエリ関連のリソース使用を低減するシステムおよび方法」。
(Cross reference to related applications)
This application claims the benefit of the following United States applications filed June 13, 2018, the entire contents of which are incorporated herein by reference: (1) U.S. Patent Application No. 16/007,639, Title: "System and Method for Reducing Data Retrieval Delay Through Prediction-Based Data Subgraph Generation," (2) U.S. Patent Application No. 16/007, No. 911, entitled ``Systems and Methods for Providing Generation of Graph Data Models Based on Predictive Models.'' ``Systems and Methods for Reducing Resource Utilization.''

本発明は、マルチソース型の相互運用性(interoperability)および/または情報検索の最適化を容易にすることに関する。 The present invention relates to facilitating multi-source interoperability and/or information retrieval optimization.

一般的に、組織が成長するにつれて組織内に存在するデータサイロの数が増加し、組織における他の部門に「接続されていない」固定データのリポジトリが多数作成される。データ形式またはデータソース技術が、以前のまたは現在の標準的に使用されているものと一致しないために、このようなデータサイロが存在している場合が多い。例えば、大企業は、継承された複数のレガシーデータシステムを有し、これらシステムは互いに互換性がないまたは新しいデータシステムとの互換性がない場合がある。様々なデータストレージタイプ、フォーマットまたはITシステムから現在の標準に対応する一つのデータシステムへと、データ移行システムを使用してデータを転送することは可能であるが、このような大規模なデータ移行プロセスには通常、かなりのオーバーヘッド(計算リソース、時間等)が必要であり、他の組織活動に重大な混乱を引き起こし得る。上記のような問題およびその他の問題が存在する。 Typically, as an organization grows, the number of data silos that exist within the organization increases, creating many repositories of fixed data that are not "connected" to other departments in the organization. Such data silos often exist because the data formats or data source technologies do not match those previously or currently in standard use. For example, large enterprises may have multiple legacy data systems inherited that may not be compatible with each other or with new data systems. Although it is possible to use data migration systems to transfer data from various data storage types, formats or IT systems to one data system that supports current standards, such large-scale data migrations The process typically requires significant overhead (computing resources, time, etc.) and can cause significant disruption to other organizational activities. Problems such as those mentioned above and others exist.

本発明の側面は、マルチソース型の相互運用性または情報検索の最適化を容易にするための方法、装置またはシステムに関し、例えば、異なるデータソースタイプの複数のデータソースに対するマルチソースタイプのクエリを容易にするためのデータ変換モデルの使用、データ変換モデルを生成するための予測モデルの使用、変換されたデータに対するリクエストを予期して当該データを一時データストレージに格納するための予測モデルの使用、データ検索プロセスにおけるクエリに関連するリソース使用量を削減するためにデータリクエストから導出したクエリセットの最適化等に関する。 Aspects of the invention relate to methods, apparatus, or systems for facilitating multi-source interoperability or information retrieval optimization, e.g., multi-source type queries against multiple data sources of different data source types. using a predictive model to generate a data transformation model; using a predictive model to anticipate requests for transformed data and store such data in temporary data storage; This field relates to the optimization of query sets derived from data requests in order to reduce resource usage related to queries in the data search process.

ある実施形態では、データ検索プロセスにおけるクエリ関連のリソース使用を削減する。一例として、データリクエスト関連のグラフクエリを取得してもよい。グラフデータモデルおよびグラフクエリのパターンに基づいて、グラフクエリがクエリセットに変換されてもよい。生成されるクエリセットは、クエリおよびクエリをリンクするクエリ演算子を含んでもよく、クエリ演算子は前記クエリの第1のクエリと第2のクエリとをリンクする第1のクエリ演算子またはその他の演算子を含む。前記第1のクエリおよび前記第2のクエリが実行される前に、充足可能性の問題が予測されてもよく、当該充足可能性の問題は、前記第1のクエリおよび前記第2のクエリから導出される結果を組み合わせることに関する。前記予測に基づいて、第1のクエリ演算子がクエリセットから削除されて、クエリセットが更新される。更新されたクエリセットを実行して、グラフクエリに応答してもよい。 Certain embodiments reduce query-related resource usage in the data retrieval process. As an example, a graph query related to a data request may be obtained. A graph query may be converted into a query set based on the graph data model and the pattern of the graph query. The generated query set may include a query and a query operator that links the queries, the query operator being a first query operator or other query operator that links a first query and a second query of said queries. Contains operators. A satisfiability problem may be predicted before the first query and the second query are executed, and the satisfiability problem is determined from the first query and the second query. Concerning combining derived results. Based on the prediction, the first query operator is removed from the query set and the query set is updated. The updated query set may be executed to respond to the graph query.

上記以外の本発明のさまざまな態様、特徴および利点は、本発明の詳細な説明および添付の図面を参照することによって明らかになるであろう。また、上記の概要および以下の詳細な説明は共に例示に過ぎず、本発明の範囲を限定するものではないと理解されたい。本明細書および特許請求の範囲で用いる場合、単数形の「a」、「an」、および「the」は複数を示唆するものである。ただし、文脈によって別に解すべきことが明白な場合はこの限りでない。更に、本明細書および特許請求の範囲で用いる場合、「または」という用語は「および/または」を意味する。ただし、文脈によって別に解すべきことが明白な場合はこの限りではない。 Various aspects, features and advantages of the invention other than those described above will become apparent from reference to the detailed description of the invention and the accompanying drawings. Furthermore, it is to be understood that both the above summary and the following detailed description are illustrative only and are not intended to limit the scope of the invention. As used in this specification and the claims, the singular forms "a," "an," and "the" refer to the plural. However, this does not apply if it is clear that it should be interpreted differently depending on the context. Additionally, as used herein and in the claims, the term "or" means "and/or." However, this does not apply if it is clear that it should be interpreted differently depending on the context.

一のまたは複数の実施形態に係る、マルチソース型の相互運用性および情報検索の最適化を容易にするためのシステムを示す。1 illustrates a system for facilitating multi-source interoperability and information retrieval optimization in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、システムの一つまたは複数の構成要素を含む企業環境を示す。1 illustrates an enterprise environment including one or more components of a system in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、システムの一つまたは複数の構成要素のアーキテクチャの一例を示す。1 illustrates an example architecture of one or more components of a system, according to one or more embodiments.

一のまたは複数の実施形態に係る、グラフデータベース内のグラフの一例を示す。4 illustrates an example graph in a graph database in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、グラフデータベースと互換性のないデータ表現、互換性のないデータ表現をグラフデータベースと互換性のあるグラフデータ表現に変換するためのテンプレート、および、互換性のないデータ表現から導出されたグラフデータ表現を示す。A data representation that is incompatible with a graph database, a template for converting an incompatible data representation to a graph data representation that is compatible with a graph database, and an incompatible data representation according to one or more embodiments. Figure 3 shows a graph data representation derived from the data representation.

一のまたは複数の実施形態に係る、トレーニングされた予測モデルからのテンプレートに基づいて生成されたグラフデータ表現の2つの異なるセットの例を示す。FIG. 6 illustrates an example of two different sets of graph data representations generated based on templates from trained predictive models in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、グラフデータモデルの一例を示す。4 illustrates an example graph data model in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、予測モデル推論の一例を示している。4 illustrates an example of predictive model inference in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、予測モデルによる類似性予測の一例を示している。1 illustrates an example of similarity prediction by a predictive model according to one or more embodiments.

一のまたは複数の実施形態に係る、グラフのノード間の類似度を決定するコードの一例を示している。3 illustrates example code for determining similarity between nodes of a graph in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、新しいノードまたはエッジの生成例、ならびに、ルールおよびオントロジーマッチの学習例を示す。4 illustrates an example of generating new nodes or edges and learning rules and ontology matches in accordance with one or more embodiments; FIG.

一のまたは複数の実施形態に係る、予測モデルに基づくグラフデータモデルの生成を提供する方法を示す。1 illustrates a method for providing generation of a graph data model based on a predictive model in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、予測に基づくデータサブグラフの生成を介してデータ検索遅延を低減する方法を示す。4 illustrates a method for reducing data retrieval delay through prediction-based generation of data subgraphs in accordance with one or more embodiments.

一のまたは複数の実施形態に係る、データ検索プロセスにおけるクエリ関連のリソース使用を低減する方法のフローチャートを示す1 illustrates a flowchart of a method for reducing query-related resource usage in a data retrieval process according to one or more embodiments.

以下の記載において、本発明の実施形態を完全に理解できるように、説明を目的として、多くの具体的且つ詳細な内容を記載する。しかしながら、当業者であれば、これらの具体的且つ詳細な内容がなくとも、または、均等な構成でも、本発明の実施形態が実施され得ることを理解するであろう。他の例では、周知の構造およびデバイスが、本発明の各実施形態を不必要に不明瞭にすることを避ける目的でブロック図の形式で示される。 In the following description, numerous specific details are set forth for purposes of explanation in order to provide a thorough understanding of embodiments of the invention. However, one of ordinary skill in the art will understand that embodiments of the invention may be practiced without these specific details or with equivalent construction. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring embodiments of the present invention.

図1は、一のまたは複数の実施形態に係る、マルチソース型の相互運用性および情報検索の最適化を容易にするためのシステム100を示す。図1に示されるように、システム100は、サーバ102、クライアントデバイス104a~104n、データソース132、および、他の構成要素を備え得る。サーバ102は、データ管理サブシステム112、モデル管理サブシステム114、要求サブシステム116、最適化サブシステム118、プレゼンテーションサブシステム120、電子記憶装置122、および、その他の構成要素を備え得る。クライアントデバイス104はそれぞれ、任意のタイプのモバイル端末、固定端末、または、その他のデバイスを含み得る。クライアントデバイス104は、一例として、デスクトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルデバイスまたは他のクライアントデバイスであってもよい。ユーザは、例えば、一つまたは複数のクライアントデバイス104を利用して、一つまたは複数のサーバ102またはシステム100の他の構成要素とやりとりすることができる。データソース132は、グラフデータソース134、非構造化データソース(例えば、タイプライター文書)、半構造化データソース(例えば、XML文書、電子メール等)、または、構造化データソース(例えば、リレーショナルデータベース管理システム(RDBMS)情報、軽量ディレクトリアクセスプロトコル(LDAP)情報等)136、および、その他のデータソース138を含み得る。データソースは、様々なデータベースまたはその他のデータソースを含み得る。いくつかの実施形態では、一つのデータベースが、一つまたは複数のデータソース132を含んでもよい。サーバ102の特定の構成要素が実行するものとして一つまたは複数の処理を本明細書で説明するが、これらの処理は、一部の実施形態では、サーバ102の他の構成要素、または、システム100の他の構成要素によって実行し得るものであることに留意されたい。一例として、サーバ102の構成要素が実行する処理として本明細書で説明する一つまたは複数の処理は、一部の実施形態において、クライアントデバイス104の構成要素によって実行されるとしてよい。 FIG. 1 illustrates a system 100 for facilitating multi-source interoperability and optimization of information retrieval, according to one or more embodiments. As illustrated in FIG. 1, the system 100 may include a server 102, client devices 104a-104n, a data source 132, and other components. The server 102 may include a data management subsystem 112, a model management subsystem 114, a request subsystem 116, an optimization subsystem 118, a presentation subsystem 120, an electronic storage device 122, and other components. Each of the client devices 104 may include any type of mobile terminal, fixed terminal, or other device. The client devices 104 may be, by way of example, a desktop computer, a notebook computer, a tablet computer, a smartphone, a wearable device, or other client device. A user may, for example, utilize one or more client devices 104 to interact with one or more servers 102 or other components of the system 100. The data sources 132 may include graph data sources 134, unstructured data sources (e.g., typewriter documents), semi-structured data sources (e.g., XML documents, emails, etc.), or structured data sources (e.g., Relational Database Management System (RDBMS) information, Lightweight Directory Access Protocol (LDAP) information, etc.) 136, and other data sources 138. The data sources may include various databases or other data sources. In some embodiments, a database may include one or more data sources 132. It should be noted that although one or more processes are described herein as being performed by particular components of the server 102, in some embodiments, these processes may be performed by other components of the server 102 or other components of the system 100. As an example, one or more processes described herein as being performed by components of the server 102 may be performed by components of the client device 104 in some embodiments.

いくつかの実施形態において、企業環境200は、図2に示されるように、システム100の一つまたは複数の構成要素に対する環境であり得る。企業環境200は、アプリケーションおよび分析部分202、企業「データレイク」部分204、仮想部分206およびその他の部分を含み得る。サーバ102は、レポート208、分析210、機械学習またはデータマイニング情報212、非構造化情報214(例えば、タイプライトされた文書)、半構造化情報216(例えば、XML文書、電子メール等)、構造化情報218(例えば、RDBMS情報、LDAP情報等)およびその他の情報のような様々な種類の情報を受信するように構成されている。サーバ102は、例えば、様々なアプリケーションまたは分析操作を実行している一つまたは複数のクライアントデバイス104からもしくは他のソースから、そのような情報を受信することができる。 In some embodiments, enterprise environment 200 may be an environment for one or more components of system 100, as shown in FIG. Enterprise environment 200 may include an application and analytics portion 202, an enterprise “data lake” portion 204, a virtual portion 206, and other portions. The server 102 provides reports 208, analysis 210, machine learning or data mining information 212, unstructured information 214 (e.g., typewritten documents), semi-structured information 216 (e.g., XML documents, emails, etc.), structured 218 (e.g., RDBMS information, LDAP information, etc.) and other information. Server 102 may receive such information, for example, from one or more client devices 104 executing various applications or analysis operations or from other sources.

いくつかの実施形態において、アーキテクチャ300は、図3に示されるように、システム100の一つまたは複数の構成要素に対する環境であり得る。図3に示すように、サーバ102は、メタデータ抽出部302、テキスト抽出部304、グラフ抽出部306(例えば、リソースデスクリプションフレームワーク(RDF)抽出部)、機械学習コンポ
ーネント308、地理空間インデックス310、グラフインデックス312、テキストインデックス314、リレーショナルマッピングコンポーネント316、クエリエンジン318およびその他の構成要素を備えてもよい。いくつかの実施形態では、これらの構成要素のうちの一つまたは複数は、図1に示される一つまたは複数のサーバ構成要素に含まれる、または、サーバ構成要素に関連する動作を実行してもよい。例えば、メタデータ抽出部302、テキスト抽出部304、グラフ抽出部306またはその他の構成要素が、図1に示したデータ管理サブシステム112に含まれてもよい。機械学習コンポーネント308は、図1に示したモデル管理サブシステム114であってもよい、または、モデル管理サブシステム114に含まれてもよい。地理空間インデックス310、グラフインデックス312、テキストインデックス314、リレーショナルマッピングコンポーネント316、クエリエンジン318またはその他の構成要素は、図1に示されたモデル管理サブシステム114、要求サブシステム116または最適化サブシステム118であってもよい、または、それらに含まれてもよい。いくつかの実施形態では、サーバ102は、ドキュメントストレージシステム320に関連付けられている。
In some embodiments, architecture 300 may be an environment for one or more components of system 100, as shown in FIG. As shown in FIG. 3, the server 102 includes a metadata extractor 302, a text extractor 304, a graph extractor 306 (e.g., a Resource Description Framework (RDF) extractor), a machine learning component 308, and a geospatial index 310. , a graph index 312, a text index 314, a relational mapping component 316, a query engine 318, and other components. In some embodiments, one or more of these components are included in or perform operations associated with one or more of the server components shown in FIG. Good too. For example, metadata extractor 302, text extractor 304, graph extractor 306, or other components may be included in data management subsystem 112 shown in FIG. Machine learning component 308 may be or be included in model management subsystem 114 shown in FIG. Geospatial index 310, graph index 312, text index 314, relational mapping component 316, query engine 318, or other components may be part of model management subsystem 114, request subsystem 116, or optimization subsystem 118 shown in FIG. or may be included therein. In some embodiments, server 102 is associated with document storage system 320.

いくつかの実施形態では、図3に示されるように、サーバ102は、グラフデータ、非構造化データ、リレーショナルデータベース管理システムからの情報、または、その他のソース134からのデータを受信してもよい。本明細書で説明するように、サーバ102の構成要素(例えば、クエリエンジン318)は、一つまたは複数のクエリを実行して、関連する結果を取得することができる。システムによって生成されたテンプレートまたは他の情報(例えば、地理空間インデックス310、グラフインデックス312、テキストインデックス314、リレーショナルマッピングコンポーネント316からの情報)に基づいて、本明細書でいかに説明されているように、サーバ102は、クエリから得られたデータ表現を1つまたは複数のデータ変換モデルを介してグラフ形式(または他の形式)へと変換する。 In some embodiments, as shown in FIG. 3, server 102 may receive graph data, unstructured data, information from a relational database management system, or data from other sources 134. . As described herein, a component of server 102 (eg, query engine 318) may execute one or more queries to obtain related results. Based on templates or other information generated by the system (e.g., geospatial index 310, graph index 312, text index 314, information from relational mapping component 316), as described herein, Server 102 transforms the data representation obtained from the query into a graph format (or other format) via one or more data transformation models.

いくつかの実施形態では、システム100は、一つのデータソースのデータ表現を別のデータソースと互換性のあるデータ表現に(またはその逆に)変換するように構成されるデータ変換モデルまたは他のデータモデルの生成を介して、様々なデータソース技術または標準間におけるマルチソース型の相互運用性を容易にする。いくつかの実施形態では、システム100は、そのようなデータ変換モデルを利用して、互換性のない(例えば、異なるデータソースタイプ間の)クエリ結果を、目的のデータソースと互換性を有する結果のセットへと変換することにより、異なるデータソースタイプの複数のデータソースへのマルチソース型クエリを容易にすることができる。このような態様で、例えば、企業または他のエンティティが、新しいまたは異なるデータソース技術または標準を採用するために、レガシーまたは現在のデータベースを点検しなければならない手間を、システム100によって省くことができる。一つの使用例として、システム100は、一つまたは複数のそのようなデータ変換モデルを介して、様々なデータソースタイプの一つまたは複数のデータソースからのデータ表現をオンザフライ変換することができる。 In some embodiments, system 100 uses a data transformation model or other device configured to convert a data representation of one data source to a data representation compatible with another data source (or vice versa). Facilitate multi-source interoperability between different data source technologies or standards through data model generation. In some embodiments, the system 100 utilizes such data transformation models to transform incompatible query results (e.g., between different data source types) into results that are compatible with the desired data source. can facilitate multi-source queries to multiple data sources of different data source types. In this manner, for example, the system 100 can save a company or other entity the hassle of having to review legacy or current databases in order to adopt new or different data source technologies or standards. . As one example of use, system 100 can transform data representations from one or more data sources of various data source types on the fly via one or more such data transformation models.

いくつかの実施形態では、システム100は、第1のデータソースタイプ(例えば、リレーショナルモデルタイプまたは他のデータソースタイプ)のデータ表現を、第2のデータソースタイプ(例えば、グラフィックモデルタイプまたは他のデータソースタイプ)のデータ表現に変換するための一つまたは複数のテンプレートを取得することができ、取得したテンプレートに基づいてデータ変換モデルを作成または変更してもよい。一例として、テンプレートは、第1のデータソースタイプに対応するデータ特性(例えば、特定のSQLデータソースまたはその他のデータソースに固有の行または列の属性および値)を、第2のデータソースに対応するデータ特性(例えば、グラフデータソースまたは他のデータソースに固有のグラフ属性および値)へと変換するための命令を含んでもよい。更なる例として、システム100は、テンプレートを処理して、第1のデータソースタイプのデ
ータ表現を、グラフ以外のデータ表現を第2のデータソースタイプのデータ表現に変換するのに使用可能なテンプレートのうちの少なくとも一つに合致させるためのパターン(例えば、正規表現または他のパターン)または(テンプレートに関連付けられる)ルールを決定してもよい。次に、システム100は、データ変換モデルを生成して、パターン、ルールまたはその他のモデリング情報を(例えば、データ変換モデルがそのようなテンプレート、パターンまたはルール等を含むようにまたは示すように)データ変換モデルの一部として組み込んでもよい。いくつかの実施形態では、システム100は、一つまたは複数の予測モデル(例えば、ニューラルネットワークまたは他の機械学習モデル)を利用して、本明細書で後に説明するように、(特定のグラフデータベースと互換性がない)データ表現をグラフデータベースと互換性があるグラフデータ表現に変換するように構成された一つまたは複数のグラフデータモデルを生成する、または、1つまたは複数のその他のデータ変換モデルを生成してもよい。
In some embodiments, the system 100 may obtain one or more templates for converting a data representation of a first data source type (e.g., a relational model type or other data source type) to a data representation of a second data source type (e.g., a graphic model type or other data source type) and may create or modify a data conversion model based on the obtained templates. As an example, the template may include instructions for converting data characteristics corresponding to the first data source type (e.g., row or column attributes and values specific to a particular SQL data source or other data source) to data characteristics corresponding to the second data source (e.g., graph attributes and values specific to a graph data source or other data source). As a further example, the system 100 may process the template to determine a pattern (e.g., a regular expression or other pattern) or rule (associated with the template) for matching the data representation of the first data source type to at least one of the templates that can be used to convert a non-graph data representation to a data representation of the second data source type. The system 100 may then generate a data conversion model and incorporate the pattern, rule, or other modeling information as part of the data conversion model (e.g., such that the data conversion model includes or indicates such template, pattern, rule, etc.). In some embodiments, system 100 may utilize one or more predictive models (e.g., neural networks or other machine learning models) to generate one or more graph data models configured to transform a data representation (that is not compatible with a particular graph database) into a graph data representation that is compatible with a graph database, as described later herein, or generate one or more other data transformation models.

いくつかの実施形態では、システム100は遅延を低減させることにより、リクエストに対して十分な応答を提供するまたは一時的なデータストレージまたは他のコンピュータリソースの使用効率を改善することができる。システム100は、例えば、リクエストの予測および予測されたリクエストに関連するクエリ結果をグラフ形式で一時的に記憶することにより、予測されたリクエストに関連するクエリ結果のサブセットの選択的取得および一時的な記憶により、クエリセットの最適化により、またはその他の手法により、遅延の低減または効率改善を提供してもよい。一例として、クエリ結果に対するリクエストを予測し、結果のサブセットをリクエスト予測に応じて取得し、結果のサブセットをサーバキャッシュ、ウェブキャッシュ、メモリキャッシュまたはその他の一時データストレージ(例えば、電子記憶装置122)に格納してもよい。結果のサブセットは、(例えば、結果が適切なグラフ形式でない場合)一つまたは複数のサブグラフへと変換されてもよく、このサブグラフを一時データストレージに格納してもよい。予測されたリクエスト(または予測されたリクエストに一致する未来のリクエスト)が発生した場合、(例えば、非グラフ形式からグラフ形式へと変換が場合によっては必要であり、大幅に遅延が発生する他のデータストレージを介して結果のサブセットを取得する代わりに)1つまたは複数のサブグラフを一時データストレージから取得してもよく、発生した予測されたリクエストに応答するために使用される。このように、例えば、(特定のリクエストが発生する前に)変換された形式で結果を一時的に格納しておくことにより、リクエストに十分に応答するための待ち時間やその他の遅延を大幅に削減することができる場合がある。 In some embodiments, system 100 may reduce delays to provide sufficient responses to requests or improve the efficiency of use of temporary data storage or other computer resources. System 100 can selectively retrieve and temporarily retrieve a subset of query results associated with a predicted request, e.g., by temporarily storing predictions of requests and query results associated with the predicted requests in a graph format. Delay reduction or efficiency improvements may be provided through storage, query set optimization, or other techniques. In one example, a request for query results is predicted, a subset of the results is retrieved in response to the request prediction, and a subset of the results is stored in a server cache, web cache, memory cache, or other temporary data storage (e.g., electronic storage 122). May be stored. A subset of the results may be converted into one or more subgraphs (eg, if the results are not in an appropriate graph format) and the subgraphs may be stored in temporary data storage. When a predicted request (or a future request that matches a predicted request) occurs, a conversion from a non-graph format to a graph format (for example, from a non-graph format to a graph format may be necessary in some cases, and other One or more subgraphs (instead of retrieving a subset of results via data storage) may be retrieved from temporary data storage and used to respond to predicted requests that occur. This way, for example, by temporarily storing results in a transformed format (before a particular request occurs), you can significantly reduce latency and other delays in fully responding to a request. It may be possible to reduce it.

いくつかの実施形態では、システム100は、グラフクエリ(またはデータリクエストに関連するその他のクエリ)へと変換されるクエリセット等、データリクエストから派生したクエリセットを最適化することによってデータ検索プロセスにおけるクエリ関連のリソース使用量を減らすことができる。いくつかの実施形態では、そのようなクエリセットの最適化は、複数のクエリをリンクするクエリ演算子のクエリセットからの削除、クエリセットにおける複数のクエリを単一のクエリへと統合、一つまたは複数のクエリをクエリセットから削除またはその他の最適化を含んでもよい。このような最適化は、一つまたは複数の充足可能性の(例えば、特定のクエリから得られた複数の結果の組み合わせに関連する)問題、非互換性の問題または他の問題の予測に基づいて、このような問題またはこのような問題の悪影響を回避または軽減するために実行され得る。いくつかの実施形態では、データリクエストに関連するグラフクエリを取得することに応答して、システム100は、当該グラフクエリを、複数のクエリおよび当該クエリをリンクするクエリ演算子(例えば、union、joinまたはその他のクエリ演算子)を有するクエリセットへと変換してもよい。(2つのクエリから得られた結果の組み合わせに関連する)充足可能性の問題の予測に基づいて、システム100は、クエリセットからこの2つのクエリをリンクするクエリ演算子を削除するか、このクエリセットに対して他の最適化を実行して当該クエリセットを更新してもよい。上記のように、システム100が、グラフクエリ(した
がって、データリクエスト)を満たすために更新されたクエリセットを実行する場合、システム100は、i)クエリセットの1つ以上の部分を実行し、そのようなクエリセットの実行から派生した互換性のない結果を組み合わせようとするのに使用されるリソースの無駄、(ii)そのような実行と試行から生じる遅延、または(iii)その他の悪影響といった、充足可能性の問題または充足可能性の問題の負の影響を回避または軽減することができる。
In some embodiments, the system 100 improves performance in the data retrieval process by optimizing query sets derived from data requests, such as query sets that are converted into graph queries (or other queries related to the data request). Query-related resource usage can be reduced. In some embodiments, such query set optimizations include removing query operators that link multiple queries from the query set, merging multiple queries in the query set into a single query, or may include removing multiple queries from the query set or other optimizations. Such optimizations may be based on the prediction of one or more satisfiability (e.g., related to the combination of multiple results obtained from a particular query), incompatibility problems, or other problems. may be implemented to avoid or reduce such problems or the adverse effects of such problems. In some embodiments, in response to obtaining a graph query associated with a data request, system 100 combines the graph query with multiple queries and query operators (e.g., union, join) that link the queries. or other query operators). Based on the prediction of satisfiability problems (related to the combination of results obtained from the two queries), the system 100 either removes the query operator that links the two queries from the query set or Other optimizations may be performed on the set to update the query set. As described above, when the system 100 executes an updated query set to satisfy a graph query (and thus a data request), the system 100 may: i) execute one or more portions of the query set; (ii) delays resulting from such executions and attempts; or (iii) other adverse effects; Satisfiability problems or the negative effects of satisfiability problems can be avoided or reduced.

いくつかの実施形態では、システム100は、予測モデルベースの(i)データモデル(例えば、データ変換モデル、グラフデータモデル等)の生成、(ii)未来のリクエストまたはその他の情報に関連する結果の取得または保存、(iii)クエリの生成または実行、(iv)クエリセットの最適化、または(v)その他のオペレーションを容易にする。予測モデルは、ニューラルネットワーク、その他の機械学習モデルおよびその他の予測モデルを含み得る。一例として、ニューラルネットワークは、大量のニューラルユニット(または人工ニューロン)に基づいているとしてよい。ニューラルネットワークは、生物の脳の働き(例えば、軸索によって接続されている生物のニューロンの大きなクラスタによるもの)を大まかに模倣しているとしてよい。ニューラルネットワークのニューラルユニットそれぞれは、ニューラルネットワークの他の多くのニューラルユニットと接続されているとしてよい。このような接続は、接続されているニューラルユニットの活性状態に対して、強化または阻害する影響を持ち得る。一部の実施形態では、各ニューラルユニットは、全ての入力の値を組み合わせる合算機能を持つとしてよい。一部の実施形態では、各接続(またはニューラルユニット自体)は、しきい値関数を持つとしてよく、信号が他のニューラルユニットへと伝播するにはしきい値を超過しなければならない。これらのニューラルネットワークシステムは、明示的にプログラミングされるというより自動で学習しトレーニングされ得るものであり、従来のコンピュータプログラムに比べて所定の分野の問題解決において性能が大きく優れているとしてよい。一部の実施形態では、ニューラルネットワークは複数の層を持つとしてよい(例えば、信号経路は上位置から下位層へと横断している)。一部の実施形態では、ニューラルネットワークがバックプロパゲーションを利用するとしてよく、この場合、前方向の刺激を利用して「上位層」のニューラルユニットへの重みをリセットする。一部の実施形態では、ニューラルネットワークに対する刺激および阻害は、接続同士の相互作用がより混沌且つより複雑になるほど、流動性が高くなるとしてよい。 In some embodiments, system 100 performs predictive model-based (i) generation of data models (e.g., data transformation models, graph data models, etc.); (ii) generation of results related to future requests or other information; (iii) query generation or execution, (iv) query set optimization, or (v) other operations. Predictive models may include neural networks, other machine learning models, and other predictive models. As an example, a neural network may be based on a large number of neural units (or artificial neurons). A neural network may loosely mimic the workings of a biological brain (e.g., by large clusters of biological neurons connected by axons). Each neural unit of the neural network may be connected to many other neural units of the neural network. Such connections can have an enhancing or inhibiting influence on the activation state of the connected neural units. In some embodiments, each neural unit may have a summation function that combines the values of all inputs. In some embodiments, each connection (or neural unit itself) may have a threshold function that must be exceeded for the signal to propagate to other neural units. These neural network systems can be automatically learned and trained, rather than explicitly programmed, and may offer significantly better performance in solving problems in a given field than traditional computer programs. In some embodiments, a neural network may have multiple layers (eg, signal paths traverse from top to bottom layers). In some embodiments, the neural network may utilize backpropagation, in which forward stimuli are used to reset the weights to "upper layer" neural units. In some embodiments, stimulation and inhibition to a neural network may become more fluid as the interactions between connections become more chaotic and complex.

いくつかの実施形態では、システム100は、(i)データモデルに関連するモデリング情報(例えば、テンプレート、そのパターンまたはルール、もしくは、データ変換モデル、グラフデータモデル等に関連するその他の情報)、(ii)グラフのノードまたはエッジに関連するグラフ情報、もしくは、データポイントまたは他のデータソースの関係に関連するその他の情報、(iii)クエリ情報(例えば、グラフクエリ、SQLまたはその他の非グラフクエリ、グラフクエリまたは非グラフクエリから派生したクエリセット等)、(iv)最適化情報または問題情報(例えば、クエリセット最適化ロジックまたは他の最適化を示す情報、特定のクエリの結果の組み合わせに関連する潜在的な問題を示す情報等)、もしくは、他のトレーニング情報(例えば、非構造化ドキュメント、半構造化ドキュメント、構造化ドキュメントまたはその他の情報)、を取得してもよい。システム100は、トレーニング情報に基づいて一つまたは複数の予測モデルをトレーニングして、(i)一つまたは複数のデータモデル、グラフまたはその他のデータ構造、クエリセットもしくはその他の情報、または、(ii)予測パターン、ルール、テンプレート、最適化ロジック、充足可能性の問題、グラフノードまたはエッジの属性/値もしくはその他の属性/値等、予測モデルに関連する一つまたは複数の予測を生成してもよい。一例として、予測モデルをトレーニングするために使用される情報アイテム(例えば、パターン、ルール、テンプレート、グラフ、クエリセットまたはその他のトレーニング情報アイテム)の数は、500以上の情報アイテム、1000以上の情報アイテム、10000以上の情報
アイテム、100000以上の情報アイテム、1000000以上の情報アイテムまたはその他の数であり得る。
In some embodiments, the system 100 includes (i) modeling information associated with a data model (e.g., a template, its patterns or rules, or other information associated with a data transformation model, graph data model, etc.); ii) graph information related to nodes or edges of the graph or other information related to relationships of data points or other data sources; (iii) query information (e.g., graph queries, SQL or other non-graph queries; (iv) optimization information or problem information (e.g., information indicating queryset optimization logic or other optimizations related to the combination of results of a particular query); or other training information (eg, unstructured documents, semi-structured documents, structured documents, or other information). The system 100 trains one or more predictive models based on training information such as (i) one or more data models, graphs or other data structures, query sets or other information; or (ii) ) to generate one or more predictions associated with a predictive model, such as predictive patterns, rules, templates, optimization logic, satisfiability problems, attributes/values of graph nodes or edges, or other attributes/values. good. As an example, the number of information items (e.g., patterns, rules, templates, graphs, query sets or other training information items) used to train the predictive model may be 500 or more information items, 1000 or more information items , 10,000 or more information items, 100,000 or more information items, 1,000,000 or more information items, or any other number.

[データモデルおよびデータ生成] [Data model and data generation]

いくつかの実施形態では、モデル管理サブシステム114は、(i)一つまたは複数のデータモデル(例えば、データ変換モデル、グラフデータモデル等)またはそれに関連する情報を生成し、(ii)パターン、ルール、テンプレートまたは上記のようなデータモデルの他のモデリング情報を予測する、または(iii)その他のオプションを実行するように構成されてもよい。いくつかの実施形態では、モデル管理サブシステム114は、第1のデータソースタイプ(例えば、リレーショナルモデルタイプまたは他のデータソースタイプ)のデータ表現を、第2のデータソースタイプ(例えば、グラフィックモデルタイプまたは他のデータソースタイプ)のデータ表現に変換するための一つまたは複数のテンプレートを取得することができ、取得したテンプレートに基づいてデータ変換モデルを作成または変更してもよい。一例として、テンプレートは、第1のデータソースタイプに対応するデータ特性(例えば、特定のSQLデータソースまたはその他のデータソースに固有の行または列の属性および値)を、第2のデータソースに対応するデータ特性(例えば、グラフデータソースまたは他のデータソースに固有のグラフ属性および値)へと変換するための命令を含んでもよい。更なる例として、モデル管理サブシステムは、テンプレートを処理して、第1のデータソースタイプのデータ表現を第2のデータソースタイプのデータ表現に変換するのに使用可能なテンプレートのうちの少なくとも一つに前記第1のデータソースタイプのデータ表現を合致させるためのパターン(例えば、正規表現または他のパターン)または(テンプレートに関連付けられる)ルールを決定してもよい。次に、モデル管理サブシステム114は、データ変換モデルを生成して、パターン、ルールまたはその他のモデリング情報をデータ変換モデルの一部として組み込んでもよい。 In some embodiments, model management subsystem 114 (i) generates one or more data models (e.g., data transformation models, graph data models, etc.) or information related thereto; (ii) generates patterns; It may be configured to predict rules, templates or other modeling information of the data model as described above, or (iii) perform other options. In some embodiments, the model management subsystem 114 provides data representations of a first data source type (e.g., a relational model type or other data source type) to a second data source type (e.g., a graphical model type). or other data source types), and a data transformation model may be created or modified based on the obtained templates. As an example, a template can match data characteristics (e.g., row or column attributes and values specific to a particular SQL data source or other data source) that correspond to a first data source type to a second data source. may include instructions for converting data characteristics (e.g., graph attributes and values specific to the graph data source or other data source) into data characteristics that are specific to the graph data source or other data source. As a further example, the model management subsystem processes at least one of the available templates to convert a data representation of a first data source type to a data representation of a second data source type. A pattern (eg, regular expression or other pattern) or rule (associated with a template) may be determined for matching a data representation of the first data source type to the first data source type. Model management subsystem 114 may then generate a data transformation model and incorporate patterns, rules, or other modeling information as part of the data transformation model.

一例として、図4に示されるように、非グラフデータ表現(例えば、表フィールド、表の行または列等)は、グラフ400にフ含まれる表現(例えば、グラフ400のノードまたはエッジ)のような動画に関連するデータ表現を含むグラフデータ表現に変換されてもよい。図4に示されるように、グラフ400は、様々な複数のノード402およびノード402を接続するエッジ404を含む。この例では、2つの異なる映画TT1583420およびTT016222に対応する2つの異なる映画ノード402が、映画のラベルノード402(例えば、映画名1および映画名2)、監督ノードNM000158およびNM000709、制作会社ノードC09940938および公開日ノード2000-12-22に接続されている。これらの接続は、個々のノード402間の様々なエッジ404で示されている。監督ノードNM000158およびNM000709ならびに制作会社ノードC09940938もまた、エッジ404によって対応するラベルノード402(例えば、人物1、人物2および会社名)に接続されている。 As an example, as illustrated in FIG. It may be converted to a graph data representation that includes a data representation related to the video. As shown in FIG. 4, graph 400 includes various nodes 402 and edges 404 connecting nodes 402. In this example, two different movie nodes 402 corresponding to two different movies TT1583420 and TT016222 include a movie label node 402 (e.g. movie name 1 and movie name 2), director nodes NM000158 and NM000709, production company node C09940938 and It is connected to the publication date node 2000-12-22. These connections are illustrated by various edges 404 between individual nodes 402. Director nodes NM000158 and NM000709 and production company node C09940938 are also connected by edges 404 to corresponding label nodes 402 (eg, Person 1, Person 2, and Company Name).

更なる例として、図5に示されるように、表500内の非グラフデータ表現(例えば、SQLまたは他のリレーショナルデータベースからの)は、テンプレート502を使用したグラフ504のグラフデータ表現(またはテンプレート502)に変換されてもよい。図5に示されるように、テンプレート502は、(例えば、表500の)行または列を、(例えば、結果のグラフ504の)グラフノードまたはエッジに(または、いくつかの実施形態ではその逆に)変換するための命令を含み得る。この例では、表500は映画3および映画4というタイトルの2つの映画の情報を含み、例えば、識別コード506、タイトル507、公開年508、興行収入国名510、国コード512および総収入514等の情報を含む。テンプレート502(図5にグラフ形式で示されている)は、映画タイトル、識別コード、公開年、興行収入、興行収入国、興行収入国ラベル、興行収入の国コードおよびその国での総収入に対する「プレースホルダー」ノード516を含む。複数のノ
ード516は、これらノード516間の関係を示す対応するエッジ518によってリンクされている。テンプレート502(例えば、ノード516)の指示に基づいて、映画3についての表500の非グラフデータ表現が、ノード520を示すグラフ504のグラフデータ表現(例えば、ノード520)に変換される。
As a further example, as shown in FIG. ) may be converted to As shown in FIG. 5, template 502 connects rows or columns (e.g., of table 500) to graph nodes or edges (e.g., of result graph 504) (or vice versa in some embodiments). ) may contain instructions for converting. In this example, table 500 includes information for two movies titled Movie 3 and Movie 4, such as identification code 506, title 507, year of release 508, box office country name 510, country code 512, and total revenue 514. Contains information. Template 502 (shown in graphical form in Figure 5) includes information on movie title, identification code, year of release, box office revenue, box office revenue country, box office revenue country label, box office revenue country code, and total revenue in that country. Contains a “placeholder” node 516. Multiple nodes 516 are linked by corresponding edges 518 that indicate relationships between these nodes 516. Based on the instructions of template 502 (eg, node 516), the non-graph data representation of table 500 for movie 3 is converted to the graph data representation of graph 504 (eg, node 520) that indicates node 520.

図1に示されるように、データ管理サブシステム112は、(i)一つまたは複数のグラフまたは他のデータ構造(例えば、SQLデータ構造、その他の非グラフデータ構造等)を生成し、(ii)ノード、エッジまたはそのようなデータ構造のその他の部分に対する情報を予測する、または、(iii)他のオプションを実行するように構成され得る。いくつかの実施形態では、データ管理サブシステム112は、一つまたは複数のグラフデータモデルを利用して、(例えば、SQLテーブルまたはその他のデータソースに格納されている)非グラフデータ表現からグラフを作成または変更してもよい。一例として、データ管理サブシステム112は、グラフデータモデルを使用して、(例えば、特定のグラフデータベースと互換性がある)非グラフデータ表現をグラフ表現に変換して、新しいグラフを作成するまたはグラフデータベース内の既存のグラフを補足/修正することができる。 As shown in FIG. 1, data management subsystem 112 (i) generates one or more graphs or other data structures (e.g., SQL data structures, other non-graph data structures, etc.); and (ii) ) predict information for nodes, edges or other parts of such data structures; or (iii) perform other options. In some embodiments, data management subsystem 112 utilizes one or more graph data models to generate graphs from non-graph data representations (e.g., stored in SQL tables or other data sources). May be created or modified. As an example, data management subsystem 112 uses the graph data model to convert non-graph data representations (e.g., compatible with a particular graph database) to graph representations to create new graphs or Existing graphs in the database can be supplemented/modified.

いくつかの実施形態では、一つまたは複数のグラフについて、リクエストサブシステム116は、(例えば、2つのグラフノード間の全てのパスを決定するため、2つのグラフノード間の最短パスを決定するため、2つのグラフノード間の所定数の最短パスを決定するために、等)グラフのノード間の一つまたは複数のパスを見つけるための一つまたは複数のパスクエリを生成してもよい。いくつかの実施形態では、リクエストサブシステム116は、パスクエリが戻されるパスについての制限パラメータを含むように当該パスクエリを生成してもよい。一例として、そのようなパスクエリの1つは、指定された金額を超えるトランザクションに関連付けられたパスに結果を制限してもよい(例えば、最短パスの全てのノードまたはエッジは、10,000ドル以上または他の指定された金額を超えるトランザクションに関連付けられていなければならない)。別の例として、パスクエリは、結果を、ライフサイクル(例えば、製品ライフサイクル、動物ライフサイクル、ドキュメントライフサイクル等)に関連付けられたパスに制限してもよい。更に別の例として、パスクエリは、結果を、映画ノードから制作会社とその親会社を表すノードへのパスに制限してもよい(例えば、映画「ヒッチコック」は、21世紀フォックスが親会社のフォックス・スタジオが所有するフォックス・サーチライト・ピクチャーズによって制作されている)。いくつかの実施形態では、リクエストサブシステム116は、そのようなパスクエリが戻すそのようなパスに基づいてデータリクエストに応答するためのクエリプランを決定してもよい。一例として、そのようなパス情報に基づいて、リクエストサブシステム116は、(例えば、ユーザデバイスから取得されるまたは本明細書で説明されるように予測される)データリクエストを処理するための一つまたは複数のクエリを決定し、どのグラフまたはグラフデータベースがデータリクエストを処理するターゲットソースになるかを決定し、そのようなターゲットソースに関連するコストを決定してもよい。要求サブシステム116は、そのような決定に基づいてデータリクエストのクエリプランを作成または選択してもよい(例えば、ターゲットソースをクエリプランに組み込むことによって、コスト情報等に基づいたクエリまたはターゲットソースの優先順位を決定する)。 In some embodiments, for one or more graphs, the request subsystem 116 performs the following operations (e.g., to determine all paths between two graph nodes; to determine the shortest path between two graph nodes; , to determine a predetermined number of shortest paths between two graph nodes, etc.) one or more path queries may be generated to find one or more paths between nodes of the graph. In some embodiments, the request subsystem 116 may generate a path query such that the path query includes restriction parameters for the path to be returned. As an example, one such path query may limit results to paths associated with transactions that exceed a specified amount (e.g., all nodes or edges of the shortest path have a value greater than or equal to $10,000). or must be associated with a transaction that exceeds another specified amount). As another example, a path query may limit results to paths associated with lifecycles (eg, product lifecycles, animal lifecycles, document lifecycles, etc.). As yet another example, a path query may limit results to paths from a movie node to nodes representing the production company and its parent company (e.g., the movie "Hitchcock" was created by 21st Century Fox, whose parent company is Fox It is produced by Fox Searchlight Pictures, which is owned by the studio. In some embodiments, request subsystem 116 may determine a query plan for responding to a data request based on such paths returned by such path queries. As an example, based on such path information, the request subsystem 116 may provide one for processing a data request (e.g., obtained from a user device or predicted as described herein). Alternatively, a plurality of queries may be determined, which graph or graph database will be the target source for processing the data request, and a cost associated with such target source. Request subsystem 116 may create or select a query plan for the data request based on such determination (e.g., by incorporating the target source into the query plan, determining the query or target source based on cost information, etc.). (determine priorities).

いくつかの実施形態では、予測モデル(例えば、ニューラルネットワーク、その他の機械学習モデルまたはその他の予測モデル)を利用して、グラフデータモデルまたはその他のデータモデルの生成、グラフまたはその他のデータ構造の生成、このようなデータモデルまたはデータ構造についての情報の予測、クエリプランの決定、もしくは、その他の操作を容易にしてもよい。予測モデルをトレーニングするのに使用されるトレーニングデータには、(i)予測モデルに提供される入力(例えば、他の予測モデルに提供されて処理される入力または他の入力)、(ii)そのような入力の予測モデル処理から導出される
参照出力(例えば、ユーザが確認した出力またはユーザ提供の出力、そのような入力が1つまたは複数の予測モデルによる処理によって確認された出力、対応する予測モデルのセットによってそのような入力が処理されることにより複数回確認が行われた出力、もしくは、その他の参照出力)、(iii)そのような入力の予測モデルの処理から導出されない出力の参照表示(例えば、そのような出力が不正確であるというユーザ表示またはその他の参照表示)、または、(iv)他のトレーニングデータを含み得る。
Some embodiments utilize predictive models (e.g., neural networks, other machine learning models, or other predictive models) to generate graph data models or other data models, generate graphs or other data structures, etc. , may facilitate predicting information, determining query plans, or other operations about such data models or structures. The training data used to train a predictive model includes (i) the inputs provided to the predictive model (e.g., inputs provided to and processed by other predictive models or other inputs); (ii) its reference outputs derived from predictive model processing of such inputs (e.g., user-confirmed or user-provided outputs; outputs confirmed by processing such inputs by one or more predictive models; corresponding predictions; (iii) a reference representation of an output not derived from the processing of a predictive model of such input; (e.g., a user indication or other reference indication that such output is inaccurate); or (iv) other training data.

いくつかの実施形態では、モデル管理サブシステム114は、(一つまたは複数のグラフデータモデルを含む)グラフデータモデルセットに関連するモデリング情報、(例えば、特定のグラフデータベースと互換性を有する)グラフデータ表現に変換するための各グラフデータモデルのデータ表現のコレクション、またはその他の情報を取得してもよい。モデル管理サブシステム114は、モデリング情報、データ表現のコレクションまたはその他の情報を予測モデルに提供して、予測モデルをトレーニングすることができる。 In some embodiments, the model management subsystem 114 includes modeling information associated with a graph data model set (including one or more graph data models), a graph A collection of data representations or other information for each graph data model may be obtained for conversion to a data representation. Model management subsystem 114 may provide modeling information, collections of data representations, or other information to the predictive model to train the predictive model.

一例として、モデリング情報は、(i)データ表現(例えば、非グラフデータ表現または特定のグラフデータベースと互換性のないその他のデータ表現)をグラフデータベースと互換性を有するグラフデータ表現に変換するためのテンプレート、(2)互換性のないデータ表現を互換性のあるグラフデータ表現に変換するのに使用可能なテンプレートうちの少なくとも1つに互換性のないデータ表現を一致させるための(テンプレートに関連付けられている)パターンまたはルール、もしくは、(3)その他のモデリング情報を含み得る。グラフデータモデルセットの各グラフデータモデルおよび(グラフデータモデルが変換する)互換性のないデータ表現について、モデル管理サブシステム114は、グラフデータモデルのテンプレートのうちの一つまたは複数のテンプレートおよび互換性のないデータ表現を予測モデルに提供して、グラフデータモデルのテンプレートの1つ以上の追加テンプレートを予測してもよい。例えば、一使用例では、そのような追加テンプレートがグラフデータモデルの一部としてすでに存在する場合でも、予測モデルは、予測モデルのトレーニングの一部として追加テンプレートを予測する。この場合、一使用例では、予測モデルは、追加テンプレートに依存せずに(例えば、追加テンプレートの少なくともいくつかに依存せずにまたは追加のテンプレートのいずれにも依存せずに等)、追加のテンプレートを予測してもよい。 As an example, modeling information may include (i) converting a data representation (e.g., a non-graph data representation or other data representation incompatible with a particular graph database) into a graph data representation that is compatible with a graph database; (2) a template (associated with a template) for matching an incompatible data representation to at least one of the available templates that can be used to convert an incompatible data representation to a compatible graph data representation; (3) other modeling information. For each graph data model in the graph data model set and the incompatible data representations (that the graph data model transforms), the model management subsystem 114 identifies one or more of the graph data model's templates and a compatible data representation. A data representation free of data may be provided to a predictive model to predict one or more additional templates of the graph data model's templates. For example, in one use case, the predictive model predicts additional templates as part of training the predictive model, even if such additional templates already exist as part of the graph data model. In this case, in one use case, the predictive model can be configured to use additional Templates may be predicted.

更なる例として、グラフデータモデルセットの各グラフデータモデルについて、モデル管理サブシステム114は、予測モデルが行った追加テンプレートの予測に対する参照フィードバックとして、グラフデータモデルのテンプレートの追加のテンプレートを予測モデルに提供して、当該予測モデルをトレーニングしてもよい。予測モデルは追加テンプレートを「参照テンプレート」として使用して、(例えば、予測モデルへの入力として提供されるその他のテンプレートに基づいて予測モデルによって生成されるテンプレートである)当該予測モデルが行った追加テンプレートの予測を評価してもよい。自身の予測の評価に基づいて、予測モデルは、(予測が正確であったかどうかまたはどの程度正確であるかに応じて、予測モデルのパラメータまたは予測モデルのその他の部分の重みを調整することにより)予測モデルの一つまたは複数の部分を更新してもよい。予測モデルがニューラルネットワークである一使用例では、ニューラルネットワークは、追加テンプレートの予測に関するニューラルネットワークの評価に基づいて、ニューラルネットワークの1つまたは複数の層を更新してもよい。一例として、ニューラルネットワークは、順方向または逆方向伝搬技術を使用して、一つまたは複数の層(例えば、ニューラルネットワークの入力層と出力層との間の隠れ層またはニューラルネットワークのその他の層)内のニューラルユニットの重みを、予測の精度に基づいて(例えば、1つ以上の追加テンプレートの予測が正確であったかどうかまたはどれだけ正確であったかに基づいて)リセットまたは変更してもよい。 As a further example, for each graph data model in the set of graph data models, the model management subsystem 114 adds additional templates of the graph data model's template to the predictive model as reference feedback to the predictions of the additional templates made by the predictive model. may be provided to train the predictive model. The predictive model uses addition templates as "reference templates" to make additions that the predictive model makes (e.g., templates generated by the predictive model based on other templates provided as inputs to the predictive model). The predictions of the template may be evaluated. Based on the evaluation of its own predictions, the predictive model (by adjusting the weights of the predictive model's parameters or other parts of the predictive model depending on whether or how accurate the prediction was) One or more portions of the predictive model may be updated. In one use case where the predictive model is a neural network, the neural network may update one or more layers of the neural network based on the neural network's evaluation of the additional template's predictions. As an example, a neural network uses forward or backward propagation techniques to create one or more layers (e.g. hidden layers between the input and output layers of the neural network or other layers of the neural network). The weights of the neural units within the template may be reset or changed based on the accuracy of the predictions (e.g., based on whether or how accurate the predictions of one or more additional templates were).

いくつかの実施形態では、予測モデルがトレーニングされる(またはそのようなトレーニングに基づいて更新される)と、モデル管理サブシステム114は、予測モデルを使用してグラフデータモデルを生成してもよい。一例として、モデル管理サブシステム114は、予測モデルに、グラフデータモデルまたはグラフデータモデルを生成するために使用可能な情報(例えば、テンプレート、パターン、ルールまたはグラフデータモデルを生成するためのその他の情報)を生成させることができる。更なる例として、非グラフデータ表現をグラフデータ表現に変換することに関して、モデル管理サブシステム114は、非グラフデータベースからの非グラフデータ表現のコレクションを予測モデルへの入力として提供してもよい。そのような入力に応答して、予測モデルはグラフデータモデルの一つまたは複数のテンプレート、パターン、ルールまたはその他の情報を出力してもよい。モデル管理サブシステム114は、テンプレート、当該テンプレートのパターンまたは規則もしくは他の情報を使用して、グラフデータモデルが(非グラフデータベースからの)非グラフデータ表現をグラフデータベースと互換性のあるグラフデータ表現に変換するように構成されるようにグラフデータモデルを生成してもよい。 In some embodiments, once the predictive model is trained (or updated based on such training), model management subsystem 114 may use the predictive model to generate a graph data model. . In one example, the model management subsystem 114 includes information in the predictive model that is a graph data model or that can be used to generate a graph data model (e.g., a template, pattern, rule, or other information for generating a graph data model). ) can be generated. As a further example, with respect to converting non-graph data representations to graph data representations, model management subsystem 114 may provide a collection of non-graph data representations from a non-graph database as input to a predictive model. In response to such input, the predictive model may output one or more templates, patterns, rules, or other information of the graph data model. The model management subsystem 114 uses the templates, patterns or rules of the templates, or other information to enable the graph data model to convert the non-graph data representation (from the non-graph database) into a graph data representation compatible with the graph database. A graph data model may be generated such that the graph data model is configured to convert the data into a data model.

いくつかの実施形態では、データ管理サブシステム112は、一つまたは複数の予測モデルを利用してノード、エッジまたはその他のデータ表現の情報を予測し、グラフまたはその他のデータ構造を生成してもよく、例えば、ノード、エッジまたはその他のデータ表現についての予測情報に基づいて、データ構造の生成、データ構造の一つまたは複数の部分の変更またはデータ構造の補足を行ってもよい。いくつかの実施形態では、データ管理サブシステム112は、グラフのノードまたはエッジに関連するグラフ情報、データポイントに関するその他の情報またはその他のデータソースの関係性に関する情報を取得してもよい。データ管理サブシステム112は、そのようなグラフ情報またはその他の情報を予測モデルに提供して予測モデルをトレーニングし、追加または代替のノード、エッジまたはその他のデータ表現についての情報を予測する(例えば、新しいグラフまたはその他のデータ構造を作成する、既存のグラフまたはその他のデータ構造を修正する、または、既存のグラフまたはその他のデータ構造を補完するために)。 In some embodiments, data management subsystem 112 may utilize one or more predictive models to predict information in nodes, edges, or other data representations to generate graphs or other data structures. Often, for example, a data structure may be generated, one or more portions of a data structure may be modified, or a data structure may be supplemented based on predictive information about nodes, edges, or other data representations. In some embodiments, data management subsystem 112 may obtain graph information related to nodes or edges of the graph, other information regarding data points, or information regarding relationships of other data sources. Data management subsystem 112 provides such graph information or other information to a predictive model to train the predictive model and predict information about additional or alternative nodes, edges, or other data representations (e.g., to create new graphs or other data structures, modify existing graphs or other data structures, or supplement existing graphs or other data structures).

いくつかの実施形態では、データ管理サブシステム112は、一つまたは複数のデータ表現セットを取得し、予測モデルをトレーニングするために当該予測モデルにデータ表現セットを提供してもよい。一例として、データ表現セットは、ノード、エッジまたはその他のデータ表現を含んでもよい。データ管理サブシステム112は、予測モデルがデータ表現セットの一つまたは複数の追加ノードまたは追加エッジを予測するための予測モデルへの入力として、データ表現セットの一つまたは複数のノードまたはエッジを予測モデルに提供してもよい。本明細書において、ノードまたはエッジを提供するとは、ノードまたはエッジによって表されるデータを提供することも含まれる。一使用例では、例えば、そのような追加ノードまたは追加エッジが、データ表現セットの一部として(例えば、既存のグラフの一部として)既に存在する場合であっても、予測モデルのトレーニングの一部として、予測モデルに追加ノードまたは追加エッジを予測させてもよい。したがって、一使用例では、予測モデルは、追加ノードまたは追加エッジに依存することなく(例えば、追加ノードまたは追加エッジの少なくとも一部に依存することなく、追加ノードまたは追加エッジのいずれにも依存することなく等)、追加ノードまたは追加エッジを予測してもよい。 In some embodiments, data management subsystem 112 may obtain one or more data representation sets and provide the data representation sets to a predictive model for training the predictive model. As an example, a data representation set may include nodes, edges, or other data representations. Data management subsystem 112 predicts one or more nodes or edges of the data representation set as an input to a predictive model for the predictive model to predict one or more additional nodes or edges of the data representation set. May be provided to the model. As used herein, providing a node or edge also includes providing data represented by the node or edge. In one use case, for example, during training of a predictive model, even if such additional nodes or edges already exist as part of the data representation set (e.g., as part of an existing graph). Alternatively, the predictive model may predict additional nodes or edges. Thus, in one use case, the predictive model may depend on any of the additional nodes or edges without depending on the additional nodes or edges (e.g., without relying on at least some of the additional nodes or edges). additional nodes or edges may be predicted.

更なる例として、データ管理サブシステム112は、複数のデータ表現セットの各データ表現セットについて、予測モデルをトレーニングするために、予測モデルが行った追加ノードまたは追加エッジの予測に対する参照フィードバックとして、データ表現セットの追加ノードまたは追加エッジを予測モデルに提供してもよい。追加ノードまたは追加エッジ(例えば、予測モデルへの入力として提供された他のノードまたはエッジに基づいて予測モデルによって生成されたノードまたはエッジ)の予測を評価するために、予測モデル
は、当該追加ノードまたは追加エッジを「参照ノードまたは参照エッジ」として使用してもよい。自身の予測の評価に基づいて、予測モデルは、(予測が正確であったかどうかまたはどの程度正確であるかに応じて、予測モデルのパラメータまたは予測モデルのその他の部分の重みを調整することにより)予測モデルの一つまたは複数の部分を更新してもよい。予測モデルがニューラルネットワークである一使用例では、ニューラルネットワークは、追加ノードまたは追加エッジの予測に関するニューラルネットワークの評価に基づいて、ニューラルネットワークの1つまたは複数の層を更新してもよい。
As a further example, for each data representation set of the multiple data representation sets, the data management subsystem 112 may provide the additional nodes or edges of the data representation set to the predictive model as reference feedback for the prediction of the additional nodes or edges made by the predictive model in order to train the predictive model. The predictive model may use the additional nodes or edges as "reference nodes or edges" to evaluate a prediction of the additional nodes or edges (e.g., nodes or edges generated by the predictive model based on other nodes or edges provided as inputs to the predictive model). Based on the evaluation of its prediction, the predictive model may update one or more parts of the predictive model (by adjusting the parameters of the predictive model or weights of other parts of the predictive model depending on whether or how accurate the prediction was). In one use case where the predictive model is a neural network, the neural network may update one or more layers of the neural network based on the neural network's evaluation of the prediction of the additional nodes or edges.

いくつかの実施形態では、予測モデルがトレーニングされる(またはそのようなトレーニングに基づいて更新される)と、データ管理サブシステム112は、予測モデルを使用して新規または既存のデータ構造に対するデータ表現を作成または修正してもよい。一例として、データ管理サブシステム112は、予測モデルを使用して新規または既存のグラフの新しいノードまたはエッジを作成したり、既存のグラフの一つ以上のノードまたはエッジを修正したり、その他の操作を実行したりしてもよい。いくつかの実施形態では、データ管理サブシステム112は、グラフのノードまたはエッジを処理するために、グラフのトラバースを実行してもよい(例えば、予測モデルは、グラフをトラバースしてトラバース中にノードまたはエッジを入力として処理し、一つまたは複数のエージェントは、トラバース中にグラフのノードを抽出するためにグラフをクロール(crawl)して、抽出したノードまたはエッジを入力として予測モデルへ提供する)。トラバースの結果として得られるそのような入力を得ると、予測モデルは、(例えば、グラフについての追加ノードまたは追加エッジとして、グラフ内の既存のノードまたはエッジを置換するための置換ノードまたは置換エッジとして)グラフについての新しいノードまたはエッジを生成してもよい。 In some embodiments, once a predictive model is trained (or updated based on such training), data management subsystem 112 uses the predictive model to create data representations for new or existing data structures. may be created or modified. By way of example, data management subsystem 112 may use predictive models to create new nodes or edges in new or existing graphs, modify one or more nodes or edges in existing graphs, or perform other operations. You may also execute In some embodiments, data management subsystem 112 may perform a traversal of the graph to process nodes or edges of the graph (e.g., a predictive model may traverse the graph and identify nodes during the traversal. or edges as input, one or more agents crawl the graph to extract nodes of the graph during traversal, and provide the extracted nodes or edges as input to a predictive model). . Once we have such an input resulting from a traversal, the predictive model can use the ) may generate new nodes or edges for the graph.

いくつかの実施形態では、予測モデルによるデータ表現(例えば、ノード、エッジまたはその他のデータ表現)の生成に応答して、データ管理サブシステム112は、(i)データ表現の生成に続いて、および(ii)データ表現を追加するか否かを表示することなく、データ表現をグラフまたは他のデータ構造にユーザ入力なしに自動的に追加してもよい。一例として、データ管理サブシステム112は、データ構造の新しいデータ表現として前記データ表現を追加する、または、データ構造の既存のデータ表現の代替データ表現として前記データ表現を追加してもよい、もしくは、前記データ表現に基づいてデータ構造を修正してもよい。 In some embodiments, in response to generating a data representation (e.g., a node, edge, or other data representation) by the predictive model, data management subsystem 112: (i) subsequent to generating the data representation; and (ii) A data representation may be automatically added to a graph or other data structure without user input, without indicating whether the data representation is to be added. As an example, data management subsystem 112 may add the data representation as a new data representation of a data structure, or add the data representation as an alternative data representation of an existing data representation of a data structure, or A data structure may be modified based on the data representation.

一方、いくつかの実施形態では、次いで実行されるユーザ入力に基づいて、グラフまたはその他のデータ構造への新しいデータ表現の追加(または新しいデータ表現を追加しない決定)が行われてもよい。一例として、予測モデルがノードまたはエッジを生成し、データ管理サブシステム112が、予測モデルからノードまたはエッジを取得し当該ノードまたはエッジに関するユーザへの通知を行ってもよい。一使用例では、通知は、前記ノードまたは前記エッジをレビューするためのプロンプト、グラフについての新規のまたは置換のノードまたはエッジとして前記ノードまたは前記エッジの使用を確認または拒否するためのプロンプト、もしくは、その他の通知を含んでもよい。ノードまたはエッジを(例えば、新規ノードまたは新規エッジとして、置換ノードまたは置換エッジとして等)追加することをユーザが了承したことに応答して、データ管理サブシステム112は、新規ノードまたは新規エッジをグラフに追加してもよい。あるいは、ノードまたはエッジを追加することをユーザが拒否したことに応答して、データ管理サブシステム112は、新規ノードまたは新規エッジをグラフに追加しないことを決定してもよい。 On the other hand, in some embodiments, the addition of new data representations (or the decision not to add new data representations) to a graph or other data structure may be made based on user input that is subsequently performed. As an example, a predictive model may generate nodes or edges, and data management subsystem 112 may obtain the nodes or edges from the predictive model and notify a user regarding the nodes or edges. In one use case, the notification is a prompt to review the node or edge, confirm or deny use of the node or edge as a new or replacement node or edge for a graph, or Other notifications may also be included. In response to a user's consent to add a node or edge (e.g., as a new node or edge, as a replacement node or edge, etc.), data management subsystem 112 adds the new node or edge to the graph. may be added to. Alternatively, in response to the user's refusal to add a node or edge, data management subsystem 112 may decide not to add the new node or new edge to the graph.

いくつかの実施形態では、データ管理サブシステム112は、予測モデルが生成したノードまたはエッジに関する参照フィードバックとして、ユーザの了承またはユーザの拒否を示す情報を提供してもよい。予測モデルは、ノードまたはエッジの予測を評価するため
に、参照フィードバックを使用してもよい。予測モデルは自身が行った予測の評価に基づいて、(例えば、予測が正確であったかどうかまたは予測がどの程度正確であったかに応じて、予測モデルのパラメータまたは予測モデルのその他の部分の重みを調整することにより)予測モデルの一つまたは複数の部分を更新してもよい。予測モデルがニューラルネットワークである一使用例では、ニューラルネットワークは、追加ノードまたは追加エッジの予測に関するニューラルネットワークの評価に基づいて、ニューラルネットワークの1つまたは複数の層を更新してもよい。
In some embodiments, data management subsystem 112 may provide information indicating user acceptance or user rejection as reference feedback regarding the nodes or edges generated by the predictive model. A predictive model may use reference feedback to evaluate node or edge predictions. A predictive model can adjust the weights of its parameters or other parts of the predictive model based on its evaluation of the predictions it has made (e.g., depending on whether or how accurate the prediction was). (by updating one or more parts of the predictive model). In one use case where the predictive model is a neural network, the neural network may update one or more layers of the neural network based on the neural network's evaluation of predictions of additional nodes or edges.

図5からの映画3および映画4に関する情報に続き、図6には、一つ以上の実施形態に係るトレーニングされた予測モデルからのテンプレートに基づいて生成された2つの異なるグラフデータ表現600および602の例が示されている。グラフデータ表現600および602は、予測モデルの追加のトレーニングのために生成された図5からのグラフデータ表現504の更新と大まかに考えられる。グラフデータ表現600および602は、予測モデルによって生成されたテンプレートに基づいて、データ管理サブシステム112(図1)により生成されてもよい。例えば、グラフデータ表現600は、図5からのグラフデータ表現504に示された映画3に関連するノード520およびエッジ518を含む。グラフデータ表現600はまた、映画3における更なる興行収入(例えば、オーストラリアの興行収入)に関連するノード604およびエッジ606を含む。ノード604およびエッジ606に関連する情報は、図5のデータ表現500には含まれていたが、グラフデータ表現504には含まれていなかった。しかしながら、予測モデルをトレーニングすることにより、予測モデルに追加テンプレートを生成させてもよく、これらの追加テンプレートは、グラフデータ表現600のような追加グラフデータ表現を生成するために使用されてもよい。 Continuing with the information about movie 3 and movie 4 from FIG. 5, FIG. 6 shows two different graph data representations 600 and 602 generated based on templates from trained predictive models in accordance with one or more embodiments. An example is shown. Graph data representations 600 and 602 can be broadly thought of as updates to graph data representation 504 from FIG. 5 that were generated for additional training of the predictive model. Graph data representations 600 and 602 may be generated by data management subsystem 112 (FIG. 1) based on templates generated by predictive models. For example, graph data representation 600 includes nodes 520 and edges 518 related to movie 3 shown in graph data representation 504 from FIG. Graph data representation 600 also includes nodes 604 and edges 606 related to additional box office receipts in movie 3 (eg, Australian box office receipts). Information related to nodes 604 and edges 606 was included in data representation 500 of FIG. 5 but not in graph data representation 504. However, training the predictive model may cause the predictive model to generate additional templates, and these additional templates may be used to generate additional graph data representations, such as graph data representation 600.

グラフデータ表現602についての更なる例を示す。グラフデータ表現602は、映画3に関連するノード520および604と、エッジ518および606とを含む。グラフデータ表現602はまた、映画4に関連するノード608およびエッジ610を含む。本例でも、ノード608およびエッジ610に関連する情報は、図5のデータ表現500には含まれていたが、グラフデータ表現602には含まれていなかった。しかしながら、予測モデルをトレーニングすることにより、予測モデルに追加テンプレートを生成させてもよく、これらの追加テンプレートは、グラフデータ表現602のような追加グラフデータ表現を生成するために使用されてもよい。 A further example of a graph data representation 602 is shown. Graph data representation 602 includes nodes 520 and 604 and edges 518 and 606 related to movie 3. Graph data representation 602 also includes nodes 608 and edges 610 related to movie 4. Again, in this example, information related to nodes 608 and edges 610 was included in data representation 500 of FIG. 5 but not in graph data representation 602. However, training the predictive model may cause the predictive model to generate additional templates, and these additional templates may be used to generate additional graph data representations, such as graph data representation 602.

一使用例では、図7に示すように、データモデル700は映画702に関連付けられている。データモデル700は、文書ノード704、場所ノード706、人ノード708および組織ノード710を含む。文書ノード704は、映画のレビュー、映画の脚本、映画の要約等の情報を含むまたは(例えば、データモデル700には示されていない他のエッジおよびノードを介して)このような情報と関連付けられていてもよい。場所ノード706は、撮影場所、映画に描かれた場所等の情報またはその他の情報を含むもしくはこのような情報と関連付けられていてもよい。人物ノード708は、映画に登場する俳優、映画の脚本の作者、映画の監督またはその他の情報を含むもしくはこのような情報と関連付けられていてもよい。組織ノード710は、映画を担当する制作会社またはその他の情報を含むもしくはこのような情報に関連付けられていてもよい。グラフデータモデル700は、論理的推論を実行するために使用されてもよい。 In one usage example, as shown in FIG. 7, data model 700 is associated with a movie 702. Data model 700 includes document nodes 704, location nodes 706, people nodes 708, and organization nodes 710. Document node 704 may include or be associated with information such as movie reviews, movie scripts, movie summaries, etc. (e.g., via other edges and nodes not shown in data model 700). You can leave it there. Location nodes 706 may include or be associated with information such as filming locations, locations depicted in movies, or other information. The person node 708 may include or be associated with the actors appearing in the movie, the author of the movie's script, the movie's director, or other information. Organization node 710 may include or be associated with the production company responsible for the movie or other information. Graph data model 700 may be used to perform logical reasoning.

別の使用例では、図8に示すように、推論を介してデータ関係を形成するのに予測モデルを使用してもよい。ステップ802において、2つの異なる俳優(俳優1、俳優2)および監督(監督1)についてのノード806、808および810と、2つの異なる映画(映画5、映画6)についてのノード812および814と、対応するエッジ816と、が識別されてもよい。ステップ804において、予測モデルは、逆に、映画が俳優を包含
する場合、その俳優はその映画の俳優であると推論820してもよい。別の言い方をすると、エッジ816が映画と俳優とを結びつける場合、俳優と映画とを結びつけるインバースエッジ820が存在しなければならない。同様の推論820は、監督にも適用される。更に、予測モデルは、俳優または監督が映画の制作に関わったことを推論してもよい(そして、それを示す対応するエッジを確立してもよい)。予測モデルは誰がその映画で働いたかを知っていることから、予測モデルは、同じ映画で働いた2人が共演者であるはずだという推論824を行ってもよい(そして、それを示す対応するエッジを確立してもよい)。最後に、ステップ804において、予測モデルが共演者間の関係を確立したことから、予測モデルは俳優および監督が1人以上の共演者を介して互いに接続されていることを推論826(およびそれを示す対応するエッジを確立)してもよい。
In another use case, predictive models may be used to form data relationships through inference, as shown in FIG. In step 802, nodes 806, 808, and 810 for two different actors (actor 1, actor 2) and director (director 1), and nodes 812 and 814 for two different movies (movie 5, movie 6); A corresponding edge 816 may be identified. In step 804, the predictive model may conversely infer 820 that if the movie includes an actor, then that actor is an actor in the movie. Stated another way, if edge 816 connects the movie and the actor, then there must be an inverse edge 820 that connects the actor and the movie. Similar reasoning 820 applies to supervision. Additionally, the predictive model may infer that the actor or director was involved in the production of the film (and may establish a corresponding edge indicating so). Since the predictive model knows who worked on the film, the predictive model may make an inference 824 that two people who worked on the same film should be co-stars (and a corresponding (may establish an edge). Finally, in step 804, since the predictive model established relationships between co-stars, the predictive model infers 826 that the actor and director are connected to each other through one or more co-stars (and that (establish the corresponding edge shown).

別の使用例では、図9に示すように、データモデルに基づく推論および/または予測モデルによる教師あり学習(supervisedlearning)によって、予測モデルが(本明細書で使用される例では)どの映画が互いに類似しているかを予測することを可能にしてもよい。例えば、図9における第1の概略図900には、映画5および映画7が示されており、これらは共に映画6に類似している。いくつかの実施形態では、図9の第2の概略図902に示されるように、教師あり学習を使用して予測モデルをトレーニングしてもよい。上述したように、所与のノードまたはエッジの追加に関してユーザが了承することに基づいて、予測モデルからの当該所与のノードまたはエッジをグラフに追加してもよい。予測モデルが所与のノードまたはエッジの生成したことに関する参照フィードバックとして、モデル管理サブシステム114(図1)によってユーザの了承を示す情報が予測モデルに提供されてもよい。いくつかの実施形態では、所与のノードまたはエッジを追加することをユーザが拒否したことが取得されてもよい。ユーザが拒否したことに応答して、所与のノードまたはエッジがグラフに追加されなくてもよい。ユーザが拒否したことを示す情報は、予測モデルが所与のノードまたはエッジを生成したことに関する参照フィードバックとして予測モデルに提供されてもよい。概略図902に示すように、俳優1、監督2およびキーワードに対するノード904、906および908は、対応するエッジ912、914および916によって、映画5に対するノード910に接続されている。いくつかの実施形態では、予測モデルは、映画5について格付けノード918(エッジ920を介して接続されている)、および、映画5についての分類ノード922(エッジ924を介して接続されている)を提案するように構成されていてもよく、これらの情報はユーザによって了承または否定されてもよい。 In another use case, as shown in Figure 9, the predictive model (in the example used herein) determines which movies are relative to each other by inference based on the data model and/or supervised learning by the predictive model. It may also be possible to predict whether they are similar. For example, the first schematic diagram 900 in FIG. 9 shows Movie 5 and Movie 7, both of which are similar to Movie 6. In some embodiments, supervised learning may be used to train the predictive model, as shown in second schematic diagram 902 of FIG. As mentioned above, a given node or edge from the predictive model may be added to the graph based on the user's consent to add the given node or edge. Information indicating user acceptance may be provided to the predictive model by the model management subsystem 114 (FIG. 1) as reference feedback regarding the predictive model's generation of a given node or edge. In some embodiments, a user's refusal to add a given node or edge may be obtained. A given node or edge may not be added to the graph in response to the user's refusal. Information indicating that the user has rejected may be provided to the predictive model as reference feedback regarding that the predictive model generated a given node or edge. As shown in schematic diagram 902, nodes 904, 906, and 908 for Actor 1, Director 2, and Keywords are connected to node 910 for Movie 5 by corresponding edges 912, 914, and 916. In some embodiments, the predictive model includes a rating node 918 for movie 5 (connected via edge 920) and a classification node 922 for movie 5 (connected via edge 924). The information may be configured to make suggestions, and these pieces of information may be accepted or denied by the user.

いくつかの実施形態では、類似度値またはノード間の類似度の他の尺度が判定されてもよい。一例として、図10に示すように、プログラミングコードは、グラフのノード間の類似度値を決定するように構成されてもよい。この例では、ノードはそれぞれ、図9に示す映画5、6および7に対応している。図10に示すように、予測は、映画6が映画5に対して0.323291の類似度値を有し、映画7が映画5に対して0.290015の類似度値を有し、映画8が映画5に対して0.159687の類似度値を有することを予測するために使用されてもよい。 In some embodiments, similarity values or other measures of similarity between nodes may be determined. As an example, as shown in FIG. 10, programming code may be configured to determine similarity values between nodes of a graph. In this example, the nodes correspond to movies 5, 6, and 7 shown in FIG. 9, respectively. As shown in Figure 10, the prediction is that movie 6 has a similarity value of 0.323291 to movie 5, movie 7 has a similarity value of 0.290015 to movie 5, and movie 8 has a similarity value of 0.290015 to movie 5. may be used to predict that movie 5 has a similarity value of 0.159687.

いくつかの実施形態では、モデル管理サブシステム114は、予測モデルに新しいノードまたはエッジの構築、ルールの学習またはオントロジーマッチの学習を行わせてもよい。一つまたは複数の実施形態において、映画のテーマに沿って、新規ノードまたは新規エッジの生成、ルールの学習およびオントロジーマッチの学習を行う例がそれぞれ、例1100、1102および1104として図11に示されている。例1100に示すように、予測モデルは、映画とそれに対応するタイトル、映画が製作された年、映画の監督、映画の製作者および映画に出演した1人以上の俳優等のノードを生成してもよい。いくつかの実施形態では、予測モデルは、予測モデルに提供されたテキストまたは他の情報に基づいて、これらのノードを生成してもよい。(いくつかの実施形態では、図3に示すように、
テキストは、メタデータ抽出、テキスト抽出、グラフ抽出もしくはモデル管理サブシステム1104またはサーバ102の他のサブシステムによって実行されるその他の抽出プロセスを経たものであってもよい)。例1102に示すように、予測モデルは、ルールを学習してもよい。予測モデルは、グラフのノードやエッジ、ノードを通る経路またはその他の情報に基づいてルールを学習してもよい。この例では、予測モデルは、ある映画が暴力と関連している場合、その映画は犯罪ジャンルの映画であることを学習してもよい。最後に、例1104に示すように、予測モデルは、オントロジーマッチを学習してもよい。オントロジーマッチは、同一または類似の概念を参照する異なる複数の単語を含んでもよい。この例に示すように、予測モデルは、「俳優」と「映画スター」が同じ概念に対応していることを学習してもよい。オントロジーマッチは、用語間のマッピングを見つけるために、構文的類似性、意味的類似性、構造的類似性の3種類の類似性メトリクスを使用する。構文的類似性では、編集距離、ファジー文字列マッチングまたはトリグラムコサイン類似度等の技術を使用して、ラベルの文字に基づいて2つの用語の類似度を評価する。例えば、単語「誕生日」と「生年月日」との間の類似性を検出する。意味的類似性では、手動でキュレートされた語彙データベース(例:WordNet)または別途トレーニングされた単語埋め込みモデルを利用することにより、ラベルの意味を考慮する。単語埋め込みは、トレーニングデータセットの中で類似した方法で使用された単語が類似した表現を持つように、単語の使用法に基づいて単語をベクトル表現にマッピングする。これにより、「俳優」と「映画スター」のように統語的に異なるラベルの類似性を検出することができる。そして、構造的類似性では、用語がスキーマ内でどのように定義されているかを調べる。例えば、あるスキーマは「俳優(Actor)」および「映画(Film)」という概念間の関係「主演(starredIn)」を定義し、他のスキーマは「映画スター(MovieStar)」と「ムービー(Movie)」の間の関係「出演(workedOn)」を定義してもよい。概念間のマッピング(「俳優-映画スター」および「映画-ムービー」のマッピング)が確立されると、「主演」と「出演」の類似性は、同じソースおよびターゲットの種類を持つ関係に基づいて検出される。
In some embodiments, model management subsystem 114 may cause the predictive model to construct new nodes or edges, learn rules, or learn ontology matches. In one or more embodiments, examples of generating new nodes or new edges, learning rules, and learning ontology matches in accordance with a movie theme are illustrated in FIG. 11 as examples 1100, 1102, and 1104, respectively. ing. As shown in example 1100, the predictive model generates nodes such as a movie and its corresponding title, the year the movie was made, the movie's director, the movie's producer, and one or more actors who appeared in the movie. Good too. In some embodiments, the predictive model may generate these nodes based on text or other information provided to the predictive model. (In some embodiments, as shown in Figure 3,
The text may have undergone metadata extraction, text extraction, graph extraction, or other extraction processes performed by model management subsystem 1104 or other subsystems of server 102). As shown in example 1102, the predictive model may learn rules. Predictive models may learn rules based on nodes and edges of the graph, paths through nodes, or other information. In this example, the predictive model may learn that a movie is a crime genre movie if it is associated with violence. Finally, as shown in example 1104, the predictive model may learn ontology matches. An ontology match may include different words that refer to the same or similar concepts. As shown in this example, the predictive model may learn that "actor" and "movie star" correspond to the same concept. Ontology Match uses three types of similarity metrics to find mappings between terms: syntactic similarity, semantic similarity, and structural similarity. Syntactic similarity uses techniques such as edit distance, fuzzy string matching, or trigram cosine similarity to assess the similarity of two terms based on the characters in their labels. For example, the similarity between the words "birthday" and "date of birth" is detected. Semantic similarity takes into account the meaning of a label by utilizing a manually curated lexical database (eg, WordNet) or a separately trained word embedding model. Word embeddings map words to vector representations based on word usage, such that words used in similar ways in the training dataset have similar representations. This makes it possible to detect similarities between syntactically different labels such as "actor" and "movie star." Structural similarity then looks at how terms are defined within the schema. For example, one schema defines the relationship "starredIn" between the concepts "Actor" and "Film," while another schema defines the relationship "starredIn" between the concepts "Actor" and "Movie." ” may be defined as a relationship “workedOn”. Once the mappings between concepts (the mappings of "actor-movie star" and "movie-movie") are established, the similarity between "starring" and "starring" is based on relationships having the same source and target types. Detected.

いくつかの実施形態では、リクエストサブシステム116は、一つまたは複数のクエリプランを決定するのに一つまたは複数の予測モデルを利用してもよい。いくつかの実施形態では、リクエストサブシステム116は、一つ以上のグラフまたはグラフデータベースに対するパス情報(例えば、本明細書に記載されているようなパスクエリによって返されるパス)、クエリプラン情報(例えば、過去のクエリプラン、過去のクエリプランを実行するのに掛かった実際のコスト等を示す情報)またはその他の情報を、一つ以上の履歴データベースまたはその他のソースから取得してもよい。リクエストサブシステム116は、パス情報、クエリプラン情報またはその他の情報を予測モデルに提供して当該予測モデルをトレーニングし、一つ以上のリクエスト(例えば、ユーザからのリクエスト、予測されたリクエストまたはその他の自動生成されたリクエスト等)に応答するために使用される一つ以上のクエリプランについての情報を予測してもよい。いくつかの実施形態では、予測モデルがトレーニングされると(またはそのようなトレーニングに基づいて更新されると)、リクエストサブシステム116は予測モデルを使用して、(例えば、ユーザからのリクエストに応答して、リアルタイムで、リクエストの予測に応答して、等)一つ以上のクエリプランを生成してもよい。 In some embodiments, request subsystem 116 may utilize one or more predictive models to determine one or more query plans. In some embodiments, request subsystem 116 includes path information (e.g., a path returned by a path query as described herein), query plan information (e.g., Information indicating past query plans, the actual cost of executing past query plans, etc.) or other information may be obtained from one or more historical databases or other sources. The request subsystem 116 provides path information, query plan information, or other information to the predictive model to train the predictive model and respond to one or more requests (e.g., requests from users, predicted requests, or other requests). information about one or more query plans that will be used to respond to a request (such as an automatically generated request). In some embodiments, once the predictive model is trained (or updated based on such training), the request subsystem 116 uses the predictive model (e.g., to respond to a request from a user). one or more query plans may be generated (e.g., in real time, in response to predictions of requests, etc.).

[クエリ予測、格納および応答] [Query prediction, storage and response]

いくつかの実施形態では、リクエストサブシステム116は、データリクエストが将来発生することを予測するように構成されてもよい。一例として、リクエストは、クエリ送信(またはクライアントが開始したクエリ)、クライアントが開始したクエリに関連した更新リクエストまたはその他のリクエストを含んでもよい。いくつかの実施形態では、リクエストサブシステム116は、クエリ結果のリクエストを予測し、リクエスト予測に応
じて結果のサブセットを取得してもよい。データ管理サブシステム112は、結果のサブセットを一時的なデータストレージ(例えば、サーバキャッシュ、ウェブキャッシュ、メモリキャッシュまたはその他の一時データストレージ)に格納するようにしてもよい。いくつかの実施形態では、データ管理サブシステム112は、結果のサブセットを一つ以上のサブグラフに変換し(例えば、結果が適切なグラフ形式でない場合)、そのサブグラフを一時データストレージに格納してもよい。予測されたリクエスト(または予測されたリクエストに一致する未来のリクエスト)が発生した場合、リクエストサブシステム116は、一時データストレージから一つ以上のサブグラフを取得し、発生した予測されたリクエストに取得したサブグラフを使用して応答してもよい。このように、例えば、(特定のリクエストが発生する前に)変換された形式で結果を一時的に格納しておくことにより、リクエストに十分に応答するための待ち時間やその他の遅延を大幅に削減することができる場合がある。
In some embodiments, request subsystem 116 may be configured to predict that data requests will occur in the future. As an example, a request may include a query submission (or client-initiated query), an update request, or other request related to a client-initiated query. In some embodiments, request subsystem 116 may predict requests for query results and obtain a subset of results in response to the request prediction. Data management subsystem 112 may store the subset of results in temporary data storage (eg, a server cache, web cache, memory cache, or other temporary data storage). In some embodiments, data management subsystem 112 may convert a subset of results into one or more subgraphs (e.g., if the results are not in an appropriate graph format) and store the subgraphs in temporary data storage. good. When a predicted request (or a future request that matches a predicted request) occurs, the request subsystem 116 retrieves one or more subgraphs from temporary data storage and retrieves them for the predicted request that occurred. You may respond using subgraphs. This way, for example, by temporarily storing results in a transformed format (before a particular request occurs), you can significantly reduce latency and other delays in fully responding to a request. It may be possible to reduce it.

いくつかの実施形態では、リクエストサブシステム116は、過去のクエリ(例えば、グラフデータモデルと互換性のある過去のクエリまたはその他の過去のクエリ)に基づいて、リクエストが将来発生することを予測してもよい。一例として、リクエスト予測は、例えば一つ以上の過去のクエリを示す情報であるリクエスト履歴情報、リクエストそれぞれの頻度を示す情報(例えば、過去クエリそれぞれの頻度、過去クエリに関連する更新リクエスト等)、過去リクエストを開始したユーザまたはクライアントデバイスに関する情報、または、その他の情報に基づいてもよい。あるシナリオでは、リクエストされたクエリ結果の少なくとも一部は、将来的にクライアントデバイスからリクエストが取得される前のリクエスト予測に基づいて取得されてもよい。得られたクエリ結果は、将来のリクエストの発生を予測して(例えば、サーバキャッシュ、ウェブキャッシュ、メモリキャッシュ等の一時データストレージまたはその他の一時データストレージに)格納されてもよく、格納されたクエリ結果は、将来のリクエストの発生時に将来のリクエストに応答するのに利用されてもよい。 In some embodiments, request subsystem 116 predicts that requests will occur in the future based on past queries (e.g., past queries or other past queries that are compatible with a graph data model). It's okay. For example, request prediction may include request history information, which is information indicating one or more past queries, information indicating the frequency of each request (for example, frequency of each past query, update request related to the past query, etc.), It may also be based on information about users or client devices that initiated past requests, or other information. In some scenarios, at least a portion of the requested query results may be obtained based on a prediction of the request prior to obtaining the request from the client device in the future. The obtained query results may be stored (e.g., in a temporary data storage such as a server cache, web cache, memory cache, or other temporary data storage) in anticipation of future requests, and the stored query The results may be used to respond to future requests as they occur.

いくつかの実施形態では、データリクエストの予測に応答して、リクエストサブシステム116は、予測されたデータリクエストの一つ以上のパラメータに基づいて一つ以上のグラフクエリを生成してもよい。一例として、パラメータは、キーワード、コンテンツアイテムまたはその識別子/場所(例えば、コンテンツID、コンテンツアイテムへのハイパーリンクまたはその他のポインタ等)、論理演算子(例えば、論理AND演算子、論理OR演算子、論理NOT演算子またはその他の論理演算子)等の一つ以上の検索パラメータもしくはその他のパラメータを含んでもよい。一使用例では、コンテンツアイテムが画像である場合、画像を、類似の画像の検索、同一の画像または類似の画像を有するコンテンツアイテムの検索、画像内の概念と類似の概念を有するコンテンツアイテムの検索または他の結果の検索に使用することができる。別の使用例では、コンテンツアイテムが動画である場合、動画を、類似の動画の検索、同一の動画または類似の動画を有するコンテンツアイテムの検索、ビデオ内の概念と類似の概念を有するコンテンツアイテムの検索または他の結果の検索のために使用することができる。 In some embodiments, in response to predicting a data request, request subsystem 116 may generate one or more graph queries based on one or more parameters of the predicted data request. By way of example, parameters may include keywords, content items or their identifiers/locations (e.g., content IDs, hyperlinks or other pointers to content items, etc.), logical operators (e.g., logical AND operators, logical OR operators, may include one or more search parameters such as a logical NOT operator or other logical operators) or other parameters. In one use case, if the content item is an image, the image is searched for similar images, search for content items that have the same image or similar images, search for content items that have a similar concept to the concept in the image, and search for content items that have a similar concept to the concept in the image. or can be used to search for other results. In another use case, if the content item is a video, the video can be searched for similar videos, search for content items that have the same video or similar videos, or search for content items that have similar concepts to the concepts in the video. Can be used for searching or finding other results.

いくつかの実施形態では、リクエストサブシステム116は、グラフデータモデルに基づいて、グラフクエリの少なくとも一つを、(例えば、一つ以上のSQLまたはその他の非グラフデータベースと互換性のある)一つ以上の非グラフクエリに変換してもよい。一例として、非グラフクエリは、一つ以上の非グラフデータベースからデータサブセットを取得するために実行されてもよい。いくつかの実施形態では、グラフクエリの少なくとも一つは、一つ以上のグラフデータベースからデータサブセットを取得するために実行されてもよい。一例として、グラフクエリの一部が、非グラフデータベースに格納されている(予測データ要求に関連する)結果を取得するために非グラフクエリに変換されてもよい。しかしながら、その他のグラフクエリがグラフデータベースに格納された結果に関連し
ている場合、グラフクエリを非グラフクエリに変換する必要はない場合もある。あるシナリオでは、例えば、リクエストサブシステム116は、グラフクエリに関連する結果がどこに格納されているか(例えば、非グラフデータベースまたはグラフデータベースのいずれかに結果が格納されているか)を判定し、そのような判定に基づいて、関連する結果を取得できる非グラフデータベースまたはグラフデータベースを選択してもよい。(所与のグラフクエリに関連する少なくともいくつかの結果を得るために)非グラフデータベースの選択に基づいて、リクエストサブシステム116は、グラフクエリを非グラフデータベースと互換性のある非グラフクエリに変換してもよい。
In some embodiments, the request subsystem 116 executes at least one of the graph queries (e.g., compatible with one or more SQL or other non-graph databases) based on a graph data model. It may also be converted to the above non-graph query. As an example, a non-graph query may be executed to obtain a data subset from one or more non-graph databases. In some embodiments, at least one of the graph queries may be executed to obtain a data subset from one or more graph databases. As an example, a portion of a graph query may be converted to a non-graph query to obtain results (related to a predictive data request) that are stored in a non-graph database. However, if other graph queries are related to results stored in the graph database, there may be no need to convert the graph query to a non-graph query. In some scenarios, for example, request subsystem 116 determines where results associated with a graph query are stored (e.g., whether the results are stored in either a non-graph database or a graph database) and Based on this determination, a non-graph database or a graph database from which relevant results can be obtained may be selected. Based on the selection of the non-graph database (to obtain at least some results related to the given graph query), the request subsystem 116 converts the graph query into a non-graph query that is compatible with the non-graph database. You may.

いくつかの実施形態では、データ管理サブシステム112は、グラフ、(例えば、集合的にグラフまたはその一部を構成している)一つ以上のサブグラフ、もしくは、一つ以上のグラフデータ表現(例えば、集合的にグラフ、サブグラフまたはグラフ/サブグラフの一部を構成するノード、エッジ等)を生成するように構成されてもよい。本明細書に示されるように、いくつかの実施形態では、データ管理サブシステム112は、(例えば、SQLテーブルまたは他のデータソースに格納されている)データ表現を(例えば、特定のグラフデータベースと互換性がある)グラフ表現に変換するのに、一つ以上のグラフデータモデルを利用してもよい。データリクエストが将来発生するという予測に応答して、リクエストサブシステム116は、将来のデータリクエストによって要求されると予測される一つ以上のデータサブセットを、一つ以上のデータソースから取得してもよい。そのようなデータサブセットを取得すると、データ管理サブシステム112は、本明細書に記載された一つまたは複数の技術に従って、(例えば、非グラフ形式またはその他の互換性を有さない表現の)データサブセットを、(例えば、特定のグラフデータベースと互換性を有する)一つ以上のグラフデータ表現、または、当該グラフデータ表現を含む一つ以上のサブグラフへと変換するために、グラフデータモデルを使用してもよい。 In some embodiments, the data management subsystem 112 may store a graph, one or more subgraphs (e.g., collectively comprising the graph or a portion thereof), or one or more graph data representations (e.g., , nodes, edges, etc. that collectively constitute a graph, subgraph, or part of a graph/subgraph). As shown herein, in some embodiments, the data management subsystem 112 stores data representations (e.g., stored in SQL tables or other data sources) (e.g., with a particular graph database). One or more graph data models may be used to convert the data into a compatible (compatible) graph representation. In response to predicting that a data request will occur in the future, request subsystem 116 may obtain one or more data subsets from one or more data sources that are predicted to be requested by the future data request. good. Upon obtaining such data subset, data management subsystem 112 may process the data (e.g., in a non-graphical format or other incompatible representation) in accordance with one or more techniques described herein. The graph data model is used to transform the subset into one or more graph data representations (e.g., compatible with a particular graph database) or one or more subgraphs containing the graph data representations. It's okay.

いくつかの実施形態では、データリクエストの予測に応答して、一つまたは複数のデータサブセットが、一つまたは複数の非グラフデータソース(例えば、SQLデータベースまたはその他の非グラフデータソース)から取得されてもよく、一つまたはその他のデータサブセットが、一つまたは複数のグラフデータソース(例えば、グラフデータベースまたはその他のグラフデータソース)から取得されてもよい。一例として、非グラフデータソースから、非グラフデータ表現(例えば、SQL行または列またはその他の非グラフデータ表現)として(非グラフデータソースからの)データサブセットを取得してもよい。また、グラフデータソースから、(例えば、特定のグラフデータベースと互換性を有する、グラフデータベースと互換性を有さない等)ノード、エッジまたはその他のグラフデータ表現として(グラフデータソースからの)その他のデータサブセットを取得してもよい。データ管理サブシステム112は、(非グラフデータソースからの)複数のデータサブセットを表す一つ以上のサブグラフ、および、(グラフデータソースからの)その他の複数のデータサブセットを表す一つ以上のサブグラフを生成してもよい。一例として、非グラフソースから取得されたデータサブセットに関して、データ管理サブシステム112は、グラフデータモデルを使用して、非グラフデータ表現をグラフデータベースと互換性のあるグラフデータ表現に変換し、グラフデータ表現を上記のサブグラフへとコンパイルしてもよい。別の例として、グラフソースから取得されたデータサブセットに関して、データ管理サブシステム112は、グラフデータモデルを使用して、(そのようなデータサブセットの)グラフデータ表現をその他の表現のサブグラフへとコンパイルしてもよい。グラフデータ表現がグラフデータベースと互換性を有さない形式である場合、データ管理サブシステム112は、グラフデータモデルを使用して、互換性のないデータ表現を互換性のあるグラフデータ表現へと変換し、互換性のあるグラフデータ表現をその他の表現のサブグラフへとコンパイルしてもよい。 In some embodiments, one or more data subsets are obtained from one or more non-graph data sources (e.g., a SQL database or other non-graph data sources) in response to predicting the data request. One or more data subsets may be obtained from one or more graph data sources (eg, graph databases or other graph data sources). As an example, a data subset (from a non-graph data source) may be obtained as a non-graph data representation (eg, an SQL row or column or other non-graph data representation) from a non-graph data source. Additionally, other graph data representations (from the graph data source) such as nodes, edges, or other graph data representations (e.g., compatible with a particular graph database, incompatible with a graph database, etc.) Data subsets may be obtained. Data management subsystem 112 manages one or more subgraphs representing multiple data subsets (from non-graph data sources) and one or more subgraphs representing multiple other data subsets (from graph data sources). may be generated. As an example, for data subsets obtained from non-graph sources, data management subsystem 112 uses a graph data model to convert the non-graph data representation to a graph data representation that is compatible with the graph database and The representation may be compiled into the above subgraphs. As another example, for a data subset obtained from a graph source, data management subsystem 112 uses a graph data model to compile the graph data representation (of such data subset) into subgraphs of other representations. You may. If the graph data representation is in a format that is not compatible with the graph database, data management subsystem 112 uses the graph data model to convert the incompatible data representation to a compatible graph data representation. However, compatible graph data representations may be compiled into subgraphs of other representations.

いくつかの実施形態では、データ管理サブシステム112は、(非グラフデータサブセ
ットに由来する)サブグラフ、および(グラフデータサブセットに由来する)その他のサブグラフを一時データストレージに格納してもよい。予測されたデータリクエストに一致する次のデータリクエストを取得することに応じて、要求サブシステム112は、一時データストレージから、サブグラフ、他のサブグラフまたはその他の情報を取得し、取得されたこのような情報を使用して前記次のデータリクエストに応答してもよい。いくつかの実施形態では、リクエストサブシステムは、取得したサブグラフのノード、エッジまたはその他のグラフデータ表現からデータサブセットを抽出し、次のデータリクエストに応答して抽出したデータサブセットを返してもよい。
In some embodiments, data management subsystem 112 may store subgraphs (derived from non-graph data subsets) and other subgraphs (derived from graph data subsets) in temporary data storage. In response to retrieving the next data request that matches the predicted data request, request subsystem 112 retrieves the subgraph, other subgraphs, or other information from temporary data storage and The information may be used to respond to the next data request. In some embodiments, the request subsystem may extract a data subset from the nodes, edges, or other graph data representations of the obtained subgraph and return the extracted data subset in response to a subsequent data request.

いくつかの実施形態では、予測されたデータリクエストと一致する次のデータリクエストを得たことに応答して、リクエストサブシステム116は、当該次のデータリクエストに応答するためのクエリプランを生成してもよい。一例として、候補となるクエリプランは、クエリプラン(またはテンプレートクエリプラン)のコレクションから選択された後、前記次のデータリクエストに固有のクエリプランが生成されるように修正されてもよい。いくつかの実施形態では、予測されたデータリクエストに関連するサブグラフまたはその他の情報が一時データストレージに記憶されている場合、(i)一時データストレージからサブグラフまたは他の情報を取得すること、(ii)他のデータソース(例えば、グラフデータベース、非グラフデータベース等)からその他の情報を取得すること、を含むようにクエリプランが生成されてもよい。一例として、クエリプランに基づいて、リクエストサブシステム116は、予測されたデータリクエストに関連する一つ以上のサブグラフを一時データストレージから、一つ以上のその他のデータサブセット(例えば、予測データ要求に関連する、後続データ要求に関連する等)を一つまたは複数のデータソースから取得してもよい。リクエストサブシステム116は、次のデータ要求に応答するために、サブグラフ(またはサブグラフが表すデータセット)およびその他のデータサブセットを使用してもよい。 In some embodiments, in response to obtaining a next data request that matches the predicted data request, request subsystem 116 generates a query plan for responding to the next data request. Good too. As an example, a candidate query plan may be selected from a collection of query plans (or template query plans) and then modified to generate a query plan specific to the next data request. In some embodiments, if the subgraph or other information related to the predicted data request is stored in the temporary data storage, (i) retrieving the subgraph or other information from the temporary data storage; (ii) ) obtaining other information from other data sources (eg, graph databases, non-graph databases, etc.). As an example, based on the query plan, request subsystem 116 may extract one or more subgraphs related to the predicted data request from temporary data storage to one or more other data subsets (e.g., related to the predicted data request). related to subsequent data requests, etc.) may be obtained from one or more data sources. Request subsystem 116 may use the subgraph (or the data set that the subgraph represents) and other data subsets to respond to subsequent data requests.

いくつかの実施形態では、データリクエストの予測に応答して実行されるクエリ(例えば、グラフクエリ、非グラフクエリ)は、予測されたデータリクエストがクライアントデバイスから取得されていた場合に予測されたデータリクエストに応答するために実行されたであろうクエリのセットの一部であってもよい。いくつかの実施形態では、データリクエストの予測から、一連のクエリのうちの一つ以上のその他のクエリの実行が発生しない場合がある。一例として、その他についてのクエリの実行は、リクエストの予測から生じなくてもよい。 In some embodiments, a query (e.g., a graph query, a non-graph query) executed in response to a prediction of a data request is based on the predicted data that would have been retrieved from the client device if the predicted data request had been obtained from the client device. It may be part of the set of queries that would have been executed in response to the request. In some embodiments, the prediction of the data request may not result in execution of one or more other queries in the set of queries. As an example, querying for others may not result from prediction of the request.

いくつかの実施形態では、クエリに対する結果のサブセットは、リクエストがクライアントデバイスから取得されていた場合に当該リクエストに応答するために取得されていたであろう結果のセットの一部であってもよい。例えば、結果のセットが、クライアントデバイスに返答した第1のウェブページで提供されていたであろう全ての結果(例えば、最も関連性の高い結果のリストまたはその他の提示)である場合、結果のサブセットは、第1のウェブページで提供されていたそれら結果の一部であってもよい。別の使用例では、結果のセットは、リクエストがクライアントデバイスから取得されていた場合に当該リクエストに応答するために取得されていたであろう全ての結果であってもよい。一例として、(結果の前記セットの)その他のサブセットが(例えば、リクエスト予測に応答した一つ以上のクエリを介して)得られた場合であっても、(結果の前記セットの)その他のサブセットを一時データストレージに記憶しないことを(例えば、本明細書に記載されているように、頻度情報、コスト情報等に基づいて)決定してもよい。 In some embodiments, the subset of results for a query may be a portion of a set of results that would have been obtained to respond to the request if the request had been obtained from the client device. For example, if the set of results is all results that would have been provided on a first web page (e.g., a list or other presentation of the most relevant results) in response to the client device, the subset of results may be a portion of those results that would have been provided on the first web page. In another use case, the set of results may be all results that would have been obtained to respond to the request if the request had been obtained from the client device. As an example, a determination may be made (e.g., based on frequency information, cost information, etc., as described herein) not to store the other subset (of the set of results) in the temporary data storage, even if the other subset (of the set of results) has been obtained (e.g., via one or more queries in response to a request prediction).

いくつかの実施形態では、サブグラフまたはその他のデータの取得もしくは格納(もしくはその他のサブグラフまたはその他のデータを取得または格納しない決定)は、頻度情報、コスト情報またはその他の情報に基づいてもよい。いくつかの実施形態では、リクエ
ストサブシステム116は、頻度情報、コスト情報またはその他の情報に基づいて、(他のクエリよりも)実行されるべきクエリのサブセットの選択を実行してもよい。頻度情報は、前記リクエストまたはその他の情報と一致するリクエストの頻度を示す情報を含んでもよい。コスト情報は、一時データストレージにデータを格納するのにかかるコストを示す情報、それぞれのクエリを実行するためにかかるコストを示す情報またはその他の情報を含んでもよい。このようなコストとしては、例えば、金銭的なコスト、コンピュータリソースのコスト(例えば、帯域幅等のネットワークリソースの使用量やその他のコンピュータリソースのコスト)、その他のコストが含まれる。
In some embodiments, the acquisition or storage of subgraphs or other data (or the decision not to acquire or store other subgraphs or other data) may be based on frequency information, cost information, or other information. In some embodiments, request subsystem 116 may perform selection of a subset of queries to be executed (over other queries) based on frequency information, cost information, or other information. The frequency information may include information indicating the frequency of requests matching the request or other information. The cost information may include information indicating the cost of storing data in temporary data storage, information indicating the cost of executing each query, or other information. Such costs include, for example, monetary costs, computer resource costs (eg, network resource usage such as bandwidth, and other computer resource costs), and other costs.

リクエスト予測に応答して、例えば、どの結果が得られるかまたは保存されるか、取得されるまたは保存される結果の量はどのくらいかを決定するためにコスト/ベネフィット分析が実行されてもよい。一実施形態では、リクエストサブシステム116は、クエリを実行するかどうか(またはどのクエリを実行するか)を、それぞれのコスト(例えば、データソースにデータを問い合わせるためのコスト)、これらクエリから得られる結果の利点(例えば、予測されたリクエストに一致するリクエストの頻度、リクエストを行った者の好みに基づいてどの結果が他の結果よりも優先されるべきか等)、それらの結果を一時データストレージに格納するためのそれぞれのコスト、またはその他の基準に基づいて、決定してもよい。更なる使用例では、これらクエリのコスト、これらクエリから得られる結果のそれぞれの利点、これらの結果を一時データストレージに格納するためのそれぞれのコストまたはその他の基準に基づいて、それぞれのクエリに(実行される前に)スコアを割り当ててもよい。一例として、データソースにデータを問い合わせるためのコストが低いほど、対応するクエリに割り当てられた(他のクエリのスコアと比較して)スコアが高くなるようにしてもよい。予測されたリクエストに一致するリクエストの頻度が高いほど、予測されたリクエストに関連するクエリに割り当てられるスコアが高くなってもよい。あるクエリから得られた結果がリクエストを行った者に(ユーザーインターフェース上で)提示される可能性が(例えば、リクエストを行った者の好みに基づいて他のクエリから得られた他の結果よりも)高いほど、そのクエリのスコアを(他のクエリのスコアと比較して)高くしてもよい。それぞれに割り当てられたスコアに基づいて、リクエストサブシステム116は、それらクエリのうちの一つ以上のクエリを実行するかどうかを決定してもよい。一例として、リクエストサブシステム116は、そのようなクエリの一のサブセットが他のサブセットよりも大きなスコアを有することに基づいて、実行するクエリのサブセットを選択してもよい。 In response to the request prediction, a cost/benefit analysis may be performed, for example, to determine which results will be obtained or saved, and how much of the results will be obtained or saved. In one embodiment, the request subsystem 116 determines whether (or which queries) to perform, the respective costs (e.g., the cost of querying the data source for data), and the costs derived from those queries. Benefits of the results (e.g., how often requests match predicted requests, which results should be prioritized over others based on the preferences of the person making the request, etc.), and how those results can be stored in temporary data storage The determination may be made based on the respective cost of storing the data, or other criteria. A further use case could be to assign ( (before execution) may be assigned a score. As an example, the lower the cost of querying a data source for data, the higher the score (compared to the scores of other queries) assigned to the corresponding query. The more frequently requests match the predicted request, the higher the score assigned to the query related to the predicted request. The results obtained from one query are more likely to be presented (on the user interface) to the person making the request (e.g., than other results obtained from other queries based on the preferences of the person making the request). ), the higher the query's score (compared to the scores of other queries). Based on the scores assigned to each, request subsystem 116 may determine whether to execute one or more of the queries. As an example, request subsystem 116 may select a subset of queries to execute based on one subset of such queries having a greater score than another subset.

別の使用例では、結果が得られた場合でも、一時リクエストサブシステム116は、一時データストレージでこれら結果それぞれを記憶するためのコスト、これらの結果それぞれの利点またはその他の基準に基づいて、結果を格納するかどうか(または格納されるべき結果の量)を決定してもよい。更なる使用例では、これら結果それぞれを一時データストレージに格納するためのコスト、これらの結果それぞれの利点またはその他の基準に基づいて、それぞれの結果(例えば、結果のサブセット)にスコアを割り当ててもよい。一例として、結果の特定のサブセットを格納するためのコストが低いほど、結果のサブセットにより高いスコアを割り当てることに影響が大きくなってもよい。予測されたリクエストに一致するリクエストの頻度が高いほど、予測されたリクエストに関連する結果に割り当てられるスコアが高くなってもよい。結果の特定のサブセットがリクエストを行った者に(ユーザーインターフェース上で)提示される可能性が(例えば、リクエストを行った者の好みに基づいて他の結果よりも)高いほど、そのような結果のサブセットの高いスコアに影響を与えるようにしてもよい。それぞれに割り当てられたスコアに基づいて、リクエストサブシステム116は、結果のうちのどれが一時データストレージに格納されるかを決定してもよい。リクエストサブシステム116は、例えば、(例えば、実行されたクエリから得られた)結果の他のサブセットよりも大きなスコアを有する結果のサブセットに基づいて、格納される結果のサブセットを選択してもよい。 In another use case, even if results are obtained, the temporary request subsystem 116 determines the results based on the cost of storing each of these results in temporary data storage, the merits of each of these results, or other criteria. (or how much of the result should be stored). A further use case could be to assign a score to each result (e.g., a subset of results) based on the cost of storing each of these results in temporary data storage, the merits of each of these results, or other criteria. good. As an example, the lower the cost to store a particular subset of results may have a greater impact on assigning a higher score to the subset of results. The more frequently requests match the predicted request, the higher the score assigned to the results associated with the predicted request. The more likely a particular subset of results is to be presented (on the user interface) to the person making the request (e.g., over other results based on the preferences of the person making the request), the more likely such results are may influence the high scores of a subset of Based on the scores assigned to each, request subsystem 116 may determine which of the results are stored in temporary data storage. Request subsystem 116 may select a subset of results to be stored, e.g., based on a subset of results having a greater score than other subsets of results (e.g., obtained from an executed query). .

いくつかの実施形態では、(本明細書に記載されているように)一つまたは複数のリクエストの予測に応答して、結果が得られるまたは格納されるが、他のリクエストの予測に応答して(例えば、それら他のリクエストそれぞれが発生する確率が確実性の閾値を満たしても)、結果が得られないまたは格納されなくてもよい。一例として、リクエストサブシステム116は、予測されたリクエストに関して実行されたコスト/ベネフィット分析に基づいて(例えば、頻度情報、コスト情報またはその他の情報に基づいて)、リクエストの予測に応答して、いかなるクエリも実行しないことを決定してもよい。別の例として、リクエストサブシステム116は、予測されたリクエストに関して実行されたコスト/ベネフィット分析に基づいて(例えば、頻度情報、コスト情報またはその他の情報に基づいて)、リクエスト予測から得られた結果を格納しないことを決定してもよい。 In some embodiments, results are obtained or stored in response to predictions of one or more requests (as described herein), but not in response to predictions of other requests. (e.g., even if the probability of each of those other requests to occur meets a certainty threshold), no results may be obtained or stored. As an example, the request subsystem 116 may respond to predictions of requests based on cost/benefit analysis performed on the predicted requests (e.g., based on frequency information, cost information, or other information). You may decide not to run any queries either. As another example, the request subsystem 116 determines the results obtained from the request prediction based on a cost/benefit analysis performed on the predicted requests (e.g., based on frequency information, cost information, or other information). You may decide not to store it.

いくつかの実施形態では、モデル管理サブシステム114は、リクエスト履歴情報を取得し、予測モデルをトレーニングするために、リクエスト履歴情報を予測モデルに提供するように構成されてもよい。リクエスト履歴情報としては、(i)過去リクエストのコレクション(例えば、データに対してユーザが送信したリクエスト)、(ii)過去リクエストから生成された過去クエリのコレクション(例えば、グラフデータモデルと互換性を有するように構成されたグラフクエリ)、(iii)過去リクエストまたは過去クエリが取得された時刻を示すタイミング情報、(iv)過去リクエストまたは過去クエリの頻度を示す頻度情報、(v)過去リクエストを送信したユーザを示すユーザ情報(個人を特定できないユーザ識別子またはその他の識別子等)もしくはユーザの種類(年齢、性別、場所またはその他の分類等)、および、そのユーザまたはユーザの種類がどの過去リクエストを送信したか、もしくは、(vi)その他の情報が含まれてもよい。 In some embodiments, model management subsystem 114 may be configured to obtain request history information and provide request history information to the predictive model for training the predictive model. Request history information may include (i) a collection of past requests (e.g., requests submitted by a user for data); (ii) a collection of past queries generated from past requests (e.g., a collection of past queries that are compatible with a graph data model). a graph query configured to have a graph query), (iii) timing information indicating the time at which the past request or past query was obtained, (iv) frequency information indicating the frequency of the past request or past query, (v) sending the past request. User information (such as a non-personally identifiable user identifier or other identifier) or type of user (such as age, gender, location, or other classification) that indicates which user has submitted a request, and which past requests the user or type of user has submitted. or (vi) other information may be included.

いくつかの実施形態では、予測モデルは、リクエスト履歴情報の少なくとも1種類を取得し、取得した情報に基づいてリクエスト履歴情報の少なくとも別の種類を予測するように構成されてもよい。一例として、モデル管理サブシステム114は、予測モデルへの入力として提供される過去リクエストまたは過去クエリのそれぞれについて、タイミング情報(過去リクエストまたは過去クエリが取得された時刻を示す)、頻度情報(過去リクエストまたは過去クエリの頻度を示す)、ユーザ情報(過去リクエストを送信したユーザまたはユーザの種類を示す)もしくは過去リクエストまたは過去クエリに関連するその他の情報を、予測モデルが行った、タイミング情報、頻度情報、ユーザ情報もしくは過去リクエストまたは過去クエリについてのその他の情報の予測に対する参照フィードバックとして提供してもよく、それにより予測モデルがトレーニングされてもよい。予測モデルは、自身が予測した情報を評価するために参照フィードバックを使用してもよい。別の例として、予測モデルへの入力として提供されるタイミング情報、頻度情報またはユーザ情報について、モデル管理サブシステム114は入力情報に関連付けられた過去リクエストまたは過去クエリを、予測モデルが行ったリクエストまたはクエリの予測に対する参照フィードバックとして提供し、予測モデルがトレーニングされてもよい。予測モデルは、参照フィードバックを使用して、自身が行ったリクエストまたはクエリの予測を評価してもよい。予測モデルは自身が行った予測の評価に基づいて、(例えば、予測が正確であったかどうかまたは予測がどの程度正確であったかに応じて、予測モデルのパラメータまたは予測モデルのその他の部分の重みを調整することにより)予測モデルの一つまたは複数の部分を更新してもよい。予測モデルがニューラルネットワークである一使用例では、ニューラルネットワークは、追加テンプレートの予測に関するニューラルネットワークの評価に基づいて、ニューラルネットワークの1つまたは複数の層を更新してもよい。 In some embodiments, the predictive model may be configured to obtain at least one type of request history information and predict at least another type of request history information based on the obtained information. As an example, model management subsystem 114 may provide timing information (indicating the time at which the past request or past query was obtained), frequency information (past request timing information, frequency information (indicating the frequency of past queries), user information (indicating the user or type of user who submitted the past request), or other information related to the past request or past query. , user information or other information about past requests or queries may be provided as reference feedback to the prediction, by which a predictive model may be trained. A predictive model may use reference feedback to evaluate the information it has predicted. As another example, for timing information, frequency information, or user information provided as input to a predictive model, the model management subsystem 114 may compare past requests or past queries associated with the input information to requests or queries made by the predictive model. A predictive model may be trained by providing reference feedback to the prediction of the query. A predictive model may use reference feedback to evaluate predictions of requests or queries that it has made. A predictive model can adjust the weights of its parameters or other parts of the predictive model based on its evaluation of the predictions it has made (e.g., depending on whether or how accurate the prediction was). (by updating one or more parts of the predictive model). In one use case where the predictive model is a neural network, the neural network may update one or more layers of the neural network based on the neural network's evaluation of the additional template's predictions.

いくつかの実施形態では、予測モデルがトレーニングされる(またはそのようなトレーニングに基づいて更新される)と、モデル管理サブシステム114は、当該予測モデルを使用して、(i)一つ以上のリクエストまたはクエリ、(ii)これらリクエストまたは
クエリのタイミング情報、(iii)これらリクエストまたはクエリの頻度情報、(iv)これらリクエストまたはクエリについてのユーザ情報、または(v)これらリクエストまたはクエリについてのその他の情報を予測してもよい。一例として、そのような予測は、予測されたリクエストの一つ以上のパラメータ、例えば、検索パラメータ(例えば、キーワード、コンテンツアイテムまたはその識別子/場所、論理演算子等)またはその他のパラメータを含んでもよい。別の例として、そのような予測は、予測されたリクエスト(または予測されたリクエストに一致する次のリクエスト)の一つ以上の時間、予測されたリクエストの頻度、そのリクエストを送信することが予測されたユーザまたはユーザの種類またはその他の予測を含んでもよい。このような予測に基づいて、リクエストサブシステム116は、結果の一つ以上のサブセットを取得し、結果を本明細書に記載されているように一時データストレージ(例えば、サーバキャッシュ、ウェブキャッシュ、メモリキャッシュまたはその他の一時データストレージ)に(例えば、グラフデータベースまたは他の形態と互換性を有する変換されたサブグラフの形態で)格納してもよい。予測されたリクエスト(または予測されたリクエストに一致する未来のリクエスト)が発生した場合、リクエストサブシステム116は、一時データストレージから一つ以上の結果を取得し、取得した結果を使用して発生した予測されたリクエストに応答してもよい。
In some embodiments, once a predictive model is trained (or updated based on such training), model management subsystem 114 uses the predictive model to (i) (ii) timing information for these requests or queries, (iii) frequency information for these requests or queries, (iv) user information for these requests or queries, or (v) other information for these requests or queries. Information may also be predicted. By way of example, such a prediction may include one or more parameters of the predicted request, such as search parameters (e.g., keywords, content items or identifiers/locations thereof, logical operators, etc.) or other parameters. . As another example, such predictions may include one or more of the times of the predicted request (or the next request that matches the predicted request), the frequency of the predicted request, and the expected frequency of sending that request. may include user or user type or other predictions. Based on such predictions, request subsystem 116 retrieves one or more subsets of the results and stores the results in temporary data storage (e.g., server cache, web cache, memory (e.g., in the form of a transformed subgraph compatible with a graph database or other format). When a predicted request (or a future request that matches the predicted request) occurs, the request subsystem 116 retrieves one or more results from temporary data storage and uses the retrieved results to May respond to predicted requests.

[クエリセットの最適化] [Query set optimization]

いくつかの実施形態では、最適化サブシステム118は、データ検索プロセスにおけるクエリ関連リソースの使用量を削減するように構成されてもよい。
いくつかの実施形態では、最適化サブシステム118は、データリクエスト(例えば、ユーザからの明示的なリクエストまたはその他のリクエスト)から派生したクエリセット、例えば、グラフクエリ(またはデータリクエストに関連するその他のクエリ)が変換されるクエリセットを最適化することによって、そのようなクエリ関連のリソース使用量を削減してもよい。いくつかの実施形態では、そのようなクエリセットの最適化は、複数のクエリをリンクするクエリ演算子のクエリセットからの削除、クエリセットにおける複数のクエリを単一のクエリへと統合、一つまたは複数のクエリをクエリセットから削除またはその他の最適化を含んでもよい。このような最適化は、充足可能性の(例えば、特定のクエリから得られた複数の結果の組み合わせに関連する)問題、非互換性の問題または他の問題の予測に基づいて、このような問題またはこのような問題の悪影響を回避または軽減するために実行され得る。
In some embodiments, optimization subsystem 118 may be configured to reduce query-related resource usage in the data retrieval process.
In some embodiments, the optimization subsystem 118 includes a query set derived from a data request (e.g., an explicit request from a user or other request), such as a graph query (or other request related to the data request). The resource usage associated with such queries may be reduced by optimizing the query set in which the queries) are transformed. In some embodiments, such query set optimizations include removing query operators that link multiple queries from the query set, merging multiple queries in the query set into a single query, or may include removing multiple queries from the query set or other optimizations. Such optimizations are based on predictions of satisfiability problems (e.g., related to the combination of multiple results obtained from a particular query), incompatibility problems, or other problems. may be performed to avoid or lessen the problem or the adverse effects of such problem.

いくつかの実施形態では、リクエストサブシステム116は、複数のデータリクエストを(例えば、一つ以上のユーザデバイスから)取得して処理し、複数のデータリクエストが共通の対象データを求めているかどうか(例えば、複数のデータリクエストが求めるデータの少なくとも一部が当該複数のデータリクエストの間で同じであるかどうか)を判定してもよい。データリクエストが共通の対象データを求めていると判定されたことに基づいて、リクエストサブシステム116は、全てのデータリクエストに応答するのに一つ以上のクエリを(例えば、クエリセットの一部として)生成してもよい。ここで、クエリの各々は複数のデータリクエストによって共通に求められているデータの少なくとも一部を得るように構成されており、当該共通のデータ部分を取得するのにそのような一つのクエリが使用できる。いくつかの実施形態では、リクエストサブシステム116は、複数のクエリのうちの少なくとも一つが、共通に求められるデータの第1のセットを第1のソースから取得するように構成され、複数のクエリのうちの少なくとも別の一つが、共通に求められるデータの第2のセットを第2のソースから取得するように構成されるように、前記複数のクエリを生成してもよい。一例として、共通に求められているデータの第1のセットを第1のソースから取得するための所定のクエリは、第1のソースと互換性を有し、第1のソースと互換性を有するが第2のソースとは互換性がないように構成されてもよい。別の例として、共通に求められているデータの第2のセットを第2のソースから取得する
ための所定のクエリは、第2のソースと互換性を有し、第2のソースと互換性を有するが第1のソースとは互換性がないように構成されてもよい。異なるソース(例えば、第1のソース、第2のソース等)から共通に求められているデータのセットを取得することに応答して、リクエストサブシステム116は、共通に求められているデータのセットを組み合わせ、組み合わされたセットを返すことにより、データリクエストのそれぞれに応答するように構成されてもよい。
In some embodiments, request subsystem 116 obtains and processes multiple data requests (e.g., from one or more user devices) and determines whether the multiple data requests seek common subject data ( For example, it may be determined whether at least some of the data requested by the plurality of data requests is the same among the plurality of data requests. Based on determining that the data requests seek common data of interest, request subsystem 116 may issue one or more queries (e.g., as part of a query set) to respond to all data requests. ) may be generated. wherein each of the queries is configured to obtain at least a portion of the data commonly sought by multiple data requests, and where one such query is used to obtain the common data portion. can. In some embodiments, the request subsystem 116 is configured such that at least one of the plurality of queries obtains a first set of commonly sought data from the first source; The plurality of queries may be generated such that at least another one of them is configured to obtain a second set of commonly sought data from a second source. As an example, a predetermined query for retrieving a first set of commonly sought data from a first source is compatible with the first source; may be configured to be incompatible with the second source. As another example, a predetermined query for retrieving a second set of commonly sought data from a second source may be compatible with the second source; , but may be configured to be incompatible with the first source. In response to obtaining a set of commonly desired data from different sources (e.g., a first source, a second source, etc.), request subsystem 116 retrieves a set of commonly desired data. may be configured to respond to each data request by combining the data requests and returning the combined set.

いくつかの実施形態では、リクエストサブシステム116は、(例えば、一つ以上のユーザデバイスから取得される)複数のデータリクエストがそれぞれ、全てのデータリクエストに共通する2つ以上の属性に関連付けられた2つ以上の値を求めることを判定してもよい。一例として、データリクエストは、(i)グループA内の複数の個人の名前、グループB内の複数の個人の名前等を一括して求めるように決定されてもよいし、(ii)グループA内の複数の個人の住所、グループB内の複数の個人の住所等を一括して求めるように決定されてもよい。一使用例では、第1のデータリクエストは、複数のグループのうちの一つの第1個人の名前およびアドレスを求めてもよく、第2のデータリクエストは、複数のグループのうちの一つの第2個人の名前およびアドレスを求めてもよい。いくつかの実施形態では、(i)第1の共通属性(例えば、名前)に関連付けられた値が第1のデータソースから取得可能であり、(ii)第2の共通属性(例えば、アドレス)に関連付けられた値が第2のデータソースから取得可能であるという判定に基づいて、リクエストサブシステム116は(例えば、クエリセットの一部として)一つ以上のクエリを生成してもよい。ここで、複数のクエリのうちの少なくとも一つは、第1の共通属性に関連付けられた値を第1のデータソースから取得するように構成され、複数のクエリのうちの少なくとも別の一つは、第2の共通属性に関連付けられた値を第2のデータソースから取得するように構成される。いくつかの実施形態では、データリクエストのそれぞれについて、リクエストサブシステム116は、第1のデータソースから取得されたリクエストした値と、第2のデータソースから取得されたリクエストした値とを結合し、結合されたリクエスト値を返してデータリクエストに応答してもよい。あるシナリオでは、例えば、それぞれが異なる個人の名前と住所を求める多数のデータリクエスト(例えば、数十個のリクエスト、数百個のリクエスト、数千個のリクエスト等)があるかもしれないが、それら全てのデータリクエストについて名前を第1のデータソースから取得するために一つのクエリが生成され、それら全てのデータリクエストについて住所を第2のデータソースから取得するために別のクエリが生成されてもよい。2つのクエリを実行して名前および住所の少なくとも一部を取得すると、各個人の名前と住所とが結合され、対応するデータリクエスト(すなわち、その特定の個人の名前と住所を求めたリクエスト)に応答するべく返答されてもよい。 In some embodiments, the request subsystem 116 determines whether each of the plurality of data requests (e.g., obtained from one or more user devices) is associated with two or more attributes common to all data requests. It may be determined to obtain two or more values. As an example, the data request may be determined to (i) request the names of multiple individuals within group A, the names of multiple individuals within group B, etc., or (ii) request the names of multiple individuals within group A, etc. The addresses of multiple individuals in Group B, the addresses of multiple individuals in Group B, etc. may be determined at once. In one use case, the first data request may seek the name and address of a first individual of one of the plurality of groups, and the second data request may seek the name and address of a first individual of one of the plurality of groups. An individual's name and address may be requested. In some embodiments, (i) the value associated with the first common attribute (e.g., name) is retrievable from the first data source; and (ii) the value associated with the first common attribute (e.g., address) is retrievable from the first data source. Request subsystem 116 may generate one or more queries (eg, as part of a query set) based on the determination that the value associated with . wherein at least one of the plurality of queries is configured to retrieve a value associated with the first common attribute from the first data source, and at least another one of the plurality of queries is , configured to obtain a value associated with the second common attribute from the second data source. In some embodiments, for each data request, request subsystem 116 combines the requested value obtained from the first data source and the requested value obtained from the second data source; May respond to data requests by returning a combined request value. In a given scenario, there may be many data requests (e.g., tens of requests, hundreds of requests, thousands of requests, etc.), each asking for the name and address of a different person, but Even if one query is generated to retrieve names from a first data source for all data requests and another query is generated to retrieve addresses from a second data source for all those data requests. good. After running the two queries to retrieve at least a portion of the name and address, each person's name and address are combined into a corresponding data request (i.e., a request for that particular person's name and address). A reply may be sent in response.

いくつかの実施形態では、一つまたは複数の属性に関連付けられた一つまたは複数の値を求める第1のリクエストを取得した後、リクエストサブシステム116は、当該第1のリクエストに応答するためにデータを取得するように構成された一つ以上のクエリを生成または実行する前に所定の時間が経過するのを待ってもよい。この待機期間は、他のリクエスト(第1のリクエストで求められた属性と共通する少なくとも一つの属性に関連付けられた値を求める)を取得することを可能にし、それによって第1のリクエストおよび他のリクエストに応答するために実行する必要があるクエリの全体的な数を減少させる。いくつかの実施形態では、リクエストサブシステム116は、所定の時間が経過したかどうか(例えば、所定のリクエストを取得してからの時間)を判定してもよい。所定の時間が経過していない場合、リクエストサブシステム116は、所与のリクエストのデータを取得するように構成された一つ以上のクエリの生成または実行を遅らせてもよい。一方、所定の時間が経過している場合、リクエストサブシステム116は、所与のリクエストを取得した後、どの他のリクエストが取得されたかを判定してもよい。所与のリクエストおよび所与のリクエストで求められた値として少なくとも一つの属性に関連付けられた値を求
める他のリクエストについて、リクエストサブシステム116は、これらリクエストが求める共通の属性に関連付けられた値を取得するように構成された一つ以上のクエリを生成し実行してもよい。
In some embodiments, after receiving a first request for one or more values associated with one or more attributes, the request subsystem 116 may wait a predetermined time to elapse before generating or executing one or more queries configured to retrieve data to respond to the first request. This waiting period allows other requests (requesting values associated with at least one attribute common to the attribute sought in the first request) to be retrieved, thereby reducing the overall number of queries that need to be executed to respond to the first request and the other requests. In some embodiments, the request subsystem 116 may determine whether a predetermined time has elapsed (e.g., the time since receiving the given request). If the predetermined time has not elapsed, the request subsystem 116 may delay generating or executing one or more queries configured to retrieve data for the given request. On the other hand, if the predetermined time has elapsed, the request subsystem 116 may determine which other requests have been retrieved after receiving the given request. For the given request and the other requests that request values associated with at least one attribute as a value sought in the given request, the request subsystem 116 may generate and execute one or more queries configured to retrieve values associated with the common attribute sought by these requests.

いくつかの実施形態では、リクエストサブシステム116は、(i)過去リクエストのコレクション、(ii)過去リクエストから生成された過去クエリのコレクション、(iii)過去リクエストまたは過去クエリが取得された時刻を示すタイミング情報、(iv)過去リクエストまたは過去クエリの頻度を示す頻度情報、(v)過去リクエストを送信したユーザまたはユーザの種類を示すユーザ情報および当該ユーザまたはユーザの種類によってどの過去リクエストが送信されたかを示すユーザ情報、もしくは(vi)その他の情報、といったリクエスト履歴情報に基づいて(本明細書に記載されている待ち時間として)所定の時間を設定してもよい。いくつかの実施形態では、リクエストの分類毎に所定の時間が設定されてもよく、リクエストは、リクエストによって求められたコンテンツ、ユーザまたはユーザの種類(例えば、年齢、性別、場所またはユーザの他の分類)またはその他の基準に基づいて分類される。いくつかの実施形態では、リクエストの取得に応答して(例えば、リアルタイムで)、そのような所定の時間が所与のリクエストに対して決定されてもよい。一例として、リクエストを取得することに応答して、リクエストサブシステム116はリクエストのカテゴリを決定した後、(例えば、より多くの類似したリクエストを取得できるようにするための)待ち時間として使用される所定の時間量を決定してもよい。 In some embodiments, the request subsystem 116 indicates (i) a collection of past requests, (ii) a collection of past queries generated from past requests, and (iii) a time at which the past requests or past queries were obtained. (iv) frequency information indicating the frequency of past requests or queries; (v) user information indicating the user or type of user who sent the past request and which past requests were sent by the user or type of user; The predetermined time (as the waiting time described in this specification) may be set based on request history information such as user information indicating , or (vi) other information. In some embodiments, a predetermined amount of time may be set for each category of request, and the request may be made based on the content sought by the request, the user or the type of user (e.g., age, gender, location, or other information of the user). classification) or other criteria. In some embodiments, such a predetermined time may be determined for a given request in response to obtaining the request (eg, in real time). As an example, in response to retrieving a request, request subsystem 116 determines the category of the request, which is then used as a wait time (e.g., to enable retrieval of more similar requests). A predetermined amount of time may be determined.

本明細書で示されるように、いくつかの実施形態では、リクエストサブシステム116は、それぞれが共通の(例えば、全てのリクエストに共通の)属性に関連付けられた値を求めるリクエストの予測等、一つ以上のリクエストが将来発生することを予測してもよい。本明細書で説明されるように、そのような予測はリクエスト履歴情報に基づいてもよい。いくつかの実施形態では、リクエストサブシステム116は、将来のリクエストに関連する予測(例えば、各カテゴリのリクエストがいつまたはどの程度の頻度で発生するかに関する予測)に基づいて、リクエストの各カテゴリの所与の時間を設定してもよい。また本明細書で説明されるように、そのような予測を示す情報を出力するために、予測モデルはリクエスト履歴情報に基づいてトレーニングされてもよい。いくつかの実施形態では、予測モデルは自身の予測を評価するように構成されてもよく、そのような評価に基づいて、予測モデルは、(例えば、予測が正確であったかどうかまたは予測がどの程度正確であったかに応じて、予測モデルのパラメータまたは予測モデルのその他の部分の重みを調整することによって)予測モデルの一つ以上の部分を更新してもよい。 As indicated herein, in some embodiments, the request subsystem 116 performs a single process, such as predicting requests that each seek a value associated with a common (e.g., common to all requests) attribute. It may be possible to predict that more than one request will occur in the future. Such predictions may be based on request history information, as described herein. In some embodiments, request subsystem 116 determines whether each category of requests is based on predictions associated with future requests (e.g., predictions regarding when or how often requests in each category will occur). A given time may be set. As also described herein, a predictive model may be trained based on request history information to output information indicative of such predictions. In some embodiments, the predictive model may be configured to evaluate its own predictions, and based on such evaluation, the predictive model may determine whether or not the prediction was accurate (e.g., whether or how accurate the prediction was). One or more parts of the predictive model may be updated depending on whether it was accurate (by adjusting the parameters of the predictive model or the weights of other parts of the predictive model).

いくつかの実施形態では、リクエストサブシステム116は、ユーザデバイスまたは他のソースからデータリクエストを取得し、データリクエストに基づいて一つ以上のクエリを生成してもよい。いくつかの実施形態では、リクエストサブシステム116は、データリクエストに基づいてグラフクエリを生成してもよい。グラフクエリを取得することに応答して、最適化サブシステム118は、グラフクエリを、複数のクエリおよびこれらクエリをリンクするクエリ演算子(例えば、union、joinまたはその他のクエリ演算子)を有するクエリセットに変換してもよい。いくつかの実施形態では、グラフクエリはグラフデータベースと互換性を有し、グラフクエリを使用して、一つ以上の対象データソースと互換性を有するクエリセットに対する複数のクエリを生成してもよい。一例として、データソースのデータベース管理システムに従って、データソースからデータを取得するためにデータソースと互換性を有するクエリを実行してもよい。いくつかの実施形態では、前記複数のクエリは、対象データソースと互換性があるが、(グラフクエリは互換性を有する)グラフデータベースとは互換性がないものであってもよい。いくつかの実施形態では、データリクエストに基づいて、リクエストサブシステム116は、第1の再帰クエリ(例えば、グラフデータベースと互換性のあるグラフ再帰クエリ)を生成してもよい
。リクエストサブシステム116は、第1の再帰クエリを、(例えば、クエリセットに対して)一つ以上の第2の再帰クエリに変換してもよい。一例として、第2の再帰クエリの各々は対象データソースと互換性を有するように構成されていてもよく、(例えば、対象データソースをホストしている)対象のコンピュータシステムによって第2の再帰クエリの一つが実行されると、実行された再帰クエリは、対象コンピュータシステムに第2の再帰クエリから複数のクエリを生成させ、データリクエストに関連するデータを対象データソースから取得するべく当該複数のクエリを実行させる。
In some embodiments, request subsystem 116 may obtain a data request from a user device or other source and generate one or more queries based on the data request. In some embodiments, request subsystem 116 may generate a graph query based on the data request. In response to obtaining the graph query, optimization subsystem 118 converts the graph query into a query having multiple queries and query operators (e.g., union, join, or other query operators) that link the queries. May be converted to a set. In some embodiments, the graph query is compatible with a graph database, and the graph query may be used to generate multiple queries over a query set that is compatible with one or more target data sources. . As an example, a query compatible with the data source may be executed to retrieve data from the data source in accordance with the data source's database management system. In some embodiments, the plurality of queries may be compatible with the target data source, but not compatible with the graph database (whereas graph queries are compatible). In some embodiments, based on the data request, request subsystem 116 may generate a first recursive query (eg, a graph recursive query compatible with a graph database). Request subsystem 116 may convert the first recursive query into one or more second recursive queries (eg, for a query set). As an example, each of the second recursive queries may be configured to be compatible with the target data source, such that the second recursive query is executed by the target computer system (e.g., hosting the target data source). When one of the recursive queries is executed, the executed recursive query causes the target computer system to generate multiple queries from the second recursive query, and executes the multiple queries to obtain data related to the data request from the target data source. Execute.

いくつかの実施形態では、上記のクエリセットに関して、最適化サブシステム118は、上記クエリセットの一つ以上の部分に関連する一つ以上の問題を予測し、予測された問題に基づいてクエリセットに対する一つ以上の最適化を実行して、クエリセットを更新してもよい。そのように更新されたクエリセットがグラフクエリ(したがって、データリクエスト)を満たすために実行される場合、予測された問題または予測された問題の負の影響は回避されるまたは緩和され得る。 In some embodiments, with respect to the query set, optimization subsystem 118 predicts one or more problems associated with one or more portions of the query set and optimizes the query set based on the predicted problems. The query set may be updated by performing one or more optimizations on the query set. If such an updated query set is executed to satisfy the graph query (and thus the data request), the predicted problem or the negative impact of the predicted problem may be avoided or mitigated.

一例として、データリクエストは、ある従業員の給与と、その従業員に割り当てられたプロジェクトを尋ねてもよい。データリクエストは、(例えば、「従業員」ノードと「給与」ノードとが「hasSalary」エッジで接続され、「従業員」ノードと「プロジェクト」ノードとが「worksOn」エッジで接続されているグラフのデータ表現として、クエリの結果が格納される方法を反映した)以下の2つのパターンを有するグラフクエリとして記述されてもよい。
?従業員:hasSalary?給与
?従業員:worksOn?プロジェクト
As an example, a data request may ask about an employee's salary and the projects assigned to that employee. A data request can be made (for example, for a graph where the "employee" and "salary" nodes are connected by a "hasSalary" edge, and the "employee" and "project" nodes are connected by a "worksOn" edge). The data representation may be written as a graph query with the following two patterns (reflecting how the results of the query are stored):
? Employee: hasSalary? Salary? Employee: worksOn? project

ある使用例では、上記の例に関して、マッピング(またはそのようなマッピングによって定義されたテンプレート)が、給与情報またはプロジェクト情報を含むRDBMS内のソーステーブルを示してもよく、最適化サブシステム118は当該マッピングを(データベース固有のクエリトランスレータと共に)使用してグラフクエリをデータベースの言語でのクエリセットに変換してもよい。場合によっては、関係の各々に対して複数のソースが存在してもよく、その結果、多数のクエリ演算子を有するクエリセットが生成される。例えば、ある従業員が複数のプロジェクトで働いていて、これらのプロジェクトが複数のテーブルに格納されている場合がある。場合によっては、(RDBMSから結果を得るために)グラフクエリをクエリセットへ変換することにより、一つのパターンに対応するソースに対するUNIONが生成され、各パターンに対するUNIONの直交積をSQLjoinとして生成してもよい。グラフクエリにN個のパターンがあり、各タームに対してM個のソースがある場合、クエリ変換は、N×M個のUNIONを生成してもよい。最適化サブシステム118は、UNIONの数を減らしてもよいし、所与のUNION内の結合(join)を単純化してもよいし、そうでなければ、クエリセットを最適化してもよい。 In some use cases, with respect to the example above, a mapping (or a template defined by such a mapping) may point to a source table in an RDBMS that contains payroll information or project information, and the optimization subsystem 118 Mappings (along with database-specific query translators) may be used to convert graph queries into query sets in the language of the database. In some cases, there may be multiple sources for each of the relationships, resulting in a query set with multiple query operators. For example, an employee may be working on multiple projects, and these projects may be stored in multiple tables. In some cases, by converting a graph query into a queryset (to get results from an RDBMS), a UNION for the sources corresponding to one pattern is generated, and the orthogonal product of the UNION for each pattern is generated as a SQLjoin. Good too. If there are N patterns in the graph query and M sources for each term, the query transformation may generate N×M UNIONs. Optimization subsystem 118 may reduce the number of UNIONs, simplify joins within a given UNION, or otherwise optimize the query set.

いくつかの実施形態では、最適化サブシステム118は、クエリセット(例えば、グラフクエリまたは他のクエリから変換された初期クエリセット)に関連する一つ以上の充足可能性の問題を予測してもよい。幾つかの実施形態では、(2つのクエリから得られた結果の組み合わせに関連する)充足可能性の問題の予測に基づいて、最適化システム118は、クエリセットからこの2つのクエリをリンクするクエリ演算子を削除するか、このクエリセットに対して他の最適化を実行して当該クエリセットを更新してもよい。上記のように、システム100が、グラフクエリ(したがって、データリクエスト)を満たすために更新されたクエリセットを実行する場合、システム100は、(i)クエリセットの1つ以上の部分を実行し、そのようなクエリセットの実行から派生した互換性のない結果を組み合せようとするのに使用されるリソースの無駄、(ii)そのような実行と試行から
生じる遅延、または(iii)その他の悪影響といった、充足可能性の問題または充足可能性の問題の負の影響を回避または軽減することができる。
In some embodiments, optimization subsystem 118 may predict one or more satisfiability problems associated with a query set (e.g., an initial query set transformed from a graph query or other query). good. In some embodiments, based on the prediction of satisfiability problems (related to the combination of results obtained from the two queries), optimization system 118 selects a query from the query set that links the two queries. The query set may be updated by removing operators or performing other optimizations on the query set. As described above, when system 100 executes an updated query set to satisfy a graph query (and thus a data request), system 100: (i) executes one or more portions of the query set; such as the waste of resources used in attempting to combine incompatible results derived from the execution of such querysets, (ii) delays resulting from such executions and attempts, or (iii) any other adverse effects. , satisfiability problems or the negative effects of satisfiability problems can be avoided or reduced.

いくつかの実施形態では、クエリセット内の複数のクエリが、一つ以上のクエリ演算子(例えば、union、joinまたはその他のクエリ演算子)によってリンクされている場合、最適化サブシステム118は、リンクされたクエリに対する結果を得るための一つ以上のソースを決定してもよい。複数のクエリのうちの2つについて結果を得るべきソースが少なくとも2つある(そして、そのような結果は、最初はグラフデータベースと互換性を有さない)場合、最適化サブシステム118は、そのようなソースからのデータ表現をグラフデータベースと互換性のあるグラフデータ表現に変換するように構成されたテンプレートの評価を行ってもよい。最適化サブシステム118が、少なくとも2つのそのようなテンプレートに関連する非互換性があると判定した場合、最適化サブシステム118は、(2つのクエリに由来する結果を組み合わせることに関連する)満足度の問題を予測し、2つのクエリをリンクするクエリ演算子をクエリセットから削除するまたはクエリセットを更新するためにクエリセットに対して他の最適化を実行してもよい。ある使用例では、マッピングは、グローバルに一意な識別子(IRIと称される場合もある)を作成することで、RDBMSからの行をグラフ内のノードへと変換するためのテンプレートを定義してもよい。例として、ID123の従業員は、「http://example.org/employee/123」のような識別子にマッピングされてもよい。2つのソースに対するマッピングが互換性のないテンプレートを使用している場合、最適化サブシステム118は、結合結果が空になることを予測して、当該結合結果を排除してもよい。例として、あるテンプレートが「http://example.org/employee/{ID}」の形をしていて、別のテンプレートが「http://example.org/department/{ID}」の形をしている場合、IDの値に関係なく、2つのテンプレートは互換性がないと結論づけることができる。つまり、テンプレートには固定部分および変数部分、例えば「http://example.org/employee/」および「{ID}」がある。クエリを実行する前の変数の値は未知であるが、テンプレートの固定部分が不整合であれば、その不整合性を利用して、2つのテンプレート間の結合可能性を除外することができる。 In some embodiments, if multiple queries in the query set are linked by one or more query operators (e.g., union, join, or other query operators), optimization subsystem 118: One or more sources for obtaining results for the linked query may be determined. If there are at least two sources from which to obtain results for two of the plurality of queries (and such results are initially not compatible with the graph database), the optimization subsystem 118 A template configured to convert a data representation from such a source into a graph data representation compatible with a graph database may be evaluated. If optimization subsystem 118 determines that there are incompatibilities associated with at least two such templates, optimization subsystem 118 determines whether the optimization subsystem 118 is satisfied (associated with combining results from two queries). Other optimizations may be performed on the query set to anticipate degree problems and remove query operators that link two queries from the query set or update the query set. In some use cases, a mapping may define a template for converting rows from an RDBMS into nodes in a graph by creating globally unique identifiers (sometimes referred to as IRIs). good. As an example, an employee with ID 123 may be mapped to an identifier such as "http://example.org/employee/123." If the mappings for the two sources use incompatible templates, optimization subsystem 118 may eliminate the join result, expecting it to be empty. As an example, one template has the form "http://example.org/employee/{ID}" and another template has the form "http://example.org/department/{ID}". , we can conclude that the two templates are incompatible, regardless of the value of the ID. That is, a template has a fixed part and a variable part, such as "http://example.org/employee/" and "{ID}". Although the values of the variables before the query is executed are unknown, if the fixed portions of the templates are inconsistent, the possibility of a combination between the two templates can be excluded using that inconsistency.

いくつかの実施形態では、最適化サブシステム118は、クエリセット内の一つ以上のクエリ演算子によってリンクされたクエリに対する結果に対応するデータ型を決定し、当該データ型に関連する一つ以上の非互換性に基づいてクエリセットの最適化を実行してもよい。いくつかの実施形態では、最適化サブシステム118は、(クエリセットにおける複数のリンクされたクエリのうちの一つからの)結果の第1のセットをグラフデータベース内に格納するために使用される第1のデータ型が、(前記複数のリンクされたクエリのうちの別の一つからの)結果の第2のセットを前記グラフデータベース内に格納するために使用される第2のデータ型と非互換であると判定してもよい。データ型の非互換性との判定に基づいて、最適化サブシステム118は、(2つのクエリに由来する結果を組み合わせることに関連して)充足性の問題を予測し、クエリセットから前記2つのクエリをリンクしているクエリ演算子を削除するまたはクエリセットを更新するためにクエリセットに対してその他の最適化を実行してもよい。あるシナリオでは、例えば、テーブル内の列は、IRIの代わりにグラフ内のプリミティブ値(例えば、整数、文字列、日付等)にマッピングされてもよい。クエリが2つのテーブルから2つの互換性のない型(例えば、整数と日付)を結合しようとした場合、そのような試みは(このシナリオでは)失敗に終わる。このように、2つのデータセットをそれぞれ格納するためにそのようなデータ型が使用されると判断される場合、最適化サブシステム118は、充足可能性の問題(例えば、2つの互換性のない型の結合の失敗)を予測し、適切な最適化を実行してもよい(例えば、対応するクエリ演算子の削除、クエリ演算子の代わりに別の演算子を補足する、等)。 In some embodiments, optimization subsystem 118 determines a data type corresponding to a result for a query linked by one or more query operators in the query set, and determines one or more data types associated with the data type. Query set optimization may be performed based on incompatibilities. In some embodiments, the optimization subsystem 118 is used to store the first set of results (from one of the multiple linked queries in the query set) in a graph database. a first data type; a second data type used to store a second set of results (from another one of the plurality of linked queries) within the graph database; It may be determined that they are incompatible. Based on the determination of data type incompatibilities, optimization subsystem 118 predicts sufficiency problems (related to combining results from two queries) and determines whether the two queries Other optimizations may be performed on the queryset to remove query operators that link the queries or update the queryset. In some scenarios, for example, columns in a table may be mapped to primitive values (eg, integers, strings, dates, etc.) in a graph instead of IRIs. If a query attempts to join two incompatible types (e.g., integer and date) from two tables, such an attempt (in this scenario) will fail. Thus, if it is determined that such data types are used to store each of two data sets, optimization subsystem 118 may address satisfiability issues (e.g., two incompatible data types). type join failures) and perform appropriate optimizations (e.g., removing the corresponding query operator, substituting another operator for the query operator, etc.).

いくつかの実施形態では、クエリセットに関連する一つ以上の充足可能性の問題の予測に基づいて、最適化サブシステム118は、予測された充足可能性の問題およびクエリセットに関連する一つ以上の更なるの充足可能性問題を予測してもよい。最適化サブシステム118は、更なる充足可能性問題に関連する一つ以上のクエリ演算子を削除するまたはクエリセットに対してその他の最適化を実行してもよい。いくつかの実施形態では、第1のクエリ、第2のクエリおよび一つ以上のその他のクエリは、クエリセット内のクエリ演算子によってリンクされていてもよい。第1のクエリおよび第2のクエリに関連する(例えば、第1のクエリおよび第2のクエリに由来する結果を組み合わせることに関連した)第1の充足可能性の問題の予測に基づいて、最適化サブシステム118は、クエリセット内の第1のクエリおよび第2のクエリをリンクする第1のクエリ演算子を削除する、または、第1のクエリおよび第2のクエリを含むクエリセット部分を変更(例えば、第1のクエリ演算子を除外するまたはその他の変更を実行)してもよい。第1の充足可能性の問題の予測に基づいて、最適化サブシステム118は、一つ以上のその他の充足可能性の問題(例えば、第1のクエリおよび他のクエリの少なくとも一つに由来する結果の組み合わせ、第2のクエリおよび他のクエリの少なくとも一つに由来する結果の組み合わせ等に関連する)を予測してもよい。その他の充足可能性問題の予測に基づいて、最適化サブシステム118は、第1のクエリ、第2のクエリまたはその他のクエリのうちの2つ以上をリンクする第2のクエリ演算子を削除する、もしくはその他の方法で、前記2つ以上のクエリを含むクエリセットの部分を修正してもよい(例えば、第2のクエリ演算子を除外するまたはその他の変更を実行する)。一使用例では、最適化サブシステム118は、充足不可能性の伝播について最適化するために、クエリセットの一つ以上の部分を修正してもよい(例えば、一つ以上のクエリ演算子を除外するまたはその他の変更を実行する)。一例として、「?従業員:hasSalary?給与」と「?従業員:worksOn?プロジェクト」という2つのパターンを有するグラフクエリに関して、最適化サブシステム118は、前記2つのパターンに関連した充足可能性の問題があると判断した場合(例えば、そのようなパターンから生成されたクエリから導出された結果が結合できない場合)、パターンから伝播する可能性のあるその他の問題を予測してもよい。更なる例では、2つのパターンが充足不可能である(例えば、それらが結合できない)ことが判明したことに応答して、最適化サブシステム118は、他の充足可能なパターンが存在する可能性がある場合であっても、充足不可能性がクエリセットを介して伝播すると判断してもよい。例えば、グラフクエリに別のパターンが追加された場合(例えば、従業員名を取得しようとする場合)、最適化サブシステム118は、最初の2つのパターンが結合できなかったため、結果が返されないと判断してもよい。 In some embodiments, based on the prediction of one or more satisfiability problems associated with the query set, optimization subsystem 118 determines the predicted satisfiability problems and one or more satisfiability problems associated with the query set. Further satisfiability problems above may be anticipated. Optimization subsystem 118 may remove one or more query operators related to additional satisfiability problems or perform other optimizations on the query set. In some embodiments, the first query, the second query, and one or more other queries may be linked by a query operator within a query set. Based on predictions of a first satisfiability problem related to the first query and the second query (e.g., related to combining results from the first query and the second query), The optimization subsystem 118 deletes the first query operator that links the first query and the second query in the query set, or modifies the portion of the query set that includes the first query and the second query. (e.g., excluding the first query operator or making other changes). Based on the prediction of the first satisfiability problem, optimization subsystem 118 determines whether one or more other satisfiability problems (e.g., (relating to a combination of results, a combination of results from the second query and/or other queries, etc.) may be predicted. Based on predictions of other satisfiability problems, optimization subsystem 118 removes second query operators that link two or more of the first query, the second query, or the other queries. , or otherwise modify the portion of the query set that includes the two or more queries (eg, by excluding a second query operator or making other changes). In one use case, optimization subsystem 118 may modify one or more portions of the query set (e.g., modify one or more query operators) to optimize for unsatisfiability propagation. or make other changes). As an example, for a graph query that has two patterns: "?Employee:hasSalary?Salary" and "?Employee:worksOn?Project", the optimization subsystem 118 calculates the satisfiability associated with the two patterns. If we determine that there is a problem (e.g., results derived from queries generated from such patterns cannot be combined), we may predict other problems that may propagate from the pattern. In a further example, in response to determining that two patterns are unsatisfiable (e.g., they cannot be combined), optimization subsystem 118 determines the possibility that other satisfiable patterns exist. Even if there is, it may be determined that unsatisfiability is propagated through the query set. For example, if another pattern is added to the graph query (e.g., when trying to retrieve employee names), the optimization subsystem 118 may assume that no results are returned because the first two patterns could not be combined. You can judge.

いくつかの実施形態では、最適化サブシステム118は、(例えば、クエリが実行されるべき一つ以上のRDBMSまたは他のデータベース管理システムにクエリを送信する前に)クエリセットに対して一つ以上の自己結合除去またはその他の最適化を実行してもよい。いくつかの実施形態では、UNION構成要素のうちの一つを排除することはできないが、パフォーマンスを向上させるために簡略化してもよい。2つのパターンが同じソーステーブルにマッピングされ、そのテーブルに固有のキーが存在する場合、最適化サブシステム118は、結合(例えば、SELECTe1.suffer,e1.salary,e2.suffer,e2.salarayFROMemployeesASe1,employeesase2WHEREe1.suffer=e2.suffer)の代わりに、単一のクエリ(例えば、SELECTemployee,salary,projectFROMemployees)を生成してもよい。この場合、クエリ実行データベース管理システムのSQLオプティマイザがこの種の変換を実行することもあるが、クエリに更に多くのパターンが追加されることで、生成されるSQLクエリの複雑さはSQLオプティマイザが扱える範囲を超えてしまう。SQLWHERE句において結合条件や式が多すぎるクエリは、SQLオプティマイザの検索スペースを指数関数的に増加させ、その結果、オプティマイザはヒューリスティクス(heuristics)を使用して準最
適クエリプランを生成することになる。
In some embodiments, optimization subsystem 118 performs one or more calculations on the query set (e.g., before sending the query to one or more RDBMSs or other database management systems where the query is to be executed). Self-join removal or other optimizations may be performed. In some embodiments, one of the UNION components cannot be eliminated, but may be simplified to improve performance. If the two patterns map to the same source table and that table has a unique key, the optimization subsystem 118 performs a join (e.g., SELECTe1.suffer, e1.salary, e2.suffer, e2.salarayFROMemployeesASe1, employeesase2WHEREe1 .suffer=e2.suffer), a single query (eg, SELECTemployee, salary, projectFROMemployees) may be generated. In this case, the query execution database management system's SQL optimizer may perform this type of transformation, but as more patterns are added to the query, the complexity of the resulting SQL query can be handled by the SQL optimizer. It goes beyond the scope. Queries with too many join conditions or expressions in the SQL WHERE clause exponentially increase the SQL optimizer's search space, causing the optimizer to use heuristics to generate suboptimal query plans. .

いくつかの実施形態では、(i)対応する複数のクエリセット各々に関連する一つ以上の問題、(iii)対応する複数のクエリセット各々に対する最適化、または(iii)他の情報、を予測モデルに予測させるために、最適化サブシステム118は、グラフクエリ、(グラフクエリから導出された)対応するクエリセットまたはその他の情報を予測モデルに提供してもよい。一例として、そのような問題には、(例えば、特定のクエリに由来する結果を組み合わせることに関連する)一つ以上の充足可能性の問題、非互換性の問題またはその他の問題が含まれ得る。そのようなクエリセットの最適化は、複数のクエリをリンクするクエリ演算子のクエリセットからの削除、クエリセットにおける複数のクエリを単一のクエリへと統合、一つまたは複数のクエリをクエリセットから削除またはその他の最適化を含んでもよい。いくつかの実施形態では、対応するクエリセットの各々に関して、最適化サブシステム118は、対応するクエリセットについての一つ以上の参照問題または参照最適化を、予測モデルが行った当該問題または最適化の予測に対する参照フィードバックとして予測モデルに提供して、予測モデルをトレーニングしてもよい。一例として、参照問題または最適化は、予測モデルに予測した問題または最適化を参照問題または参照最適化に対して評価させるための参照フィードバックとして提供されてもよい。予測モデルは、参照課題または参照最適化を使用して、自身が行った問題または最適化の予測を評価するようにしてもよい。予測モデルは、その予測の評価に基づいて、予測モデルの一つ以上の部分を(本明細書に記載されているように)更新してもよい。 In some embodiments, the optimization subsystem 118 may provide the graph query, the corresponding query set (derived from the graph query), or other information to the predictive model to cause the predictive model to predict (i) one or more problems associated with each of the corresponding query sets, (iii) an optimization for each of the corresponding query sets, or (iii) other information. By way of example, such problems may include one or more satisfiability problems (e.g., associated with combining results from a particular query), incompatibility problems, or other problems. Such optimization of a query set may include removing query operators from the query set that link multiple queries, merging multiple queries in the query set into a single query, removing one or more queries from the query set, or other optimizations. In some embodiments, for each corresponding query set, the optimization subsystem 118 may provide one or more reference problems or reference optimizations for the corresponding query set to the predictive model as reference feedback for the prediction of that problem or optimization made by the predictive model to train the predictive model. By way of example, the reference problem or optimization may be provided as reference feedback to cause the predictive model to evaluate the predicted problem or optimization against the reference problem or reference optimization. A predictive model may use a reference problem or reference optimization to evaluate its predictions for the problem or optimization. Based on the evaluation of its predictions, the predictive model may update one or more portions of the predictive model (as described herein).

いくつかの実施形態では、最適化サブシステム118は、グラフクエリまたはその他の情報を予測モデルに提供して、予測モデルが複数のグラフクエリの各々についてクエリセットを予測するようにしてもよい。いくつかの実施形態では、複数のグラフクエリの各々に関して、最適化サブシステム118は、予測モデルが行ったクエリセットの予測に対する参照フィードバックとしてグラフクエリについての参照クエリセットを予測モデルに提供して、予測モデルをトレーニングしてもよい。一例として、参照クエリセットは、予測モデルが予測したクエリセットを参照クエリセットに対して評価させるような参照フィードバックとして提供されてもよい。予測モデルは、参照クエリセットを使用して、自身が行ったクエリセットの予測を評価してもよい。予測モデルは、その予測の評価に基づいて、予測モデルの一つ以上の部分を(本明細書に記載されているように)更新してもよい。 In some embodiments, optimization subsystem 118 may provide graph queries or other information to a predictive model such that the predictive model predicts a query set for each of the plurality of graph queries. In some embodiments, for each of the plurality of graph queries, optimization subsystem 118 provides a reference query set for the graph query to the predictive model as reference feedback to the predictions of the query set made by the predictive model; A predictive model may be trained. As an example, the reference query set may be provided as reference feedback such that the prediction model evaluates the predicted query set against the reference query set. A predictive model may use a reference query set to evaluate the predictions it has made for the query set. The predictive model may update one or more portions of the predictive model (as described herein) based on the evaluation of the prediction.

いくつかの実施形態では、予測モデルがトレーニングされると(またはそのようなトレーニングに基づいて更新されると)、最適化サブシステム118は、予測モデルを使用して、(i)グラフクエリ(またはその他のクエリ)から導出された初期クエリセットに関連する一つ以上の問題、または(ii)初期クエリセットに対する一つ以上の最適化を決定してもよい。一例として、最適化サブシステム118は、(i)初期クエリセットに関連する問題、(ii)初期クエリセットに対する最適化、または(iii)最適化されたクエリセット、についての予測を得るために、予測モデルへの入力としてグラフクエリまたは初期クエリセットを提供してもよい。ある使用例では、そのような入力に応答して予測モデルは、最適化されたクエリセット、そのような問題を示す情報またはそのような最適化を示す情報(例えば、そのような最適化のための指示または他の指示)を出力してもよい。別の使用例では、最適化サブシステム118は、問題または最適化を示す情報を使用して、初期クエリセットを最適化クエリセットに変換してもよい。 In some embodiments, once the predictive model is trained (or updated based on such training), optimization subsystem 118 uses the predictive model to perform (i) graph queries (or or (ii) one or more optimizations to the initial query set. As an example, the optimization subsystem 118 may perform a prediction for (i) a problem associated with the initial query set, (ii) an optimization on the initial query set, or (iii) an optimized query set. A graph query or initial query set may be provided as input to the predictive model. In some use cases, a predictive model in response to such input may include an optimized query set, information indicative of such problem or information indicative of such optimization (e.g. or other instructions). In another use case, optimization subsystem 118 may use information indicative of the problem or optimization to transform an initial query set into an optimized query set.

[クエリの応答結果の表示] [Display query response results]

プレゼンテーションサブシステム120は、クエリ結果または他の情報の表示させるように構成されてもよい。プレゼンテーションサブシステム120は、グラフデータモデルテンプレート、クエリ結果に対するリクエストの予測、リクエストの予測に応答して得ら
れた結果のサブセット、一時データストレージ内のサブグラフに格納された結果のサブセットまたはその他の情報に基づいて、クエリ結果を表示させるように構成されてもよい。表示されたクエリ結果は、グラフィカル・ユーザ・インタフェースまたはその他のインタフェースにおける一つ以上のビュー内の一つ以上のフィールドを含んでもよい。グラフィカル・ユーザ・インタフェースは、一つまたは複数のクライアントデバイス104またはその他のコンピュータシステム上で表示されてもよい。いくつかの実施形態では、表示は、グラフィック、テキストまたはその他の表現を含んでもよい。いくつかの実施形態では、表示は、グラフデータモデルのサブマップまたはその他のビューを含んでもよい。いくつかの実施形態では、表示は、グラフィカル・ユーザ・インタフェースまたはその他のディスプレイにおける様々なビューに、一つ以上のテキストおよび/またはグラフィカルフィールドを提供することを含んでもよい。
Presentation subsystem 120 may be configured to display query results or other information. The presentation subsystem 120 provides a graph data model template, a prediction of the request for the query results, a subset of the results obtained in response to the prediction of the request, a subset of the results stored in a subgraph in temporary data storage, or other information. The query result may be displayed based on the query result. The displayed query results may include one or more fields in one or more views in a graphical user interface or other interface. A graphical user interface may be displayed on one or more client devices 104 or other computer systems. In some embodiments, the display may include graphics, text, or other representations. In some embodiments, the display may include a submap or other view of the graph data model. In some embodiments, displaying may include providing one or more text and/or graphical fields in various views in a graphical user interface or other display.

いくつかの実施形態では、プレゼンテーションサブシステム120は、ユーザからの情報の入力または選択を容易にするために、グラフィカル・ユーザ・インタフェースと通信するように構成されてもよい。例えば、本明細書に記載されるように、いくつかの実施形態では、所与のノードまたはエッジの追加に関してグラフィカル・ユーザ・インタフェースを介して入力または選択されるユーザの了承に基づいて、予測モデルからの前記所与のノードまたはエッジがグラフに追加されてもよい。ユーザが了承したことを示す情報は、予測モデルの前記所与のノードまたはエッジの生成に関する参照フィードバックとして、プレゼンテーションサブシステム120によって予測モデルに提供されてもよい。いくつかの実施形態では、前記所与のノードまたはエッジの追加に関してのユーザの拒否は、グラフィカル・ユーザ・インタフェースを介してプレゼンテーションサブシステム120によって取得されてもよい。ユーザが拒否したことに応答して、所与のノードまたはエッジがグラフに追加されなくてもよい。ユーザが拒否したことを示す情報は、予測モデルの前記所与のノードまたはエッジの生成に関する参照フィードバックとして、プレゼンテーションサブシステム120によって予測モデルに提供されてもよい。 In some embodiments, presentation subsystem 120 may be configured to communicate with a graphical user interface to facilitate input or selection of information from a user. For example, as described herein, in some embodiments, a predictive model is created based on user consent entered or selected via a graphical user interface for adding a given node or edge. The given node or edge from may be added to the graph. Information indicating user acceptance may be provided to the predictive model by the presentation subsystem 120 as reference feedback regarding the generation of the given node or edge of the predictive model. In some embodiments, the user's refusal to add the given node or edge may be obtained by presentation subsystem 120 via a graphical user interface. A given node or edge may not be added to the graph in response to the user's refusal. Information indicating the user's rejection may be provided to the predictive model by the presentation subsystem 120 as reference feedback regarding the generation of the given node or edge of the predictive model.

いくつかの実施形態では、プレゼンテーションサブシステム120は、グラフィカル・ユーザ・インタフェースと通信して、一つ以上のメニュー、フィールドおよび/またはその他の一つ以上のフィールドの中または隣接するその他のオブジェクトの拡張および収縮、ポップアップおよび/またはその他の表示を容易にするように構成されてもよい。いくつかの実施形態では、プレゼンテーションサブシステム120は、ユーザによるポインタまたはその他のインジケータを用いた、表示の特定の部分のポインティング、クリックまたはホバリングに応答して、そのような表示を発生させてもよい。いくつかの実施形態では、拡張されたフィールド、ポップアップフィールド、追加のメニュー項目および/またはその他のオブジェクトは、クエリ結果に対応する追加のコンプリメンタリまたは追加情報をユーザに対して表示する。 In some embodiments, presentation subsystem 120 communicates with a graphical user interface to extend one or more menus, fields, and/or other objects in or adjacent to one or more other fields. and may be configured to facilitate contractions, pop-ups and/or other displays. In some embodiments, presentation subsystem 120 may generate such a display in response to a user pointing, clicking, or hovering over a particular portion of the display with a pointer or other indicator. . In some embodiments, expanded fields, pop-up fields, additional menu items, and/or other objects display additional complementary or additional information to the user corresponding to the query results.

[フローチャート例] [Flowchart example]

図12~図14は、上記で詳細に説明したシステムの様々な特徴および機能を可能とするための方法を含む処理動作を示すフローチャートの一例である。以下で説明する各方法の各処理動作は例示を目的としたものであり、限定するものではない。一部の実施形態において、例えば、これらの方法は、説明していない一つ以上の処理を追加して実現されてもよいし、説明している処理のうちの一つ以上を省略して実現されてもよい。また、各方法の処理動作を図示する(そして以下で説明する)順序は、それに限定することを意図したものではない。 12-14 are exemplary flowcharts illustrating process operations including methods for enabling the various features and functions of the system described in detail above. The processing operations of each method described below are intended to be illustrative and not limiting. In some embodiments, for example, these methods may be implemented by adding one or more operations not described or by omitting one or more of the operations described. may be done. Additionally, the order in which the process operations of each method are illustrated (and described below) is not intended to be limiting.

一部の実施形態において、各方法は、一つまたは複数の処理デバイス(例えば、デジタルプロセッサ、アナログプロセッサ、情報処理用のデジタル回路、情報処理用のアナログ
回路、ステートマシン、および/または、電子的に情報を処理するこれら以外の機構)において実装され得る。これらの処理デバイスは、電子記憶媒体に電子的に記憶された命令に応答して、各方法の処理の一部または全てを実行する一つまたは複数のデバイスを含んでもよい。これらの処理デバイスは、各方法の処理のうち一つまたは複数を実行するよう特別に設計されるべく、ハードウェア、ファームウェアまたはソフトウェアによって構成される1または複数のデバイスを含むとしてよい。
In some embodiments, each method includes one or more processing devices (e.g., digital processors, analog processors, digital information processing circuits, information processing analog circuits, state machines, and/or electronic may be implemented in other mechanisms (mechanisms other than these that process information). These processing devices may include one or more devices that perform some or all of the processing of each method in response to instructions electronically stored on an electronic storage medium. These processing devices may include one or more devices configured by hardware, firmware, or software specifically designed to perform one or more of the operations of each method.

図12は、一つ以上の実施形態に従って、予測モデルを介してグラフを生成する方法1200のフローチャートを示す。いくつかの実施形態では、予測モデルは、ニューラルネットワーク、機械学習モデルまたはその他の予測モデルを含んでもよい。 FIG. 12 depicts a flowchart of a method 1200 of generating a graph via a predictive model in accordance with one or more embodiments. In some embodiments, the predictive model may include a neural network, machine learning model, or other predictive model.

処理1202において、第1のモデリング情報が取得されてもよい。第1のモデリング情報は、第1のグラフデータモデルに関連していてもよい。第1のモデリング情報は、第1のグラフデータベースと互換性のない第1のデータ表現を第1のグラフデータベースと互換性のあるグラフデータ表現に変換するための第1のテンプレートを含んでもよい。いくつかの実施形態では、処理1202は、所与のグラフデータベース内のグラフのノードおよびエッジに関連するグラフ情報を取得することを含んでもよい。グラフ情報は、データ表現セットを示してもよい。複数のデータ表現セットの各データ表現セットは、ノードと、ノードを接続するエッジとを含んでもよい。一つ以上の実施形態に従って、処理1202は、データ管理サブシステム112と同一または類似のグラフ生成サブシステムによって実行されてもよい。 In operation 1202, first modeling information may be obtained. The first modeling information may be associated with a first graph data model. The first modeling information may include a first template for converting a first data representation that is incompatible with the first graph database to a graph data representation that is compatible with the first graph database. In some embodiments, processing 1202 may include obtaining graph information related to nodes and edges of graphs within a given graph database. The graph information may indicate a data representation set. Each data representation set of the plurality of data representation sets may include nodes and edges connecting the nodes. In accordance with one or more embodiments, process 1202 may be performed by a graph generation subsystem that is the same as or similar to data management subsystem 112.

処理1204において、第1のテンプレートのうちの1以上のテンプレートおよび第1のデータ表現が、予測モデルに提供されてもよい。予測モデルは、第1のテンプレートの追加テンプレートを一つ以上予測してもよい。予測モデルは、追加テンプレートに依存することなく、当該追加テンプレートの予測を実行するように構成されてもよい。いくつかの実施形態では、処理1204は、複数のデータ表現セットのデータ表現セットそれぞれについて、データ表現セットの一つ以上のノードまたはエッジを、予測モデルに提供することを含んでもよい。予測モデルは、データ表現セットの一つ以上の追加ノードまたは追加エッジを予測してもよい。予測モデルは、追加ノードまたは追加エッジの予測を、当該追加ノードまたは追加エッジに依存することなく実行するように構成されてもよい。一つ以上の実施形態に従って、処理1204は、データ管理サブシステム112と同一または類似のグラフ生成サブシステムによって実行されてもよい。 At operation 1204, one or more of the first templates and the first data representation may be provided to a predictive model. The predictive model may predict one or more additional templates for the first template. The prediction model may be configured to perform predictions for the additional template without relying on the additional template. In some embodiments, processing 1204 may include, for each data representation set of the plurality of data representation sets, providing one or more nodes or edges of the data representation set to the predictive model. The predictive model may predict one or more additional nodes or edges of the data representation set. The prediction model may be configured to perform predictions of additional nodes or edges independently of the additional nodes or edges. According to one or more embodiments, process 1204 may be performed by a graph generation subsystem that is the same as or similar to data management subsystem 112.

処理1206において、第1のテンプレートの追加テンプレートが予測モデルに提供されてもよい。これらのテンプレートは、予測モデルが行った追加テンプレートの予測に対する参照フィードバックとして提供されてもよい。このフィードバックにより予測モデルがトレーニングされてもよい。いくつかの実施形態では、処理1206は、複数のデータ表現セットの各データ表現セットについて、予測モデルをトレーニングするために、予測モデルが行った追加ノードまたは追加エッジの予測に対する参照フィードバックとして、データ表現セットの追加ノードまたは追加エッジを予測モデルに提供することを含んでもよい。一つ以上の実施形態に従って、処理1206は、データ管理サブシステム114と同一または類似のモデルサブシステムによって実行されてもよい。 At operation 1206, additional templates of the first template may be provided to the predictive model. These templates may be provided as reference feedback for additional template predictions made by the predictive model. A predictive model may be trained by this feedback. In some embodiments, the process 1206 includes, for each data representation set of the plurality of data representation sets, the data representation as reference feedback for predictions of additional nodes or additional edges made by the predictive model to train the predictive model. The method may include providing additional nodes or edges of the set to the predictive model. According to one or more embodiments, processing 1206 may be performed by a model subsystem that is the same as or similar to data management subsystem 114.

処理1208において、所与のデータベースからのデータ表現のコレクションが予測モデルに提供されてもよい。これらのデータ表現により、所与のグラフデータモデルが所与のデータベースのデータ表現を所与のグラフデータベースのグラフデータ表現に変換するための一つ以上のテンプレートを、予測モデルが生成することを可能にしてもよい。いくつかの実施形態では、所与のグラフデータベースのグラフデータ表現は、グラフノードまたはグラフノードを接続するエッジを含む。一つ以上の実施形態に従って、処理1208
は、データ管理サブシステム112と同一または類似のグラフ生成サブシステムによって実行されてもよい。
At operation 1208, a collection of data representations from a given database may be provided to a predictive model. These data representations allow the predictive model to generate one or more templates for converting a given graph data model into a given graph database's data representation. You can also do this. In some embodiments, the graph data representation of a given graph database includes graph nodes or edges connecting graph nodes. In accordance with one or more embodiments, processing 1208
may be performed by a graph generation subsystem that is the same as or similar to data management subsystem 112.

いくつかの実施形態では、処理1208は、グラフのノードまたはエッジを処理するために、グラフのトラバースを予測モデルを介して実行することを含んでもよい。これにより、予測モデルは、グラフの新しいノードまたはエッジを生成してもよい。予測モデルからの新しいノードまたはエッジは、グラフに追加されてもよい。予測モデルからの所与のノードまたはエッジは、グラフのトラバースに基づいてグラフに追加されてもよい。いくつかの実施形態では、前記所与のノードまたはエッジの追加に関してユーザが了承することに基づいて、予測モデルからの当該所与のノードまたはエッジをグラフに追加してもよい。ユーザが了承したことを示す情報は、予測モデルが所与のノードまたはエッジを生成したことに関する参照フィードバックとして予測モデルに提供されてもよい。いくつかの実施形態では、所与のノードまたはエッジを追加することをユーザが拒否したことが取得されてもよい。ユーザが拒否したことに応答して、所与のノードまたはエッジがグラフに追加されなくてもよい。ユーザが拒否したことを示す情報は、予測モデルが所与のノードまたはエッジを生成したことに関する参照フィードバックとして予測モデルに提供されてもよい。 In some embodiments, processing 1208 may include performing a traversal of the graph through a predictive model to process nodes or edges of the graph. The predictive model may thereby generate new nodes or edges in the graph. New nodes or edges from the predictive model may be added to the graph. A given node or edge from the predictive model may be added to the graph based on a traversal of the graph. In some embodiments, a given node or edge from a predictive model may be added to a graph based on a user's consent to add the given node or edge. Information indicating user acceptance may be provided to the predictive model as reference feedback regarding the predictive model's generation of a given node or edge. In some embodiments, a user's refusal to add a given node or edge may be obtained. A given node or edge may not be added to the graph in response to the user's refusal. Information indicating that the user has rejected may be provided to the predictive model as reference feedback regarding that the predictive model generated a given node or edge.

いくつかの実施形態では、方法1200は、第2のグラフデータモデルに関連する第2のモデリング情報を得ることを更に含んでもよい。第2のモデリング情報は、第2のグラフデータベースと互換性のない第2のデータ表現を、第2のグラフデータベースと互換性のあるグラフデータ表現に変換するための第2のテンプレートを含んでもよい。いくつかの実施形態では、第1のデータ表現および第2のデータ表現は、同じデータベースと互換性があってもよい。いくつかの実施形態では、第1のデータ表現は、第1の非グラフデータベースと互換性があってもよい。第2のデータ表現は、第2の非グラフデータベースと互換性があり、第1の非グラフデータベースと互換性がないものであってもよい。いくつかの実施形態では、第1のデータ表現または第2のデータ表現は、少なくとも一つのグラフデータベースと互換性があってもよい。 In some embodiments, method 1200 may further include obtaining second modeling information associated with the second graph data model. The second modeling information may include a second template for converting a second data representation that is incompatible with the second graph database to a graph data representation that is compatible with the second graph database. . In some embodiments, the first data representation and the second data representation may be compatible with the same database. In some embodiments, the first data representation may be compatible with the first non-graph database. The second data representation may be compatible with the second non-graph database and incompatible with the first non-graph database. In some embodiments, the first data representation or the second data representation may be compatible with at least one graph database.

いくつかの実施形態では、方法1200は、第2のテンプレートの一つ以上のテンプレートおよび第2のデータ表現を予測モデルに提供することを更に含む。予測モデルは、第1のテンプレートの追加テンプレートを一つ以上予測してもよい。予測モデルは、前記第2のテンプレートの追加テンプレートに依存することなく、前記第2のテンプレートの当該追加テンプレートを予測するように構成されていてもよい。いくつかの実施形態では、方法1200は、予測モデルをトレーニングするために、予測モデルによる第2のテンプレートの追加テンプレートの予測に対する参照フィードバックとして、当該第2のテンプレートの追加テンプレートを予測モデルに提供することを更に含む。 In some embodiments, method 1200 further includes providing one or more of the second templates and the second data representation to the predictive model. The predictive model may predict one or more additional templates for the first template. The prediction model may be configured to predict the additional template of the second template without depending on the additional template of the second template. In some embodiments, the method 1200 provides the additional template of the second template to the predictive model as reference feedback for the prediction of the additional template of the second template by the predictive model to train the predictive model. It further includes:

図13は、一のまたは複数の実施形態に係る、予測に基づくデータサブグラフの生成を介してデータ検索遅延を低減する方法1300を示すフローチャートである。 FIG. 13 is a flowchart illustrating a method 1300 of reducing data retrieval delay through prediction-based generation of data subgraphs in accordance with one or more embodiments.

処理1302において、データリクエストが将来発生するという予測がなされてもよい。予測は、グラフデータモデルと互換性を有する過去のクエリに基づいてもよい。処理1302は、一つ以上の実施形態に従って、リクエストサブシステム116と同一または類似のリクエストサブシステムによって実行されてもよい。 In operation 1302, a prediction may be made that a data request will occur in the future. Predictions may be based on past queries that are compatible with graph data models. Process 1302 may be performed by a request subsystem that is the same as or similar to request subsystem 116, according to one or more embodiments.

処理1304において、一つ以上のサブグラフが生成されてもよい。サブグラフの生成は、グラフデータモデルに基づいてもよい。サブグラフは、一のデータセットのデータサブセットの代表であってもよい。データセットは、データリクエストが要求すると予測されるデータであってもよい。サブグラフは、データリクエストの予測に応答して生成され
てもよい。処理1304は、一つ以上の実施形態に従って、リクエストサブシステム116と同一または類似のリクエストサブシステムによって実行されてもよい。
In operation 1304, one or more subgraphs may be generated. Generation of subgraphs may be based on a graph data model. A subgraph may be representative of a data subset of a data set. The data set may be the data that the data request is expected to require. Subgraphs may be generated in response to predictions of data requests. Process 1304 may be performed by a request subsystem that is the same as or similar to request subsystem 116, according to one or more embodiments.

処理1306において、サブグラフを一時データストレージに格納してもよい。処理1306は、一つ以上の実施形態に従って、リクエストサブシステム116と同一または類似のリクエストサブシステムによって実行されてもよい。 At operation 1306, the subgraph may be stored in temporary data storage. Process 1306 may be performed by a request subsystem that is the same as or similar to request subsystem 116, according to one or more embodiments.

処理1308において、予測されたデータリクエストと一致する次のデータリクエストが取得されてもよい。次のデータリクエストは、サブグラフの格納に続いて取得されてもよい。処理1308は、一つ以上の実施形態に従って、リクエストサブシステム116と同一または類似のリクエストサブシステムによって実行されてもよい。 At operation 1308, a next data request that matches the predicted data request may be obtained. The next data request may be retrieved following storage of the subgraph. Process 1308 may be performed by a request subsystem that is the same as or similar to request subsystem 116, according to one or more embodiments.

処理1310において、サブグラフを一時データストレージから取得してもよい。サブグラフは、予測されたデータリクエストに一致する次のデータリクエストに基づいて取得されてもよい。予測されたデータリクエストと一致する次のデータリクエストに基づいて、クエリプランが生成されてもよい。クエリプランは、次のデータリクエストに応答するように生成されてもよい。クエリプランは、予測されたデータリクエストに一致する次のデータリクエストに基づいて一時データストレージからデータを取得することを含むように生成されてもよい。処理1310は、一つ以上の実施形態に従って、リクエストサブシステム116と同一または類似のリクエストサブシステムによって実行されてもよい。 In operation 1310, a subgraph may be retrieved from the temporary data storage. The subgraph may be retrieved based on the next data request matching the predicted data request. A query plan may be generated based on the next data request matching the predicted data request. The query plan may be generated to respond to the next data request. The query plan may be generated to include retrieving data from the temporary data storage based on the next data request matching the predicted data request. Operation 1310 may be performed by a request subsystem that is the same as or similar to request subsystem 116 according to one or more embodiments.

処理1312において、次のデータリクエストに応答するためにサブグラフを使用してもよい。一例として、データサブセットは一つ以上のサブグラフのノードおよびエッジから抽出され、次のデータリクエストに応答するべく抽出されたデータサブセットが返されてもよい。処理1312は、一つ以上の実施形態に従って、リクエストサブシステム116と同一または類似のリクエストサブシステムによって実行されてもよい。 At operation 1312, the subgraph may be used to respond to the next data request. As an example, a data subset may be extracted from nodes and edges of one or more subgraphs, and the extracted data subset may be returned in response to a subsequent data request. Process 1312 may be performed by a request subsystem that is the same as or similar to request subsystem 116, according to one or more embodiments.

図14は、一のまたは複数の実施形態に係る、データ検索プロセスにおけるクエリ関連のリソース使用を低減する方法のフローチャートを示す。処理1402では、グラフクエリが取得されてもよい。グラフクエリは、データリクエストまたは他のリクエストに関連していてもよい。グラフクエリは、パターンまたはその他の情報を含んでもよい。処理1402は、一つ以上の実施形態に従って、最適化サブシステム118と同一または類似の最適化サブシステムによって実行されてもよい。 FIG. 14 depicts a flowchart of a method for reducing query-related resource usage in a data retrieval process in accordance with one or more embodiments. In operation 1402, a graph query may be obtained. Graph queries may be related to data requests or other requests. Graph queries may include patterns or other information. Process 1402 may be performed by an optimization subsystem that is the same as or similar to optimization subsystem 118, according to one or more embodiments.

処理1404において、グラフクエリは、グラフクエリセットに変換されてもよい。変換は、グラフデータモデル、グラフクエリのパターンまたはその他の情報に基づいて行われてもよい。クエリセットは、クエリと、クエリをリンクするクエリ演算子とを含んでもよい。クエリ演算子は、複数のクエリのうちの第1のクエリと第2のクエリとをリンクする第1のクエリ演算子を含んでもよい。処理1404は、一つ以上の実施形態に従って、最適化サブシステム118と同一または類似の最適化サブシステムによって実行されてもよい。 In operation 1404, the graph query may be converted into a graph query set. Transformations may be performed based on graph data models, patterns of graph queries, or other information. A query set may include queries and query operators that link the queries. The query operators may include a first query operator that links a first query and a second query of the plurality of queries. Process 1404 may be performed by an optimization subsystem that is the same as or similar to optimization subsystem 118, according to one or more embodiments.

いくつかの実施形態では、処理1404は、予測モデル(例えば、ニューラルネットワーク、機械学習モデル等)にグラフクエリを提供して、予測モデルにグラフクエリの各々について所与のクエリセットを予測させることを含んでもよい。予測された所与のクエリセットの少なくとも一つは、予測されたクエリ、および、予測されたクエリをリンクする予測されたクエリ演算子を含んでもよい。そのような実施形態では、処理1404は、複数のグラフクエリのそれぞれについて、当該グラフクエリに対する参照クエリセットを参照フィードバックとして予測モデルに提供することを含んでもよく、それにより、予測モデルが参照クエリセットに対して予測した所与のクエリセットの評価を行うようにしても
よい。予測モデルは、予測された所与のクエリセットに対する予測モデルの評価に基づいて更新されてもよい。そのような実施形態では、処理1404は、グラフクエリを予測モデルに提供して当該グラフクエリをクエリセットへと変換すること、および、更新されたクエリセットを参照フィードバックとして予測モデルに提供して予測モデルに更新されたクエリセットに対する前記クエリセットの評価を行わせることを含んでもよい。予測モデルは、予測モデルによるクエリセットの評価に基づいて更新されてもよい。
In some embodiments, the process 1404 includes providing the graph queries to a predictive model (e.g., neural network, machine learning model, etc.) to cause the predictive model to predict a given query set for each of the graph queries. May include. At least one of the given set of predicted queries may include predicted queries and predicted query operators that link the predicted queries. In such embodiments, the process 1404 may include, for each of the plurality of graph queries, providing the reference query set for that graph query as reference feedback to the predictive model, such that the predictive model The evaluation of a given query set predicted for the given query set may be performed. The predictive model may be updated based on an evaluation of the predictive model for a given set of predicted queries. In such embodiments, operation 1404 includes providing a graph query to a predictive model to convert the graph query into a query set, and providing the updated query set as reference feedback to the predictive model to make predictions. The method may include causing the model to evaluate the query set against the updated query set. The predictive model may be updated based on the predictive model's evaluation of the query set.

処理1406では、第1のクエリおよび第2のクエリから導出された結果の組み合わせに関連する充足可能性の問題が予測されてもよい。予測は、第1のクエリおよび第2のクエリの実行に先立って行われてもよい。いくつかの実施形態では、充足可能性の問題を予測することは、第1のクエリおよび第2のクエリの結果を得るための第1および第2のソースを決定すること、ならびに、第1および第2のテンプレートに関連する非互換性を決定することを含んでもよい。第1のテンプレートは、第1のソースからのデータ表現をグラフデータベースと互換性のあるグラフデータ表現に変換するように構成されてもよい。第2のテンプレートは、第2のソースからのデータ表現を前記グラフデータベースと互換性のあるグラフデータ表現に変換するように構成されてもよい。処理1406は、一つ以上の実施形態に従って、最適化サブシステム118と同一または類似の最適化サブシステムによって実行されてもよい。 At operation 1406, satisfiability issues associated with the combination of results derived from the first query and the second query may be predicted. The prediction may be made prior to execution of the first query and the second query. In some embodiments, predicting the satisfiability problem includes determining first and second sources for obtaining results of the first and second queries; The method may include determining an incompatibility associated with the second template. The first template may be configured to convert a data representation from the first source into a graph data representation compatible with the graph database. A second template may be configured to convert a data representation from a second source into a graph data representation compatible with the graph database. Process 1406 may be performed by an optimization subsystem that is the same as or similar to optimization subsystem 118, according to one or more embodiments.

処理1408では、第1のクエリ演算子がクエリセットから削除されてもよい。いくつかの実施形態では、第1のクエリ演算子は、第1のクエリと第2のクエリとをリンクするunion、または、第1のクエリと第2のクエリをとリンクするjoinを含んでもよい。充足可能性の問題の予測またはその他の情報に基づいて演算子の削除が行われてもよい。更新されたクエリセットが第1のクエリ演算子を含まないようにクエリセットを更新するために、クエリセットから第1のクエリ演算子が削除されてもよい。いくつかの実施形態では、処理1406および/または1408は、充足可能性の問題の予測に基づいて、クエリセットのクエリのサブセットを実行する前に、クエリのサブセットから導出された結果を組み合わせることに関連する別の充足可能性の問題を予測することを含んでもよい。クエリのサブセットは、第1のクエリまたは第2のクエリを含まない場合がある。そのような実施形態では、処理1408は、その他の充足可能性の問題の予測に基づいて、クエリセットから第2のクエリ演算子を削除して、更新されたクエリセットが第2のクエリ演算子を含まないようにクエリセットを更新することを含んでもよい。処理1408は、一つ以上の実施形態に従って、最適化サブシステム118と同一または類似の最適化サブシステムによって実行されてもよい。 In operation 1408, the first query operator may be removed from the query set. In some embodiments, the first query operator may include a union that links the first query and the second query, or a join that links the first query and the second query. . Operator deletion may be based on predicted satisfiability problems or other information. The first query operator may be removed from the query set to update the query set such that the updated query set does not include the first query operator. In some embodiments, operations 1406 and/or 1408 include combining results derived from the subset of queries of the query set prior to executing the subset of queries of the query set based on the prediction of the satisfiability problem. It may also include anticipating other related satisfiability problems. The subset of queries may not include the first query or the second query. In such embodiments, operation 1408 removes the second query operator from the query set based on predictions of other satisfiability issues such that the updated query set includes the second query operator. The query set may include updating the query set so as not to include the query set. Process 1408 may be performed by an optimization subsystem that is the same as or similar to optimization subsystem 118, according to one or more embodiments.

処理1410において、グラフクエリを満たす更新されたクエリセットが実行されてもよい。処理1410は、一つ以上の実施形態に従って、最適化サブシステム118と同一または類似の最適化サブシステムによって実行されてもよい。 At operation 1410, an updated query set that satisfies the graph query may be executed. Process 1410 may be performed by an optimization subsystem that is the same as or similar to optimization subsystem 118, according to one or more embodiments.

いくつかの実施形態では、上述した方法1400の一つまたは複数の処理は、グラフクエリまたは対応するクエリセットを予測モデルに提供して、対応するクエリセットのそれぞれについて一つ以上の所与の最適化を予測モデルが予測するようにすることを含んでもよい。予測された所与の最適化のうちの少なくとも一つは、複数のクエリをリンクする所与のクエリ演算子を所与のクエリセットから削除すること、複数のクエリを一つのクエリにマージすること、または、所与のクエリセットから一つ以上のクエリを削除すること、を含んでもよい。方法1400は、対応するクエリセットの各々に関して、対応するクエリセットに対する一つ以上の参照最適化を、予測モデルに参照フィードバックとして提供して、予測モデルが予測した所与の最適化を一つ以上の参照最適化に対して評価することを含んでもよい。予測モデルは、予測された所与の最適化に対する予測モデルの評価に基づいて更新されてもよい。方法1400は、グラフクエリまたはグラフクエリから導出さ
れた初期クエリセットを予測モデルに提供して、初期クエリセットに対する一つ以上の最適化を得ることを含んでもよい。方法1400は、初期クエリセットに対して最適化を実行することにより、グラフクエリをクエリセットに変換することを含んでもよい。方法1400は、第1のクエリ演算子が削除されたことを示す情報を予測モデルへの参照フィードバックとして予測モデルに提供することを含んでもよく、それにより、予測モデルが第1のクエリ演算子の削除に対して最適化を評価してもよい。予測モデルは、予測モデルによる最適化の評価に基づいて更新されてもよい。
In some embodiments, one or more operations of method 1400 described above may include providing graph queries or corresponding query sets to a predictive model to determine one or more given optimal results for each of the corresponding query sets. The prediction model may also include causing the prediction model to predict the change. At least one of the predicted given optimizations is to remove from a given query set a given query operator that links multiple queries, or to merge multiple queries into a single query. , or removing one or more queries from a given query set. For each corresponding query set, method 1400 provides one or more reference optimizations for the corresponding query set as reference feedback to a predictive model to improve the one or more given optimizations predicted by the predictive model. may include evaluating against a reference optimization of. The predictive model may be updated based on an evaluation of the predictive model for a given predicted optimization. Method 1400 may include providing a graph query or an initial query set derived from a graph query to a predictive model to obtain one or more optimizations to the initial query set. Method 1400 may include converting a graph query into a query set by performing optimization on the initial query set. The method 1400 may include providing information to the predictive model as reference feedback to the predictive model indicating that the first query operator has been removed, thereby causing the predictive model to delete the first query operator. Optimizations may be evaluated against deletion. The predictive model may be updated based on an evaluation of the optimization by the predictive model.

いくつかの実施形態では、上述した方法1400の1つ以上の処理は、所与のクエリセットを予測モデルに提供して、所与のクエリセットの各々に関連する1つ以上の充足可能性の問題を予測モデルが予測することを含んでもよい。方法1400は、所与のクエリセットの各々に関して、所与のクエリセットについての一つ以上の参照充足可能性問題を予測モデルに参照フィードバックとして提供して、予測モデルが予測した充足可能性の問題を参照充足可能性問題に対して評価することを含んでもよい。予測モデルは、予測された充足可能性の問題に対する予測モデルの評価に基づいて更新されてもよい。方法1400は、予測された充足可能性の問題の予測を示す情報を予測モデルから得るために、クエリセットを予測モデルに提供することを含んでもよい。方法1400は、予測モデルからの上記の情報に基づいて、第1のクエリおよび第2のクエリから導出された結果を組み合わせることに関連する充足可能性の問題を予測することを含んでもよい。 In some embodiments, one or more operations of method 1400 described above provide a given query set to a predictive model to determine one or more satisfiability possibilities associated with each of the given query sets. It may also include a predictive model predicting the problem. The method 1400 includes, for each given query set, providing one or more reference satisfiability problems for the given query set as reference feedback to a predictive model to determine the satisfiability problem predicted by the predictive model. may include evaluating against a reference satisfiability problem. The predictive model may be updated based on the predictive model's evaluation of the predicted satisfiability problem. Method 1400 may include providing a query set to a predictive model to obtain information from the predictive model indicative of a prediction of the predicted satisfiability problem. Method 1400 may include predicting satisfiability problems associated with combining results derived from the first query and the second query based on the above information from the predictive model.

一部の実施形態において、図1に図示したさまざまなコンピュータおよびサブシステムは、本明細書に記載された機能を行うようプログラムされた1または複数のコンピューティングデバイスを含んでもよい。コンピューティングデバイスは、一つまたは複数の電子的記憶装置(例えば、データソース132または他の電子記憶装置)、一つまたは複数のコンピュータプログラム命令を使用してプログラムされた一つまたは複数の物理的プロセッサもしくはその他の構成要素を備えてもよい。コンピューティングデバイスは、ネットワーク(例えば、ネットワーク150)または他のコンピューティング・プラットフォームとの有線技術または無線技術(例えば、イーサネット、光ファイバ、同軸ケーブル、WiFi、Bluetooth、近距離無線通信、または他の技術等)を介した情報のやり取りを可能にする通信回線または通信ポートを含んでもよい。コンピューティングデバイスは、協働する複数のハードウェアコンポーネント、ソフトウェアコンポーネントまたはファームウェアコンポーネントを含むとしてよい。例えば、コンピューティングデバイスは、コンピューティングデバイスとして協動する多数のコンピューティング・プラットフォームによって実装されてもよい。 In some embodiments, the various computers and subsystems illustrated in FIG. 1 may include one or more computing devices programmed to perform the functions described herein. A computing device may include one or more electronic storage devices (e.g., data source 132 or other electronic storage devices), one or more physical devices programmed using one or more computer program instructions. It may also include a processor or other components. The computing device may communicate with a network (e.g., network 150) or other computing platform using wired or wireless technology (e.g., Ethernet, fiber optic, coaxial cable, WiFi, Bluetooth, near field communication, or other technology). may also include communication lines or ports that allow for the exchange of information via (e.g.) A computing device may include multiple hardware, software, or firmware components that work together. For example, a computing device may be implemented by multiple computing platforms cooperating as a computing device.

電子ストレージは、情報を電子的に記憶する非一時的記憶媒体を含み得る。電子ストレージの電子記憶媒体には、(i)サーバまたはクライアントデバイスと一体に(例えば、実質的に着脱不能に)設けられたシステムストレージ、または、(ii)例えばポート(例えばUSBポート、ファイヤーワイヤポート等)またはドライブ(例えばディスクドライブ等)を介してサーバまたはクライアントデバイスに着脱可能に接続されたリムーバブルストレージの一方または両方が含まれるとしてもよい。電子ストレージには、光学的に読み取り可能な記憶媒体(例えば光学ディスク等)、磁気的に読み取り可能な記憶媒体(例えば磁気テープ、磁気ハードドライブ、フロッピードライブ等)、電荷型記憶媒体(例えばEEPROM、RAM等)、ソリッドステート記憶媒体(例えばフラッシュドライブ等)、または、これら以外の電子的に読み取り可能な記憶媒体のうち1または複数が含まれるとしてよい。電子ストレージは、一又は複数の仮想ストレージリソース(例えば、クラウドストレージ、仮想プライベートネットワーク、または、これら以外の仮想ストレージリソース)を含んでもよい。電子ストレージは、ソフトウェアアルゴリズム、プロセッサが決定した情報、サーバから取得した情報、クライアントデバイスから取得した情報、または、本明細書に記載する機能を可能とする他の情報を記憶してもよい。 Electronic storage may include non-transitory storage media that electronically store information. The electronic storage media of electronic storage may include one or both of (i) system storage that is integral (e.g., substantially non-removable) with the server or client device, or (ii) removable storage that is removably connected to the server or client device, for example, via a port (e.g., USB port, Firewire port, etc.) or drive (e.g., disk drive, etc.). Electronic storage may include one or more of an optically readable storage medium (e.g., optical disk, etc.), a magnetically readable storage medium (e.g., magnetic tape, magnetic hard drive, floppy drive, etc.), a charge-based storage medium (e.g., EEPROM, RAM, etc.), a solid-state storage medium (e.g., flash drive, etc.), or other electronically readable storage medium. Electronic storage may include one or more virtual storage resources (e.g., cloud storage, virtual private network, or other virtual storage resources). The electronic storage may store software algorithms, information determined by a processor, information obtained from a server, information obtained from a client device, or other information that enables the functionality described herein.

プロセッサは、コンピューティングデバイスにおける情報処理機能を実現するようプログラムされているとしてもよい。このため、プロセッサは、デジタルプロセッサ、アナログプロセッサ、情報処理用のデジタル回路、情報処理用のアナログ回路、ステートマシン、および/または電子的に情報を処理するための他のメカニズムのうちの1以上を含むとしてよい。一部の実施形態において、プロセッサは複数の処理ユニットを含むとしてもよい。これらの処理ユニットは物理的に同一の装置内に配置されてもよく、または、複数のプロセッサが、協調して動作する複数の装置の処理機能を実行してもよい。プロセッサは、コンピュータプログラム命令を実行してサブシステム112~120または他のサブシステムの本明細書で説明する機能を実現するようにプログラムされてもよい。プロセッサは、ソフトウェア、ハードウェア、ファームウェア、何らかの方法で組み合わされたソフトウェア、ハードウェア、またはファームウェア、または、プロセッサにおいて処理機能を設定するための他のメカニズムによってコンピュータプログラム命令を実行するようにプログラムされてもよい。 A processor may be programmed to perform information processing functions in a computing device. To this end, a processor may include one or more of a digital processor, an analog processor, a digital circuit for processing information, an analog circuit for processing information, a state machine, and/or other mechanisms for electronically processing information. It may be included. In some embodiments, a processor may include multiple processing units. These processing units may be physically located within the same device, or multiple processors may perform the processing functions of multiple devices working in concert. The processor may be programmed to execute computer program instructions to implement the functions described herein of subsystems 112-120 or other subsystems. A processor is programmed to execute computer program instructions by software, hardware, firmware, combined software, hardware, or firmware in any way, or other mechanism for configuring processing functions in the processor. Good too.

本明細書で説明する複数の異なるサブシステム112~120によって提供される機能の説明は例示を目的としたものであり、限定を意図したものではないと理解されたい。サブシステム112~120はいずれも、説明した機能より多くの、または少ない機能を提供するとしてよい。例えば、サブシステム112~120のうちの一つまたは複数を省略するとしてもよく、その機能の一部またはすべてを、サブシステム112~120のうちの他のサブシステムで提供してもよい。他の例として、本明細書においてサブシステム112~120のうちの一つのサブシステムに帰する機能の一部または全てを発揮するよう追加のサブシステムがプログラムされてもよい。 It should be understood that the description of functionality provided by the different subsystems 112-120 described herein is for illustrative purposes and is not intended to be limiting. Any of the subsystems 112-120 may provide more or less functionality than those described. For example, one or more of subsystems 112-120 may be omitted, and some or all of its functionality may be provided by other subsystems 112-120. As another example, additional subsystems may be programmed to perform some or all of the functionality ascribed herein to one of subsystems 112-120.

現時点で最も実用的であり好ましいと考えられる態様に基づいて本発明を例示のために詳細に説明したが、このような詳細な説明は例示を目的としたものに過ぎないと理解されたい。本発明は開示された実施形態に限定されるものではなく、むしろ、添付された特許請求の範囲の趣旨及び範囲に入る変形や均等な構成も本発明に含められることが意図されている。例えば、本発明においては任意の実施形態の1または複数の特徴を他の任意の実施形態の一のまたは複数の特徴と可能な限り組み合わせられると理解されたい。 Although the invention has been described in detail for purposes of illustration and in accordance with the embodiments presently considered most practical and preferred, it is to be understood that such detailed description is for purposes of illustration only. The invention is not intended to be limited to the disclosed embodiments, but on the contrary, it is intended that the invention cover modifications and equivalent constructions falling within the spirit and scope of the appended claims. For example, it is to be understood that the invention may combine one or more features of any embodiment with one or more features of any other embodiments to the extent possible.

本技術は以下に列挙する実施形態を参照することで理解がより深まる。
[実施形態1]
第1のグラフデータモデルに関連する第1のモデリング情報であって、第1のグラフデータベースと互換性のない第1のデータ表現を前記第1のグラフデータベースと互換性のあるグラフデータ表現へと変換するための第1のテンプレートを含む前記第1のモデリング情報を取得する工程と、
前記第1のテンプレートの一つ以上のテンプレートおよび前記第1のデータ表現を前記機械学習モデルに提供する工程と、を備え、
前記機械学習モデルは、前記第1のテンプレートの一つ以上の追加テンプレートを前記第1のテンプレートの前記一つ以上の追加テンプレートに依存することなく予測するように構成されており、前記方法は更に、前記機械学習モデルをトレーニングするべく、前記機械学習モデルによる前記一つ以上の追加テンプレートの予測に対する参照フィードバックとして、前記第1のテンプレートの前記一つ以上の追加テンプレートを前記機械学習モデルに提供する工程と、
所与のグラフデータモデルが所与のデータベースのデータ表現を所与のグラフデータベースのグラフデータ表現へと変換するための一つ以上のテンプレートを生成するべく、前記所与のデータベースからのデータ表現のコレクションを前記機械学習モデルに提供する工程と、を備える方法。
[実施形態2]
前記所与のグラフデータベースの前記グラフデータ表現は、グラフノードまたは前記グラフノードを接続するエッジを含む、実施形態1に記載の方法。
[実施形態3]
第2のグラフデータモデルに関連する第2のモデリング情報であって、第2のグラフデータベースと互換性のない第2のデータ表現を前記第2のグラフデータベースと互換性のあるグラフデータ表現へと変換するための第2のテンプレートを含む前記第2のモデリング情報を取得する工程と、
前記第2のテンプレートの一つ以上のテンプレートおよび前記第2のデータ表現を前記機械学習モデルに提供する工程と、を備え、
前記機械学習モデルは、前記第2のテンプレートの一つ以上の追加テンプレートを前記第2のテンプレートの前記一つ以上の追加テンプレートに依存することなく予測するように構成されており、
前記機械学習モデルをトレーニングするべく、前記機械学習モデルによる前記第2のテンプレートの前記一つ以上の追加テンプレートの予測に対する参照フィードバックとして、前記第2のテンプレートの前記一つ以上の追加テンプレートを前記機械学習モデルに提供する工程と、を備える、実施形態1または2に記載の方法。
[実施形態4]
前記第1のデータ表現および前記第2のデータ表現は、同じデータベースと互換性がある、実施形態3に記載の方法。
[実施形態5]
前記第1のデータ表現は第1の非グラフデータベースと互換性があり、前記第2のデータ表現は第2の非グラフデータベースと互換性があるが前記第1の非グラフデータベースとは互換性がない、実施形態3に記載の方法。
[実施形態6]
前記第1のデータ表現または前記第2のデータ表現は、少なくとも一つのグラフデータベースと互換性がある、実施形態3に記載の方法。
[実施形態7]
前記所与のグラフデータベース内のグラフのノードおよびエッジに関連し複数のデータ表現セットを示すグラフ情報であって、前記複数のデータ表現セットのデータ表現セットはそれぞれノードおよびノードを接続するエッジを含む、前記グラフ情報を取得する工程と、
前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記機械学習モデルが前記データ表現セットの1つ以上の追加ノードまたは追加エッジを予測するために、前記データ表現セットの1つ以上のノードまたはエッジを前記機械学習モデルに提供する工程と、を更に備え、
前記機械学習モデルは、前記1つ以上の追加ノードまたは追加エッジに依存することなく、前記1つ以上の追加ノードまたは追加エッジの予測を実行するように構成されており、前記機械学習モデルをトレーニングするべく、前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記機械学習モデルによる前記1つ以上の追加ノードまたは追加エッジの予測に対する参照フィードバックとして、前記データ表現セットの前記1つ以上の追加ノードまたは追加エッジを前記機械学習モデルに提供する工程と、を備える、実施形態1から6の何れか一つに記載の方法。
[実施形態8]
前記機械学習モデルを介して、前記グラフのノードまたはエッジを処理するべく前記グラフのトラバースを実行して、前記機械学習モデルに前記グラフの新しいノードまたは新しいエッジを生成させる工程と、
前記機械学習モデルからの前記新しいノードまたは前記新しいエッジを前記グラフに追加する工程と、を更に備える、実施形態7に記載の方法。
[実施形態9]
前記グラフの前記トラバースに基づいて、前記機械学習モデルから所与のノードまたは
エッジを取得する工程と、
前記所与のノードまたはエッジの追加に関してユーザが了承することに基づいて、前記機械学習モデルからの前記所与のノードまたはエッジを前記グラフに追加する工程と、
前記機械学習モデルによる前記所定のノードまたはエッジの生成に関する参照フィードバックとして、前記ユーザの了承を示す情報を前記機械学習モデルに提供する工程と、を更に備える、実施形態8に記載の方法。
[実施形態10]
前記グラフの前記トラバースに基づいて、前記機械学習モデルから所与のノードまたはエッジを取得する工程と、
前記所与のノードまたはエッジを追加することに関するユーザの拒否を取得する工程と、を更に備え、
前記所与のノードまたはエッジは、前記ユーザの拒否に基づいて前記グラフに追加されず、
前記方法は更に、前記機械学習モデルによる前記所定のノードまたはエッジの生成に関する参照フィードバックとして、前記ユーザの拒否を示す情報を前記機械学習モデルに提供する工程、を備える、実施形態8に記載の方法。
[実施形態11]
データリクエストが未来に発生すると予測する工程と、
グラフデータモデルに基づいて、前記データリクエストが求めると予測されるデータであるデータセットのデータサブセットを表す一つ以上のサブグラフを、前記データリクエストの前記予測に応答して生成する工程と、
前記一つ以上のサブグラフを一時データストレージに格納する工程と、
予測された前記データリクエストに一致する次のデータリクエストを、前記一つ以上のサブグラフの前記格納の後に取得する工程と、
予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記一つ以上のサブグラフを前記一次データストレージから取得する工程と、前記次のデータリクエストに応答するべく前記一つ以上のサブグラフを使用する工程と、を備える方法。
[実施形態12]
前記一つ以上のサブグラフを使用する工程は、
前記データサブセットを、前記一つ以上のサブグラフのノードおよびエッジから抽出する工程と、
前記次のデータリクエストに応答するべく、抽出された前記データサブセットを返す工程と、を有する、実施形態11に記載の方法。
[実施形態13]
前記データリクエストの前記予測に応答して、前記データサブセットの第1のデータサブセットを一つ以上の非グラフデータベースから取得する工程を更に備え、
前記一つ以上のサブグラフを生成する工程は、前記第1のデータサブセットを取得した後に、前記グラフデータモデルに基づいて前記第1のデータサブセットを表す第1のサブグラフを生成する工程を有し、
前記一つ以上のサブグラフは、前記次のデータリクエストに応答するべく前記第1のサブグラフを使用するように前記第1のサブグラフを含む、実施形態11または12に記載の方法。
[実施形態14]
前記データリクエストの前記予測に応答して、前記データサブセットの第2のデータサブセットを一つ以上のグラフデータベースから取得する工程を更に備え、
前記一つ以上のサブグラフは、前記次のデータリクエストに応答するべく第2のサブグラフを使用するように、前記第2のデータサブセットを表す前記第2のサブグラフを含む、実施形態13に記載の方法。
[実施形態15]
予測された前記データリクエストの一つ以上の検索パラメータに基づいて、複数のグラフクエリを生成する工程と、
前記グラフデータモデルに基づいて、前記複数のグラフクエリの内の少なくとも一つを、一つ以上の非グラフクエリへと変換する工程と、
前記一つ以上の非グラフクエリを実行して、前記一つ以上の非グラフデータベースから前記第1のデータサブセットを取得する工程と、
前記複数のグラフクエリのうちのを別の一つを実行して、前記一つ以上の非グラフデータベースから前記第2のデータサブセットを取得する工程と、を更に備える、実施形態14に記載の方法。
[実施形態16]
予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストに応答するクエリプランを生成する工程を更に備え、
前記クエリプランは、予測された前記データリクエストに一致する前記次のデータリクエストに基づいて前記一時データストレージからデータを取得することを含むように生成され、
前記一つ以上のサブグラフを取得する工程は、前記クエリプランに基づいて前記一つ以上のサブグラフを前記一時データストレージから取得することを含む、実施形態11から15の何れか一つに記載の方法。
[実施形態17]
予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストに応答するクエリプランを生成する工程を更に備え、
前記クエリプランは、前記次のデータリクエストに応答して生成され、
前記一つ以上のサブグラフを取得する工程は、前記クエリプランに基づいて、前記一つ以上のサブグラフを前記一時データストレージから取得し、一つ以上のその他のデータサブセットを一つ以上のその他のデータソースから取得することを含み、
前記一つ以上のサブグラフを使用する工程は、前記次のデータリクエストに応答するべく、(i)前記一つ以上のサブグラフによって表される前記データサブセット、および(ii)前記一つ以上のその他のデータを使用することを含む、実施形態11から16の何れか一つに記載の方法。
[実施形態18]
前記データリクエストの前記予測に応答して、クエリを実行する工程を更に備え、
実行される前記クエリは、予測された前記データリクエストがクライアントデバイスから取得されていた場合に、予測された前記データリクエストに応答するために実行されたであろうクエリのセットの一部であり、
前記クエリに基づいて、前記データリクエストが求めると予測される前記データセットの前記データサブセットを取得する工程を更に備え、
前記一つ以上のサブグラフを生成する工程は、前記データサブセットおよび前記グラフデータモデルに基づいて前記一つ以上のサブグラフを生成することを含む、実施形態11から17の何れか一つに記載の方法。
[実施形態19]
前記データリクエストの前記予測から、前記クエリのセットのうちの一つ以上のその他のクエリの実行が発生しない、実施形態18に記載の方法。
[実施形態20]
機械学習モデルをトレーニングするべく、前記グラフデータモデルに互換性がある過去のクエリを前記機械学習モデルに提供する工程と、
前記機械学習モデルの前記トレーニングの後に、前記機械学習モデルから、前記データリクエストの前記予測を示す情報を取得する工程と、
前記機械学習モデルを更にトレーニングするべく、予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストを示す情報を参照フィードバックとして前記機械学習モデルに提供する工程と、を更に備える、実施形
態11から19の何れか一つに記載の方法。
[実施形態21]
データリクエストに関連するクエリであって、複数のパターンを含む前記グラフクエリを取得する工程と、
グラフデータモデルおよび前記グラフクエリの前記複数のパターンに基づいて、前記グラフクエリをクエリセットへと変換する工程を備え、
前記クエリセットは、複数のクエリおよび前記複数のクエリをリンクするクエリ演算子を含み、前記クエリ演算子は、前記複数のクエリのうちの第1のクエリと第2のクエリとをリンクする第1のクエリ演算子を含み、
前記方法は更に、
前記第1のクエリおよび前記第2のクエリが実行される前に、前記第1のクエリおよび前記第2のクエリから導出される結果を組み合わせることに関する充足可能性の問題を予測する工程と、
前記クエリセットを更新するべく、前記充足可能性の問題の前記予測に基づいて前記クエリセットの一つ以上の最適化を実行する工程と、
前記グラフクエリを満たすべく、前記更新されたクエリセットを実行する工程と、を備える方法。
[実施形態22]
前記一つ以上の最適化を実行する工程は、前記充足可能性の問題の前記予測に基づいて、前記クエリセットから前記第1のクエリ演算子を削除して、更新されたクエリセットが前記第1のクエリ演算子を含まないように前記クエリセットを更新することを含む、実施形態21に記載の方法。
[実施形態23]
前記クエリセットの複数のクエリのサブセットを実行する前に、前記充足可能性の問題の前記予測に基づいて、前記第1のクエリまたは前記第2のクエリを含まない前記クエリのサブサブセットから導出される結果を組み合わせることに関連する別の充足可能性の問題を予測する工程と、
前記別の充足可能性の問題の前記予測に基づいて、前記クエリセットから前記第2のクエリ演算子を削除して、更新された前記クエリセットが前記第2のクエリ演算子を含まないように前記クエリセットを更新する工程と、を更に備える、実施形態22に記載の方法。
[実施形態24]
前記第1のクエリ演算子は、前記第1のクエリと前記第2のクエリとをリンクするunion、または、前記第1のクエリと前記第2のクエリをとリンクするjoinを含む、実施形態21から23の何れか一つに記載の方法。
[実施形態25]
前記充足可能性の問題を予測する工程は、
前記第1のクエリおよび前記第2のクエリに対する結果を取得するための第1のソースおよび第2のソースを決定する工程と、
第1のテンプレートおよび第2のテンプレートに関する非互換性を判定する工程と、を備え、
前記第1のテンプレートは、前記第1のソースからのデータ表現を、グラフデータベースと互換性を有するグラフデータ表現へと変換するように構成され、前記第2のテンプレートは、前記第2のソースからのデータ表現を、前記グラフデータベースと互換性を有するグラフデータ表現へと変換するように構成され、
前記方法は更に、前記第1のテンプレートおよび前記第2のテンプレートに関する前記非互換性に基づく前記充足可能性の問題を予測する工程を備える、実施形態21から24の何れか一つに記載の方法。
[実施形態26]
前記充足可能性の問題を予測する工程は、
前記グラフデータモデルに基づいて、前記第1のクエリに対する第1の結果をグラフデータベースに格納するためのデータタイプとして、第1のデータタイプを決定する工程と、
前記グラフデータモデルに基づいて、前記第2のクエリに対する第2の結果を前記グラフデータベースに格納するためのデータタイプとして、第2のデータタイプを決定する工程と、
前記第1のデータタイプおよび前記第2のデータタイプに関連する非互換性を判定する工程と、前記第1のデータタイプおよび前記第2のデータタイプに関連する前記非互換性に基づく前記充足可能性の問題を予測する工程と、を有する、実施形態21から25の何れか一つに記載の方法。 [実施形態27]
前記第2の結果に対応する第2のデータ表現を第2のソースに格納するために使用されるデータタイプと互換性のあるデータタイプとして、前記第1の結果に対応する第1のデータ表現が第1のソースに格納される、実施形態26に記載の方法。
[実施形態28]
前記第2の結果に対応する第2のデータ表現を第2のソースに格納するために使用されるデータタイプと互換性のないデータタイプとして、前記第1の結果に対応する第1のデータ表現が第1のソースに格納される、実施形態26に記載の方法。
[実施形態29]
機械学習モデルに複数のグラフクエリのそれぞれについて所与のクエリセットを予測させるべく、前記機械学習モデルに前記複数のグラフクエリを提供する工程を更に備え、
予測された前記所与のクエリセットのうちの少なくとも一つは、予測されたクエリおよび前記予測されたクエリをリンクする予測されたクエリ演算子を含み、
前記方法は更に、前記複数のグラフクエリのそれぞれについて、前記グラフクエリに対する参照クエリセットを参照フィードバックとして前記機械学習モデルに提供して、前記機械学習モデルに、前記予測した所与のクエリセットの前記参照クエリセットに対する評価を行わせる工程を備え、
予測された前記所与のクエリセットの前記機械学習モデルが行った前記評価に基づいて、前記機械学習モデルが更新され、
前記方法は更に、
前記グラフクエリを前記機械学習モデルに提供することにより前記グラフクエリを前記クエリセットへと変換して、前記クエリセットを得る工程と、
前記機械学習モデルに対する参照フィードバックとして前記更新されたクエリセットを前記機械学習モデルに提供して、前記機械学習モデルに、前記更新されたクエリセットに対して前記クエリセットの評価を行わせる工程と、を備え、
前記機械学習モデルが行った前記クエリセットの前記評価に基づいて、前記機械学習モデルが更新される、実施形態21から28の何れか一つに記載の方法。
[実施形態30]
複数のグラフクエリまたは複数の対応するクエリセットを機械学習モデルに提供して、前記機械学習モデルに、前記複数の対応するクエリセットのそれぞれについて一つ以上の所与の最適化を予測させる工程を更に備え、
前記予測された所与の最適化のうちの少なくとも一つは、複数のクエリをリンクする所与のクエリ演算子を所与のクエリセットから削除すること、複数のクエリを一つのクエリにマージすること、または、所与のクエリセットから一つ以上のクエリを削除すること、を含み、
前記方法は、前記複数の対応するクエリセットのそれぞれに関して、前記対応するクエリセットに対する一つ以上の参照最適化を、前記機械学習モデルに対する参照フィードバックとして提供して、前記機械学習モデルに、前記一つ以上の予測した所与の最適化を前記一つ以上の参照最適化に対して評価させる工程を更に備え、
前記機械学習モデルが行った前記一つ以上の予測した所与の最適化の前記評価に基づいて前記機械学習モデルが更新され、
前記方法は更に、
前記グラフクエリまたは前記グラフクエリから導出された初期クエリセットを前記機械学習モデルに提供して、前記初期クエリセットに対する一つ以上の最適化を得る工程と、
前記一つ以上の最適化を前記初期クエリセットに実行することにより、前記グラフクエリを前記クエリセットへと変換する工程と、
前記機械学習モデルに対する参照フィードバックとして、前記第1のクエリ演算子が削除されたことを示す情報を前記機械学習モデルに提供し、前記機械学習モデルに前記一つ以上の最適化を前記第1のクエリ演算子が削除されたことに対して評価させる工程と、を備え、
前記機械学習モデルが行った前記一つ以上の最適化の前記評価に基づいて前記機械学習モデルが更新される、実施形態21から29の何れか一つに記載の方法。
[実施形態31]
所与の複数のクエリセットを機械学習モデルに提供して、前記機械学習モデルに、前記所与の複数のクエリセットのそれぞれに関連する一つ以上の充足可能性の問題を予測させる工程と、
前記所与の複数のクエリセットのそれぞれに関して、前記所与のクエリセットに対する一つ以上の参照充足可能性問題を、前記機械学習モデルに対する参照フィードバックとして前記機械学習モデルに提供して、前記機械学習モデルに、前記一つ以上の予測した充足可能性の問題を前記一つ以上の参照充足可能性問題に対して評価させる工程とを更に備え、
前記機械学習モデルが行った前記一つ以上の予測した充足可能性の問題の前記評価に基づいて前記機械学習モデルが更新され、
前記方法は更に、
前記クエリセットを前記機械学習モデルに提供して、前記機械学習モデルから前記充足可能性の問題の前記予測を示す情報を取得する工程と、
前記機械学習モデルからの前記情報に基づいて、前記第1のクエリおよび前記第2のクエリから導出された結果を組み合わせることに関連する前記充足可能性の問題を予測する工程と、を備える、実施形態21から30の何れか一つに記載の方法。
[実施形態32]
命令を格納している有形で非一時的な機械可読媒体であって、前記命令がデータ処理装置によって実行されると、前記データ処理装置に実施形態1-31のいずれかを備える処理を実行する、機械可読媒体。
[実施形態33]
一つまたは複数のプロセッサと、命令を格納しているメモリとを備えるシステムであって、前記命令が前記一つまたは複数のプロセッサによって実行されると、前記一つまたは複数のプロセッサによって実施形態1-31のいずれかを含む処理が実現される、システム。
The present technology can be better understood by referring to the embodiments listed below.
[Embodiment 1]
first modeling information related to a first graph data model, the first data representation being incompatible with the first graph database to a graph data representation compatible with the first graph database; obtaining the first modeling information including a first template for conversion;
providing one or more of the first templates and the first data representation to the machine learning model;
The machine learning model is configured to predict one or more additional templates of the first template independently of the one or more additional templates of the first template, and the method further comprises: , providing the one or more additional templates of the first template to the machine learning model as reference feedback for predictions of the one or more additional templates by the machine learning model to train the machine learning model; process and
A given graph data model generates one or more templates for converting a data representation of a given database into a graph data representation of a given graph database. providing a collection to the machine learning model.
[Embodiment 2]
2. The method of embodiment 1, wherein the graph data representation of the given graph database includes graph nodes or edges connecting the graph nodes.
[Embodiment 3]
second modeling information associated with a second graph data model, the second data representation being incompatible with the second graph database to a graph data representation compatible with the second graph database; obtaining the second modeling information including a second template for conversion;
providing one or more of the second templates and the second data representation to the machine learning model;
the machine learning model is configured to predict one or more additional templates of the second template independently of the one or more additional templates of the second template;
The one or more additional templates of the second template are used as reference feedback for the prediction of the one or more additional templates of the second template by the machine learning model to train the machine learning model. 3. The method of embodiment 1 or 2, comprising providing a learning model.
[Embodiment 4]
4. The method of embodiment 3, wherein the first data representation and the second data representation are compatible with the same database.
[Embodiment 5]
The first data representation is compatible with a first non-graph database, and the second data representation is compatible with a second non-graph database but not compatible with the first non-graph database. The method of embodiment 3, wherein no.
[Embodiment 6]
4. The method of embodiment 3, wherein the first data representation or the second data representation is compatible with at least one graph database.
[Embodiment 7]
Graph information relating to nodes and edges of graphs in the given graph database and indicating a plurality of data representation sets, each of the data representation sets of the plurality of data representation sets including nodes and edges connecting the nodes. , obtaining the graph information;
For each data representation set of the plurality of data representation sets, the machine learning model predicts one or more nodes or edges of the data representation set. and providing the machine learning model with
The machine learning model is configured to perform predictions of the one or more additional nodes or edges without relying on the one or more additional nodes or edges to train the machine learning model. for each data representation set of the plurality of data representation sets, the one or more additional nodes of the data representation set as reference feedback for the prediction of the one or more additional nodes or edges by the machine learning model. or providing additional edges to the machine learning model.
[Embodiment 8]
performing a traversal of the graph to process nodes or edges of the graph through the machine learning model, causing the machine learning model to generate new nodes or new edges of the graph;
8. The method of embodiment 7, further comprising adding the new node or the new edge from the machine learning model to the graph.
[Embodiment 9]
retrieving a given node or edge from the machine learning model based on the traversal of the graph;
adding the given node or edge from the machine learning model to the graph based on user approval for adding the given node or edge;
9. The method of embodiment 8, further comprising providing information indicative of the user's consent to the machine learning model as reference feedback regarding the generation of the given node or edge by the machine learning model.
[Embodiment 10]
retrieving a given node or edge from the machine learning model based on the traversal of the graph;
and obtaining a user's refusal to add the given node or edge,
the given node or edge is not added to the graph based on the user's refusal;
9. The method of embodiment 8, the method further comprising providing information indicative of the user's refusal to the machine learning model as reference feedback regarding the generation of the predetermined node or edge by the machine learning model. .
[Embodiment 11]
a step of predicting that a data request will occur in the future;
generating, in response to the prediction of the data request, one or more subgraphs representing a data subset of the data set that is the data that the data request is predicted to seek based on a graph data model;
storing the one or more subgraphs in temporary data storage;
retrieving a next data request that matches the predicted data request after the storage of the one or more subgraphs;
retrieving the one or more subgraphs from the primary data storage based on the next data request matching the predicted data request; and retrieving the one or more subgraphs in response to the next data request. A process using and a method comprising.
[Embodiment 12]
The step of using the one or more subgraphs includes:
extracting the data subset from nodes and edges of the one or more subgraphs;
12. The method of embodiment 11, comprising returning the extracted subset of data in response to the next data request.
[Embodiment 13]
further comprising retrieving a first data subset of the data subsets from one or more non-graph databases in response to the prediction of the data request;
The step of generating one or more subgraphs includes, after obtaining the first data subset, generating a first subgraph representing the first data subset based on the graph data model,
13. The method of embodiment 11 or 12, wherein the one or more subgraphs include the first subgraph to use the first subgraph to respond to the next data request.
[Embodiment 14]
further comprising retrieving a second data subset of the data subsets from one or more graph databases in response to the prediction of the data request;
14. The method of embodiment 13, wherein the one or more subgraphs include the second subgraph representing the second data subset, such as using the second subgraph to respond to the next data request. .
[Embodiment 15]
generating a plurality of graph queries based on one or more search parameters of the predicted data request;
converting at least one of the plurality of graph queries into one or more non-graph queries based on the graph data model;
executing the one or more non-graph queries to obtain the first data subset from the one or more non-graph databases;
15. The method of embodiment 14, further comprising executing another one of the plurality of graph queries to obtain the second data subset from the one or more non-graph databases. .
[Embodiment 16]
further comprising generating a query plan responsive to the next data request based on the next data request that matches the predicted data request;
the query plan is generated to include retrieving data from the temporary data storage based on the next data request matching the predicted data request;
16. The method as in any one of embodiments 11-15, wherein retrieving the one or more subgraphs includes retrieving the one or more subgraphs from the temporary data storage based on the query plan. .
[Embodiment 17]
further comprising generating a query plan responsive to the next data request based on the next data request that matches the predicted data request;
the query plan is generated in response to the next data request;
The step of retrieving the one or more subgraphs includes retrieving the one or more subgraphs from the temporary data storage and retrieving one or more other data subsets from the one or more other data based on the query plan. including obtaining from a source;
Using the one or more subgraphs includes (i) the data subset represented by the one or more subgraphs, and (ii) the one or more other 17. The method as in any one of embodiments 11-16, comprising using the data.
[Embodiment 18]
further comprising executing a query in response to the prediction of the data request;
the executed query is part of a set of queries that would have been executed in response to the predicted data request if the predicted data request had been obtained from a client device;
further comprising, based on the query, obtaining the data subset of the data set that the data request is expected to require;
18. The method as in any one of embodiments 11-17, wherein generating the one or more subgraphs includes generating the one or more subgraphs based on the data subset and the graph data model. .
[Embodiment 19]
19. The method of embodiment 18, wherein execution of one or more other queries of the set of queries does not occur from the prediction of the data request.
[Embodiment 20]
providing past queries compatible with the graph data model to the machine learning model to train the machine learning model;
after the training of the machine learning model, obtaining information from the machine learning model indicating the prediction of the data request;
providing information indicative of the next data request as reference feedback to the machine learning model based on the next data request matching the predicted data request to further train the machine learning model; 20. The method as in any one of embodiments 11-19, further comprising.
[Embodiment 21]
obtaining the graph query that is related to a data request and that includes a plurality of patterns;
converting the graph query into a query set based on the graph data model and the plurality of patterns of the graph query,
The query set includes a plurality of queries and a query operator that links the plurality of queries, and the query operator includes a first query that links a first query and a second query among the plurality of queries. contains query operators,
The method further includes:
predicting satisfiability problems associated with combining results derived from the first query and the second query before the first query and the second query are executed;
performing one or more optimizations of the query set based on the prediction of the satisfiability problem to update the query set;
executing the updated query set to satisfy the graph query.
[Embodiment 22]
The step of performing the one or more optimizations includes removing the first query operator from the query set based on the prediction of the satisfiability problem so that the updated query set 22. The method of embodiment 21, comprising updating the query set to no longer include one query operator.
[Embodiment 23]
prior to executing a subset of the plurality of queries of the query set, based on the prediction of the satisfiability problem, from a sub-subset of the queries that does not include the first query or the second query. predicting alternative satisfiability problems associated with combining the results obtained;
removing the second query operator from the query set based on the prediction of the another satisfiability problem such that the updated query set does not include the second query operator; 23. The method of embodiment 22, further comprising updating the query set.
[Embodiment 24]
Embodiment 21, wherein the first query operator includes a union that links the first query and the second query, or a join that links the first query and the second query. The method described in any one of 23 to 23.
[Embodiment 25]
The step of predicting the satisfiability problem includes:
determining a first source and a second source for obtaining results for the first query and the second query;
determining incompatibility regarding the first template and the second template;
The first template is configured to convert a data representation from the first source into a graph data representation that is compatible with a graph database, and the second template is configured to convert a data representation from the second source to a graph data representation that is compatible with a graph database. configured to convert a data representation into a graph data representation compatible with the graph database;
25. The method as in any one of embodiments 21-24, the method further comprising predicting the satisfiability problem based on the incompatibility with the first template and the second template. .
[Embodiment 26]
The step of predicting the satisfiability problem includes:
determining a first data type as a data type for storing a first result for the first query in a graph database based on the graph data model;
determining a second data type as a data type for storing a second result for the second query in the graph database based on the graph data model;
determining an incompatibility associated with the first data type and the second data type; and determining the satisfiability based on the incompatibility associated with the first data type and the second data type. 26. The method as in any one of embodiments 21-25, comprising predicting sexual problems. [Embodiment 27]
a first data representation corresponding to said first result as a data type compatible with a data type used to store said second data representation corresponding to said second result in a second source; 27. The method of embodiment 26, wherein the is stored in the first source.
[Embodiment 28]
a first data representation corresponding to said first result as a data type that is incompatible with a data type used to store said second data representation corresponding to said second result in a second source; 27. The method of embodiment 26, wherein the is stored in the first source.
[Embodiment 29]
further comprising providing the plurality of graph queries to the machine learning model to cause the machine learning model to predict a given query set for each of the plurality of graph queries;
at least one of the given set of predicted queries includes a predicted query and a predicted query operator linking the predicted queries;
The method further includes, for each of the plurality of graph queries, providing a reference query set for the graph query as reference feedback to the machine learning model, causing the machine learning model to comprising a step of performing an evaluation on a reference query set,
the machine learning model is updated based on the evaluation made by the machine learning model of the given set of predicted queries;
The method further includes:
converting the graph query into the query set by providing the graph query to the machine learning model to obtain the query set;
providing the updated query set to the machine learning model as reference feedback to the machine learning model to cause the machine learning model to evaluate the query set against the updated query set; Equipped with
29. The method as in any one of embodiments 21-28, wherein the machine learning model is updated based on the evaluation of the query set performed by the machine learning model.
[Embodiment 30]
providing a plurality of graph queries or a plurality of corresponding query sets to a machine learning model to cause the machine learning model to predict one or more given optimizations for each of the plurality of corresponding query sets; Further prepare,
At least one of the predicted given optimizations includes removing from a given query set a given query operator that links multiple queries, merging multiple queries into one query. or removing one or more queries from a given query set;
The method includes, for each of the plurality of corresponding query sets, providing one or more reference optimizations for the corresponding query set as reference feedback to the machine learning model to cause the machine learning model to further comprising the step of evaluating the one or more predicted given optimizations against the one or more reference optimizations;
the machine learning model is updated based on the evaluation of the one or more predicted given optimizations performed by the machine learning model;
The method further includes:
providing the graph query or an initial query set derived from the graph query to the machine learning model to obtain one or more optimizations to the initial query set;
converting the graph query into the query set by performing the one or more optimizations on the initial query set;
providing information to the machine learning model indicating that the first query operator has been removed as reference feedback to the machine learning model; and a step of evaluating whether the query operator has been deleted,
30. The method as in any one of embodiments 21-29, wherein the machine learning model is updated based on the evaluation of the one or more optimizations performed by the machine learning model.
[Embodiment 31]
providing a given plurality of query sets to a machine learning model to cause the machine learning model to predict one or more satisfiability problems associated with each of the given plurality of query sets;
For each of the given plurality of query sets, providing one or more reference satisfiability problems for the given query set to the machine learning model as reference feedback to the machine learning model, further comprising causing the model to evaluate the one or more predicted satisfiability problems against the one or more reference satisfiability problems;
the machine learning model is updated based on the evaluation of the one or more predicted satisfiability problems performed by the machine learning model;
The method further includes:
providing the query set to the machine learning model to obtain information from the machine learning model indicating the prediction of the satisfiability problem;
predicting the satisfiability problem associated with combining results derived from the first query and the second query based on the information from the machine learning model. The method according to any one of Forms 21 to 30.
[Embodiment 32]
A tangible, non-transitory, machine-readable medium storing instructions that, when executed by a data processing device, cause the data processing device to perform a process comprising any of embodiments 1-31. , machine-readable medium.
[Embodiment 33]
A system comprising one or more processors and a memory storing instructions, wherein when the instructions are executed by the one or more processors, the one or more processors - A system in which processing including any of 31 is realized.

Claims (60)

データ検索プロセスにおけるクエリ関連のリソース使用を低減させるためのシステムであって、前記システムは、
コンピュータプログラム命令を使用してプログラミングされている一つまたは複数のプロセッサを有するコンピュータシステムを備え、前記コンピュータプログラム命令が実行されると、前記コンピュータシステムは、
データリクエストに関連するグラフクエリであって、複数のパターンを含む前記グラフクエリを取得し、
グラフデータモデルおよび前記グラフクエリの前記複数のパターンに基づいて、前記グラフクエリをクエリセットへと変換し、
前記クエリセットは、複数のクエリおよび前記複数のクエリをリンクするクエリ演算子を含み、
前記クエリ演算子は、前記複数のクエリのうちの第1のクエリと第2のクエリとをリンクする第1のクエリ演算子を含み、
前記第1のクエリおよび前記第2のクエリが実行される前に、前記第1のクエリおよび前記第2のクエリから導出される結果を組み合わせることに関する充足可能性の問題を予測し、
前記充足可能性の問題の前記予測に基づいて、前記クエリセットから前記第1のクエリ演算子を削除させて、更新された前記クエリセットが前記第1のクエリ演算子を含まないように前記クエリセットを更新し、
前記グラフクエリを満たすべく、前記更新されたクエリセットを実行する、方法。
A system for reducing query-related resource usage in a data retrieval process, the system comprising:
a computer system having one or more processors programmed using computer program instructions; when the computer program instructions are executed, the computer system:
Obtaining a graph query related to a data request, the graph query including a plurality of patterns;
converting the graph query into a query set based on a graph data model and the plurality of patterns of the graph query;
The query set includes a plurality of queries and a query operator that links the plurality of queries;
The query operator includes a first query operator that links a first query and a second query among the plurality of queries,
predicting satisfiability problems associated with combining results derived from the first query and the second query before the first query and the second query are executed;
Based on the prediction of the satisfiability problem, the first query operator is removed from the query set such that the updated query set does not include the first query operator. update the set,
A method of executing the updated query set to satisfy the graph query.
前記第1のクエリ演算子は、前記第1のクエリと前記第2のクエリとをリンクするunion、または、前記第1のクエリと前記第2のクエリをとリンクするjoinを含む、請求項1に記載のシステム。 The first query operator includes a union that links the first query and the second query, or a join that links the first query and the second query. system described in. 前記充足可能性の問題を予測することは、
前記第1のクエリおよび前記第2のクエリに対する結果を取得するための第1のソースおよび第2のソースを決定すること、
第1のテンプレートおよび第2のテンプレートに関する非互換性を判定すること、ならびに、
前記第1のテンプレートおよび前記第2のテンプレートに関する前記非互換性に基づく前記充足可能性の問題を予測すること、を含み、
前記第1のテンプレートは、前記第1のソースからのデータ表現を、グラフデータベースと互換性を有するグラフデータ表現へと変換するように構成され、前記第2のテンプレートは、前記第2のソースからのデータ表現を、前記グラフデータベースと互換性を有するグラフデータ表現へと変換するように構成されている、請求項1に記載のシステム。
Predicting the satisfiability problem is:
determining a first source and a second source for obtaining results for the first query and the second query;
determining an incompatibility regarding the first template and the second template; and
predicting the satisfiability problem based on the incompatibility with the first template and the second template;
The first template is configured to convert a data representation from the first source into a graph data representation that is compatible with a graph database, and the second template is configured to convert a data representation from the second source to a graph data representation that is compatible with a graph database. 2. The system of claim 1, wherein the system is configured to convert a data representation to a graph data representation compatible with the graph database.
前記充足可能性の問題を予測することは、
前記グラフデータモデルに基づいて、前記第1のクエリに対する第1の結果をグラフデータベースに格納するためのデータタイプとして、第1のデータタイプを決定すること、
前記グラフデータモデルに基づいて、前記第2のクエリに対する第2の結果を前記グラフデータベースに格納するためのデータタイプとして、第2のデータタイプを決定すること、
前記第1のデータタイプおよび前記第2のデータタイプに関連する非互換性を判定すること、ならびに、
前記第1のデータタイプおよび前記第2のデータタイプに関連する前記非互換性に基づく前記充足可能性の問題を予測すること、を含む、請求項1に記載のシステム。
Predicting the satisfiability problem
determining a first data type based on the graph data model as a data type for storing a first result to the first query in a graph database;
determining a second data type based on the graph data model as a data type for storing a second result to the second query in the graph database;
determining an incompatibility associated with the first data type and the second data type; and
2. The system of claim 1, further comprising: predicting the satisfiability problem based on the incompatibility related to the first data type and the second data type.
前記第2の結果に対応する第2のデータ表現を第2のソースに格納するために使用されるデータタイプと互換性のあるデータタイプとして、前記第1の結果に対応する第1のデータ表現が第1のソースに格納される、請求項4に記載のシステム。 a first data representation corresponding to said first result as a data type compatible with a data type used to store said second data representation corresponding to said second result in a second source; 5. The system of claim 4, wherein: is stored in the first source. 前記第2の結果に対応する第2のデータ表現を第2のソースに格納するために使用されるデータタイプと互換性のないデータタイプとして、前記第1の結果に対応する第1のデータ表現が第1のソースに格納される、請求項4に記載のシステム。 a first data representation corresponding to said first result as a data type that is incompatible with a data type used to store said second data representation corresponding to said second result in a second source; 5. The system of claim 4, wherein: is stored in the first source. 前記コンピュータシステムは更に、
前記クエリセットの複数のクエリのサブセットを実行する前に、前記充足可能性の問題の前記予測に基づいて、前記第1のクエリまたは前記第2のクエリを含まない前記クエリのサブサブセットから導出される結果を組み合わせることに関連する別の充足可能性の問題を予測し、
前記別の充足可能性の問題の前記予測に基づいて、前記クエリセットから前記第2のクエリ演算子を削除して、更新された前記クエリセットが前記第2のクエリ演算子を含まないように前記クエリセットを更新する、請求項1に記載のシステム。
The computer system further includes:
prior to executing a subset of the plurality of queries of the query set, based on the prediction of the satisfiability problem, from a sub-subset of the queries that does not include the first query or the second query. Anticipate other satisfiability problems associated with combining the results of
removing the second query operator from the query set based on the prediction of the another satisfiability problem such that the updated query set does not include the second query operator; The system of claim 1, updating the query set.
前記コンピュータシステムは更に、
ニューラルネットワークに複数のグラフクエリを提供し、前記ニューラルネットワークに、前記複数のグラフクエリのそれぞれに対する所与のクエリセットを予測させ、前記予測された所与のクエリセットのうちの少なくとも一つは、予測されたクエリおよび前記予測されたクエリをリンクする予測されたクエリ演算子を含み、
前記複数のグラフクエリのそれぞれについて、前記グラフクエリに対する参照クエリセットを参照フィードバックとして前記ニューラルネットワークに提供して、前記ニューラルネットワークに、前記予測された所与のクエリセットを前記参照クエリセットに対して評価させ、前記予測された所与のクエリセットの前記ニューラルネットワークによる評価に基づいて前記ニューラルネットワークは更新され、
前記グラフクエリを前記ニューラルネットワークに提供することにより前記グラフクエリを前記クエリセットへと変換して、前記クエリセットを取得し、
前記ニューラルネットワークに対する参照フィードバックとして、更新された前記クエリセットを前記ニューラルネットワークに提供して、前記ニューラルネットワークに前記クエリセットを前記更新されたクエリセットに対して評価させ、前記クエリセットの前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークが更新される、請求項1に記載のシステム。
The computer system further includes:
providing a plurality of graph queries to a neural network, causing the neural network to predict a given query set for each of the plurality of graph queries, at least one of the predicted given query sets comprising: a predicted query and a predicted query operator linking the predicted query;
For each of the plurality of graph queries, providing a reference query set for the graph query as reference feedback to the neural network to cause the neural network to apply the predicted given query set to the reference query set. and updating the neural network based on the neural network's evaluation of the predicted given query set;
converting the graph query into the query set by providing the graph query to the neural network to obtain the query set;
providing the updated query set to the neural network as reference feedback to the neural network, causing the neural network to evaluate the query set against the updated query set; 2. The system of claim 1, wherein the neural network is updated based on the evaluation by.
前記コンピュータシステムは更に、
複数のグラフクエリまたは複数の対応するクエリセットをニューラルネットワークに提供して、前記ニューラルネットワークに、前記複数の対応するクエリセットのそれぞれについて一つ以上の所与の最適化を予測させ、
前記予測された所与の最適化のうちの少なくとも一つは、複数のクエリをリンクする所与のクエリ演算子を所与のクエリセットから削除すること、複数のクエリを一つのクエリにマージすること、または、所与のクエリセットから一つ以上のクエリを削除すること、を含み、
前記複数の対応するクエリセットのそれぞれに関して、前記対応するクエリセットに対する一つ以上の参照最適化を、前記ニューラルネットワークに対する参照フィードバックとして提供して、前記ニューラルネットワークに前記一つ以上の予測した所与の最適化を前記一つ以上の参照最適化に対して評価させ、前記予測された所与のクエリセットの前記ニューラルネットワークによる評価に基づいて前記ニューラルネットワークが更新され、
前記グラフクエリまたは前記グラフクエリから導出された初期クエリセットを前記ニュ
ーラルネットワークに提供して、前記初期クエリセットに対する一つ以上の最適化を取得し、
前記一つ以上の最適化を前記初期クエリセットに対して実行することにより、前記グラフクエリを前記クエリセットへと変換し、
前記ニューラルネットワークに対する参照フィードバックとして、前記第1のクエリ演算子が削除されたことを示す情報を前記ニューラルネットワークに提供し、前記ニューラルネットワークに前記一つ以上の最適化を前記第1のクエリ演算子が削除されたことに対して評価させ、前記一つ以上の最適化の前記ニューラルネットワークによる評価に基づいて前記ニューラルネットワークが更新される、請求項1に記載のシステム。
The computer system further includes:
providing a plurality of graph queries or a plurality of corresponding query sets to a neural network and causing the neural network to predict one or more given optimizations for each of the plurality of corresponding query sets;
At least one of the predicted given optimizations includes removing a given query operator that links multiple queries from a given query set, merging multiple queries into a single query. or removing one or more queries from a given query set;
For each of the plurality of corresponding query sets, one or more reference optimizations for the corresponding query set are provided as reference feedback to the neural network to cause the neural network to calculate the one or more predicted given the neural network is updated based on the neural network's evaluation of the predicted given query set;
providing the graph query or an initial query set derived from the graph query to the neural network to obtain one or more optimizations for the initial query set;
converting the graph query into the query set by performing the one or more optimizations on the initial query set;
providing information to the neural network indicating that the first query operator has been removed as reference feedback to the neural network; and having the neural network perform the one or more optimizations on the first query operator. 2. The system of claim 1, wherein the neural network is updated based on the neural network's evaluation of the one or more optimizations.
前記コンピュータシステムは更に、
所与の複数のクエリセットをニューラルネットワークに提供して、前記ニューラルネットワークに、前記所与の複数のクエリセットのそれぞれに関連する一つ以上の充足可能性の問題を予測させ、
前記所与の複数のクエリセットのそれぞれに関して、前記所与のクエリセットについての一つ以上の参照充足可能性問題を、前記ニューラルネットワークに対する参照フィードバックとして前記ニューラルネットワークに提供して、前記ニューラルネットワークに、前記一つ以上の予測された充足可能性の問題を前記一つ以上の参照充足可能性問題に対して評価させ、前記一つ以上の予測された充足可能性の問題の前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークが更新され、
前記クエリセットを前記ニューラルネットワークに提供して、前記ニューラルネットワークから前記充足可能性の問題の前記予測を示す情報を取得し、
前記ニューラルネットワークからの前記情報に基づいて、前記第1のクエリおよび前記第2のクエリから導出された結果を組み合わせることに関連する前記充足可能性の問題を予測する、請求項1に記載のシステム。
The computer system further includes:
providing a given plurality of query sets to a neural network to cause the neural network to predict one or more satisfiability problems associated with each of the given plurality of query sets;
providing one or more reference satisfiability problems for the given query set to the neural network as reference feedback to the neural network for each of the given plurality of query sets; , causing the one or more predicted satisfiability problems to be evaluated against the one or more reference satisfiability problems, and evaluating the one or more predicted satisfiability problems by the neural network. the neural network is updated based on
providing the query set to the neural network to obtain information from the neural network indicating the prediction of the satisfiability problem;
The system of claim 1, wherein the system predicts the satisfiability problem associated with combining results derived from the first query and the second query based on the information from the neural network. .
データ検索プロセスにおけるクエリ関連のリソース使用を低減する方法であって、前記方法は、コンピュータプログラム命令を実行する一つまたは複数のプロセッサを備えるコンピュータシステムによって実装され、前記コンピュータプログラム命令が実行されると、前記方法を実行し、
前記方法は、
データリクエストに関連するクエリであって、複数のパターンを含む前記グラフクエリを取得する工程と、
グラフデータモデルおよび前記グラフクエリの前記複数のパターンに基づいて、前記グラフクエリをクエリセットへと変換する工程と、を備え、
前記クエリセットは、複数のクエリおよび前記複数のクエリをリンクするクエリ演算子を含み、前記クエリ演算子は、前記複数のクエリのうちの第1のクエリと第2のクエリとをリンクする第1のクエリ演算子を含み、
前記方法は更に、
前記第1のクエリおよび前記第2のクエリが実行される前に、前記第1のクエリおよび前記第2のクエリから導出される結果を組み合わせることに関する充足可能性の問題を予測する工程と、
前記充足可能性の問題の前記予測に基づいて、前記クエリセットから前記第1のクエリ演算子を削除させて、更新された前記クエリセットが前記第1のクエリ演算子を含まないように前記クエリセットを更新させる工程と、
前記グラフクエリを満たすべく、前記更新されたクエリセットを実行する工程と、を備える、方法。
A method of reducing query-related resource usage in a data retrieval process, the method comprising: a computer system comprising one or more processors executing computer program instructions; , carrying out the method;
The method includes:
obtaining the graph query, which is a query related to a data request and includes a plurality of patterns;
converting the graph query into a query set based on the graph data model and the plurality of patterns of the graph query,
The query set includes a plurality of queries and a query operator that links the plurality of queries, and the query operator includes a first query that links a first query and a second query among the plurality of queries. contains query operators,
The method further includes:
predicting satisfiability problems associated with combining results derived from the first query and the second query before the first query and the second query are executed;
Based on the prediction of the satisfiability problem, the first query operator is removed from the query set such that the updated query set does not include the first query operator. a step of updating the set;
executing the updated query set to satisfy the graph query.
前記第1のクエリ演算子は、前記第1のクエリと前記第2のクエリとをリンクするunion、または、前記第1のクエリと前記第2のクエリをとリンクするjoinを含む、
請求項11に記載の方法。
The first query operator includes a union that links the first query and the second query, or a join that links the first query and the second query.
The method according to claim 11.
前記充足可能性の問題を予測する工程は、
前記第1のクエリおよび前記第2のクエリに対する結果を取得するための第1のソースおよび第2のソースを決定すること、
第1のテンプレートおよび第2のテンプレートに関する非互換性を判定すること、ならびに
前記第1のテンプレートおよび前記第2のテンプレートに関連する前記非互換性に基づく前記充足可能性の問題を予測すること、を含み、
前記第1のテンプレートは、前記第1のソースからのデータ表現を、グラフデータベースと互換性を有するグラフデータ表現へと変換するように構成され、前記第2のテンプレートは、前記第2のソースからのデータ表現を、前記グラフデータベースと互換性を有するグラフデータ表現へと変換するように構成されており、
前記方法は更に、前記第1のテンプレートおよび前記第2のテンプレートに関する前記非互換性に基づく前記充足可能性の問題を予測する工程を備える、請求項11に記載の方法。
The step of predicting the satisfiability problem includes:
determining a first source and a second source for obtaining results for the first query and the second query;
determining an incompatibility with a first template and a second template; and predicting the satisfiability problem based on the incompatibility with the first template and the second template; including;
The first template is configured to convert a data representation from the first source into a graph data representation compatible with a graph database, and the second template is configured to convert a data representation from the second source to a graph data representation that is compatible with a graph database. is configured to convert a data representation into a graph data representation compatible with the graph database;
12. The method of claim 11, further comprising predicting the satisfiability problem based on the incompatibility with the first template and the second template.
前記充足可能性の問題を予測する工程は、
前記グラフデータモデルに基づいて、前記第1のクエリに対する第1の結果をグラフデータベースに格納するためのデータタイプとして、第1のデータタイプを決定すること、
前記グラフデータモデルに基づいて、前記第2のクエリに対する第2の結果を前記グラフデータベースに格納するためのデータタイプとして、第2のデータタイプを決定すること、
前記第1のデータタイプおよび前記第2のデータタイプに関連する非互換性を判定すること、ならびに、
前記第1のデータタイプおよび前記第2のデータタイプに関連する前記非互換性に基づく前記充足可能性の問題を予測すること、を含む、請求項11に記載の方法。
The step of predicting the satisfiability problem includes:
determining a first data type as a data type for storing a first result for the first query in a graph database based on the graph data model;
determining a second data type as a data type for storing a second result for the second query in the graph database based on the graph data model;
determining an incompatibility associated with the first data type and the second data type; and
12. The method of claim 11, comprising predicting the satisfiability problem based on the incompatibility associated with the first data type and the second data type.
前記第2の結果に対応する第2のデータ表現を第2のソースに格納するために使用されるデータタイプと互換性のあるデータタイプとして、前記第1の結果に対応する第1のデータ表現が第1のソースに格納される、請求項14に記載の方法。 a first data representation corresponding to said first result as a data type compatible with a data type used to store said second data representation corresponding to said second result in a second source; 15. The method of claim 14, wherein: is stored in the first source. 前記第2の結果に対応する第2のデータ表現を第2のソースに格納するために使用されるデータタイプと互換性のないデータタイプとして、前記第1の結果に対応する第1のデータ表現が第1のソースに格納される、請求項14に記載の方法。 a first data representation corresponding to said first result as a data type that is incompatible with a data type used to store said second data representation corresponding to said second result in a second source; 15. The method of claim 14, wherein: is stored in the first source. 前記クエリセットの複数のクエリのサブセットを実行する前に、前記充足可能性の問題の前記予測に基づいて、前記第1のクエリまたは前記第2のクエリを含まない前記クエリのサブサブセットから導出される結果を組み合わせることに関連する別の充足可能性の問題を予測する工程と、
前記別の充足可能性の問題の前記予測に基づいて、前記クエリセットから前記第2のクエリ演算子を削除して、更新された前記クエリセットが前記第2のクエリ演算子を含まないように前記クエリセットを更新する工程と、更に備える、請求項11に記載の方法。
prior to executing a subset of the plurality of queries of the query set, based on the prediction of the satisfiability problem, from a sub-subset of the queries that does not include the first query or the second query. predicting alternative satisfiability problems associated with combining the results obtained;
removing the second query operator from the query set based on the prediction of the another satisfiability problem such that the updated query set does not include the second query operator; 12. The method of claim 11, further comprising updating the query set.
ニューラルネットワークに複数のグラフクエリを提供し、前記ニューラルネットワークに、前記複数のグラフクエリのそれぞれに対する所与のクエリセットを予測させる工程を更に備え、
前記予測された所与のクエリセットのうちの少なくとも一つは、予測されたクエリおよび前記予測されたクエリをリンクする予測されたクエリ演算子を含み、
前記方法は更に、前記複数のグラフクエリのそれぞれについて、前記グラフクエリに対
する参照クエリセットを参照フィードバックとして前記ニューラルネットワークに提供して、前記ニューラルネットワークに、前記予測された所与のクエリセットを前記参照クエリセットに対して評価させる工程を備え、
前記予測された所与のクエリセットの前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークは更新され、
前記方法は更に、
前記グラフクエリを前記ニューラルネットワークに提供することにより前記グラフクエリを前記クエリセットへと変換して、前記クエリセットを取得する工程と、
前記ニューラルネットワークに対する参照フィードバックとして、更新された前記クエリセットを前記ニューラルネットワークに提供して、前記ニューラルネットワークに前記クエリセットを前記更新されたクエリセットに対して評価させる工程と、を備え、
前記クエリセットの前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークが更新される、請求項11に記載の方法。
further comprising providing a plurality of graph queries to a neural network and causing the neural network to predict a given query set for each of the plurality of graph queries;
at least one of the given set of predicted queries includes a predicted query and a predicted query operator linking the predicted queries;
The method further includes, for each of the plurality of graph queries, providing a reference query set for the graph query as reference feedback to the neural network to cause the neural network to use the predicted given query set as reference feedback. Equipped with a process to evaluate the query set,
the neural network is updated based on the neural network's evaluation of the predicted given query set;
The method further includes:
converting the graph query into the query set by providing the graph query to the neural network to obtain the query set;
providing the updated query set to the neural network as reference feedback to the neural network, causing the neural network to evaluate the query set against the updated query set;
12. The method of claim 11, wherein the neural network is updated based on the neural network's evaluation of the query set.
複数のグラフクエリまたは複数の対応するクエリセットをニューラルネットワークに提供して、前記ニューラルネットワークに、前記複数の対応するクエリセットのそれぞれについて一つ以上の所与の最適化を予測させる工程を備え、
前記予測された所与の最適化のうちの少なくとも一つは、複数のクエリをリンクする所与のクエリ演算子を所与のクエリセットから削除すること、複数のクエリを一つのクエリにマージすること、または、所与のクエリセットから一つ以上のクエリを削除すること、を含み、
前記方法は更に、前記複数の対応するクエリセットのそれぞれに関して、前記対応するクエリセットに対する一つ以上の参照最適化を、前記ニューラルネットワークに対する参照フィードバックとして提供して、前記ニューラルネットワークに前記予測された一つ以上の所与の最適化を前記一つ以上の参照最適化に対して評価させる工程を備え、
前記予測された一つ以上の所与の最適化の前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークが更新され、
前記方法は更に、
前記グラフクエリまたは前記グラフクエリから導出された初期クエリセットを前記ニューラルネットワークに提供して、前記初期クエリセットに対する一つ以上の最適化を取得する工程と、
前記一つ以上の最適化を前記初期クエリセットに実行することにより、前記グラフクエリを前記クエリセットへと変換する工程と、
前記ニューラルネットワークに対する参照フィードバックとして、前記第1のクエリ演算子が削除されたことを示す情報を前記ニューラルネットワークに提供し、前記ニューラルネットワークに前記一つ以上の最適化を前記第1のクエリ演算子が削除されたことに対して評価させる工程と、を備え、
前記一つ以上の最適化の前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークが更新される、請求項11に記載の方法。
providing a plurality of graph queries or a plurality of corresponding query sets to a neural network to cause the neural network to predict one or more given optimizations for each of the plurality of corresponding query sets;
At least one of the predicted given optimizations includes removing a given query operator that links multiple queries from a given query set, merging multiple queries into a single query. or removing one or more queries from a given query set;
The method further includes, for each of the plurality of corresponding query sets, providing one or more reference optimizations for the corresponding query set as reference feedback to the neural network to cause the neural network to calculate the predicted result. evaluating one or more given optimizations against the one or more reference optimizations;
the neural network is updated based on the neural network's evaluation of the predicted one or more given optimizations;
The method further includes:
providing the graph query or an initial query set derived from the graph query to the neural network to obtain one or more optimizations for the initial query set;
converting the graph query into the query set by performing the one or more optimizations on the initial query set;
providing information to the neural network indicating that the first query operator has been removed as reference feedback to the neural network; and having the neural network perform the one or more optimizations on the first query operator. a step of evaluating whether the has been deleted;
12. The method of claim 11, wherein the neural network is updated based on the neural network's evaluation of the one or more optimizations.
所与の複数のクエリセットをニューラルネットワークに提供して、前記ニューラルネットワークに、前記所与の複数のクエリセットのそれぞれに関連する一つ以上の充足可能性の問題を予測させる工程と、
前記所与の複数のクエリセットのそれぞれに関して、前記所与のクエリセットについての一つ以上の参照充足可能性問題を、前記ニューラルネットワークに対する参照フィードバックとして前記ニューラルネットワークに提供して、前記ニューラルネットワークに前記予測された一つ以上の充足可能性の問題を前記一つ以上の参照充足可能性問題に対して評価させる工程と、を備え、
前記予測された一つ以上の充足可能性の問題の前記ニューラルネットワークによる評価に基づいて、前記ニューラルネットワークが更新され、
前記方法は更に、
前記クエリセットを前記ニューラルネットワークに提供して、前記ニューラルネットワークから前記充足可能性の問題の前記予測を示す情報を取得する工程と、
前記ニューラルネットワークからの前記情報に基づいて、前記第1のクエリおよび前記第2のクエリから導出された結果を組み合わせることに関連する前記充足可能性の問題を予測する工程と、備える、請求項11に記載の方法。
providing a given plurality of query sets to a neural network to cause the neural network to predict one or more satisfiability problems associated with each of the given plurality of query sets;
providing one or more reference satisfiability problems for the given query set to the neural network as reference feedback to the neural network for each of the given plurality of query sets; evaluating the one or more predicted satisfiability problems against the one or more reference satisfiability problems,
updating the neural network based on the neural network's evaluation of the predicted one or more satisfiability problems;
The method further includes:
providing the query set to the neural network to obtain information from the neural network indicating the prediction of the satisfiability problem;
predicting the satisfiability problem associated with combining results derived from the first query and the second query based on the information from the neural network. The method described in.
予測に基づくデータサブグラフの生成を介して、データ検索遅延を低減させるためのシステムであって、前記システムは、
コンピュータプログラム命令を使用してプログラミングされている一つまたは複数のプロセッサを有するコンピュータシステムを備え、
前記コンピュータプログラム命令が実行されると、前記コンピュータシステムは、
グラフデータモデルと互換性のある過去のクエリに基づいて、データリクエストが未来に発生することを予測し、
グラフデータモデルに基づいて、前記データリクエストが求めると予測されるデータであるデータセットのデータサブセットを表す一つ以上のサブグラフを、前記データリクエストの前記予測に応答して生成し、
前記一つ以上のサブグラフを一時データストレージに格納し、
前記一つ以上のサブグラフの前記格納の後に、前記予測されたデータリクエストに一致する次のデータリクエストを取得し、
前記予測されたデータリクエストに一致する前記次のデータリクエストに基づいて、前記一つ以上のサブグラフを前記一次データストレージから取得し、
前記次のデータリクエストに応答するべく前記一つ以上のサブグラフを使用する、システム。
A system for reducing data retrieval delay through prediction-based data subgraph generation, the system comprising:
comprising a computer system having one or more processors programmed using computer program instructions;
When the computer program instructions are executed, the computer system:
Predict future data requests based on past queries compatible with graph data models,
generating, in response to the prediction of the data request, one or more subgraphs representing a data subset of the data set that is the data that the data request is predicted to seek based on a graph data model;
storing the one or more subgraphs in temporary data storage;
after the storing of the one or more subgraphs, obtaining a next data request that matches the predicted data request;
retrieving the one or more subgraphs from the primary data storage based on the next data request that matches the predicted data request;
A system that uses the one or more subgraphs to respond to the next data request.
前記コンピュータシステムは、
前記データサブセットを、前記一つ以上のサブグラフのノードおよびエッジから抽出し、
前記次のデータリクエストに応答するべく、抽出された前記データサブセットを返すことにより、前記一つ以上のサブグラフを使用する、請求項21に記載のシステム。
The computer system includes:
extracting the data subset from nodes and edges of the one or more subgraphs;
22. The system of claim 21, using the one or more subgraphs to respond to the next data request by returning the extracted subset of data.
前記コンピュータシステムは更に、
前記データリクエストの前記予測に応答して、前記データサブセットの第1のデータサブセットを一つ以上の非グラフデータベースから取得し、
前記第1のデータサブセットを取得した後に、前記グラフデータモデルに基づいて前記第1のデータサブセットを表す第1のサブグラフを生成し、
前記一つ以上のサブグラフは、前記次のデータリクエストに応答するべく前記第1のサブグラフを使用するように前記第1のサブグラフを含む、請求項21に記載のシステム。
The computer system further includes:
in response to the prediction of the data request, retrieving a first data subset of the data subsets from one or more non-graph databases;
after obtaining the first data subset, generating a first subgraph representing the first data subset based on the graph data model;
22. The system of claim 21, wherein the one or more subgraphs include the first subgraph to use the first subgraph to respond to the next data request.
前記コンピュータシステムは更に、前記データリクエストの前記予測に応答して、前記データサブセットの第2のデータサブセットを一つ以上のグラフデータベースから取得し、
前記一つ以上のサブグラフは、前記次のデータリクエストに応答するべく第2のサブグラフを使用するように、前記第2のデータサブセットを表す前記第2のサブグラフを含む、請求項23に記載のシステム。
The computer system further obtains a second data subset of the data subsets from one or more graph databases in response to the prediction of the data request;
24. The system of claim 23, wherein the one or more subgraphs include the second subgraph representing the second data subset to use the second subgraph to respond to the next data request. .
前記コンピュータシステムは更に、
前記予測されたデータリクエストの一つ以上の検索パラメータに基づいて、複数のグラフクエリを生成し、
前記グラフデータモデルに基づいて、前記複数のグラフクエリの内の少なくとも一つを
、一つ以上の非グラフクエリへと変換し、
前記一つ以上の非グラフクエリを実行して、前記一つ以上の非グラフデータベースから前記第1のデータサブセットを取得し、
前記複数のグラフクエリのうちのを別の一つを実行して、前記一つ以上の非グラフデータベースから前記第2のデータサブセットを取得する、請求項24に記載のシステム。
The computer system further includes:
generating a plurality of graph queries based on one or more search parameters of the predicted data request;
converting at least one of the plurality of graph queries into one or more non-graph queries based on the graph data model;
executing the one or more non-graph queries to obtain the first data subset from the one or more non-graph databases;
25. The system of claim 24, executing another one of the plurality of graph queries to obtain the second data subset from the one or more non-graph databases.
前記コンピュータシステムは更に、前記予測されたデータリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストに応答するべくクエリプランを生成し、
前記クエリプランは、前記予測されたデータリクエストに一致する前記次のデータリクエストに基づいて、前記一時データストレージからデータを取得することを含むように生成され、
前記コンピュータシステムは更に、前記クエリプランに基づいて、前記一つ以上のサブグラフを前記一時データストレージから取得する、請求項21に記載のシステム。
The computer system further generates a query plan to respond to the next data request based on the next data request that matches the predicted data request;
the query plan is generated including retrieving data from the temporary data storage based on the next data request matching the predicted data request;
22. The system of claim 21, wherein the computer system further retrieves the one or more subgraphs from the temporary data storage based on the query plan.
前記コンピュータシステムは更に、前記予測されたデータリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストに応答するクエリプランを生成し、
前記クエリプランは、前記次のデータリクエストに応答して生成され、
前記コンピュータシステムは更に、
前記クエリプランに基づいて、前記一つ以上のサブグラフを前記一時データストレージから取得し、一つ以上のその他のデータサブセットを一つ以上のその他のデータソースから取得し、
前記次のデータリクエストに応答するべく、(i)前記一つ以上のサブグラフによって表される前記データサブセット、および(ii)前記一つ以上のその他のデータを使用する、請求項21に記載のシステム。
The computer system further generates a query plan responsive to the next data request based on the next data request that matches the predicted data request;
the query plan is generated in response to the next data request;
The computer system further includes:
retrieving the one or more subgraphs from the temporary data storage and retrieving one or more other data subsets from one or more other data sources based on the query plan;
22. The system of claim 21, using (i) the data subset represented by the one or more subgraphs, and (ii) the one or more other data to respond to the next data request. .
前記コンピュータシステムは更に、
前記データリクエストの前記予測に応答して、クエリを実行し、
実行される前記クエリは、予測された前記データリクエストがクライアントデバイスから取得されていた場合に、予測された前記データリクエストに応答するために実行されたであろうクエリのセットの一部であり、
前記コンピュータシステムは更に、
前記クエリに基づいて、前記データリクエストが求めると予測される前記データセットの前記データサブセットを取得し、
前記データサブセットおよび前記グラフデータモデルに基づいて、前記一つ以上のサブグラフを生成する、請求項21に記載のシステム。
The computer system further includes:
executing a query in response to the prediction of the data request;
the executed query is part of a set of queries that would have been executed in response to the predicted data request if the predicted data request had been obtained from a client device;
The computer system further includes:
obtaining the data subset of the data set that the data request is expected to require based on the query;
22. The system of claim 21, generating the one or more subgraphs based on the data subset and the graph data model.
前記データリクエストの前記予測から、前記クエリのセットのうちの一つ以上のその他のクエリの実行が発生しない、請求項28に記載のシステム。 29. The system of claim 28, wherein no execution of one or more other queries of the set of queries occurs from the prediction of the data request. 前記コンピュータシステムは更に、
機械学習モデルをトレーニングするべく、前記グラフデータモデルに互換性がある過去のクエリを前記機械学習モデルに提供し、
前記機械学習モデルの前記トレーニングの後に、前記機械学習モデルから、前記データリクエストの前記予測を示す情報を取得し、
前記機械学習モデルを更にトレーニングするべく、予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストを示す情報を参照フィードバックとして前記機械学習モデルに提供する、請求項21に記載のシステム。
The computer system further includes:
providing past queries compatible with the graph data model to the machine learning model to train the machine learning model;
after the training of the machine learning model, obtaining information from the machine learning model indicating the prediction of the data request;
4. Provide information indicative of the next data request as reference feedback to the machine learning model based on the next data request matching the predicted data request to further train the machine learning model. The system described in 21.
予測に基づくデータサブグラフの生成を介して、データ検索遅延を低減させる方法であって、前記方法は、コンピュータプログラム命令を実行する一つまたは複数のプロセッサを備えるコンピュータシステムによって実装され、前記コンピュータプログラム命令が実行されると、前記方法を実行し、前記方法は、
グラフデータモデルと互換性のある過去のクエリに基づいて、データリクエストが未来に発生することを予測する工程と、
グラフデータモデルに基づいて、前記データリクエストが求めると予測されるデータであるデータセットのデータサブセットを表す一つ以上のサブグラフを、前記データリクエストの前記予測に応答して生成する工程と、
前記一つ以上のサブグラフを一時データストレージに格納する工程と、
予測された前記データリクエストに一致する次のデータリクエストを、前記一つ以上のサブグラフの前記格納の後に取得する工程と、
予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記一つ以上のサブグラフを前記一次データストレージから取得する工程と、
前記次のデータリクエストに応答するべく前記一つ以上のサブグラフを使用する工程と、を備える方法。
A method of reducing data retrieval delay through prediction-based generation of data subgraphs, the method comprising: a computer system comprising one or more processors executing computer program instructions; executes the method, and the method includes:
predicting future data requests based on past queries compatible with the graph data model;
generating, in response to the prediction of the data request, one or more subgraphs representing a data subset of the data set that is the data that the data request is predicted to seek based on a graph data model;
storing the one or more subgraphs in temporary data storage;
retrieving a next data request that matches the predicted data request after the storage of the one or more subgraphs;
retrieving the one or more subgraphs from the primary data storage based on the next data request that matches the predicted data request;
using the one or more subgraphs to respond to the next data request.
前記一つ以上のサブグラフを使用する工程は、
前記データサブセットを、前記一つ以上のサブグラフのノードおよびエッジから抽出する工程と、
前記次のデータリクエストに応答するべく、抽出された前記データサブセットを返す工程と、を有する、請求項31に記載の方法。
The step of using the one or more subgraphs includes:
extracting the data subset from nodes and edges of the one or more subgraphs;
32. The method of claim 31, comprising returning the extracted subset of data in response to the next data request.
前記データリクエストの前記予測に応答して、前記データサブセットの第1のデータサブセットを一つ以上の非グラフデータベースから取得する工程を更に備え、
前記一つ以上のサブグラフを生成する工程は、前記第1のデータサブセットを取得した後に、前記グラフデータモデルに基づいて前記第1のデータサブセットを表す第1のサブグラフを生成することを含み、
前記一つ以上のサブグラフは、前記次のデータリクエストに応答するべく前記第1のサブグラフを使用するように前記第1のサブグラフを含む、請求項31に記載の方法。
further comprising retrieving a first data subset of the data subsets from one or more non-graph databases in response to the prediction of the data request;
The step of generating one or more subgraphs includes, after obtaining the first data subset, generating a first subgraph representing the first data subset based on the graph data model;
32. The method of claim 31, wherein the one or more subgraphs include the first subgraph to use the first subgraph to respond to the next data request.
前記データリクエストの前記予測に応答して、前記データサブセットの第2のデータサブセットを一つ以上のグラフデータベースから取得する工程を更に備え、
前記一つ以上のサブグラフは、前記次のデータリクエストに応答するべく第2のサブグラフを使用するように、前記第2のデータサブセットを表す前記第2のサブグラフを含む、請求項33に記載の方法。
further comprising retrieving a second data subset of the data subsets from one or more graph databases in response to the prediction of the data request;
34. The method of claim 33, wherein the one or more subgraphs include the second subgraph representing the second data subset, such as using the second subgraph to respond to the next data request. .
前記予測されたデータリクエストの一つ以上の検索パラメータに基づいて、複数のグラフクエリを生成する工程と、
前記グラフデータモデルに基づいて、前記複数のグラフクエリの内の少なくとも一つを、一つ以上の非グラフクエリへと変換する工程と、
前記一つ以上の非グラフクエリを実行して、前記一つ以上の非グラフデータベースから前記第1のデータサブセットを取得する工程と、
前記複数のグラフクエリのうちのを別の一つを実行して、前記一つ以上の非グラフデータベースから前記第2のデータサブセットを取得する工程と、を更に備える、請求項34に記載の方法。
generating a plurality of graph queries based on one or more search parameters of the predicted data request;
converting at least one of the plurality of graph queries into one or more non-graph queries based on the graph data model;
executing the one or more non-graph queries to obtain the first data subset from the one or more non-graph databases;
35. The method of claim 34, further comprising executing another one of the plurality of graph queries to obtain the second data subset from the one or more non-graph databases. .
予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストに応答するクエリプランを生成する工程を更に備え、
前記クエリプランは、予測された前記データリクエストに一致する前記次のデータリクエストに基づいて前記一時データストレージからデータを取得することを含むように生成され、
前記一つ以上のサブグラフを取得する工程は、前記クエリプランに基づいて前記一つ以上のサブグラフを前記一時データストレージから取得することを含む、請求項31に記載の方法。
further comprising generating a query plan responsive to the next data request based on the next data request that matches the predicted data request;
the query plan is generated to include retrieving data from the temporary data storage based on the next data request matching the predicted data request;
32. The method of claim 31, wherein retrieving the one or more subgraphs includes retrieving the one or more subgraphs from the temporary data storage based on the query plan.
予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストに応答するクエリプランを生成する工程を更に備え、
前記クエリプランは、前記次のデータリクエストに応答して生成され、
前記一つ以上のサブグラフを取得する工程は、前記クエリプランに基づいて、前記一つ以上のサブグラフを前記一時データストレージから取得し、一つ以上のその他のデータサブセットを一つ以上のその他のデータソースから取得することを含み、
前記一つ以上のサブグラフを使用する工程は、前記次のデータリクエストに応答するべく、(i)前記一つ以上のサブグラフによって表される前記データサブセット、および(ii)前記一つ以上のその他のデータを使用することを含む、請求項31に記載の方法。
further comprising generating a query plan responsive to the next data request based on the next data request that matches the predicted data request;
the query plan is generated in response to the next data request;
The step of retrieving the one or more subgraphs includes retrieving the one or more subgraphs from the temporary data storage based on the query plan and retrieving one or more other data subsets from one or more other data. including obtaining from a source;
Using the one or more subgraphs includes (i) the data subset represented by the one or more subgraphs, and (ii) the one or more other 32. The method of claim 31, comprising using data.
前記データリクエストの前記予測に応答して、クエリを実行する工程を更に備え、
実行される前記クエリは、予測された前記データリクエストがクライアントデバイスから取得されていた場合に、予測された前記データリクエストに応答するために実行されたであろうクエリのセットの一部であり、
前記方法は、前記クエリに基づいて、前記データリクエストが求めると予測される前記データセットの前記データサブセットを取得する工程を更に備え、
前記一つ以上のサブグラフを生成する工程は、前記データサブセットおよび前記グラフデータモデルに基づいて前記一つ以上のサブグラフを生成することを含む、請求項31に記載の方法。
further comprising executing a query in response to the prediction of the data request;
the executed query is part of a set of queries that would have been executed in response to the predicted data request if the predicted data request had been obtained from a client device;
The method further comprises obtaining the data subset of the data set that the data request is expected to require based on the query;
32. The method of claim 31, wherein generating the one or more subgraphs includes generating the one or more subgraphs based on the data subset and the graph data model.
前記データリクエストの前記予測から、前記クエリのセットのうちの一つ以上のその他のクエリの実行が発生しない、請求項38に記載の方法。
ミングされている一つまたは複数のプロセッサを有するコンピュータシステムを備え、
前記コンピュータプログラム命令が実行されると、前記コンピュータシステムは、
グラフデータモデルセットに関連するモデリング情報を取得し、前記グラフデータモデルセットのグラフデータモデルそれぞれに関連する前記モデリング情報は、非グラフデータベースにおける非グラフデータ表現を、グラフデータベースと互換性のあるグラフデータ表現へと変換するためのテンプレートを含み、
前記グラフデータモデルセットの前記グラフデータモデルそれぞれおよび前記グラフデータモデルが変換するよう前記非グラフデータ表現について、前記グラフデータモデルの前記テンプレートのうちの1つまたは複数のテンプレートおよび前記非グラフデータ表現をニューラルネットワークに提供して、前記ニューラルネットワークに前記グラフデータモデルの前記テンプレートの1つ以上の追加テンプレートを予測させ、前記ニューラルネットワークは、前記一つ以上の追加テンプレートに依存することなく、前記一つ以上の追加テンプレートの前記予測を実行するように構成されており、
前記ニューラルネットワークをトレーニングするべく、前記グラフデータモデルセットのグラフデータモデルそれぞれについて、前記グラフデータモデルの前記テンプレートの前記一つ以上の追加テンプレートを前記ニューラルネットワークに提供し、
所与の非グラフデータベースからの非グラフデータ表現のコレクションを前記ニューラルネットワークに提供して、前記所与の非グラフデータベースにおける非グラフデータ表現を所与のグラフデータベースと互換性のあるグラフデータ表現へと変換するための所与のグラフデータモデルのための一つ以上のテンプレートを前記ニューラルネットワークに生成させる、システム。
39. The method of claim 38, wherein no execution of one or more other queries of the set of queries occurs from the prediction of the data request.
a computer system having one or more processors configured to
When the computer program instructions are executed, the computer system:
obtaining modeling information associated with a graph data model set, the modeling information associated with each graph data model of the graph data model set converting a non-graph data representation in a non-graph database into a graph data compatible with the graph database; Contains templates for converting into expressions,
one or more of the templates of the graph data model and the non-graph data representation for each of the graph data models of the set of graph data models and the non-graph data representation that the graph data model converts; a neural network to cause the neural network to predict one or more additional templates of the templates of the graph data model; configured to perform the prediction of the additional templates,
providing the neural network with the one or more additional templates of the templates of the graph data models for each graph data model of the graph data model set to train the neural network;
providing a collection of non-graph data representations from a given non-graph database to the neural network to convert the non-graph data representation in the given non-graph database into a graph data representation compatible with the given graph database; a system that causes the neural network to generate one or more templates for a given graph data model for converting to a graph data model.
機械学習モデルをトレーニングするべく、前記グラフデータモデルに互換性がある過去のクエリを前記機械学習モデルに提供する工程と、
前記機械学習モデルの前記トレーニングの後に、前記機械学習モデルから、前記データリクエストの前記予測を示す情報を取得する工程と、
前記機械学習モデルを更にトレーニングするべく、予測された前記データリクエストに一致する前記次のデータリクエストに基づいて、前記次のデータリクエストを示す情報を参照フィードバックとして前記機械学習モデルに提供する工程と、を更に備える、請求項31に記載の方法。
providing past queries compatible with the graph data model to the machine learning model to train the machine learning model;
after the training of the machine learning model, obtaining information from the machine learning model indicating the prediction of the data request;
providing information indicative of the next data request as reference feedback to the machine learning model based on the next data request matching the predicted data request to further train the machine learning model; 32. The method of claim 31, further comprising:
互換性があるグラフデータ表現へと非グラフデータ表現を変換するためのグラフデータモデルのニューラルネットワークに基づく生成を提供するシステムであって、
コンピュータプログラム命令を使用してプログラミングされている一つまたは複数のプロセッサを有するコンピュータシステムを備え、
前記コンピュータプログラム命令が実行されると、前記コンピュータシステムは、
グラフデータモデルセットに関連するモデリング情報を取得し、前記グラフデータモデルセットのグラフデータモデルそれぞれに関連する前記モデリング情報は、非グラフデータベースにおける非グラフデータ表現を、グラフデータベースと互換性のあるグラフデータ表現へと変換するためのテンプレートを含み、
前記グラフデータモデルセットの前記グラフデータモデルそれぞれおよび前記グラフデータモデルが変換するよう前記非グラフデータ表現について、前記グラフデータモデルの前記テンプレートのうちの1つまたは複数のテンプレートおよび前記非グラフデータ表現をニューラルネットワークに提供して、前記ニューラルネットワークに前記グラフデータモデルの前記テンプレートの1つ以上の追加テンプレートを予測させ、前記ニューラルネットワークは、前記一つ以上の追加テンプレートに依存することなく、前記一つ以上の追加テンプレートの前記予測を実行するように構成されており、
前記ニューラルネットワークをトレーニングするべく、前記グラフデータモデルセットのグラフデータモデルそれぞれについて、前記グラフデータモデルの前記テンプレートの前記一つ以上の追加テンプレートを前記ニューラルネットワークに提供し、
所与の非グラフデータベースからの非グラフデータ表現のコレクションを前記ニューラルネットワークに提供して、前記所与の非グラフデータベースにおける非グラフデータ表現を所与のグラフデータベースと互換性のあるグラフデータ表現へと変換するための所与のグラフデータモデルのための一つ以上のテンプレートを前記ニューラルネットワークに生成させる、システム。
A system that provides neural network-based generation of graph data models for converting non-graph data representations to compatible graph data representations, the system comprising:
comprising a computer system having one or more processors programmed using computer program instructions;
When the computer program instructions are executed, the computer system:
obtaining modeling information associated with a graph data model set, the modeling information associated with each graph data model of the graph data model set converting a non-graph data representation in a non-graph database into a graph data compatible with the graph database; Contains templates for converting into expressions,
one or more of the templates of the graph data model and the non-graph data representation for each of the graph data models of the set of graph data models and the non-graph data representation that the graph data model converts; a neural network to cause the neural network to predict one or more additional templates of the templates of the graph data model; configured to perform the prediction of the additional templates,
providing the neural network with the one or more additional templates of the templates of the graph data models for each graph data model of the graph data model set to train the neural network;
providing a collection of non-graph data representations from a given non-graph database to the neural network to convert the non-graph data representation in the given non-graph database into a graph data representation compatible with the given graph database; a system that causes the neural network to generate one or more templates for a given graph data model for converting to a graph data model.
前記所与のグラフデータベースと互換性のある前記グラフデータ表現は、グラフノードまたは前記グラフノードを接続するエッジを含む、請求項41に記載のシステム。 42. The system of claim 41, wherein the graph data representation compatible with the given graph database includes graph nodes or edges connecting the graph nodes. 前記コンピュータシステムは更に、
前記所与のグラフデータベースにおけるグラフのノードおよびエッジに関連し複数のデータ表現セットを示すグラフ情報を取得し、
前記複数のデータ表現セットのデータ表現セットはそれぞれノードおよびノードを接続するエッジを含み、
前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記ニューラルネットワークが前記データ表現セットの1つ以上の追加ノードまたは追加エッジを予測するために、前記データ表現セットの1つ以上のノードまたはエッジを前記ニューラルネットワークに提供し、
前記ニューラルネットワークは、前記1つ以上の追加ノードまたは追加エッジに依存することなく、前記1つ以上の追加ノードまたは追加エッジの予測を実行するように構成されており、
前記ニューラルネットワークをトレーニングするべく、前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記データ表現セットの前記1つ以上の追加ノードまたは追加エッジを、前記ニューラルネットワークによる前記1つ以上の追加ノードまたは追加エッジの予測に対する参照フィードバックとして前記ニューラルネットワークに提供する、請求項41に記載のシステム。
The computer system further includes:
obtaining graph information associated with graph nodes and edges in the given graph database and indicating a plurality of data representation sets;
Each data representation set of the plurality of data representation sets includes nodes and edges connecting the nodes;
For each data representation set of the plurality of data representation sets, the neural network predicts one or more nodes or edges of the data representation set to predict one or more additional nodes or edges of the data representation set. providing to the neural network;
the neural network is configured to perform predictions of the one or more additional nodes or edges independently of the one or more additional nodes or edges;
To train the neural network, for each data representation set of the plurality of data representation sets, the one or more additional nodes or edges of the data representation set are trained by the neural network. 42. The system of claim 41, providing reference feedback to the neural network for predicting additional edges.
前記コンピュータシステムは更に、
前記ニューラルネットワークを介して、前記グラフのノードまたはエッジを処理するべく前記グラフのトラバースを実行して、前記ニューラルネットワークに前記グラフに対する新しいノードまたは新しいエッジを生成させ、
前記ニューラルネットワークからの前記新しいノードまたは前記新しいエッジの少なくとも一つを前記グラフに追加する、請求項43に記載のシステム。
The computer system further includes:
performing a traversal of the graph to process nodes or edges of the graph via the neural network, causing the neural network to generate new nodes or new edges for the graph;
44. The system of claim 43, adding at least one of the new node or the new edge from the neural network to the graph.
前記コンピュータシステムは更に、
前記グラフの前記トラバースに基づいて、前記ニューラルネットワークから所与のノードまたはエッジを取得し、
前記所与のノードまたはエッジの追加に関してユーザが了承することに基づいて、前記ニューラルネットワークからの前記所与のノードまたはエッジを前記グラフに追加し、
前記ユーザが了承したことを示す情報を、前記ニューラルネットワークによる前記所与のノードまたはエッジの生成に関する参照フィードバックとして前記ニューラルネットワークに提供する、請求項44に記載のシステム。
The computer system further includes:
obtaining a given node or edge from the neural network based on the traversal of the graph;
adding the given node or edge from the neural network to the graph based on user consent for adding the given node or edge;
45. The system of claim 44, wherein information indicative of the user's acceptance is provided to the neural network as reference feedback regarding the generation of the given node or edge by the neural network.
前記コンピュータシステムは更に、
前記グラフの前記トラバースに基づいて、前記ニューラルネットワークから所与のノードまたはエッジを取得し、
前記所与のノードまたはエッジを追加することに関するユーザの拒否を取得し、前記所与のノードまたはエッジは、前記ユーザの拒否に基づいて前記グラフに追加されず、
前記ユーザが了承したことを示す情報を、前記ニューラルネットワークによる前記所与のノードまたはエッジの生成に関する参照フィードバックとして前記ニューラルネットワークに提供する、請求項44に記載のシステム。
The computer system further includes:
obtaining a given node or edge from the neural network based on the traversal of the graph;
obtaining a user's refusal to add the given node or edge, wherein the given node or edge is not added to the graph based on the user's refusal;
45. The system of claim 44, wherein information indicative of the user's acceptance is provided to the neural network as reference feedback regarding the generation of the given node or edge by the neural network.
前記グラフデータモデルセットのグラフデータモデルはそれぞれ、データベースの行をグラフデータ表現に変換するように構成される、請求項41に記載のシステム。 42. The system of claim 41, wherein each graph data model of the set of graph data models is configured to convert a database row into a graph data representation. 非グラフデータ表現をグラフデータ表現へと変換するためのグラフデータモデルの機械学習モデルに基づく生成を提供する方法であって、前記方法は、コンピュータプログラム命令を実行する一つまたは複数のプロセッサを備えるコンピュータシステムによって実装され、前記コンピュータプログラム命令が実行されると、前記方法を実行し、
前記方法は、
第1のグラフデータモデルに関連する第1のモデリング情報であって、第1のグラフデータベースと互換性のない第1のデータ表現を前記第1のグラフデータベースと互換性のあるグラフデータ表現へと変換するための第1のテンプレートを含む前記第1のモデリング情報を取得する工程と、
前記第1のテンプレートの一つ以上のテンプレートおよび前記第1のデータ表現を前記機械学習モデルに提供する工程と、を備え、
前記機械学習モデルは、前記第1のテンプレートの一つ以上の追加テンプレートを前記第1のテンプレートの前記一つ以上の追加テンプレートに依存することなく予測するように構成されており、
前記方法は更に、
前記機械学習モデルをトレーニングするべく、前記機械学習モデルによる前記一つ以上
の追加テンプレートの予測に対する参照フィードバックとして、前記第1のテンプレートの前記一つ以上の追加テンプレートを前記機械学習モデルに提供する工程と、
所与のグラフデータモデルが所与のデータベースのデータ表現を所与のグラフデータベースのグラフデータ表現へと変換するための一つ以上のテンプレートを生成するべく、前記所与のデータベースからのデータ表現のコレクションを前記機械学習モデルに提供する工程と、を備える方法。
A method of providing machine learning model-based generation of a graph data model for converting a non-graph data representation into a graph data representation, the method comprising one or more processors executing computer program instructions. implemented by a computer system, when the computer program instructions are executed, perform the method;
The method includes:
first modeling information related to a first graph data model, the first data representation being incompatible with the first graph database to a graph data representation compatible with the first graph database; obtaining the first modeling information including a first template for conversion;
providing one or more of the first templates and the first data representation to the machine learning model;
the machine learning model is configured to predict one or more additional templates of the first template independently of the one or more additional templates of the first template;
The method further includes:
providing the one or more additional templates of the first template to the machine learning model as reference feedback for predictions of the one or more additional templates by the machine learning model to train the machine learning model; and,
A given graph data model generates one or more templates for converting a data representation of a given database into a graph data representation of a given graph database. providing a collection to the machine learning model.
前記所与のグラフデータベースの前記グラフデータ表現は、グラフノードまたは前記グラフノードを接続するエッジを含む、請求項48に記載の方法。 49. The method of claim 48, wherein the graph data representation of the given graph database includes graph nodes or edges connecting the graph nodes. 第2のグラフデータモデルに関連する第2のモデリング情報であって、第2のグラフデータベースと互換性のない第2のデータ表現を前記第2のグラフデータベースと互換性のあるグラフデータ表現へと変換するための第2のテンプレートを含む前記第2のモデリング情報を取得する工程と、
前記第2のテンプレートの一つ以上のテンプレートおよび前記第2のデータ表現を前記機械学習モデルに提供する工程と、更に備え、
前記機械学習モデルは、前記第2のテンプレートの一つ以上の追加テンプレートを前記第2のテンプレートの前記一つ以上の追加テンプレートに依存することなく予測するように構成されており、
前記方法は更に、前記機械学習モデルをトレーニングするべく、前記機械学習モデルによる前記第2のテンプレートの前記一つ以上の追加テンプレートの予測に対する参照フィードバックとして、前記第2のテンプレートの前記一つ以上の追加テンプレートを前記機械学習モデルに提供する工程を備える、請求項48に記載の方法。
second modeling information associated with a second graph data model, the second data representation being incompatible with the second graph database to a graph data representation compatible with the second graph database; obtaining the second modeling information including a second template for conversion;
providing one or more of the second templates and the second data representation to the machine learning model;
the machine learning model is configured to predict one or more additional templates of the second template independently of the one or more additional templates of the second template;
The method further includes using the one or more additional templates of the second template as reference feedback for predictions of the one or more additional templates of the second template by the machine learning model to train the machine learning model. 49. The method of claim 48, comprising providing additional templates to the machine learning model.
前記第1のデータ表現および前記第2のデータ表現は、同じデータベースと互換性がある、請求項50に記載の方法。 51. The method of claim 50, wherein the first data representation and the second data representation are compatible with the same database. 前記第1のデータ表現は第1の非グラフデータベースと互換性があり、前記第2のデータ表現は第2の非グラフデータベースと互換性があるが前記第1の非グラフデータベースとは互換性がない、請求項50に記載の方法。 The first data representation is compatible with a first non-graph database, and the second data representation is compatible with a second non-graph database but not compatible with the first non-graph database. 51. The method of claim 50, wherein no. 前記第1のデータ表現または前記第2のデータ表現は、少なくとも一つのグラフデータベースと互換性がある、請求項50に記載の方法。 51. The method of claim 50, wherein the first data representation or the second data representation is compatible with at least one graph database. 前記所与のグラフデータベース内のグラフのノードおよびエッジに関連し複数のデータ表現セットを示すグラフ情報であって、前記複数のデータ表現セットのデータ表現セットはそれぞれノードおよびノードを接続するエッジを含む、前記グラフ情報を取得する工程と、
前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記機械学習モデルが前記データ表現セットの1つ以上の追加ノードまたは追加エッジを予測するために、前記データ表現セットの1つ以上のノードまたはエッジを前記機械学習モデルに提供する工程と、を更に備え、
前記機械学習モデルは、前記1つ以上の追加ノードまたは追加エッジに依存することなく、前記1つ以上の追加ノードまたは追加エッジの予測を実行するように構成されており、
前記方法は更に、前記機械学習モデルをトレーニングするべく、前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記機械学習モデルによる前記1つ以上の追加ノードまたは追加エッジの予測に対する参照フィードバックとして、前記データ表現セットの前記1つ以上の追加ノードまたは追加エッジを前記機械学習モデルに提供する工程を備える、請求項48に記載の方法。
Graph information relating to nodes and edges of graphs in the given graph database and indicating a plurality of data representation sets, each of the data representation sets of the plurality of data representation sets including nodes and edges connecting the nodes. , obtaining the graph information;
For each data representation set of said plurality of data representation sets, said machine learning model predicts one or more additional nodes or edges of said data representation set. further comprising the step of providing the machine learning model with
the machine learning model is configured to perform predictions of the one or more additional nodes or edges independently of the one or more additional nodes or edges;
The method further includes, for each data representation set of the plurality of data representation sets, as reference feedback for the prediction of the one or more additional nodes or edges by the machine learning model to train the machine learning model. 49. The method of claim 48, comprising providing the one or more additional nodes or edges of a data representation set to the machine learning model.
前記機械学習モデルを介して、前記グラフのノードまたはエッジを処理するべく前記グラフのトラバースを実行して、前記機械学習モデルに前記グラフの新しいノードまたは新しいエッジを生成させる工程と、
前記機械学習モデルからの前記新しいノードまたは前記新しいエッジを前記グラフに追加する工程と、を更に備える、請求項54に記載の方法。
performing a traversal of the graph to process nodes or edges of the graph through the machine learning model, causing the machine learning model to generate new nodes or new edges of the graph;
55. The method of claim 54, further comprising adding the new node or the new edge from the machine learning model to the graph.
前記グラフの前記トラバースに基づいて、前記機械学習モデルから所与のノードまたはエッジを取得する工程と、
前記所与のノードまたはエッジの追加に関してユーザが了承することに基づいて、前記機械学習モデルからの前記所与のノードまたはエッジを前記グラフに追加する工程と、
前記機械学習モデルによる前記所定のノードまたはエッジの生成に関する参照フィードバックとして、前記ユーザの了承を示す情報を前記機械学習モデルに提供する工程と、を更に備える請求項55記載の方法。
retrieving a given node or edge from the machine learning model based on the traversal of the graph;
adding the given node or edge from the machine learning model to the graph based on user approval for adding the given node or edge;
56. The method of claim 55, further comprising providing information indicative of the user's consent to the machine learning model as reference feedback regarding the generation of the given node or edge by the machine learning model.
前記グラフの前記トラバースに基づいて、前記機械学習モデルから所与のノードまたはエッジを取得する工程と、
前記所与のノードまたはエッジを追加することに関するユーザの拒否を取得する工程と、を更に備え、
前記所与のノードまたはエッジは、前記ユーザの拒否に基づいて前記グラフに追加されず、
前記方法は更に、前記機械学習モデルによる前記所定のノードまたはエッジの生成に関する参照フィードバックとして、前記ユーザの拒否を示す情報を前記機械学習モデルに提供する工程、を更に備える、請求項55に記載の方法。
retrieving a given node or edge from the machine learning model based on the traversal of the graph;
and obtaining a user's refusal to add the given node or edge,
the given node or edge is not added to the graph based on the user's refusal;
56. The method further comprises providing information indicative of the user's refusal to the machine learning model as reference feedback regarding the generation of the given node or edge by the machine learning model. Method.
互換性があるグラフデータ表現へと非グラフデータ表現を変換するためのグラフデータモデルの機械学習モデルに基づく生成を提供するシステムであって、
コンピュータプログラム命令を使用してプログラミングされている一つまたは複数のプロセッサを有するコンピュータシステムを備え、前記コンピュータプログラム命令が実行されると、前記コンピュータシステムは、
第1のグラフデータモデルに関連する第1のモデリング情報であって、第1のグラフデータベースと互換性のない第1のデータ表現を前記第1のグラフデータベースと互換性のあるグラフデータ表現へと変換するための第1のテンプレートを含む前記第1のモデリング情報を取得し、
前記第1のテンプレートの一つ以上のテンプレートおよび前記第1のデータ表現を前記機械学習モデルに提供し、
前記機械学習モデルは、前記第1のテンプレートの一つ以上の追加テンプレートを前記第1のテンプレートの前記一つ以上の追加テンプレートに依存することなく予測するように構成されており、
前記機械学習モデルをトレーニングするべく、前記機械学習モデルによる前記一つ以上の追加テンプレートの予測に対する参照フィードバックとして、前記第1のテンプレートの前記一つ以上の追加テンプレートを前記機械学習モデルに提供し、
所与のグラフデータモデルが所与のデータベースのデータ表現を所与のグラフデータベースのグラフデータ表現へと変換するための一つ以上のテンプレートを生成するべく、前記所与のデータベースからのデータ表現のコレクションを前記機械学習モデルに提供する、システム。
1. A system providing machine learning model based generation of graph data models for transforming a non-graph data representation into a compatible graph data representation, comprising:
a computer system having one or more processors programmed with computer program instructions, the computer system, when executed,
acquiring first modeling information related to a first graph data model, the first modeling information including a first template for converting a first data representation incompatible with a first graph database into a graph data representation compatible with the first graph database;
providing one or more of the first templates and the first data representation to the machine learning model;
the machine learning model is configured to predict one or more additional templates of the first template without reliance on the one or more additional templates of the first template;
providing the one or more additional templates of the first template to the machine learning model as reference feedback for predictions of the one or more additional templates by the machine learning model to train the machine learning model;
1. A system comprising: a machine learning model that provides a collection of data representations from a given database to the machine learning model, such that the machine learning model generates one or more templates for transforming the data representations of the given database into graph data representations of the given graph database.
前記コンピュータシステムは更に、
前記所与のグラフデータベースにおけるグラフのノードおよびエッジに関連し複数のデ
ータ表現セットを示すグラフ情報を取得し、
前記複数のデータ表現セットのデータ表現セットはそれぞれノードおよびノードを接続するエッジを含み、
前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記機械学習モデルが前記データ表現セットの1つ以上の追加ノードまたは追加エッジを予測するために、前記データ表現セットの1つ以上のノードまたはエッジを前記機械学習モデルに提供し、
前記機械学習モデルは、前記1つ以上の追加ノードまたは追加エッジに依存することなく、前記1つ以上の追加ノードまたは追加エッジの予測を実行するように構成されており、
前記機械学習モデルをトレーニングするべく、前記複数のデータ表現セットのデータ表現セットそれぞれについて、前記機械学習モデルによる前記1つ以上の追加ノードまたは追加エッジの予測に対する参照フィードバックとして、前記データ表現セットの前記1つ以上の追加ノードまたは追加エッジを前記機械学習モデルに提供する、請求項58に記載のシステム。
The computer system further includes:
obtaining graph information associated with graph nodes and edges in the given graph database and indicating a plurality of data representation sets;
Each data representation set of the plurality of data representation sets includes nodes and edges connecting the nodes;
For each data representation set of said plurality of data representation sets, said machine learning model predicts one or more additional nodes or edges of said data representation set. to the machine learning model;
the machine learning model is configured to perform predictions of the one or more additional nodes or edges independently of the one or more additional nodes or edges;
To train the machine learning model, for each data representation set of the plurality of data representation sets, one of the data representation sets of the plurality of data representation sets is used as reference feedback for the prediction of the one or more additional nodes or edges by the machine learning model. 59. The system of claim 58, providing one or more additional nodes or edges to the machine learning model.
前記コンピュータシステムは更に、
前記機械学習モデルを介して、前記グラフのノードまたはエッジを処理するべく前記グラフのトラバースを実行して、前記機械学習モデルに前記グラフの新しいノードまたは新しいエッジを生成させ、
前記機械学習モデルからの前記新しいノードまたは前記新しいエッジを前記グラフに追加する、請求項59に記載のシステム。
The computer system further includes:
performing a traversal of the graph to process nodes or edges of the graph via the machine learning model, causing the machine learning model to generate new nodes or new edges of the graph;
60. The system of claim 59, adding the new node or the new edge from the machine learning model to the graph.
JP2024002844A 2018-06-13 2024-01-11 Multi-source interoperability and/or information retrieval optimization Pending JP2024041902A (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US16/007,911 2018-06-13
US16/007,850 US10223417B1 (en) 2018-06-13 2018-06-13 System and method for reducing query-related resource usage in a data retrieval process
US16/007,639 US10303688B1 (en) 2018-06-13 2018-06-13 System and method for reducing data retrieval delays via prediction-based generation of data subgraphs
US16/007,639 2018-06-13
US16/007,911 US10599719B2 (en) 2018-06-13 2018-06-13 System and method for providing prediction-model-based generation of a graph data model
US16/007,850 2018-06-13
JP2020565902A JP7420745B2 (en) 2018-06-13 2019-06-11 Multi-source interoperability and/or information retrieval optimization
PCT/US2019/036612 WO2019241293A1 (en) 2018-06-13 2019-06-11 Multi-source-type interoperability and/or information retrieval optimization

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020565902A Division JP7420745B2 (en) 2018-06-13 2019-06-11 Multi-source interoperability and/or information retrieval optimization

Publications (1)

Publication Number Publication Date
JP2024041902A true JP2024041902A (en) 2024-03-27

Family

ID=68843577

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020565902A Active JP7420745B2 (en) 2018-06-13 2019-06-11 Multi-source interoperability and/or information retrieval optimization
JP2024002844A Pending JP2024041902A (en) 2018-06-13 2024-01-11 Multi-source interoperability and/or information retrieval optimization

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020565902A Active JP7420745B2 (en) 2018-06-13 2019-06-11 Multi-source interoperability and/or information retrieval optimization

Country Status (6)

Country Link
EP (1) EP3807778A4 (en)
JP (2) JP7420745B2 (en)
KR (1) KR20210034547A (en)
AU (1) AU2019284618A1 (en)
CA (1) CA3102984A1 (en)
WO (1) WO2019241293A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11302095B2 (en) * 2020-01-09 2022-04-12 International Business Machines Corporation Cognitive motion picture analysis
WO2023249641A1 (en) * 2022-06-24 2023-12-28 Hewlett Packard Enterprise Development Lp Retrieval, model-driven, and artificial intelligence-enabled search

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659725A (en) * 1994-06-06 1997-08-19 Lucent Technologies Inc. Query optimization by predicate move-around
JP2005251092A (en) 2004-03-08 2005-09-15 Konica Minolta Holdings Inc Information retrieval system, information retrieval method and information retrieval program
US7702616B1 (en) * 2006-06-21 2010-04-20 Actuate Corporation Methods and apparatus for processing a query joining tables stored at different data sources
KR100912190B1 (en) * 2007-10-31 2009-08-14 한양대학교 산학협력단 System and method for converting rdql query to sql query using optimization transformation rule
US9396283B2 (en) 2010-10-22 2016-07-19 Daniel Paul Miranker System for accessing a relational database using semantic queries
WO2013175611A1 (en) 2012-05-24 2013-11-28 株式会社日立製作所 Data distributed search system, data distributed search method, and administrative computer
US10223417B1 (en) * 2018-06-13 2019-03-05 Stardog Union System and method for reducing query-related resource usage in a data retrieval process

Also Published As

Publication number Publication date
JP7420745B2 (en) 2024-01-23
CA3102984A1 (en) 2019-12-19
AU2019284618A1 (en) 2020-12-03
EP3807778A4 (en) 2022-03-09
WO2019241293A1 (en) 2019-12-19
KR20210034547A (en) 2021-03-30
EP3807778A1 (en) 2021-04-21
JP2021531540A (en) 2021-11-18

Similar Documents

Publication Publication Date Title
US10599719B2 (en) System and method for providing prediction-model-based generation of a graph data model
US10223417B1 (en) System and method for reducing query-related resource usage in a data retrieval process
US11727000B2 (en) System and method for reducing resource usage in a data retrieval process
US11921751B2 (en) Technologies for data capture and data analysis
US20150095303A1 (en) Knowledge Graph Generator Enabled by Diagonal Search
JP2024041902A (en) Multi-source interoperability and/or information retrieval optimization
US20160004973A1 (en) Business triz problem extractor and solver system and method
Bellare et al. Woo: A scalable and multi-tenant platform for continuous knowledge base synthesis
Calçada et al. Evaluation of Couchbase, CouchDB and MongoDB using OSSpal.
CN114996549A (en) Intelligent tracking method and system based on active object information mining
US11726999B1 (en) Obtaining inferences to perform access requests at a non-relational database system
Mateen et al. An Improved Technique for Data Retrieval in Distributed Systems
Mao et al. MMDBench: A Benchmark for Hybrid Query in Multimodal Database
WO2013001571A1 (en) Unstructured data analysis system
Maccioni et al. NoXperanto: Crowdsourced polyglot persistence
Dabroek Scalable and Reuse-Oriented Data Integration: A Distributed Semi-Automatic Approach
Thavornun Metadata Management for Knowledge Discovery
Krogstie Quality deliberations in big data ecosystems
Castrejon-Castillo HAL Id: hal-01002695
VA A DISTRIBUTED APPROACH ON EARLY TRENDING TOPICS PREDICTION ON SOCIAL NETWORK SERVICES

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240205