はじめに
Oracle Graph Studio のグラフモデラーに、Generative AI(生成 AI)を使ってグラフ定義を生成するオプションが追加されました(2026 年 3 月時点)。
これまでグラフを作成するには、データベースのテーブル構造を把握したうえで、どのテーブルを頂点(Vertex)にすべきか、どのテーブルが頂点間の関係(Edge)を表すかを手動で判断し、CREATE PROPERTY GRAPH 文を記述する必要がありました。外部キー制約が存在しない場合や、テーブル数が多い場合は特に手間がかかる作業でした。
新機能では、Oracle Select AI の AI プロファイルを通じて LLM がユーザーの選択したテーブル群を解析し、最適なグラフ定義を提案します。グラフ SQL 構文を知らなくても、コードを一切書かずにプロパティグラフを作成できます。提案されたグラフ定義はそのまま使うことも、手動で調整することもできます。
本機能の主な特長を整理すると以下のとおりです。
| 特長 | 詳細 |
|---|---|
| ノーコードでグラフ定義生成 | テーブルを選択して AI プロファイルを指定するだけ |
| 外部キー不要 | FK 制約がなくても LLM がテーブル間の関係を推論する |
| 大規模スキーマ対応 | 数百テーブルを一度に解析可能 |
| 柔軟な LLM 選択 | Oracle Select AI がサポートする任意の LLM を利用可能 |
| 定義の手動調整可 | AI が提案したグラフ定義をグラフィカルまたはソースで編集可能 |
リレーショナルテーブルから動作可能なグラフ定義まで、数分で到達できるのが最大の価値です。
Oracle Autonomous AI Database Serverless 上の Graph Studio を使ってこの新機能を試してみました。
事前準備
- Oracle Autonomous AI Database Serverless インスタンス(Always Free または有償)
- Graph Studio アクセス用のデータベースユーザー(
GRAPH_DEVELOPERまたはGRAPH_ADMINISTRATORロールが必要) - SELECT AI プロファイルの作成済み(AI プロファイルを通じて LLM を指定する)
- 対象のテーブルが同一スキーマ内に存在すること
今回は、サプライチェーン管理を想定した以下の 5 テーブルを使用します。
| テーブル名 | 内容 |
|---|---|
SUPPLIERS |
サプライヤー(SUPPLIER_ID、NAME、COUNTRY、RATING) |
PARTS |
部品(PART_ID、NAME、UNIT_PRICE) |
PRODUCTS |
製品(PRODUCT_ID、NAME、CATEGORY) |
PRODUCT_PARTS |
部品構成(PRODUCT_ID、PART_ID、REQUIRED_QTY) |
WAREHOUSES |
倉庫(WAREHOUSE_ID、LOCATION、CAPACITY) |
事前準備参考情報
- Autonomous AI Database インスタンスの作成
- Graph Studio アクセスに必要なロールの付与
- Oracle Select AI プロファイルの作成
BEGIN
DBMS_CLOUD_AI.CREATE_PROFILE(
'AI_PROFILE',
'{
"provider": "oci",
"credential_name": "OCI_CRED",
"model": "meta.llama-3.3-70b-instruct",
"region": "us-chicago-1",
"object_list": [
{"owner": "GRAPHUSER", "name": "PRODUCTS"}
]
}'
);
END;
/
手順
Step 1: Graph Studio にログインしてグラフモデラーを起動
- OCI コンソールから Autonomous AI Database のインスタンス詳細ページを開きます
- 「データベース・アクション」起動
- メニューから「Graph Studio」を選択してログイン
- Graph Studio の左側ナビゲーションにある「Graphs(グラフアイコン)」をクリックします
Step 2: グラフ定義の生成
Graphs ページで「Create Graph(グラフの作成)」アイコンをクリックします。

-
グラフ名を入力します(例:
SUPPLY_CHAIN_GRAPH) -
グラフの対象にしたいテーブルを左側のリストから選択します。外部キー制約がないテーブルでも選択できます。グラフ・スキーマのプルダウンリストから「Generate with AI」を選択します。

-
「次」をクリック
-
「Generate with AI」ダイアログで使用する SELECT AI プロファイルをドロップダウンから選択し、「Generate」をクリック

-
しばらく待つと、LLM がテーブル構造を解析してグラフ定義を提案します
SELECT AI プロファイルとは?: SELECT AI プロファイルは「どの LLM を使うか」を定義した接続設定です。OCI Generative AI・OpenAI・Azure OpenAI・Cohere などのプロバイダーと、モデル名・認証情報を登録したものです。テーブルの登録は不要で、Step 3 でモデラー UI 上に選択したテーブル群が LLM の解析対象として自動的に渡されます。
注意: プロファイルが未作成の場合、ドロップダウンが空欄になり「Generate」ボタンが押せません。事前準備のドキュメントを参照してプロファイルを作成してから本手順に進んでください。
生成されたグラフ定義には以下の要素が含まれます。
- 頂点テーブル(Vertex Tables):エンティティを表すテーブルの一覧
- エッジテーブル(Edge Tables):エンティティ間の関係を表すテーブルの一覧
- キーとプロパティの定義:各テーブルのキーカラムとグラフに含めるプロパティ
注意: AI によるグラフ定義はあくまでも提案です。ビジネス要件に合わせて、追加の頂点やエッジを加えたり、「Source」ビューで直接定義を編集したりすることができます。
Step 3: グラフ定義を確認・調整してグラフを作成
AI が提案したグラフ定義を確認します。必要に応じて以下の調整を行います。
- グラフィカルなモデラー UI でノードやエッジを追加・削除する
- 「Source」タブを開いて
CREATE PROPERTY GRAPH文を直接編集する
例として AI が生成する CREATE PROPERTY GRAPH 文のイメージを示します。
-- Graph Studio の AI が実際に生成したグラフ定義
CREATE PROPERTY GRAPH graph_user_products
VERTEX TABLES (
"GRAPHUSER"."PRODUCTS"
KEY ( "PRODUCT_ID" )
PROPERTIES ( "CATEGORY", "NAME" ),
"GRAPHUSER"."WAREHOUSES"
KEY ( "WAREHOUSE_ID" )
PROPERTIES ( "CAPACITY", "LOCATION" ),
"GRAPHUSER"."PARTS"
KEY ( "PART_ID" )
PROPERTIES ( "NAME", "UNIT_PRICE" ),
"GRAPHUSER"."SUPPLIERS"
KEY ( "SUPPLIER_ID" )
PROPERTIES ( "COUNTRY", "NAME", "RATING" )
)
EDGE TABLES (
"GRAPHUSER"."INVENTORY" AS "INVENTORY_EDGE"
KEY ( "INVENTORY_ID" )
SOURCE KEY ( "WAREHOUSE_ID" ) REFERENCES "WAREHOUSES"( "WAREHOUSE_ID" )
DESTINATION KEY ( "PART_ID" ) REFERENCES "PARTS"( "PART_ID" )
PROPERTIES ( "LAST_UPDATED", "STOCK_QTY" ),
"GRAPHUSER"."PRODUCT_PARTS" AS "PRODUCT_PARTS_EDGE"
KEY ( "PART_ID", "PRODUCT_ID" )
SOURCE KEY ( "PART_ID" ) REFERENCES "PARTS"( "PART_ID" )
DESTINATION KEY ( "PRODUCT_ID" ) REFERENCES "PRODUCTS"( "PRODUCT_ID" )
PROPERTIES ( "REQUIRED_QTY" ),
"GRAPHUSER"."SUPPLY_CONTRACTS" AS "SUPPLY_CONTRACTS_EDGE"
KEY ( "CONTRACT_ID" )
SOURCE KEY ( "SUPPLIER_ID" ) REFERENCES "SUPPLIERS"( "SUPPLIER_ID" )
DESTINATION KEY ( "PART_ID" ) REFERENCES "PARTS"( "PART_ID" )
PROPERTIES ( "START_DATE", "END_DATE", "QUANTITY" )
);
定義の確認・調整が完了したら「Create Graph」をクリックしてグラフを作成します。
Step 4: 作成したグラフをクエリして動作確認
グラフが作成されたら、Graph Studio のノートブックや Query Playground で PGQL / SQL GRAPH_TABLE() 構文を使って動作を確認します。
SQL(GRAPH_TABLE 構文)でグラフを検索する例
-- サプライヤーが供給している部品を取得する
SELECT *
FROM GRAPH_TABLE(graph_user_products
MATCH (s IS SUPPLIERS) -[c IS SUPPLY_CONTRACTS_EDGE]-> (p IS PARTS)
COLUMNS(s.NAME AS supplier_name, p.NAME AS part_name, c.QUANTITY)
);
-- 製品を構成する部品とその調達元サプライヤーを取得する
SELECT *
FROM GRAPH_TABLE(graph_user_products
MATCH (s IS SUPPLIER) -[sc IS SUPPLY_CONTRACTS_EDGE]-> (pt IS PART)
-[pp IS PRODUCT_PARTS_EDGE]-> (prod IS PRODUCTS)
COLUMNS(prod.NAME AS product_name, pt.NAME AS part_name, s.NAME AS supplier_name)
);
Step 5: クリーンアップ
検証が完了したら、作成したグラフを削除します。
Graph Studio UI から削除する場合
- Graphs ページで対象グラフを選択します
- メニューから「Delete」を選択して削除します
SQL で削除する場合
DROP PROPERTY GRAPH <グラフ名>;
おわりに
今回の検証で確認できたポイントは以下のとおりです。
- Graph Studio のグラフモデラーに「Generate with AI」オプションが追加され、テーブルを選択して AI プロファイルを指定するだけでグラフ定義を自動生成できるようになりました
- 外部キー制約がないテーブルや、テーブル数が多い複雑なスキーマでも LLM がテーブル間の関係を推論してグラフ定義を提案します
- AI が生成した定義は UI 上またはソース編集で柔軟に調整でき、リレーショナルから グラフへの移行コストを大幅に削減できます
- 作成したグラフは PGQL や SQL
GRAPH_TABLE()構文ですぐにクエリできます
グラフ分析に興味はあるものの CREATE PROPERTY GRAPH 文の記述に慣れていない Oracle Database エンジニアや、大規模スキーマからグラフを素早く試作したいデータアーキテクトに特に有用です。





