Skip to content

プロベナンス: DDC に対する操作

当ドキュメントでは、DDCに関連する操作方法を記述しています。

レコード数のカウント prov.count_ddc_records

作成済のddcのレコード数を取得したい場合のJSON-RPCのリクエスト例は下記の通りです。

{
  "jsonrpc": "2.0",
  "method": "prov.count_ddc_records",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": 440,
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

params には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
ddc_label string DDC名 必須

DDC 存在チェック prov.ddc_exists

指定したddcが存在するかどうか確認したい場合のJSON-RPCのリクエスト例は下記の通りです。

{
  "jsonrpc": "2.0",
  "method": "prov.ddc_exists",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": true,
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

params には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
ddc_label string DDC名 必須

カラム情報取得 prov.get_ddc_columns

指定したddcのカラム情報を取得したい場合のJSON-RPCのリクエスト例は下記の通りです。

{
  "jsonrpc": "2.0",
  "method": "prov.get_ddc_columns",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": [{
  "column_name": "start_datetime",
  "data_type": "timestamp with time zone",
  "nullable": false, "attnum": 1
}, {
  "column_name": "end_datetime",
  "data_type": "timestamp with time zone",
  "nullable": false, "attnum": 2
}, {
  "column_name": "location",
  "data_type": "geometry",
  "nullable": false, "attnum": 3
}, {
  "column_name": "rain_map",
  "data_type": "raster",
  "nullable": false, "attnum": 4
}],
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

params には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
ddc_label string DDC名 必須

DDC のメタデータを取得 prov.resolve_ddc

指定したddcのメタデータを取得したい場合のJSON-RPCのリクエスト例は下記の通りです。

{
  "jsonrpc": "2.0",
  "method": "prov.resolve_ddc",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": {
  "id": 1002,
  "session_id": 43,
  "usename": "xuser",
  "ddc_type": "link",
  "short_form": "xrain",
  "long_form": "xrain_1611407057.670942",
  "realname": "public.event_xrain_clipped",
  "created_at": "2021-10-09 23:32:09.693272+09",
  "committed_at": "2021-10-09 23:32:10.39546+09",
  "prepared_activity_id": null
  },
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

params には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
ddc_label string DDC名 必須

Open API処理実行 prov.process

指定したddcで Open API を実行したい場合のJSON-RPCのリクエスト例は下記の通りです。 aggregate_geometry_table を例としています。

Open APIの各処理についてはリファレンスを参照してください。

{
  "jsonrpc": "2.0",
  "method": "prov.process",
  "params": {
    "method": "aggregate_geometry_table",
    "params": {
        "output_ddc": "ddc:agg_domingo",
        "input_ddc": "ddc:domingo",
        "start_datetime": "2021-10-15 10:09:30+09:00",
        "end_datetime": "2021-10-15 10:30:30+09:00",
        "spatial_extent": "{\"type":\"Polygon\",\"coordinates\":[[[139.25,35.25],[139.25,35.5],[139.625,35.5],[139.625,35.25],[139.25,35.25]]]}",
        "continuous_column_names": ["fld"],
        "discrete_column_names": [],
        "no_exec": true,
    },
  },
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": {
    "id": 1175,
    "session_id": 37,
    "usename": "test_user",
    "ddc_type": "table",
    "short_form": "agg_domingo",
    "long_form": "agg_domingo_1635548980.90725",
    "realname": "provenance.prov_ac5b5195430963ee5f5e0eab25a957e9",
    "created_at": "2021-10-15T10:09:40.123456+09:00",
    "committed_at": null,
    "prepared_activity_id": 1204
  },
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

params には以下のパラメータを指定します。JSON-RPCとしてのparamsの中に更にparamsがあることに注意してください。

パラメータ名 データ型 内容 既定値
method string 実行したいオープンAPIのメソッド名 必須
params object 実行したいオープンAPIのメソッドに対するパラメータ 必須

DDC の処理履歴を取得 prov.get_ddc_activities, prov.get_ddc_last_activity

指定したddcの処理履歴を取得したい場合のJSON-RPCのリクエスト例は下記の通りです。

{
  "jsonrpc": "2.0",
  "method": "prov.get_ddc_activities",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": [{
  "context": "set_ddc('ddc:xrain','event_xrain_clipped','{NULL}','true','link',NULL)",
  "end_at": "2021-10-09 23:33:09.693272+09",
  "id": 1070,
  "input_ddc_list": null,
  "output_ddc": "xrain_1611407057.670942",
  "query": "",
  "relation_size": 65708032,
  "report": "",
  "start_at": "2021-10-09 23:32:10.39546+09",
  "successed": true
}],
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

最後の処理だけを取得したい場合は get_ddc_last_activity を実行します。

{
  "jsonrpc": "2.0",
  "method": "prov.get_ddc_last_activity",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}
{
  "result": {
  "context": "set_ddc('ddc:xrain','event_xrain_clipped','{NULL}','true','link',NULL)",
  "end_at": "2021-10-09 23:33:09.693272+09",
  "id": 1070,
  "input_ddc_list": null,
  "output_ddc": "xrain_1611407057.670942",
  "query": "",
  "relation_size": 65708032,
  "report": "",
  "start_at": "2021-10-09 23:32:10.39546+09",
  "successed": true
},
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

prov.get_ddc_activities, prov.get_ddc_last_activity の params には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
ddc_label string DDC名 必須

DDC の実行状態を取得 prov.ddc_processing_status

指定したddcの処理の実行状態を取得したい場合のJSON-RPCのリクエスト例は下記の通りです。

{
  "jsonrpc": "2.0",
  "method": "prov.ddc_processing_status",
  "params": {"ddc_label": "ddc:xrain"},
  "id": "provenance_jsonrpc_id"
}

レスポンスの形式は以下の通りです。

{
  "result": {
  "stat": "finished",
  "message": "set_ddc('ddc:xrain','event_xrain_clipped','{NULL}','true','link',NULL)"
  },
  "id": "provenance_jsonrpc_id",
  "jsonrpc": "2.0"
}

パラメータ

params には以下のパラメータを指定します。

パラメータ名 データ型 内容 既定値
ddc_label string DDC名 必須