グラフ照会言語の経路パターンで製品ごとの答えを比較する
Same Pattern, Different Answer: A Reference Semantics and Divergence Map for GQL and SQL/PGQ Path Patterns
この論文をやさしく読む
ひとことで言うと
グラフを検索する言語の標準と、実際のデータベース製品が返す結果にどんな違いがあるかを調べた研究です。
何に役立つ?
グラフ照会を製品間で移すとき、同じ見た目の経路パターンでも結果が変わる可能性を検査する材料になります。
この研究の面白いところ
エラーが出ないのに答えだけが違う例を15件見つけ、仕様として文書化された違いと実装の逸脱を分けています。参照解答なしの整合性検査も併用しました。
どこまで分かった?
比較は17要素、5製品の6リリースに限られます。製品の更新で結果が変わる可能性があり、要旨は全構文の適合性を示していません。
v1のアブストラクトに基づくAI解説。日本語訳とは別に、用途の解釈を含みます。
アブストラクトの日本語訳
GQL(ISO/IEC 39075:2024)はグラフ照会言語の初の国際標準であり、SQL/PGQ(ISO/IEC 9075-16:2023)は同じパターン照合の中核GPMLをSQLに組み込む。両者は四つの経路モード、四つの選択器、繰り返し区間を含む経路パターンの厳密な意味を定める。しかし、製品がこれらのパターンに対して実際に何を計算するかは測られてこなかった。GQLの研究は理論中心で製品を実行せず、製品間の研究は性能を測る際に意味の違いを正規化して消していた。本研究はGPMLの経路に関する中核部分の実行可能な参照意味論を作り、標準の解説に印刷された六つの解答例で検証した。次に17種類の構文要素からなるテスト群を、Kuzu、DuckPGQ、Neo4jの5.26と2026.04、Memgraph、Apache AGEという5製品の6リリースに適用し、各結果を適合、相違、拒否、その方言では表現不能に分類した。17要素のうち9要素では、受け入れた製品間で複数の答えが出た。26件の不一致のうち15件では、照会がエラーなしで動きながら異なる多重集合を返しており、無言の不一致の割合は0.58だった。各製品の説明書に記載された経路モードと照らすと、この15件のうち9件は文書化された言語上の違いで、6件は製品が実装するとする標準からの逸脱だった。参照意味論を必要としないメタモルフィックな検査では、自己整合性の違反39件を見つけ、二つの最小の不具合例を得た。測定した製品のうち、標準自身の例に書かれた順序を解析できたものはなかった。ただし、著者ら自身の製品はこのテスト群で欠落が報告された後に対応を追加した。テスト群、意味論、再現手順、結果はオープンソースである。
v1の要旨から自動生成。本文の精読・人による確認は未実施。
- 初稿
- 2026-09-19(UTC)
- 最新改訂
- 2026-09-19 · v1
- 査読・掲載
- 査読状況未確認
更新履歴
- v1 2026-09-19 この版を読む
取得できた版を表示。版の更新は査読済みを意味しません。過去版の本文差分は未解析です。
原文の要旨
GQL (ISO/IEC 39075:2024) is the first international standard for a graph query language, and SQL/PGQ (ISO/IEC 9075-16:2023) embeds the same pattern-matching core, GPML, in SQL. Both fix a precise semantics for path patterns: four path modes, four selectors, quantified segments. What engines compute for those patterns has never been measured. Work on GQL is theoretical and runs no engine; cross-engine work measures performance and normalises the semantics away. We build an executable reference semantics for the GPML path core and gate it against the six worked answers printed in the standard's own reference exposition. We then run a 17-construct suite against six releases of five products - Kuzu, DuckPGQ, Neo4j at 5.26 and 2026.04, Memgraph, Apache AGE - scoring each cell as conforming, diverging, rejected, or inexpressible in that dialect. Nine of seventeen constructs draw more than one answer across the engines that accepted them. Of 26 disagreements, 15 are silent - the query runs, returns a different multiset, raises no error - a silence ratio of 0.58. Scoring each divergence against the path mode each engine's manual declares separates language from implementation: 9 of 15 are documented differences, 6 are departures from the standard the engine implements. A metamorphic layer needing no reference semantics finds 39 self-consistency violations, yielding two minimal defects. No engine we measured parses the order the standard's own examples are written in, except the authors' own, which added it after this suite reported the gap. Suite, semantics, reproducers and results are open source.
著者のコメント
13 pages, 3 figures. Artifact: https://github.com/samyama-ai/gpml-conformance
arXiv ID: 2609.23032 / 要約の誤りについて