6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Graph Studio:Generative AI でグラフ定義を生成してみた (2026/04/02)

6
Posted at

はじめに

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_IDNAMECOUNTRYRATING
PARTS 部品(PART_IDNAMEUNIT_PRICE
PRODUCTS 製品(PRODUCT_IDNAMECATEGORY
PRODUCT_PARTS 部品構成(PRODUCT_IDPART_IDREQUIRED_QTY
WAREHOUSES 倉庫(WAREHOUSE_IDLOCATIONCAPACITY

事前準備参考情報

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 にログインしてグラフモデラーを起動

  1. OCI コンソールから Autonomous AI Database のインスタンス詳細ページを開きます
  2. 「データベース・アクション」起動
  3. メニューから「Graph Studio」を選択してログインimage.png
  4. Graph Studio の左側ナビゲーションにある「Graphs(グラフアイコン)」をクリックします
    image.png

Step 2: グラフ定義の生成

Graphs ページで「Create Graph(グラフの作成)」アイコンをクリックします。
image.png

  1. グラフ名を入力します(例:SUPPLY_CHAIN_GRAPH

  2. 「次へ」をクリックしてモデラー画面に進みます
    image.png

  3. グラフの対象にしたいテーブルを左側のリストから選択します。外部キー制約がないテーブルでも選択できます。グラフ・スキーマのプルダウンリストから「Generate with AI」を選択します。
    image.png

  4. 「次」をクリック

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

  6. しばらく待つと、LLM がテーブル構造を解析してグラフ定義を提案します

SELECT AI プロファイルとは?: SELECT AI プロファイルは「どの LLM を使うか」を定義した接続設定です。OCI Generative AI・OpenAI・Azure OpenAI・Cohere などのプロバイダーと、モデル名・認証情報を登録したものです。テーブルの登録は不要で、Step 3 でモデラー UI 上に選択したテーブル群が LLM の解析対象として自動的に渡されます。

注意: プロファイルが未作成の場合、ドロップダウンが空欄になり「Generate」ボタンが押せません。事前準備のドキュメントを参照してプロファイルを作成してから本手順に進んでください。

image.png

生成されたグラフ定義には以下の要素が含まれます。

  • 頂点テーブル(Vertex Tables):エンティティを表すテーブルの一覧
  • エッジテーブル(Edge Tables):エンティティ間の関係を表すテーブルの一覧
  • キーとプロパティの定義:各テーブルのキーカラムとグラフに含めるプロパティ

注意: AI によるグラフ定義はあくまでも提案です。ビジネス要件に合わせて、追加の頂点やエッジを加えたり、「Source」ビューで直接定義を編集したりすることができます。

image.png

image.png

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」をクリックしてグラフを作成します。

image.png

image.png

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 から削除する場合

  1. Graphs ページで対象グラフを選択します
  2. メニューから「Delete」を選択して削除します

SQL で削除する場合

DROP PROPERTY GRAPH <グラフ名>;

おわりに

今回の検証で確認できたポイントは以下のとおりです。

  • Graph Studio のグラフモデラーに「Generate with AI」オプションが追加され、テーブルを選択して AI プロファイルを指定するだけでグラフ定義を自動生成できるようになりました
  • 外部キー制約がないテーブルや、テーブル数が多い複雑なスキーマでも LLM がテーブル間の関係を推論してグラフ定義を提案します
  • AI が生成した定義は UI 上またはソース編集で柔軟に調整でき、リレーショナルから グラフへの移行コストを大幅に削減できます
  • 作成したグラフは PGQL や SQL GRAPH_TABLE() 構文ですぐにクエリできます

グラフ分析に興味はあるものの CREATE PROPERTY GRAPH 文の記述に慣れていない Oracle Database エンジニアや、大規模スキーマからグラフを素早く試作したいデータアーキテクトに特に有用です。


参考情報

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?