← 最新の論文
💻 computer science

PathFinder: A unified approach for handling paths in graph query languages

本論文は、コンパクトなパス表現とパイプライン実行を活用することで、安定した性能を実現し、既存のグラフエンジンを桁違いに上回る性能を達成する、現代のグラフ言語におけるパスクエリ処理のための統一的かつ極めて効率的な手法であるPathFinderを紹介するものである。

原著者: Benjamín Farías, Wim Martens, Carlos Rojas, Domagoj Vrgoč

公開日 2026-07-15
📖 1 分で読めます☕ さくっと読める

原著者: Benjamín Farías, Wim Martens, Carlos Rojas, Domagoj Vrgoč

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたは、**グラフ・シティ(Graph City)**と呼ばれる巨大で魔法のような街を探索していると想像してください。この街では、あらゆる人が建物(ノード)であり、彼らの間のあらゆる関係は、「フォローする」「住んでいる」「働いている」といった特定の看板が付いた道(エッジ)です。

長年、この街のツアーガイドたち(古いデータベースエンジン)には奇妙なルールがありました。もしあなたが「『フォローする』という道だけを通って、ジョーからエッフェル塔へ行く方法はすべて教えて」と頼んだら、ガイドはただ指をさして「よし、そこへ行けます!」と言って止まってしまうのです。彼らは目的地は教えてくれますが、その旅の地図は見せてくれませんでした。

これは探偵たちにとって問題です。もしあなたがミステリーを解こうとしているなら(例えば、マネーロンダリングを特定したり、噂の広まりを追跡したりする場合)、単に誰が繋がっているかを知るだけでは不十分です。その人が辿った経路全体を見る必要があります。直接そこへ行ったのか? それとも3回ほどループしたのか? あるいは近道をしたのか?

そこに登場するのが、ベンジャミン、ヴィム、カルロス、ドマゴイによって作られた、新しい超スマートなツアーガイド、PathFinderです。この論文は、単に誰が繋がっているかを教えるだけでなく、ルールがいかに複雑であっても、あらゆる可能なルートの正確な地図をあなたに手渡すことができる、最初のガイドであるPathenderを紹介しています。

「積グラフ(Product Graph)」の魔法

PathFinderは、迷路の中で迷わずにどうやってこれを行うのでしょうか? 普通の街の地図と、同時に「『フォローする』という道を通り、次に別の『フォローする』通りを通り、次に『働く』通りを通らなければならない」という小さな魔法のチェックリスト(オートマトン)を持っていると想像してください。

PathFinderはただ街を歩くだけではありません。彼は、実際の街の建物と、チェックリスト上のステップを組み合わせた影の街積グラフと呼ばれます)を構築します。

  • もしあなたが「ジョー」にいて、まだステップを0回踏んでいるなら、あなたは (ジョー, ステップ0) にいます。
  • もしあなたが「フォローする」という道を通って「ポール」へ移動したら、あなたは (ポール, ステップ1) に移動します。

この影の街を歩くことで、PathFinderはどのルートがあなたのチェックリストに一致するかを瞬時に見分けることができます。それは、許可された道路だけに明かりが灯り、それ以外の道路は無視されるGPSを持っているようなものです。

27通りの歩き方

この論文では、グラフ・シティをどのように歩くかについての27種類の異なるルール(モード)について説明しています。PathFinderは、これら27種類すべてを扱うことができる最初のエンジンです。いくつかの例を挙げます:

  • WALK(ウォーク): どこへでも行けます。たとえ円を描いて歩いたり、同じ家を2回訪れたりしても構いません。(これは最も簡単ですが、無限ループにつながる可能性があります!)。
  • TRAIL(トレイル): 同じ家を2回訪れることはできますが、同じを2回通ることはできません。
  • SIMPLE(シンプル): 同じ家を2回訪れることはできません(出発地と目的地が同じ場合を除く)。これはルールを守るのが最も難しく、経路の数が爆発的に増加する可能性があります。
  • ANY SHORTEST(任意の最短経路): 最も速いルートを1つだけ教えてください。
  • ALL SHORTEST(すべての最短経路): 最も速いルートのすべてを教えてください。
  • SHORTEST k GROUPS(kグループの最短経路): 最速のルート、次に2番目に速いグループのルート、というように、kkグループ分まで教えてください。

著者らは、これらのルールの一部(例えば「シンプル」な経路を見つけること)が理論的には非常に困難であり、そのためコンピュータが巨大な地図に対して諦めてしまうことが多いことを示していますが、PathFinderは現実の世界では驚くほどうまくこれらを処理できることを示しています。

「無限ループ」問題

グラフ・シティにおける大きな悩みの一つは、もしループ(例えば、ジョーがポールをフォローし、ポールがジョーをフォローしている場合)があると、そのループを永遠に回り続けることができることです。もし「すべてのウォーク」を求めると、答えは無限になります!

これを解決するために、GQLやSQL/PGQの標準規格(これらの言語のルールブック)では、「シンプル」や「トレイル」のようなモードを選択できるようにしています。PathFinderはこれらのルールを完璧に尊重します。彼は、無限の円の中に閉じ込められないよう、いつ経路の探索を止めるべきかを正確に理解しており、同時にあなたが求めたすべての有効な経路を見つけ出します。

スピードテスト:PathFinder vs 他のエンジン

著者らは単にPathFinderを構築しただけでなく、業界の有力な名前たちと比較してテストを行いました:Neo4j, Nebula, Kuzu, Jena, Blazegraph, そして Virtuoso です。

彼らは3つのシナリオでテストを実行しました:

  1. Pokec: 160万人の人々と言い、3000万の接続を持つ中規模のソーシャルネットワーク。
  2. Wikidata: 3億6400万のノード12億5700万のエッジを持つ、巨大な実世界の知識グラフ。
  3. Diamond: 指数関数的な数の経路(具体的には 2n2^n 個の経路)を持つように数学的に構築された、トリッキーなグラフ。

結果:

  • スピード: PathFinderは、ほとんどのテストにおいて他のエンジンよりも10倍から100倍速かったです。
  • 安定性: 他のエンジンが経路が長くなったり複雑になったりするとクラッシュしたりタイムアウト(断念)したりする一方で、PathFinderは力強く走り続けました。
  • 「手に負えない」という驚き: 「シンプル」や「トレイル」のモードについては、理論上、コンピュータは答えを見つけるのに永遠に時間がかかるはずだとされています。しかし、Wikidataのような実世界のテストにおいて、PathFinderは10万個の経路を素早く見つけ出しました。著者らは、これは現実世界のデータには、数学を爆発させるような特定の「完璧な嵐」のような接続が通常存在しないためであると示唆しています。

PathFinderが(現時点では)行わないこと

この論文が主張していないことも知っておくことが重要です:

  • PathFinderが魔法であるとは言っていません。もしループのあるグラフですべての経路を求めれば、答えは依然として無限であり、どのコンピュータもそれを印刷することはできません。PathFinderは、あなたが設定した制限(例えば10万件の結果)で停止するだけです。
  • すべてのグラフに対して「シンプル」な経路の問題を解決したとは主張していません。論文では、最悪の理論的シナリオにおいては、シンプルな経路を見つけることは依然としてNP完全(計算が非常に難しいという意味の専門用語)であることを認めています。PathFinderは、単に私たちが実際に使用するグラフにおいて、他の誰よりも優れた働きをすることを示したのです。
  • RDF(特定のデータ形式)に対する「シンプル」モードをまだ修正したとは言っていません。著者らは、エッジに一意の名前がない場合に「トレイル」をどう定義すべきかが不明確であるため、RDFの「トレイル」モードをまだ実装していないと述べています。

結論

PathFinderは、スーパーパワーを備えたツアーガイドとして機能する新しいエンジンです。複雑なルール(例えば、「『フォローする』次に『働く』というパターンに従う、ジョーからENS Parisへのすべての経路を見つけて」)を受け取り、それらの旅の実際の地図を返すことができます。

著者らはこれを実データで測定し、PathFinderが現在のトップクラスのグラフデータベースよりも大幅に高速で安定していることを示しました。彼らは、この新機能を既存のシステム(SPARQLエンジンなど)に追加できることも示しました。数学的にはこれらのタスクのいくつかは迅速に行うことが不可能であるとされていますが、乱雑で複雑な現実の世界において、PathFinderは驚くべきスピードでそれが可能であることを証明しています。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →