Slide 1

Slide 1 text

StrandsとNeptuneを使って ナレッジグラフを構築する 八雲 慎之助/Shinnosuke Yakumo 2026/2/7 JAWS-UG 栃木#6 1周年感謝祭

Slide 2

Slide 2 text

今日話すこと •StrandsとNeptuneでナレッジグラフを構築する • Amazon Neptuneについて • Strands Agentsと一緒にできること • 具体的な実装や解説 • まとめ

Slide 3

Slide 3 text

八雲 慎之助(やくも しんのすけ) 年次:2年目 選出:2025 Japan AWS Jr.Champions コミュニティ:JAWS-UG 新潟支部 運営 好きなサービス:Amazon Neptune, Amazon Bedrock AgentCore Who am I @yakumo_09 @yakumo_0905

Slide 4

Slide 4 text

Amazon Neptuneについて

Slide 5

Slide 5 text

Amazon Neptuneとは •AWSが提供するグラフデータベース • 非常に高い可用性、スケーラビリティに対応 • データをグラフDBクエリ実行 • データ間の関係性を分析

Slide 6

Slide 6 text

グラフDBの活用例 •SNS分析 • ユーザー同士の繋がりを管理 • おすすめの表示など •レコメンデーションシステム • 購入履歴から商品の推薦 •ナレッジグラフ • GraphRAGのような応答システムへの利用

Slide 7

Slide 7 text

Strandsと一緒にできること

Slide 8

Slide 8 text

Strandsと一緒にできること •ツールを利用した自然言語でのクエリ • 「use_aws」によって自然言語でクエリ実施 •MCPサーバーの利用 • MCPでも同様に自然言語でクエリ実施 •ナレッジグラフの構築

Slide 9

Slide 9 text

1. 自然言語でのクエリ • use_aws • グラフID指定 • データが多いと見つかるまで無限に思考してしまう • use_aws • グラフID クエリ実行

Slide 10

Slide 10 text

スキーマ情報が曖昧なままクエリの実行 • スキーマ情報が曖昧なままだと候補は多数 • 空港、airport、Airport、Airports • 飛行、Flights、flight • 全パターンで引っ掛かるまでクエリを実行してしまう MATCH (a:空港 {code:”羽田“}) RETURN a; これが正解 MATCH (a:Airport {code:”HANEDA"}) RETURN a; -- Airportというプロパティが無い MATCH (a:Airport {code:”Haneda"}) RETURN a; -- Haneda というプロパティが無い MATCH (a:AIRPORT {code:”HANEDA"}) RETURN a; -- AIRPORT というプロパティが無い MATCH (a:Airports {code:”Haneda"}) RETURN a; -- Airprots というプロパティが無い MATCH (a:空港 {code:”HANEDA"}) RETURN a; -- HANEDA というプロパティが無い MATCH (a:Airport {code:”羽田"}) RETURN a; -- Airport というプロパティが無い

Slide 11

Slide 11 text

2. MCPサーバーの利用 クエリ実行 • Amazon Neptune MCP serverを利用 • スキーマ情報を取得し効率的にクエリの実行ができる

Slide 12

Slide 12 text

Amazon Neptune MCP Serverとは • 大きく3つのツールが利用可能 • グラフステータス取得(get_graph_status) • スキーマ取得(get_graph_schema) • クエリ実行(run_(opencypher/gremlin)_query)

Slide 13

Slide 13 text

スキーマ取得ツールが嬉しすぎる • まずグラフ全体のスキーマ情報を取得 • ノードやエッジで利用されているプロパティ名を確認 • 正しいスキーマ名を取得した上でクエリを実行でき る エッジプロパティ:飛行 羽田 成田 ノードプロパティ:空港 ノードプロパティ:空港

Slide 14

Slide 14 text

過去にも使っていた https://speakerdeck.com/yakumo/amazon-q-cli-to-mcpde-neptunewozi-ran-yan-yu-dehong-tutemiyou

Slide 15

Slide 15 text

3. ナレッジグラフの構築 • ナレッジグラフ • AIなんかが再利用可能な構造化されたグラフメモリ • Graph RAGとかがわかりやすいイメージ • Neptuneはあくまでグラフデータストアであり、そ こからどう活用するかはまた別のお話

Slide 16

Slide 16 text

Neptuneにおけるナレッジグラフ •外部調査を実施して事実を関連付けて保存 • 外部調査はweb検索APIを利用 •ex)羽田、成田について調べる →調査結果を関連づけてグラフとして再構築 •既存のグラフデータは消さず、共存する形で保存 • 可視化する時とか少しみにくい

Slide 17

Slide 17 text

ナレッジグラフ実装イメージ 空港 空港 航路 •羽田、成田という空港について調べてみよう •羽田-成田間の航路について調べてみよう • Web検索ツール • Neptune MCP 羽田 成田

Slide 18

Slide 18 text

ナレッジグラフ実装イメージ 空港 空港 航路 •関連する情報を取得し、グラフを再構築 羽田 羽田-成田 成田 東京 千葉 所在地 所在地 航路の主な需要 :ビジネスや旅行

Slide 19

Slide 19 text

ナレッジグラフ動作イメージ 空港 空港 航路 •ノード間の関連情報により正確に回答できる 羽田 羽田-成田 成田 東京 千葉 所在地 所在地 航路の主な需要 :ビジネスや旅行

Slide 20

Slide 20 text

• StrandsとNeptuneを利用したナレッジグラフ構築 • Neptuneはあくまでグラフストアであること • ナレッジグラフ再構築によりより正確な応答 • お手軽に利用したいなら、Bedrock+GraphRAGで • 本格的に運用したいならNeptuneなどで自前で構築 まとめ

Slide 21

Slide 21 text

上越妙高支部リブートします 日時:2026年4月11日 15:00~

Slide 22

Slide 22 text

新潟支部もやります 日時:2026年3月14日 会場:新潟駅周辺 コンテンツは大体決まった 後日connpass掲載予定

Slide 23

Slide 23 text

• https://medium.com/@bechbd/build-a-knowledge- graph-with-amazon-neptune-and-the-strands-agent- sdk-358426f85be6 • https://speakerdeck.com/yakumo/amazon-q-cli-to- mcpde-neptunewozi-ran-yan-yu-dehong-tutemiyou 参考