論文の概要: Object Graph Programming
- arxiv url: http://arxiv.org/abs/2402.02642v1
- Date: Sun, 4 Feb 2024 23:39:03 GMT
- ステータス: 処理完了
- システム内更新日: 2024-02-06 18:24:40.647341
- Title: Object Graph Programming
- Title(参考訳): オブジェクトグラフプログラミング
- Authors: Aditya Thimmaiah, Leonidas Lampropoulos, Christopher J. Rossbach and
Milos Gligoric
- Abstract要約: オブジェクトグラフの読み書きを可能にするオブジェクトグラフプログラミング(OGO)を導入する。
OGOはオブジェクトとヒープ内のそれらの関係をオブジェクトグラフとしてモデル化する。
私たちは、グラフデータベースで最も人気のあるクエリ言語であるCypherを、OGOのクエリ言語として利用しています。
- 参考スコア(独自算出の注目度): 5.534406757176982
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: We introduce Object Graph Programming (OGO), which enables reading and
modifying an object graph (i.e., the entire state of the object heap) via
declarative queries. OGO models the objects and their relations in the heap as
an object graph thereby treating the heap as a graph database: each node in the
graph is an object (e.g., an instance of a class or an instance of a metadata
class) and each edge is a relation between objects (e.g., a field of one object
references another object). We leverage Cypher, the most popular query language
for graph databases, as OGO's query language. Unlike LINQ, which uses
collections (e.g., List) as a source of data, OGO views the entire object graph
as a single "collection". OGO is ideal for querying collections (just like
LINQ), introspecting the runtime system state (e.g., finding all instances of a
given class or accessing fields via reflection), and writing assertions that
have access to the entire program state. We prototyped OGO for Java in two
ways: (a) by translating an object graph into a Neo4j database on which we run
Cypher queries, and (b) by implementing our own in-memory graph query engine
that directly queries the object heap. We used OGO to rewrite hundreds of
statements in large open-source projects into OGO queries. We report our
experience and performance of our prototypes.
- Abstract(参考訳): 我々はオブジェクトグラフプログラミング(OGO)を導入し、宣言型クエリを通じてオブジェクトグラフ(すなわちオブジェクトヒープの全体状態)の読み取りと修正を可能にする。
ogoはヒープ内のオブジェクトとその関係をオブジェクトグラフとしてモデル化し、ヒープをグラフデータベースとして扱う。グラフの各ノードはオブジェクト(例えば、クラスのインスタンスまたはメタデータクラスのインスタンス)であり、各エッジはオブジェクト間の関係(例えば、1つのオブジェクトのフィールドが別のオブジェクトを参照する)である。
グラフデータベースでもっとも人気のあるクエリ言語であるcypherをogoのクエリ言語として活用しています。
データソースとしてコレクション(例えばList)を使用するLINQとは異なり、OGOはオブジェクトグラフ全体を単一の"コレクション"として見ている。
OGOはコレクションのクエリ(LINQと同じように)、ランタイムシステム状態のイントロスペクション(例えば、あるクラスのすべてのインスタンスを見つけたり、リフレクションを通じてフィールドにアクセスする)、プログラム状態全体にアクセスするアサーションを書くのに最適である。
OGO for Javaのプロトタイプは2つあります。
(a) オブジェクトグラフを、cypherクエリを実行するneo4jデータベースに変換することにより、
b) オブジェクトヒープを直接クエリする独自のインメモリグラフクエリエンジンを実装することで。
OGOを使って、大規模なオープンソースプロジェクトで数百のステートメントをOGOクエリに書き直しました。
プロトタイプの体験と性能を報告します。
関連論文リスト
- Less is More: Making Smaller Language Models Competent Subgraph Retrievers for Multi-hop KGQA [51.3033125256716]
本研究では,小言語モデルで処理される条件生成タスクとして,サブグラフ検索タスクをモデル化する。
2億2千万のパラメータからなる基本生成部分グラフ検索モデルでは,最先端モデルと比較して競合検索性能が向上した。
LLMリーダを接続した最大の3Bモデルは、WebQSPとCWQベンチマークの両方で、SOTAのエンドツーエンドパフォーマンスを新たに設定します。
論文 参考訳(メタデータ) (2024-10-08T15:22:36Z) - UQE: A Query Engine for Unstructured Databases [71.49289088592842]
構造化されていないデータ分析を可能にするために,大規模言語モデルの可能性を検討する。
本稿では,非構造化データ収集からの洞察を直接問合せ,抽出するUniversal Query Engine (UQE)を提案する。
論文 参考訳(メタデータ) (2024-06-23T06:58:55Z) - TAGLAS: An atlas of text-attributed graph datasets in the era of large graph and language models [25.16561980988102]
TAGLASは、テキスト分散グラフ(TAG)データセットとベンチマークのアトラスである。
我々は、23以上のTAGデータセットを引用グラフから分子グラフまでの範囲で収集し、統合する。
すべてのデータセットやタスクをロードする、標準化された、効率的で、単純化された方法を提供する。
論文 参考訳(メタデータ) (2024-06-20T19:11:35Z) - G-Retriever: Retrieval-Augmented Generation for Textual Graph Understanding and Question Answering [61.93058781222079]
現実のテキストグラフを対象とするフレキシブルな問合せフレームワークを開発した。
一般のテキストグラフに対する最初の検索拡張生成(RAG)手法を提案する。
G-Retrieverは、このタスクをSteiner Tree最適化問題として定式化し、グラフ上でRAGを実行する。
論文 参考訳(メタデータ) (2024-02-12T13:13:04Z) - Which One? Leveraging Context Between Objects and Multiple Views for Language Grounding [77.26626173589746]
文脈内接地に対する多視点的アプローチ(MAGiC)を提案する。
2つの類似したオブジェクトを区別する言語に基づくオブジェクト参照を選択する。
SNAREオブジェクト参照タスクの最先端モデルよりも、相対誤差を12.9%削減する。
論文 参考訳(メタデータ) (2023-11-12T00:21:58Z) - Neural Graph Reasoning: Complex Logical Query Answering Meets Graph
Databases [63.96793270418793]
複雑な論理クエリ応答(CLQA)は、グラフ機械学習の最近登場したタスクである。
ニューラルグラフデータベース(NGDB)の概念を紹介する。
NGDBはNeural Graph StorageとNeural Graph Engineで構成されている。
論文 参考訳(メタデータ) (2023-03-26T04:03:37Z) - Modeling Fine-grained Information via Knowledge-aware Hierarchical Graph
for Zero-shot Entity Retrieval [11.533614615010643]
我々は,よりきめ細かい情報を文埋め込みに補完するものとして,GERを提案する。
これらの知識ユニットから情報を集約することで、言及/関心に関するきめ細かい情報を学習する。
一般的なベンチマーク実験の結果,提案するGERフレームワークは,従来の最先端モデルよりも優れた性能を示した。
論文 参考訳(メタデータ) (2022-11-20T14:37:53Z) - Structured Query-Based Image Retrieval Using Scene Graphs [10.475553340127394]
本稿では,シーングラフの埋め込みを画像検索のアプローチの基盤として利用する手法を提案する。
長い尾を持つCOCO-Stuffデータセットに見られる低・中頻度のオブジェクトでも高いリコールを実現することができる。
論文 参考訳(メタデータ) (2020-05-13T22:40:32Z) - Iterative Context-Aware Graph Inference for Visual Dialog [126.016187323249]
本稿では,新しいコンテキスト認識グラフ(CAG)ニューラルネットワークを提案する。
グラフの各ノードは、オブジェクトベース(視覚)と履歴関連(テキスト)コンテキスト表現の両方を含む、共同意味機能に対応している。
論文 参考訳(メタデータ) (2020-04-05T13:09:37Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。