Weaviateの「インストールとセットアップ」におけるREST APIとGraphQLエンドポイントについて、以下の通り詳しく説明します。
概要
Weaviateはデータの登録・検索・管理にREST APIとGraphQLという2種類のエンドポイントを提供しています。どちらもHTTPプロトコルを介してアクセスでき、用途に応じて使い分けることが可能です。
1. REST APIエンドポイント
特徴
-
エンドポイントは
http(s)://<ホスト>:<ポート>/v1/に配置されます。 -
主にスキーマの操作、ベクトルデータのインジェスト、バックアップ・レプリケーション管理など、構成操作や管理処理に用いられます。
主なエンドポイント例
| HTTPメソッド | エンドポイント例 | 説明 |
|---|---|---|
| GET | /v1/schema |
現在のスキーマ構造を取得 |
| POST | /v1/schema |
新しいスキーマ(Class)の作成 |
| POST | /v1/objects |
データオブジェクトの追加 |
| GET | /v1/objects/{id} |
指定IDのオブジェクト取得 |
| DELETE | /v1/objects/{id} |
オブジェクトの削除 |
使用例(cURL)
2. GraphQLエンドポイント
特徴
-
エンドポイントは
http(s)://<ホスト>:<ポート>/v1/graphqlに配置されます。 -
データ検索・フィルタ・ベクトル検索に最適化されており、構造化クエリを使用して柔軟な検索が可能です。
-
RESTより複雑な検索ロジックを1つのリクエストで表現できます。
GraphQLの主な機能
-
Getクエリによるデータの取得 -
Exploreクエリによるベクトル探索 -
Aggregateクエリによる統計処理
使用例(GraphQLクエリ)
実行例(cURL)
RESTとGraphQLの使い分け
| 用途 | 推奨エンドポイント |
|---|---|
| スキーマの作成・管理 | REST API |
| データの登録・削除 | REST API |
| 高度な検索・ベクトル探索 | GraphQL |
| 検索条件の柔軟な記述 | GraphQL |
補足
Weaviateはこれらのエンドポイントを起動直後から使用可能であり、**OpenAPIドキュメント(Swagger UI)**も /v1/.well-known/apidocs にアクセスすることでREST APIの仕様をGUI上で確認することができます。
ChatGPT4o 生成日:2025/06/20