本文へ移動
hs-sql-agent
2.0.2
ドキュメント 2.0.2
ドキュメント 管理

セマンティックメタデータ

hs-sql-agent 2.0.2 で、テーブル/カラムの意味、リレーション、メトリクスメタデータを使ってデータベース探索を補強します。

エンティティ テーブルとカラムに表示名、説明、同義語を設定します。
リレーション カーディナリティと方向を持つ、名前付きの source-to-target カラム関係を定義します。
メトリクス formula、aggregation、grain、filter、synonym を持つ、スコープ付きメトリクスメタデータを定義します。

セマンティックメタデータは Database Management エントリに属します。物理スキーマ自体を変更せずに、スキーマ探索で物理データベースをどのように説明するかを補強します。

エンティティメタデータ

エンティティレコードは、テーブル全体またはテーブル内の 1 カラムを対象にできます。

フィールド意味
DbManagementIdセマンティックレコードを所有する Database Management エントリ
SchemaName任意のスキーマ
TableName必須の物理テーブル名
ColumnName任意。テーブル単位のメタデータでは省略
DisplayName人が理解しやすい名前
Description業務/運用上の説明
Synonymsテーブル/カラムを表す別名

同義語は、空の値を除去し、大文字小文字を区別せずに重複を排除したうえで、1 レコードにつき最大 100 件まで保持します。

リレーション

リレーションメタデータは、2 つの物理カラムがどのように関連するかを表します。

フィールド意味
Name安定したリレーション名
SourceSchema / SourceTable / SourceColumnsource 側
TargetSchema / TargetTable / TargetColumntarget 側
Cardinality既定値は many-to-one
Direction既定値は source-to-target
Description任意の運用/業務上の説明

スキーマ探索でリレーションの説明が表示されるのは、関係する両方のテーブルが認証済み MCP キーのテーブルホワイトリストで許可されている場合だけです。

メトリクス

メトリクスメタデータはテーブル単位でスコープされ、業務指標を記述できます。

フィールド意味
Name安定したメトリクス識別子
DisplayName人が理解しやすい名前
Description業務上の説明
Formula数式に関するメタデータ
Aggregation既定値は custom。意図する集計方法を記述可能
Grain任意の grain メタデータ
Filter任意の filter メタデータ
Synonymsメトリクスの別名
Executable2.0.2 モデルでは false

MCP のスキーマ探索での利用方法

正式な MCP スキーマツールは引き続き get_schemasget_tablesget_columns です。

キーに紐付いた Database Management エントリへセマンティックメタデータが登録されている場合、次の情報を補足できます。

  • get_tables — テーブルの表示名、説明、同義語、スコープ内メトリクスの説明
  • get_columns — カラムの表示名、説明、同義語、関連するリレーションの説明
  • テーブルホワイトリスト — 物理テーブルの可視性とリレーションのコンテキストを引き続き制限

つまりセマンティックメタデータは探索情報を豊かにしますが、キーがアクセスできる範囲を広げるものではありません。

Admin API サーフェス

2.0.2 の Admin API は api/DbSemantic 配下でセマンティック管理機能を公開します。

操作権限
データベースのエンティティレコードを取得/runtime/db-management/semanticview
エンティティ/リレーション/メトリクスを統合したモデルを取得/runtime/db-management/semanticview
エンティティメタデータを upsert/runtime/db-management/semanticedit
エンティティメタデータを削除/runtime/db-management/semanticedit
リレーションを upsert/削除/runtime/db-management/semanticedit
メトリクスを upsert/削除/runtime/db-management/semanticedit

モデリングの指針

複数のエージェントや運用者が継続的に利用できる、十分に安定した用語をセマンティックメタデータとして登録してください。

  • 物理テーブル/カラム名とは異なる業務上の名称
  • 略称やドメイン固有の同義語
  • Query 生成で重要となるリレーション
  • 想定する数式や grain を明確にするメトリクス定義

認証情報、ランタイムへの指示、認可判断をスキーマ説明へ埋め込む用途には使わないでください。アクセス制御は別の強制レイヤーとして維持されます。