このクイックスタートでは、Entity Reconciliation API について説明します。このクイックスタートでは、 Google Cloud コンソールを使用してGoogle Cloud プロジェクトと認証を設定し、スキーマ マッピング ファイルを作成して、Enterprise Knowledge Graph にエンティティ調整ジョブの実行をリクエストします。
エンティティ調整ジョブを作成する
エンティティ調整ジョブを作成する手順は次のとおりです。
REST
1 つのソーステーブル(重複除去)を含むシンプルなジョブを作成するには、projects.locations.entityReconciliationJobs.create メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: ナレッジグラフのロケーション。
- オプション:
global- グローバル エンドポイント
- オプション:
- DATASET_ID: BigQuery データセットの ID
- TABLE_ID: BigQuery テーブルの ID
- MAPPING_FILE_URI: YAML 形式のマッピング ファイルへの Cloud Storage パス。
- 例:
gs://ekg-test-gcs/mapping.yml
- 例:
- ENTITY_TYPE: 調整用のエンティティ タイプ。
HTTP メソッドと URL:
POST https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs
リクエストの本文(JSON):
{
"inputConfig": {
"bigqueryInputConfigs": [
{
"bigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
"gcsUri": "MAPPING_FILE_URI"
}
],
"entityType": "ENTITY_TYPE"
},
"outputConfig": {
"bigqueryDataset": "projects/PROJECT_ID/datasets/DATASET_ID"
}
}
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs"
PowerShell
リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID",
"inputConfig": {
"bigqueryInputConfigs": [
{
"bigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
"gcsUri": "MAPPING_FILE_URI"
}
],
"entityType": "ENTITY_TYPE"
},
"outputConfig": {
"bigqueryDataset": "projects/PROJECT_ID/datasets/DATASET_ID"
},
"state": "JOB_STATE_RUNNING",
"createTime": "2021-07-31T14:39:14.145568Z",
"updateTime": "2021-07-31T14:39:14.145568Z"
}
{
"inputConfig": {
"bigqueryInputConfigs": [
{
"bigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
"gcsUri": "MAPPING_FILE_URI"
},
{
"bigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
"gcsUri": "MAPPING_FILE_URI"
}
],
"entityType": "ENTITY_TYPE",
"previousResultBigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/clusters_13689265293502324307"
},
"outputConfig": {
"bigqueryDataset": "projects/PROJECT_ID/datasets/DATASET_ID"
},
"reconConfig": {
"affinityClusteringConfig": {
"compressionRoundCount": "2"
},
"options": {
"enableGeocodingSeparation": true
}
}
}
Python
詳細については、Enterprise Knowledge Graph Python API リファレンス ドキュメントをご覧ください。
Enterprise Knowledge Graph に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
エンティティ調整ジョブを取得する
REST
API からジョブのステータスを取得するには、projects.locations.entityReconciliationJobs.get メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: ナレッジグラフのロケーション。
- オプション:
global- グローバル エンドポイント
- オプション:
- JOB_ID: エンティティ調整ジョブ ID。
- 例:
2628838070002699773
- 例:
HTTP メソッドと URL:
GET https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"name": "projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID",
"inputConfig": {
"bigqueryInputConfigs": [
{
"bigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
"gcsUri": "MAPPING_FILE_URI"
}
],
"entityType": "ENTITY_TYPE"
},
"outputConfig": {
"bigqueryDataset": "projects/PROJECT_ID/datasets/DATASET_ID"
},
"state": "JOB_STATE_SUCCEEDED",
"createTime": "2021-07-31T14:39:14.145568Z",
"updateTime": "2021-07-31T14:39:14.145568Z"
}
Python
詳細については、Enterprise Knowledge Graph Python API リファレンス ドキュメントをご覧ください。
Enterprise Knowledge Graph に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
エンティティ調整ジョブを一覧表示する
REST
API からすべてのジョブを取得するには、projects.locations.entityReconciliationJobs.list メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: ナレッジグラフのロケーション。
- オプション:
global- グローバル エンドポイント
- オプション:
HTTP メソッドと URL:
GET https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"entityReconciliationJobs": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID",
"inputConfig": {
"bigqueryInputConfigs": [
{
"bigqueryTable": "projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID",
"gcsUri": "MAPPING_FILE_URI"
}
],
"entityType": "ENTITY_TYPE"
},
"outputConfig": {
"bigqueryDataset": "projects/PROJECT_ID/datasets/DATASET_ID"
},
"state": "JOB_STATE_SUCCEEDED",
"createTime": "2021-07-31T14:39:14.145568Z",
"updateTime": "2021-07-31T14:39:14.145568Z"
}
],
"nextPageToken": ""
}
Python
詳細については、Enterprise Knowledge Graph Python API リファレンス ドキュメントをご覧ください。
Enterprise Knowledge Graph に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
エンティティ調整ジョブをキャンセルする
REST
API から実行中のジョブを停止するには、projects.locations.entityReconciliationJobs.cancel メソッドを呼び出します。
Enterprise Knowledge Graph は、可能な限り早いタイミングでジョブを停止します。ジョブのキャンセルはベスト エフォート ベースです。cancel コマンドが成功するとは限りません。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: ナレッジグラフのロケーション。
- オプション:
global- グローバル エンドポイント
- オプション:
- JOB_ID: エンティティ調整ジョブ ID。
- 例:
2628838070002699773
- 例:
HTTP メソッドと URL:
POST https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID:cancel
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID:cancel"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID:cancel" | Select-Object -Expand Content
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
Python
詳細については、Enterprise Knowledge Graph Python API リファレンス ドキュメントをご覧ください。
Enterprise Knowledge Graph に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
エンティティ調整ジョブを削除する
REST
API を使用して完了したジョブまたは失敗したジョブを削除するには、projects.locations.entityReconciliationJobs.delete メソッドを呼び出します。
リクエストのデータを使用する前に、次のように置き換えます。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID。
- LOCATION: ナレッジグラフのロケーション。
- オプション:
global- グローバル エンドポイント
- オプション:
- JOB_ID: エンティティ調整ジョブ ID。
- 例:
2628838070002699773
- 例:
HTTP メソッドと URL:
DELETE https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://enterpriseknowledgegraph.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/entityReconciliationJobs/JOB_ID" | Select-Object -Expand Content
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
Python
詳細については、Enterprise Knowledge Graph Python API リファレンス ドキュメントをご覧ください。
Enterprise Knowledge Graph に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。