Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon Neptune OpenCypher HTTPS エンドポイント

フォーカスモード
Amazon Neptune OpenCypher HTTPS エンドポイント - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

HTTPS エンドポイントでの OpenCypher 読み取りおよび書き込みクエリ

OpenCypher HTTPS エンドポイントは、 と POSTメソッドの両方を使用した読み取りGETクエリと更新クエリをサポートします。DELETEPUT メソッドはサポートされていません。

次の手順では、 curl コマンドと HTTPS を使用して OpenCypher エンドポイントに接続する方法について説明します。Neptune DB インスタンスと同じ仮想プライベートクラウド (VPC) の Amazon EC2 インスタンスからこれらの手順を実行してください。

構文は次のとおりです。

HTTPS://(the server):(the port number)/openCypher

以下に、読み取りクエリーのサンプルを示します。片方は POST を、もう一方は GET を使います。

1. POST を使用する:

curl HTTPS://server:port/openCypher \ -d "query=MATCH (n1) RETURN n1;"

2. GET を使用する (クエリ文字列は URL に符号化されています)。

curl -X GET \ "HTTPS://server:port/openCypher?query=MATCH%20(n1)%20RETURN%20n1"

以下に、書き込み/更新クエリのサンプルを示します。片方はPOST を、もう一方は GET を使います。

1. POST を使用する:

curl HTTPS://server:port/openCypher \ -d "query=CREATE (n:Person { age: 25 })"

2. GET を使用する (クエリ文字列は URL に符号化されています)。

curl -X GET \ "HTTPS://server:port/openCypher?query=CREATE%20(n%3APerson%20%7B%20age%3A%2025%20%7D)"

デフォルトの OpenCypher JSON 結果形式

次の JSON 形式がデフォルトで返されます。または、リクエストヘッダーを明示的に Accept: application/json に設定することで返されます。このフォーマットは、ほとんどのライブラリのネイティブ言語機能を使用してオブジェクトに簡単に解析できるように設計されています。

返される JSON ドキュメントには、1 つのフィールドが含まれています。results には、クエリの戻り値が含まれています。以下の例は、一般的な値の JSON フォーマットを示しています。

値のレスポンスの例:

{ "results": [ { "count(a)": 121 } ] }

ノードレスポンスの例:

{ "results": [ { "a": { "~id": "22", "~entityType": "node", "~labels": [ "airport" ], "~properties": { "desc": "Seattle-Tacoma", "lon": -122.30899810791, "runways": 3, "type": "airport", "country": "US", "region": "US-WA", "lat": 47.4490013122559, "elev": 432, "city": "Seattle", "icao": "KSEA", "code": "SEA", "longest": 11901 } } } ] }

リレーションシップレスポンスの例:

{ "results": [ { "r": { "~id": "7389", "~entityType": "relationship", "~start": "22", "~end": "151", "~type": "route", "~properties": { "dist": 956 } } } ] }

パスレスポンスの例:

{ "results": [ { "p": [ { "~id": "22", "~entityType": "node", "~labels": [ "airport" ], "~properties": { "desc": "Seattle-Tacoma", "lon": -122.30899810791, "runways": 3, "type": "airport", "country": "US", "region": "US-WA", "lat": 47.4490013122559, "elev": 432, "city": "Seattle", "icao": "KSEA", "code": "SEA", "longest": 11901 } }, { "~id": "7389", "~entityType": "relationship", "~start": "22", "~end": "151", "~type": "route", "~properties": { "dist": 956 } }, { "~id": "151", "~entityType": "node", "~labels": [ "airport" ], "~properties": { "desc": "Ontario International Airport", "lon": -117.600997924805, "runways": 2, "type": "airport", "country": "US", "region": "US-CA", "lat": 34.0559997558594, "elev": 944, "city": "Ontario", "icao": "KONT", "code": "ONT", "longest": 12198 } } ] } ] }

マルチパート OpenCypher レスポンス用のオプションの HTTP 末尾ヘッダー

この機能は、Neptune エンジンリリース 1.4.5.0 以降で使用できます。

OpenCypher クエリと更新に対する HTTP レスポンスは通常、複数のチャンクで返されます。初期レスポンスチャンクの送信後に障害が発生した場合 (HTTP ステータスコードが 200)、問題を診断するのは難しい場合があります。デフォルトでは、「Neptune」はエラーメッセージをメッセージ本文に追加することで、このような障害を報告します。エラーメッセージは、レスポンスのストリーミングの性質が原因で破損する可能性があります。

末尾のヘッダーの使用

エラーの検出と診断を向上させるには、リクエストに Transfer-encoding (TE) トレーラーヘッダー (te: トレーラー) を含めることで、末尾のヘッダーを有効にできます。これを行うと、Neptune はレスポンスチャンクの末尾ヘッダー内に 2 つの新しいヘッダーフィールドを含めます。

  • X-Neptune-Status – レスポンスコードとそれに続く短縮名が含まれます。たとえば、成功した場合、末尾ヘッダーは次のようになります。X-Neptune-Status: 200 OK。失敗した場合、レスポンスコードは などの Neptune エンジンエラーコードになりますX-Neptune-Status: 500 TimeLimitExceededException

  • X-Neptune-Detail – リクエストが成功した場合は空です。エラーの場合は、JSON エラーメッセージが含まれます。HTTP ヘッダー値には ASCII 文字しか使用できないため、JSON 文字列は URL 符号化されます。エラーメッセージは、レスポンスメッセージ本文にも追加されます。

詳細については、TE リクエストヘッダーに関する MDN ページを参照してください。

OpenCypher 末尾ヘッダーの使用例

この例では、末尾のヘッダーが時間制限を超えるクエリの診断にどのように役立つかを示します。

curl --raw 'https://your-neptune-endpoint:port/openCypher' \ -H 'TE: trailers' \ -d 'query=MATCH(n) RETURN n.firstName' Output: < HTTP/1.1 200 OK < transfer-encoding: chunked < trailer: X-Neptune-Status, X-Neptune-Detail < content-type: application/json;charset=UTF-8 < < { "results": [{ "n.firstName": "Hossein" }, { "n.firstName": "Jan" }, { "n.firstName": "Miguel" }, { "n.firstName": "Eric" }, {"detailedMessage":"Operation terminated (deadline exceeded)", "code":"TimeLimitExceededException", "requestId":"a7e9d2aa-fbb7-486e-8447-2ef2a8544080", "message":"Operation terminated (deadline exceeded)"} 0 X-Neptune-Status: 500 TimeLimitExceededException X-Neptune-Detail: %7B%22detailedMessage%22%3A%22Operation+terminated+%28deadline+exceeded%29%22%2C%22code%22%3A%22TimeLimitExceededException%22%2C%22requestId%22%3A%22a7e9d2aa-fbb7-486e-8447-2ef2a8544080%22%2C%22message%22%3A%22Operation+terminated+%28deadline+exceeded%29%22%7D
レスポンスの内訳:

前の例は、末尾のヘッダーを持つ OpenCypher レスポンスがクエリ障害の診断にどのように役立つかを示しています。ここでは、(1) ストリーミングの開始を示す 200 OK ステータスの初期ヘッダー、(2) 失敗前に正常にストリーミングされた部分的な (壊れた) JSON 結果、(3) タイムアウトを示す追加エラーメッセージ、(4) 最終ステータス (500 TimeLimitExceededException) と詳細なエラー情報を含む末尾のヘッダーの 4 つの連続した部分を示します。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.