

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

# Amazon Neptune ノートブックでのマジックの使用
<a name="notebooks-magics"></a>

Neptune ワークベンチは、いわゆるノートブックの*マジック*コマンドをいくつか提供し、これを使用すると、時間と労力を大幅に節約できます。これらは、*ラインマジック*と*セルマジック*の 2 つに分類されます。

*ラインマジック*は、コマンドの前にパーセント記号 (`%`) が 1 つ付いています。行入力のみを取得し、セル本体の残りの部分からの入力は取得しません。Neptune ワークベンチは、次のラインマジックを提供します。
+ [%seed](#notebooks-line-magics-seed)
+ [%load](#notebooks-line-magics-load)
+ [%load\$1ids](#notebooks-line-magics-load-ids)
+ [%load\$1status](#notebooks-line-magics-load-status)
+ [%cancel\$1load](#notebooks-line-magics-cancel-load)
+ [%status](#notebooks-line-magics-status)
+ [%gremlin\$1status](#notebooks-line-magics-gremlin-status)
+ [%opencypher\$1status、または %oc\$1status](#notebooks-line-magics-opencypher-status)
+ [`%stream_viewer`](#notebooks-line-magics-stream-viewer)
+ [%sparql\$1status](#notebooks-line-magics-sparql-status)
+ [%graph\$1notebook\$1config](#notebooks-line-magics-graph-notebook-config)
+ [%graph\$1notebook\$1host](#notebooks-line-magics-graph-notebook-host)
+ [%graph\$1notebook\$1version](#notebooks-line-magics-graph-notebook-version)
+ [%graph\$1notebook\$1service](#notebooks-line-magics-graph-notebook-service)
+ [%graph\$1notebook\$1vis\$1options](#notebooks-line-magics-graph-notebook-vis-options)
+ [%statistics](#notebooks-line-magics-statistics)
+ [%summary](#notebooks-line-magics-summary)
+ [%reset\$1graph](#notebooks-line-magics-reset-graph)
+ [%get\$1graph](#notebooks-line-magics-get-graph)
+ [%degreeDistribution](#notebooks-line-magics-degreeDistribution)

*セルマジック*は、コマンドの前にパーセント記号 (`%%`) が 1 つではなく、2 つ付いています。セルの内容を入力として取得しますが、行の内容を入力として取得することもできます。Neptune ワークベンチは、次のセルマジックを提供します。
+ [%%sparql](#notebooks-cell-magics-sparql)
+ [%%gremlin](#notebooks-cell-magics-gremlin)
+ [%%opencypher、または %%oc](#notebooks-cell-magics-opencypher)
+ [%%graph\$1notebook\$1config](#notebooks-cell-magics-graph-notebook-config)
+ [%%graph\$1notebook\$1vis\$1options](#notebooks-cell-magics-graph-notebook-vis-options)

また、ラインマジックとセルマジックの 2 つのマジックは、[Neptune の機械学習](machine-learning.md) と一緒に使用できます。
+ [%neptune\$1ml](#notebooks-line-magics-neptune_ml)
+ [%%neptune\$1ml](#notebooks-cell-magics-neptune_ml)

**注記**  
Neptune のマジックを使って作業する場合、通常、ヘルプテキストは `--help` または `-h` パラメータを使用しています。セルマジックでは、本文を空にすることはできません。そのため、ヘルプを得るときは、フィラーテキスト、つまり 1 文字でも本文に入れてください。例えば、次のようになります。  

```
%%gremlin --help
  x
```

## セルまたはラインマジックへの変数のインジェクション
<a name="notebook-magics-variable-injection"></a>

ノートブックで定義された変数は、`${VAR_NAME}` の形式を使用して、ノートブック内の任意のセルまたはラインマジック内で参照できます。

例えば、以下の変数を定義するとします。

```
c = 'code'
my_edge_labels = '{"route":"dist"}'
```

その場合、セルマジック内の次の Gremlin クエリは次のようになります。

```
%%gremlin -de $my_edge_labels
g.V().has('${c}','SAF').out('route').values('${c}')
```

これは次に相当します。

```
%%gremlin -de {"route":"dist"}
g.V().has('code','SAF').out('route').values('code')
```

## すべてのクエリ言語で機能するクエリ引数
<a name="notebook-magics-query-args"></a>

以下のクエリ引数は、Neptune ワークベンチの `%%gremlin`、`%%opencypher`、および `%%sparql` マジックで動作します。

**一般的なクエリ引数**
+ **`--store-to`** (または **`-s`**)   –   クエリ結果を格納する変数の名前を指定します。
+ **`--silent`** — 存在する場合、クエリの完了後に出力は表示されません。

  
+ **`--group-by`** (または **`-g`**) - ノードのグループ化に使用されるプロパティを指定します (`code` または `T.region` など)。頂点は割り当てられたグループに基づいて色分けされます。
+ **`--ignore-groups`** - 存在する場合、すべてのグループ化オプションは無視されます。
+ **`--display-property`** (または **`-d`**) - 各頂点に値が表示されるプロパティを指定します。

  各クエリ言語のデフォルト値は次のとおりです。
  + Gremlin の場合: `T.label`。
  + openCypher の場合: `~labels`。
  + SPARQL の場合: `type`。
+ **`--edge-display-property`** (または **`-t`**)   –  各エッジに値が表示されるプロパティを指定します。

  各クエリ言語のデフォルト値は次のとおりです。
  + Gremlin の場合: `T.label`。
  + openCypher の場合: `~labels`。
  + SPARQL の場合: `type`。
+ **`--tooltip-property`**(または **`-de`**) — 各ノードのツールチップとして値が表示されるプロパティを指定します。

  各クエリ言語のデフォルト値は次のとおりです。
  + Gremlin の場合: `T.label`。
  + openCypher の場合: `~labels`。
  + SPARQL の場合: `type`。
+ **`--edge-tooltip-property`** (または **`-te`**)   –  各エッジのツールチップとして値が表示されるプロパティを指定します。

  各クエリ言語のデフォルト値は次のとおりです。
  + Gremlin の場合: `T.label`。
  + openCypher の場合: `~labels`。
  + SPARQL の場合: `type`。
+ **`--label-max-length `** (または **`-l`**) — 任意の頂点ラベルの最大文字長を指定します。デフォルトは 10 です。
+ **`--edge-label-max-length `** (または **`-le`**) — 任意のエッジラベルの最大文字長を指定します。デフォルトは 10 です。

  openCypher の場合のみ、これは `--rel-label-max-length` または `-rel` です。
+ **`--simulation-duration`** (または **`-sd`**) — ビジュアライゼーション物理シミュレーションの最大時間を指定します。デフォルトは 1500 ms です。
+ **`--stop-physics`** (または **`-sp`**) — 最初のシミュレーションが安定したら、ビジュアライゼーション物理を無効にします。

これらの引数のプロパティ値は、1 つのプロパティキーで構成されることも、ラベルタイプごとに異なるプロパティを指定できる JSON 文字列で構成されることもあります。JSON 文字列は、[変数インジェクション](#notebook-magics-variable-injection)を使用してのみ指定できます。

## `%seed` ラインマジック
<a name="notebooks-line-magics-seed"></a>

`%seed` ラインマジックは、Gremlin、openCypher、または SPARQL クエリを探索して実験するために使用できる Neptune エンドポイントにデータを追加する便利な方法です。探索するデータモデル (プロパティグラフまたは RDF）を選択し、Neptune が提供する多数の異なるサンプルデータセットから選択できるフォームを提供します。

## `%load` ラインマジック
<a name="notebooks-line-magics-load"></a>

`%load` ラインマジックは Neptune に一括ロードリクエストを送信するために使用できるフォームを生成します ([Neptune ローダーコマンド](load-api-reference-load.md) を参照 )。ソースは、Neptune クラスターと同じリージョンにある Amazon S3 パスである必要があります。

## `%load_ids` ラインマジック
<a name="notebooks-line-magics-load-ids"></a>

`%load_ids` ラインマジックは、ノートブックのホストエンドポイントに送信されたロード ID を取得します ([Neptune Loader Get-Status リクエストパラメータ](load-api-reference-status-requests.md#load-api-reference-status-parameters) を参照 )。リクエストは以下のような形式です。

```
GET https://your-neptune-endpoint:port/loader
```

## `%load_status` ラインマジック
<a name="notebooks-line-magics-load-status"></a>

`%load_status` ラインマジックは、ノートブックのホストエンドポイントに送信された特定のロードジョブのロードステータスを取得します。これは、行入力によって指定されます ([Neptune Loader Get-Status リクエストパラメータ](load-api-reference-status-requests.md#load-api-reference-status-parameters) を参照 )。リクエストは以下のような形式です。

```
GET https://your-neptune-endpoint:port/loader?loadId=loadId
```

ラインマジックは次のようになります。

```
%load_status load id
```

## `%cancel_load` ラインマジック
<a name="notebooks-line-magics-cancel-load"></a>

`%cancel_load` ラインマジックは特定のロードジョブをキャンセルします ([Neptune Loader Cancel Job](load-api-reference-cancel.md) を参照 )。リクエストは以下のような形式です。

```
DELETE https://your-neptune-endpoint:port/loader?loadId=loadId
```

ラインマジックは次のようになります。

```
%cancel_load load id
```

## `%status` ラインマジック
<a name="notebooks-line-magics-status"></a>

ノートブックのホストエンドポイントから[ステータス情報](access-graph-status.md)を取得します ([%graph\$1notebook\$1config](#notebooks-line-magics-graph-notebook-config) はホストエンドポイントを表示します)。

 Neptune DB ホストの場合、ステータス情報は[ヘルスステータスエンドポイント](https://docs.aws.amazon.com//neptune/latest/userguide/access-graph-status.html)から取得されます。Neptune Analytics ホストの場合、ステータスは [GetGraph API](https://docs.aws.amazon.com//neptune-analytics/latest/apiref/API_GetGraph.html) を介して取得されます。詳細については「[%get\$1graph](#notebooks-line-magics-get-graph)」を参照してください。

## `%gremlin_status` ラインマジック
<a name="notebooks-line-magics-gremlin-status"></a>

[Gremlin クエリステータス情報](gremlin-api-status.md)を取得します。

## `%opencypher_status` ラインマジック (`%oc_status`)
<a name="notebooks-line-magics-opencypher-status"></a>

opencypher クエリのクエリステータスを取得します。コマンドは次のオプションの引数を取得します。
+ **`--queryId`** または **`-q`** - ステータスを表示する特定の実行中のクエリの ID を指定します。
+ **`--cancelQuery`** または **`-c`** - 実行中のクエリをキャンセルします。値を取得しません。
+ **`--silent-cancel`** または **`-s`** - クエリをキャンセルする際に `--silent` が `true` に設定される場合、実行中のクエリは、HTTP レスポンスコード `200` でキャンセルされます。それ以外の場合、HTTP レスポンスコードは `500` になります。
+ **`--store-to`** - クエリ結果を保存する変数の名前を指定します。
+ **`-w/--includeWaiting`** – Neptune DB のみ。True に設定され、他のパラメータが存在しないときには、待機中のクエリと実行中のクエリのステータス情報が返されます。このパラメータは値を取りません。
+ **`--state`** – Neptune Analytics のみ。ステータスを取得するクエリ状態のサブセットを指定します。
+ **`-m/--maxResults`** – Neptune Analytics のみ。`--state` の値に一致する返されたクエリのセットの上限を設定します。
+ **`--silent`** — 存在する場合、クエリの完了後に出力は表示されません。

## `%stream_viewer` ラインマジック
<a name="notebooks-line-magics-stream-viewer"></a>

`%stream_viewer` ラインマジックは、Neptune クラスターでストリームが有効になっている場合、Neptune ストリームに記録されたエントリをインタラクティブに探索できるインターフェースを表示します。これは、次のオプション引数を受け入れます。
+ **`language`** — ストリームデータのクエリ言語 (`gremlin` または `sparql`)。この引数を指定しなかった場合のデフォルトは `gremlin` です。
+ **`--limit`** — ページあたりに表示するストリームエントリの最大数を指定します。この引数を指定しなかった場合のデフォルト値は `10` です。

  

**注記**  
`%stream_viewer` ラインマジックは、エンジンバージョン 1.0.5.1 以前でのみ完全にサポートされています。

## `%sparql_status` ラインマジック
<a name="notebooks-line-magics-sparql-status"></a>

[SPARQL クエリのステータス情報](sparql-api-status.md)を取得します。

## `%graph_notebook_config` ラインマジック
<a name="notebooks-line-magics-graph-notebook-config"></a>

このラインマジックは、ノートブックが Neptune との通信に使用している設定を含む JSON オブジェクトを表示します。以下の設定ファイルがあります。
+ `host`: コマンドを接続して発行するエンドポイント。
+ `port`: Neptune にコマンドを発行するときに使用するポート。デフォルト値は `8182` です。
+ `auth_mode`: Neptune にコマンドを発行するときに使用する認証のモード。IAM 認証が有効になっているクラスターに接続する場合は `IAM`、そうでない場合は `DEFAULT` の必要があります。
+ `load_from_s3_arn`: 使用する `%load` マジックに対して Amazon S3 ARN を指定します。この値が空の場合、ARN は `%load` コマンドで指定する必要があります。
+ `ssl`: TLS を使用して Neptune に接続するかどうかを示すブール値。デフォルト値は `true` です。
+ `aws_region`: このノートブックが展開されているリージョン。この情報は IAM 認証と、`%load` リクエストに関して使用されます。

設定を変更するには、新しいセルに `%graph_notebook_config` 出力をコピーし、そこに変更を加えます。次に、新しいセルで [%%graph\$1notebook\$1config](#notebooks-cell-magics-graph-notebook-config) セルマジックを実行する場合、それに応じて設定が変更されます。

## `%graph_notebook_host` ラインマジック
<a name="notebooks-line-magics-graph-notebook-host"></a>

行入力をノートブックのホストとして設定します。

## `%graph_notebook_version` ラインマジック
<a name="notebooks-line-magics-graph-notebook-version"></a>

`%graph_notebook_version` ラインマジックは Neptune ワークベンチノートブックのリリース番号を返します。例えば、グラフのビジュアライゼーションがバージョン `1.27` で導入されました。

## `%graph_notebook_service` ラインマジック
<a name="notebooks-line-magics-graph-notebook-service"></a>

`%graph_notebook_service` ラインマジックは、Neptune リクエストに使用されるサービス名としてライン入力を設定します。

## `%graph_notebook_vis_options` ラインマジック
<a name="notebooks-line-magics-graph-notebook-vis-options"></a>

`%graph_notebook_vis_options` ラインマジックは、ノートブックが使用している現在のビジュアライゼーション設定を表示します。これらのオプションについては、[vis.js](https://visjs.github.io/vis-network/docs/network/#options) ドキュメント内で説明されています。

これらの設定を変更するには、出力を新しいセルにコピーし、必要な変更を行い、そのセル上で `%%graph_notebook_vis_options` セルマジックを実行します。

ビジュアライゼーション設定をデフォルト値に戻すには、`%graph_notebook_vis_options` ラインマジックを `reset` パラメータとともに実行します。これにより、すべてのビジュアライゼーション設定がリセットされます。

```
%graph_notebook_vis_options reset
```

## `%statistics` ラインマジック
<a name="notebooks-line-magics-statistics"></a>

`%statistics` ラインマジックは、DFE エンジン統計の取得や管理に使用されます (「[Neptune DFE が使用する統計情報の管理](neptune-dfe-statistics.md)」を参照)。このマジックは[グラフのサマリー](neptune-graph-summary.md)を取得するのにも使用できます。

次のパラメータを受け入れます。
+ **`--language`** — 統計エンドポイントのクエリ言語。`propertygraph` (または`pg`) または `rdf`。

  指定しなかった場合のデフォルトは `propertygraph` です。
+ **`--mode`** (または **`-m`**) — 送信するリクエストまたはアクションのタイプを指定します (`status`、`disableAutoCompute`、`enableAutoCompute`、`refresh`、`delete`、`detailed`、または `basic` のいずれか)。

  指定しなかった場合のデフォルトは `status` です。ただし、`--summary` が指定された場合のデフォルトは `basic` です。
+ **`--summary`** — 選択さえた言語の統計サマリーエンドポイントからグラフのサマリーを取得します。
+ **`--silent`** — 存在する場合、クエリの完了後に出力は表示されません。
+ **`--store-to`** - クエリ結果の保存先となる変数を指定するために使用されます。

## `%summary` ラインマジック
<a name="notebooks-line-magics-summary"></a>

`%summary` ラインマジックは、[グラフのサマリー](neptune-graph-summary.md)情報を取得するために使用されます。Neptune エンジンバージョン `1.2.1.0` 以降で利用可能です。

次のパラメータを受け入れます。
+ **`--language`** — 統計エンドポイントのクエリ言語。`propertygraph` (または`pg`) または `rdf`。

  指定しなかった場合のデフォルトは `propertygraph` です。
+ **`--detailed`** — 出力での構造体フィールドの表示のオンとオフを切り替えます。

  指定しなかった場合のデフォルトは、`basic` サマリー表示モードです。
+ **`--silent`** — 存在する場合、クエリの完了後に出力は表示されません。
+ **`--store-to`** - クエリ結果の保存先となる変数を指定するために使用されます。

## `%reset_graph` ラインマジック
<a name="notebooks-line-magics-reset-graph"></a>

 `%reset_graph` (または `%_graph_reset`) ラインマジックは、Neptune Analytics エンドポイントに対して [ResetGraph](https://docs.aws.amazon.com//neptune-analytics/latest/apiref/API_ResetGraph.html) 呼び出しを実行します。次のオプションの行入力を受け付けます。
+  -ns または --no-skip-snapshot – 存在する場合、グラフデータが削除される前に最終的なグラフスナップショットが作成されます。
+  --silent – 存在する場合、リセット呼び出しの送信後に出力は表示されません。
+  --store-to - ResetGraph レスポンスの保存先となる変数を指定するために使用します。

## `%get_graph` ラインマジック
<a name="notebooks-line-magics-get-graph"></a>

 `%get_graph` ラインマジックは、[GetGraph API](https://docs.aws.amazon.com//neptune-analytics/latest/apiref/API_GetGraph.html) を介してグラフに関する情報を取得します。このマジックは、Neptune Analytics で使用する [%status](#notebooks-line-magics-status) と機能的に同じです。

## `%degreeDistribution` ラインマジック
<a name="notebooks-line-magics-degreeDistribution"></a>

`%degreeDistribution` 線マジックは、グラフ内の頂点の度合い分布を視覚化するインタラクティブなヒストグラムを作成します。ヒストグラムには、特定の角度 (x 軸) を持つ頂点 (y 軸) の数が表示されます。Neptune Analytics でのみ使用できます。

次のパラメータを受け入れます。ドロップダウンメニューで選択することもできます。
+ **`--traversalDirection`**   – 分析する度合い を指定します。(`"both"`デフォルト)`"inbound"`、、または のいずれかである必要があります`"outbound"`。
+ **`--vertexLabels`**   – 指定されたラベル ( など`airport country`) で頂点を フィルタリングします。デフォルトは空のリストです。
+ **`--edgeLabels`**   – 提供されたラベル ( など`route`) でエッジを フィルタリングします。デフォルトは空のリストです。

## `%%sparql` セルマジック
<a name="notebooks-cell-magics-sparql"></a>

`%%sparql` セルマジックは、Neptune エンドポイントに SPARQL クエリを発行します。次のオプションの行入力を受け付けます。
+ **`-h` または `--help`** - これらのパラメータに関するヘルプテキストを返します。
+ **`--path`** - SPARQL エンドポイントへのパスをプレフィックスします。例えば、`--path "abc/def"` と指定した場合、呼び出されるエンドポイントは `host:port/abc/def` になります。
+ **`--expand-all`** - これは、バインドの種類に関係なく、グラフダイアグラムに `?s ?p ?o` 結果のすべてを含めるようにビジュアライザに指示するクエリビジュアライゼーションのヒントです。

  デフォルトでは、SPARQL の視覚化には、`o?` は `uri` または `bnode` (空白ノード) であるトリプルパターンのみを含みます。その他のリテラル文字列や整数などの `?o` バインディング型は、すべて**グラフ**タブ内の**詳細**ペインを使用して表示できる `?s` ノードのプロパティとして処理されます。

  ビジュアライゼーションに頂点などのリテラル値を含める必要がある場合の、代わりに `--expand-all` クエリヒントを使用します。

  explain クエリは視覚化されないため、このビジュアライゼーションヒントを explain パラメータと組み合わせないでください。
+ **`--explain-type`** - 使用する explain モードを指定するために使用します (`dynamic`、`static`、または `details` のいずれか)。

  
+ **`--explain-format`** - explain クエリ (`text/csv` または `text/html` のいずれか 1 つ) の応答形式を指定するために使用します。
+ **`--store-to`** - クエリ結果の保存先となる変数を指定するために使用されます。

`explain` クエリの例は次のとおりです。

```
%%sparql explain

SELECT * WHERE {?s ?p ?o} LIMIT 10
```

`--expand-all` ビジュアライゼーションヒントパラメータを使用するビジュアライゼーションクエリの例 ([SPARQL の視覚化](notebooks-visualization.md#notebooks-visualization-sparql) を参照)。

```
%%sparql --expand-all

SELECT * WHERE {?s ?p ?o} LIMIT 10
```

## `%%gremlin` セルマジック
<a name="notebooks-cell-magics-gremlin"></a>

`%%gremlin` セルマジックは、WebSocket を使用して Neptune エンドポイントに Gremlin クエリを発行します。これは、[Gremlin `explain` ](gremlin-explain.md) /> モードまたは [Gremlin `profile` API](gremlin-profile-api.md) へトグルするオプションの行入力を受け入れます。また、ビジュアライゼーションの出力動作を変更するための個別のオプションのビジュアライゼーションヒント入力を受け入れます ([Gremlin の視覚化](notebooks-visualization.md#notebooks-visualization-Gremlin) を参照)。

`explain` クエリの例は次のとおりです。

```
%%gremlin explain

g.V().limit(10)
```

`profile` クエリの例は次のとおりです。

```
%%gremlin profile

g.V().limit(10)
```

ビジュアライゼーションクエリヒントを使用するビジュアライゼーションクエリの例。

```
%%gremlin -p v,outv

g.V().out().limit(10)
```

**`%%gremlin profile` クエリのオプションパラメータ**
+ **`--profile-chop`** — プロファイル結果文字列の最大長を指定します。この引数を指定しなかった場合のデフォルト値は 250 です。
+ **`--profile-serializer`** — 結果に使用するシリアライザーを指定します。使用できる値は、有効な MIME タイプまたは TinkerPop ドライバー「シリアライザー」列挙値です。この引数を使用しない場合、デフォルト値は、`application.json` です。
+ **`--profile-no-results`** — 結果数のみを表示します。使用されなかった場合、デフォルトでは、すべてのクエリ結果がプロファイルレポートに表示されます。
+ **`--profile-indexOps`** — すべてのインデックス操作の詳細レポートを表示します。

## `%%opencypher` セルマジック (`%%oc`)
<a name="notebooks-cell-magics-opencypher"></a>

`%%opencypher` セルマジック (`%%oc` フォームという略称あり) は、Neptune エンドポイントに openCypher クエリを発行します。次のオプションの行入力引かずを受け付けます。
+ **`--mode`** – クエリモード: `query` または `bolt` のいずれかのクエリモード。この引数を使用しない場合、デフォルト値は、`query` です。
+ **`--group-by`** または **`-g`** - ノードのグループ化に使用するプロパティを指定します。例えば、`code, ~id` です。この引数を使用しない場合、デフォルト値は、`~labels` です。
+ **`--ignore-groups`** - 存在する場合、すべてのグループ化オプションは無視されます。
+ **`--display-property`** または **`-d`** - 各頂点の値を表示するプロパティを指定します。この引数を使用しない場合、デフォルト値は、`~labels` です。
+ **`--edge-display-property`** または **`-de`**   –  各エッジの値を表示するプロパティを指定します。この引数を使用しない場合、デフォルト値は、`~labels` です。
+  **`--explain-type`** – 使用する説明モード (動的、静的、デバッグ、詳細のいずれか) を指定するために使用されます。
+ **`--label-max-length`** または **`-l`** - 表示する頂点ラベルの最大文字数を指定します。この引数を使用しない場合、デフォルト値は、`10` です。
+ **`--store-to`** または **`-s`** — クエリ結果を保存する変数の名前を指定します。
+ **`--plan-cache`** または **`-pc`** — 使用するプランキャッシュモードを指定します。デフォルト値は `auto` です。
+ **`--query-timeout`** または **`-qt`** — 最大クエリタイムアウトをミリ秒単位で指定します。デフォルト値は `1800000` です。
+ **`--query-parameters`** または **`qp`** — クエリに適用する[パラメータ定義](opencypher-parameterized-queries.md)。このオプションでは、単一の変数名またはマップの文字列表現を使用できます。

**`--query-parameters` の使用例**

  1.  openCypher パラメータのマップをノートブックの 1 つのノートブックセルに定義します。

     ```
     params = '''{
      "name":"john",
      "age": 20,
     }'''
     ```

  1.  `%%oc` を使用してパラメータを別のセルの `--query-parameters` に渡します。

     ```
     %%oc --query-parameters params
     
     MATCH (n {name: $name, age: $age}) 
     RETURN n
     ```

## `%%graph_notebook_config` セルマジック
<a name="notebooks-cell-magics-graph-notebook-config"></a>

`%%graph_notebook_config` セルマジックは、可能であれば、ノートブックが Neptune との通信に使用している設定を変更するために、構成情報を含む JSON オブジェクトを使用します。構成は [%graph\$1notebook\$1config](#notebooks-line-magics-graph-notebook-config) ラインマジックによって返される形式と同じ形式になります。

例:

```
%%graph_notebook_config
{
  "host": "my-new-cluster-endpoint.amazon.com",
  "port": 8182,
  "auth_mode": "DEFAULT",
  "load_from_s3_arn": "",
  "ssl": true,
  "aws_region": "us-east-1"
}
```

## `%%graph_notebook_vis_options` セルマジック
<a name="notebooks-cell-magics-graph-notebook-vis-options"></a>

`%%graph_notebook_vis_options` セルマジックでは、ノートブックのビジュアライゼーションオプションを設定できます。`%graph-notebook-vis-options` ラインマジックによって返された設定をコピーして新しいセルに並べ、それらに変更を加えて、`%%graph_notebook_vis_options` セルマジックで新しい値を設定します。

これらのオプションについては、[vis.js](https://visjs.github.io/vis-network/docs/network/#options) ドキュメント内で説明されています。

ビジュアライゼーション設定をデフォルト値に戻すには、`%graph_notebook_vis_options` ラインマジックを `reset` パラメータとともに実行します。これにより、すべてのビジュアライゼーション設定がリセットされます。

```
%graph_notebook_vis_options reset
```

## `%neptune_ml` ラインマジック
<a name="notebooks-line-magics-neptune_ml"></a>

`%neptune_ml` ラインマジックで Neptune MLのさまざまな操作を開始および管理します。

**注記**  
[%%neptune\$1ml](#notebooks-cell-magics-neptune_ml) セルマジックでも Neptune MLのさまざまな操作を開始および管理できます。
+ **`%neptune_ml export start`** - 新しいエクスポートジョブを開始します。

**パラメータ**
  + **`--export-url`** *exporter-endpoint* - (*オプション*) エクスポータを呼び出すことができる Amazon API Gateway エンドポイント。
  + **`--export-iam`** - (*オプション*) エクスポート URL へのリクエストに SigV4 を使用して署名する必要があることを示すフラグ。
  + **`--export-no-ssl`** - (*オプション*) エクスポータに接続するときに SSL を使用しないことを示すフラグ。
  + **`--wait`** - (*オプション*) エクスポートが完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait* - (*オプション*) エクスポートステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds* - (*オプション*) 最新のステータスを返す前に、エクスポートジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。
  + **`--store-to`** *location-to-store-result* - (*オプション*) エクスポート結果を保存する変数。`--wait` を指定した場合、最終ステータスがそこに保存されます。
+ **`%neptune_ml export status`** - エクスポートジョブのステータスを取得します。

**パラメータ**
  + **`--job-id`** *export job ID* - ステータスを取得するエクスポートジョブの ID。
  + **`--export-url`** *exporter-endpoint* - (*オプション*) エクスポータを呼び出すことができる Amazon API Gateway エンドポイント。
  + **`--export-iam`** - (*オプション*) エクスポート URL へのリクエストに SigV4 を使用して署名する必要があることを示すフラグ。
  + **`--export-no-ssl`** - (*オプション*) エクスポータに接続するときに SSL を使用しないことを示すフラグ。
  + **`--wait`** - (*オプション*) エクスポートが完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait* - (*オプション*) エクスポートステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds* - (*オプション*) 最新のステータスを返す前に、エクスポートジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。
  + **`--store-to`** *location-to-store-result* - (*オプション*) エクスポート結果を保存する変数。`--wait` を指定した場合、最終ステータスがそこに保存されます。
+ **`%neptune_ml dataprocessing start`** - Neptune ML データ処理ステップを開始します。

**パラメータ**
  + **`--job-id`** *ID for this job* - (*オプション*) このジョブに割り当てる ID。
  + **`--s3-input-uri`** *S3 URI* - (*オプション*) このデータ処理ジョブの入力を検索する S3 URI。
  + **`--config-file-name`** *file name* - (*オプション*) このデータ処理ジョブの構成ファイルの名前。
  + **`--store-to`** *location-to-store-result*   –   (*オプショナル*) データ処理結果を格納する変数。
  + **`--instance-type`*** (インスタンスタイプ)* — (*オプション*) このデータ処理ジョブに使用するインスタンスサイズ。
  + **`--wait`**   –   (*オプショナル*) データ処理が完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait*   –   (*オプショナル*) データ処理ステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds*   –   (*オプショナル*) 最新のステータスを返す前に、データ処理ジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。
+ **`%neptune_ml dataprocessing status`** - データ処理ジョブのステータスを取得します。

**パラメータ**
  + **`--job-id`** *ID of the job*   –   ステータスを取得するジョブの ID。
  + **`--store-to`** *instance type* - (*オプション*) モデルトレーニング結果を保存する変数。
  + **`--wait`**   –   (*オプショナル*) モデルトレーニングが完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait*   –   (*オプショナル*) モデルトレーニングステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds* - (*オプション*) 最新のステータスを返す前に、データ処理ジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。
+ **`%neptune_ml training start`** - Neptune ML モデルトレーニングプロセスを開始します。

**パラメータ**
  + **`--job-id`** *ID for this job* - (*オプション*) このジョブに割り当てる ID。
  + **`--data-processing-id`** *dataprocessing job ID* - (*オプション*) トレーニングに使用するアーティファクトを作成したデータ処理ジョブの ID。
  + **`--s3-output-uri`** *S3 URI* - (*オプション*) このモデルトレーニングジョブからの出力を保存する S3 URI。
  + **`--instance-type`** *(インスタンスタイプ)* - (*オプション*) このモデルトレーニングジョブに使用するインスタンスサイズ。
  + **`--store-to`** *location-to-store-result*   –   (*オプショナル*) モデルトレーニング結果を格納する変数。
  + **`--wait`** - (*オプション*) モデルトレーニングが完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait* - (*オプション*) モデルトレーニングステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds* - (*オプション*) 最新のステータスを返す前に、モデルトレーニングジョブの完了を待機する時間 (秒単位) を設定します。*デフォルト値*: 3,600)。
+ **`%neptune_ml training status`** - Neptune ML モデルトレーニングジョブのステータスを取得します。

**パラメータ**
  + **`--job-id`** *ID of the job* - ステータスを取得するジョブの ID。
  + **`--store-to`** *instance type* - (*オプション*) ステータス結果を保存する変数。
  + **`--wait`** - (*オプション*) モデルトレーニングが完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait*   –   (*オプショナル*) モデルトレーニングステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds* - (*オプション*) 最新のステータスを返す前に、データ処理ジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。
+ **`%neptune_ml endpoint create`** - Neptune ML モデルのクエリエンドポイントを作成します。

**パラメータ**
  + **`--job-id`** *ID for this job* - (*オプション*) このジョブに割り当てる ID。
  + **`--model-job-id`** *model-training job ID* - (*オプション*) クエリエンドポイントを作成するモデルトレーニングジョブの ID。
  + **`--instance-type`** *(インスタンスタイプ)* - (*オプション*) クエリエンドポイントに使用するインスタンスサイズ。
  + **`--store-to`** *location-to-store-result*   –   (*オプショナル*) エンドポイント作成結果を格納する変数。
  + **`--wait`**   –   (*オプショナル*) エンドポイント作成が完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait*   –   (*オプショナル*) ステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds*   –   (*オプショナル*) 最新のステータスを返す前に、エンドポイント作成ジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。
+ **`%neptune_ml endpoint status`** - Neptune ML クエリエンドポイントのステータスを取得します。

**パラメータ**
  + **`--job-id`** *endpoint creation ID* - (*オプション*) ステータスをレポートするエンドポイント作成ジョブの ID。
  + **`--store-to`** *location-to-store-result*   –   (*オプショナル*) ステータス結果を格納する変数。
  + **`--wait`** - (*オプション*) エンドポイント作成が完了するまで操作を待機する必要があることを示すフラグ。
  + **`--wait-interval`** *interval-to-wait*   –   (*オプショナル*) ステータスチェック間隔を秒単位で設定します (*デフォルト値*: 60)。
  + **`--wait-timeout`** *timeout-seconds* - (*オプション*) 最新のステータスを返す前に、エンドポイント作成ジョブの完了を待機する時間 (秒単位) を設定します (*デフォルト値*: 3,600)。

## `%%neptune_ml` セルマジック
<a name="notebooks-cell-magics-neptune_ml"></a>

`%%neptune_ml` セルマジックは、`--job-id` または `--export-url` のような行入力を無視します。代わりに、これらの入力とセル本文内の他の入力を指定できます。

このような入力を Jupyter 変数に割り当てた別のセルに保存し、その変数を使用してセル本文に挿入することもできます。そうすれば、毎回再入力しなくても、この入力内容を何度も使用できます。

これは、注入変数がセルの唯一の内容である場合にのみ機能します。1 つのセルに複数の変数を使用したり、テキストと変数の組み合わせを使用したりすることはできません。

例えば、`%%neptune_ml export start` セルマジックは、[Neptune エクスポートプロセスを制御するために使用されるパラメーター](export-parameters.md) で説明されているすべてのパラメータを含む JSON ドキュメントをセル本文で消費できます。

**Export the data and model configuration** (データとモデルの設定をエクスポートする) セクションの**機能の設定**の下にある [Neptune-ML-01-Introduction-to-Node-Classification-Gremlin](https://github.com/aws/graph-notebook/blob/main/src/graph_notebook/notebooks/04-Machine-Learning/Neptune-ML-01-Introduction-to-Node-Classification-Gremlin.ipynb) ノートブックでは、次のセルが、`export-params` という名前の Jupyter 変数に割り当てられたドキュメント内のエクスポートパラメータをどのように保持しているかが説明されています。

```
export_params = {
  "command": "export-pg",
  "params": {
    "endpoint": neptune_ml.get_host(),
    "profile": "neptune_ml",
    "useIamAuth": neptune_ml.get_iam(),
    "cloneCluster": False
   },
  "outputS3Path": f'{s3_bucket_uri}/neptune-export',
  "additionalParams": {
    "neptune_ml": {
      "targets": [
        {
          "node": "movie",
          "property": "genre"
        }
      ],
      "features": [
        {
          "node": "movie",
          "property": "title",
          "type": "word2vec"
        },
        {
          "node": "user",
          "property": "age",
          "type": "bucket_numerical",
          "range" : [1, 100],
          "num_buckets": 10
        }
      ]
    }
  },
  "jobSize": "medium"}
```

このセルを実行すると、Jupyter はその名前でパラメータドキュメントを保存します。次に `${export_params}` を使用して、次のように JSON ドキュメントを `%%neptune_ml export start cell` の本文に挿入できます。

```
%%neptune_ml export start --export-url {neptune_ml.get_export_service_host()} --export-iam --wait --store-to export_results

${export_params}
```

### 利用可能な `%%neptune_ml` セルマジックの形式
<a name="notebooks-cell-magics-neptune_ml-forms"></a>

`%%neptune_ml` セルマジックは以下のような形式で使用できます。

****
+ **`%%neptune_ml export start`** - Neptune ML エクスポートプロセスを開始します。
+ **`%%neptune_ml dataprocessing start`** - Neptune ML データ処理ジョブを開始します。
+ **`%%neptune_ml training start`** - Neptune ML モデルトレーニングジョブを開始します。
+ **`%%neptune_ml endpoint create`** - Neptune ML モデルのクエリエンドポイントを作成します。