23.4 PGQL問合せの実行

POST https://localhost:7007/v2/runQuery

指定したドライバに対して1つ以上の文を実行します。

バージョン: v2

リクエスト

リクエスト・ヘッダー

  • Accept: application/json; charset=UTF-8
  • Header: Authorization: Bearer <token>
  • Content-Type: application/json

表23-3 リクエスト本文のパラメータ

パラメータ 説明 必須
statements string [ ] 1つ以上の文 はい
driver string PGQLドライバを指定します。サポートされる値は次のとおりです。
  • GRAPH_SERVER_PGX: グラフ・サーバー(PGX)に対してPGQL問合せを実行する
  • PGQL_IN_DATABASE: データベースに対してPGQL文または問合せを実行する
  • SQL_IN_DATABASE: データベースに対してSQLグラフ問合せを実行する
はい
parameters object
  • dynamicSampling: integer
  • parallel: integer
  • start: integer
  • size: integer
パラメータは次のとおりです:
  • 動的サンプリング値
  • 並列度
  • 問合せ結果のフェッチ・サイズ(=行数)
パラメータはすべてオプションです。
  • 動的サンプリングのデフォルト値は2です。
  • パラレル化のデフォルト値は、driverによって異なります。
  • startのデフォルト値は0です。
  • sizeのデフォルト値は100です。
visualize boolean ビジュアライゼーションを設定するフラグ オプション。デフォルト値はtrue

サンプル・リクエスト本文

{
  "statements": [
    "CREATE PROPERTY GRAPH test_graph VERTEX TABLES (regions KEY (region_id), countries KEY (country_id))EDGE TABLES (countries AS countries_regions SOURCE KEY ( country_id ) REFERENCES 
     countries(country_id) DESTINATION KEY (region_id) REFERENCES regions(region_id) NO PROPERTIES ) OPTIONS (pg_pgql)", 
    "SELECT v FROM MATCH (v) ON test_graph LIMIT 1"
  ],
  "driver": "PGQL_IN_DATABASE",
  "parameters": {
    "dynamicSampling": 2,
    "parallel": 8,
    "start": 0,
    "size": 100
  },
  "visualize": true

レスポンス

  • 200 OK
  • Content-Type: application/json

サンプル・レスポンス本文

{
    "results": [
        {
            "pgqlStatement": "CREATE PROPERTY GRAPH test_graph VERTEX TABLES (regions KEY (region_id), countries KEY (country_id))EDGE TABLES (countries AS countries_regions SOURCE KEY ( country_id ) REFERENCES \r\n     countries(country_id) DESTINATION KEY (region_id) REFERENCES regions(region_id) NO PROPERTIES ) OPTIONS ( pg_pgql)",
            "result": "Graph successfully created",
            "success": true,
            "error": null,
            "started": 1757333361782,
            "ended": 1757333362005
        },
        {
            "pgqlStatement": "SELECT v FROM MATCH (v) ON REGION_GRAPH LIMIT 1",
            "result": "{\"schema\":\"GRAPHUSER\",\"name\":\"TEST_GRAPH\",\"resultSetId\":\"\",\"graph\":{\"vertices\":[{\"id\":\"COUNTRIES(AR)\",\"properties\":{\"REGION_ID\":2,\"COUNTRY_ID\":\"AR\",\"COUNTRY_NAME\":\"Argentina\"},\"labels\":[\"COUNTRIES\"]}],\"edges\":[],\"numResults\":1,\"graphOwner\":\"GRAPHUSER\",\"graphName\":\"REGION_GRAPH\"},\"table\":\"V\\nCOUNTRIES(AR)\"}",
            "success": true,
            "error": null,
            "started": 1757333362005,
            "ended": 1757333362714
        }
    ]
}

cURLの例

curl --location --request POST 'https://localhost:7007/v2/runQuery' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
  "statements": [
    "CREATE PROPERTY GRAPH test_graph VERTEX TABLES (regions KEY (region_id), countries KEY (country_id))EDGE TABLES (countries AS countries_regions SOURCE KEY ( country_id ) REFERENCES 
     countries(country_id) DESTINATION KEY (region_id) REFERENCES regions(region_id) NO PROPERTIES ) OPTIONS ( pg_pgql)",
    "SELECT v FROM MATCH (v) ON test_graph LIMIT 1"
  ],
  "driver": "PGQL_IN_DATABASE",
  "parameters": {
    "dynamicSampling": 2,
    "parallel": 8,
    "start": 0,
    "size": 100  
  },
  "visualize": true
}'