

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

# ロードデータ形式
<a name="bulk-load-tutorial-format"></a>

Amazon Neptune `Load` API は、さまざまな形式のデータのロードをサポートしています。

**プロパティグラフのロード形式**

以下のプロパティグラフ形式のいずれかでロードされたデータは、Gremlin と openCypher の両方を使用してクエリできます。
+ [Gremlin ロードデータ形式](bulk-load-tutorial-format-gremlin.md) (`csv`): カンマ区切り値 (CSV) 形式。
+ [openCypher データロード形式](bulk-load-tutorial-format-opencypher.md) (`opencypher`): カンマ区切り値 (CSV) 形式。

**RDF ロード形式**

SPARQL を使用してクエリするリソース記述フレームワーク (RDF) データをロードするには、World Wide Web Consortium (W3C) によって指定されている次の標準形式のいずれかを使用できます。
+ N -Triples (`ntriples`) [https://www.w3.org/TR/n-triples/](https://www.w3.org/TR/n-triples/) の仕様より。
+ N-Quads (`nquads`) [https://www.w3.org/TR/n-quads/](https://www.w3.org/TR/n-quads/) の仕様より。
+ RDF/XML (`rdfxml`) [https://www.w3.org/TR/rdf-syntax-grammar/](https://www.w3.org/TR/rdf-syntax-grammar/) の仕様より。
+ Turtle (`turtle`) [https://www.w3.org/TR/turtle/](https://www.w3.org/TR/turtle/) の仕様より。

**ロードデータは UTF-8 エンコードを使用する必要がある**

**重要**  
すべてのロードデータファイルは、UTF-8 形式でエンコードされている必要があります。ファイルが UTF-8 でエンコードされていない場合でも、Neptune は UTF-8 形式のデータとしてロードしようとします。

Unicode 文字を含む N-Quads および N-Triples データの場合、`\uxxxxx` エスケープシーケンスがサポートされています。ただし、Neptune では正規化はサポートされていません。正規化が必要な値が存在する場合、クエリ中にバイトごとに一致することはありません。正規化の詳細については、[Unicode.org](https://unicode.org/faq/normalization.html) の[正規化](https://unicode.org)ページを参照してください。

データがサポートされている形式でない場合は、ロードする前に変換する必要があります。

GraphML を Neptune CSV 形式に変換するためのツールは、[GitHub](https://github.com/awslabs/amazon-neptune-tools/blob/master/graphml2csv/README.md) の [GraphML2CSV プロジェクト](https://github.com/)で利用できます。

## ロードデータファイルの圧縮サポート
<a name="bulk-load-tutorial-format-compression"></a>

Neptune は、`gzip` または `bzip2` 形式の個別ファイルの圧縮をサポートしています。

圧縮されたファイルには `.gz` または `.bz2` 拡張子を付ける必要があり、UTF-8 形式でエンコードされた単一のテキストファイルである必要があります。複数のファイルをロードできますが、それぞれ個別の `.gz`、`.bz2`、または圧縮されていないテキストファイルである必要があります。`.tar`、`.tar.gz`、`.tgz` などの拡張子の付いたアーカイブファイルはサポートされていません。

以下のセクションで、これらの形式についてさらに詳しく説明します。

**Topics**
+ [ロードデータファイルの圧縮サポート](#bulk-load-tutorial-format-compression)
+ [Gremlin ロードデータ形式](bulk-load-tutorial-format-gremlin.md)
+ [openCypher データのロード形式](bulk-load-tutorial-format-opencypher.md)
+ [RDF ロードデータ形式](bulk-load-tutorial-format-rdf.md)

# Gremlin ロードデータ形式
<a name="bulk-load-tutorial-format-gremlin"></a>

Apache TinkerPop Gremlin データを CSV 形式を使用してロードするには、頂点とエッジを別々のファイルで指定する必要があります。

ローダーは、単一のロードジョブで複数の頂点ファイルおよび複数のエッジファイルからロードできます。

各ロードコマンドは、ロードされる一連のファイルと同じ Amazon S3 バケットのフォルダにある必要があり、`source` パラメータにフォルダ名を指定します。このファイル名とファイル名拡張子は重要ではありません。

Amazon Neptune CSV 形式は RFC 4180 の CSV の仕様に従います。詳細については、Internet Engineering Task Force (IETF) ウェブサイトの、[CSV ファイルの一般形式と MIME タイプ](https://tools.ietf.org/html/rfc4180)を参照してください。

**注記**  
すべてのファイルは、UTF-8 形式でエンコードする必要があります。

各ファイルには、カンマ区切りのヘッダー行があります。ヘッダー行は、システム列ヘッダーとプロパティ列ヘッダーの両方で構成されます。

## システム列ヘッダー
<a name="bulk-load-tutorial-format-gremlin-systemheaders"></a>

頂点ファイルとエッジファイルでは、必須および許可されたシステム列ヘッダーが異なります。

各システム列は、ヘッダーに 1 回のみ表示できます。

すべてのラベルで大文字と小文字が区別されます。

**頂点ヘッダー**
+ `~id` – **必須**

  頂点の ID。
+ `~label`

  頂点のラベル。複数のラベル値を使用できます。セミコロン (`;`) で区切ります。

  `~label` が存在しない場合、TinkerPop は値 `vertex` のラベルを提供します。これは、すべての頂点に少なくとも 1 つのラベルが必要なためです。

**エッジヘッダー**
+ `~id` – **必須**

  エッジの ID。
+ `~from` – **必須**

  *from* 頂点の頂点 ID。
+ `~to` – **必須**

  *to* 頂点の頂点 ID。
+ `~label`

  エッジのラベル。エッジには 1 つのラベルのみを含めることができます。

  `~label` が存在しない場合、TinkerPop は値 `edge` のラベルを提供します。これは、すべてのエッジにラベルが必要なためです。

## プロパティ列ヘッダー
<a name="bulk-load-tutorial-format-gremlin-propheaders"></a>

次の構文を使用して、プロパティ列 (`:`) を指定できます。タイプ名では大文字と小文字が区別されません。ただし、プロパティ名内にコロンがある場合は、次のように、その前にバックスラッシュを付けてエスケープする必要があります。`\:`。

```
propertyname:type
```

**注記**  
列ヘッダーでは、スペース、カンマ、キャリッジリターン、改行文字は使用できません。そのため、プロパティ名にこれらの文字を使用することはできません。

タイプに `[]` を追加することで、配列型の列を指定できます。

```
propertyname:type[]
```

**注記**  
エッジのプロパティに指定できるのは 1 つの値のみです。配列型が指定された場合や 2 つ目の値が指定された場合はエラーが発生します。

次の例は、`Int` 型の `age` という名前のプロパティの列ヘッダーを示しています。

```
age:Int
```

ファイルのすべての行は、その位置に整数があるか、空のままにする必要があります。

文字列の配列は許可されますが、バックスラッシュを使用してエスケープされないり限配列内の文字列にはセミコロン (`;`) 文字を含めることはできません (次のように:`\;`)。

**列の濃度を指定する**

列ヘッダーを使用して列で識別されたプロパティの*濃度*を指定できます。これにより、バルクローダーで Gremlin クエリと同様に濃度を重視できます。

列の濃度は、次のように指定します。

```
propertyname:type(cardinality)
```

*濃度*値は `single` または `set` となります。デフォルトは `set` であると想定されます。これは、列が複数の値を受け入れられることを意味します。エッジファイルの場合、濃度は常に単一であり、他の濃度を指定すると、ローダーは例外をスローします。

濃度が `single` のとき、値がロードされたときに前の値が既に存在する場合、または複数の値がロードされた場合、ローダーによりエラーがスローされます。`updateSingleCardinalityProperties` フラグを使用して新しい値がロードされたとき、既存の値が置き換えられるように、 この動作をオーバーライドできます。「[ローダーコマンド](load-api-reference-load.md)」を参照してください。

通常、その必要はありませんが、配列型で濃度設定を使用できます。可能な組み合わせは次のとおりです。
+ `name:type` - 濃度は `set` で、コンテンツは単一の値です。
+ `name:type[]` - 濃度は `set` で、コンテンツは複数の値です。
+ `name:type(single)` - 濃度は `single` で、コンテンツは単一の値です。
+ `name:type(set)` - 濃度は、デフォルトと同じ `set` で、コンテンツは単一の値です。
+ `name:type(set)[]` - 濃度は `set` で、コンテンツは複数の値です。
+ `name:type(single)[]` - これは矛盾しており、エラーがスローされます。

次のセクションでは、使用可能なすべての Gremlin データ型を示します。

## Gremlin データ型
<a name="bulk-load-tutorial-format-gremlin-datatypes"></a>

これは許可されたプロパティタイプの一覧で、各タイプの説明を含みます。

**Bool (または Boolean)**  
ブールフィールドであることを示しています。許可された値: `false`、`true`

**注記**  
`true` 以外の値は false として扱われます。

**整数型**  
定義された範囲外の値の場合、エラーが発生します。


| 
| 
| タイプ | Range | 
| --- |--- |
| Byte | -128 to 127 | 
| Short | -32768 to 32767 | 
| Int | -2^31 to 2^31-1 | 
| Long | -2^63 to 2^63-1 | 

**10 進数型**  
指数表記または 10 進表記の両方をサポートしています。また、(\$1/-) INFINITY や NaN などの記号も使用できます。INF はサポートされていません。


| 
| 
| タイプ | Range | 
| --- |--- |
| Float | 32-bit IEEE 754 floating point | 
| Double | 64-bit IEEE 754 floating point | 

長すぎる浮動小数点数や倍精度浮動小数点数の値は、24 ビット (浮動小数点数) および 53 ビット (倍精度浮動小数点数) の精度で最も近い値にロードされ、丸められます。中間の値は、ビットレベルの最後の残りの桁で 0 に丸められます。

**String**  
引用符はオプションです。カンマ、改行、およびキャリッジリターン文字は、二重引用符 (`"`) で囲まれた文字列に含まれると自動的にエスケープされます。*例*: `"Hello, World"`

引用符で囲まれた文字列に引用符を含めるには、行内で 2 つ使用して引用符をエスケープします。*例 :* `"Hello ""World"""`

文字列の配列は許可されますが、バックスラッシュを使用してエスケープされないり限配列内の文字列にはセミコロン (`;`) 文字を含めることはできません (次のように:`\;`)。

配列内の文字列を引用符で囲む場合は、配列全体を 1 組の引用符で囲む必要があります。*例*: `"String one; String 2; String 3"`

**日付**  
ISO-8601 形式の Java の日付。`yyyy-MM-dd`、`yyyy-MM-ddTHH:mm`、`yyyy-MM-ddTHH:mm:ss`、`yyyy-MM-ddTHH:mm:ssZ` の形式がサポートされています。値はエポック時間に変換され、保存されます。

**Datetime**  
ISO-8601 形式の Java の日付。`yyyy-MM-dd`、`yyyy-MM-ddTHH:mm`、`yyyy-MM-ddTHH:mm:ss`、`yyyy-MM-ddTHH:mm:ssZ` の形式がサポートされています。値はエポック時間に変換され、保存されます。

## Gremlin 行形式
<a name="bulk-load-tutorial-format-gremlin-rowformat"></a>

**区切り記号**  
行内のフィールドはカンマで区切られます。レコードは、改行またはキャリッジリターンとそれに続く改行で区切られます。

**空のフィールド**  
空のフィールドは、必須ではない列 (ユーザー定義のプロパティなど) に許可されています。空のフィールドにもカンマ区切り記号が必要です。必須列のフィールドが空白の場合は、解析エラーが発生します。空の文字列値は、フィールドの空の文字列値として解釈され、空白のフィールドとしては解釈されません。次のセクションの例では、各頂点の例に空白のフィールドがあります。

**頂点 ID**  
`~id` 値はすべての頂点ファイル内のすべての頂点に対して一意である必要があります。`~id` 値が同一の複数の頂点行はグラフの単一の頂点に適用されます。空の文字列 (`""`) は有効な ID であり、頂点は空の文字列を ID として作成されます。

**エッジ ID**  
また、`~id` 値はすべてのエッジファイル内のすべてのエッジに対して一意である必要があります。`~id` 値が同一の複数のエッジ行はグラフの単一のエッジに適用されます。空の文字列 (`""`) は有効な ID であり、エッジは空の文字列を ID として作成されます。

**ラベル**  
ラベルでは大文字と小文字が区別され、空にすることはできません。`""` の値を指定すると、エラーが発生します。

**文字列値**  
引用符はオプションです。カンマ、改行、およびキャリッジリターン文字は、二重引用符 (`"`) で囲まれた文字列に含まれると自動的にエスケープされます。空の文字列値 `("")` は、空のフィールドとしてではなく、フィールドの空の文字列値として解釈されます。

## CSV 形式の仕様
<a name="bulk-load-tutorial-format-csv-info"></a>

Neptune CSV 形式は RFC 4180 の CSV の仕様に従い、次の要件を含みます。
+ Unix と Windows の両方のスタイルの行末処理がサポートされています (\$1n または \$1r\$1n)。
+ フィールドはすべて引用符で囲むことができます (二重引用符を使用)。
+ 改行、二重引用符、またはカンマを含むフィールドは、引用符で囲む必要があります。(そうでない場合、ロードは即座に中止されます)。
+ フィールド内の二重引用符文字 (`"`) は、2 つの二重引用符文字で示す必要があります。たとえば、データ内で、文字列 `Hello "World"` は、`"Hello ""World"""` であることが必要です。
+ 区切り記号間のスペースは無視されます。行が `value1, value2` である場合は、`"value1"` および `"value2"` として保存されます。
+ その他のエスケープ文字はすべてそのまま保存されます。たとえば、`"data1\tdata2"` であれば `"data1\tdata2"` として保存されます。これらの文字が引用符で囲まれている場合、これ以上エスケープする必要はありません。
+ 空のフィールドは許可されます。空白のフィールドは空の値と見なされます。
+ フィールドの複数の値は、値と値の間にセミコロン (`;`) を使用して指定します。

詳細については、Internet Engineering Task Force (IETF) ウェブサイトの、[CSV ファイルの一般形式と MIME タイプ](https://tools.ietf.org/html/rfc4180)を参照してください。

## Gremlin の例
<a name="bulk-load-tutorial-format-gremlin-example"></a>

次の図の例では、TinkerPop 最新グラフから取得した 2 つの頂点と、エッジの例を示しています。

![\[2 つの頂点と 1 つのエッジを描いた図には、marko 29 歳と、lop ソフトウェア Java 言語が含まれています。\]](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/tiny-modern-graph.png)


以下に示しているのは、Neptune CSV ロード形式のグラフです。

頂点ファイル:

```
~id,name:String,age:Int,lang:String,interests:String[],~label
v1,"marko",29,,"sailing;graphs",person
v2,"lop",,"java",,software
```

頂点ファイルの表形式のビュー:

|  |  |  |  |  |  | 
| --- |--- |--- |--- |--- |--- |
| \$1id | name:String | age:Int | lang:String | interests:String[] | \$1label | 
| v1 | "marko" | 29 |  | ["sailing", "graphs"] | person | 
| v2 | "lop" |  | "java" |  | software | 

エッジファイル:

```
~id,~from,~to,~label,weight:Double
e1,v1,v2,created,0.4
```

エッジファイルの表形式のビュー:

|  |  |  |  |  | 
| --- |--- |--- |--- |--- |
| \$1id | \$1from | \$1to | \$1label | weight:Double | 
| e1 | v1 | v2 | created | 0.4 | 

**次のステップ**  
次に、ロード形式の詳細については、[例: Neptune DB インスタンスにデータをロードする](bulk-load-data.md) を参照してください。

# openCypher データのロード形式
<a name="bulk-load-tutorial-format-opencypher"></a>

openCypher CSV 形式を使用して openCypher データをロードするには、ノードとリレーションシップを別々のファイルで指定する必要があります。ローダーは、単一のロードジョブで、これらのノードファイルとリレーションシップファイルの複数のからロードできます。

各ロードコマンドは、ロードされる一連のファイルと同じAmazon Simple Storage Service バケットのパスプレフィックスを持つ必要があります。そのプレフィックスは始点パラメータで指定します。実際のファイル名と拡張子は重要ではありません。

Amazon Neptune では openCypher CSV 形式は RFC 4180 の CSV の仕様に従います。詳細については、Internet Engineering Task Force (IETF) ウェブサイトの、[CSV ファイルの一般形式と MIME タイプ](https://tools.ietf.org/html/rfc4180) (https://tools.ietf.org/html/rfc4180) を参照してください。

**注記**  
これらのファイルは、UTF-8 形式でエンコードする必要があります。

各ファイルには、システム列ヘッダーとプロパティ列ヘッダーの両方を含むカンマ区切りのヘッダー行があります。

## openCypher データロードファイルのシステム列ヘッダー
<a name="bulk-load-tutorial-format-opencypher-system-headers"></a>

特定のシステム列は、各ファイルに 1 回のみ表示できます。すべてのシステム列ヘッダーラベルで、大文字と小文字が区別されます。

openCypher ノードのロードファイルおよびリレーションシップロードファイルでは、必須および許可されるシステム列ヘッダーが異なります。

### ノードファイル内のシステム列ヘッダー
<a name="bulk-load-tutorial-format-opencypher-system-headers-nodes"></a>
+ **`:ID`** — (必須) ノードの ID。

  オプションの ID スペースを `:ID(ID Space)` のように、ノード `:ID` 列ヘッダーに追加できます。例は `:ID(movies)` です。

  このファイル内のノードを接続するリレーションシップをロードするときは、リレーションシップファイルの `:START_ID` および/または `:END_ID` 列で同じ ID スペースを使用します。

  ノード `:ID` はオプションで、フォーム、`property name:ID` にプロパティとして格納できます。例は `name:ID` です。

  ノード ID は、現在および以前のロードのすべてのノードファイルで一意である必要があります。ID スペースを使用する場合、ノード ID は、現在のロードと以前のロードで同じ ID スペースを使用するすべてのノードファイルで一意である必要があります。
+ **`:LABEL`** — ノードのラベル。

  1 つのノードに複数のラベル値を使用する場合は、各ラベルをセミコロン (`;`) で区切る必要があります。

### リレーションシップファイル内のシステム列ヘッダー
<a name="bulk-load-tutorial-format-opencypher-system-headers-relationships"></a>
+ **`:ID`** — リレーションシップの ID。これは、`userProvidedEdgeIds` が true (デフォルト) である場合に必要ですが、`userProvidedEdgeIds` が `false` の場合は無効となります。

  リレーションシップ ID は、現在および以前のロードのすべてのリレーションシップファイルで一意である必要があります。
+ **`:START_ID`** — (*必須*) このリレーションシップが始まるノードのノード ID。

  必要に応じて、ID スペースをフォーム `:START_ID(ID Space)` の開始 ID 列に関連付けることができます。開始ノード ID に割り当てられた ID スペースは、ノードファイル内のノードに割り当てられている ID スペースと一致する必要があります。
+ **`:END_ID`** — (*必須*) このリレーションシップが終了するノードのノード ID。

  必要に応じて、ID スペースをフォーム `:END_ID(ID Space)` の終了 ID 列に関連付けることができます。終了ノード ID に割り当てられた ID スペースは、ノードファイル内のノードに割り当てられた ID スペースと一致する必要があります。
+ **`:TYPE`** — リレーションシップのタイプ。リレーションシップには、単一タイプのみを含めることができます。

**注記**  
一括ロードプロセスで重複するノードまたはリレーションシップ ID がどのように処理されるかについては、[openCypher データをロードする](load-api-reference-load.md#load-api-reference-load-parameters-opencypher) を参照してください。

### openCypher データロードファイルのプロパティ列ヘッダー
<a name="bulk-load-tutorial-format-opencypher-property-headers"></a>

次の形式のプロパティ列ヘッダーを使用して、列が特定のプロパティの値を保持するように指定できます。

```
propertyname:type
```

列ヘッダーでは、スペース、カンマ、キャリッジリターン、改行文字は使用できません。そのため、プロパティ名にこれらの文字を使用することはできません。以下に示しているのは、タイプ `Int` の `age` という名前のプロパティの列ヘッダーの例です。

```
age:Int
```

列ヘッダーとして `age:Int` がある列は、すべての行に整数または空の値を含める必要があります。

## Neptune openCypher データロードファイルのデータ型
<a name="bulk-load-tutorial-format-opencypher-data-types"></a>
+ **`Bool`** または **`Boolean`** — ブールフィールド。指定できる値は `true` と `false` です。

  `true` 以外の値は `false` として扱われます。
+ **`Byte`** — `-128` から `127` 範囲内の整数。
+ **`Short`** — `-32,768` から `32,767` 範囲内の整数。
+ **`Int`** — `-2^31` から `2^31 - 1` 範囲内の整数。
+ **`Long`** — `-2^63` から `2^63 - 1` 範囲内の整数。
+ **`Float`** — 32 ビット IEEE 754 浮動小数点数。十進表記と科学記法の両方がサポートされています。`Infinity`、`-Infinity` および `NaN` はすべて認識されますが、`INF` はされません。

  桁数が多すぎて収まらない値は、最も近い値に丸められます (中間の値は、ビットレベルの最後の残りの桁で 0 に丸められます)。
+ **`Double`** — 64 ビット IEEE 754 浮動小数点数。十進表記と科学記法の両方がサポートされています。`Infinity`、`-Infinity` および `NaN` はすべて認識されますが、`INF` はされません。

  桁数が多すぎて収まらない値は、最も近い値に丸められます (中間の値は、ビットレベルの最後の残りの桁で 0 に丸められます)。
+ **`String`** - 引用符はオプションです。カンマ、改行、およびキャリッジリターン文字は、`"Hello, World"` のような二重引用符 (`"`) で囲まれた文字列に含まれると自動的にエスケープされます。

  引用符で囲まれた文字列に引用符を含めるには、`"Hello ""World"""` のように、行内で 2 つ使用してください。
+ **`DateTime`** — 次のいずれかの ISO-8601 形式の Java 日付。
  + `yyyy-MM-dd`
  + `yyyy-MM-ddTHH:mm`
  + `yyyy-MM-ddTHH:mm:ss`
  + `yyyy-MM-ddTHH:mm:ssZ`

### Neptune openCypher データロードファイルのオートキャストデータ型
<a name="bulk-load-tutorial-format-opencypher-data-auto-cast"></a>

オートキャストデータ型は、現在 Neptune がネイティブにサポートしていないデータ型をロードするために提供されます。このような列のデータは文字列として保存され、意図した形式に対する検証は行われません。次のオートキャストデータ型を使用できます。
+ **`Char`** — `Char` フィールド。文字列として格納されます。
+ **`Date`**、**`LocalDate`** および **`LocalDateTime`**、 — `date`、`localdate` および `localdatetime` タイプの説明については、[Neo4j 一時的インスタント](https://neo4j.com/docs/cypher-manual/current/values-and-types/temporal/#cypher-temporal-instants)を参照してください。値は、検証なしで文字列として逐語的にロードされます。
+ **`Duration`** — [Neo4j デュレーション形式](https://neo4j.com/docs/cypher-manual/current/values-and-types/temporal/#cypher-temporal-durations)を参照してください。値は、検証なしで文字列として逐語的にロードされます。
+ **ポイント** — 空間データを格納するためのポイントフィールド。「[空間インスタント](https://neo4j.com/docs/cypher-manual/current/values-and-types/spatial/#spatial-values-spatial-instants)」を参照してください。値は、検証なしで文字列として逐語的にロードされます。

## openCypher ロードフォーマットの例
<a name="bulk-load-tutorial-format-opencypher-example"></a>

次の図では、TinkerPop 最新グラフから取得した 2 つの頂点と、リレーションシップの例を示しています。

![\[2 つのノードとそれらのリレーションシップの図表。\]](http://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/images/tinkerpop-2-nodes-and-relationship.png)


以下に示しているのは、通常の Neptune openCypher ロード形式のグラフです。

**ノードファイル:**

```
:ID,name:String,age:Int,lang:String,:LABEL
v1,"marko",29,,person
v2,"lop",,"java",software
```

**リレーションシップファイル:**

```
:ID,:START_ID,:END_ID,:TYPE,weight:Double
e1,v1,v2,created,0.4
```

または、次のようにプロパティとして ID スペースと ID を使用することもできます。

**最初のノードファイル:**

```
name:ID(person),age:Int,lang:String,:LABEL
"marko",29,,person
```

**2 番目のノードファイル:**

```
name:ID(software),age:Int,lang:String,:LABEL
"lop",,"java",software
```

**リレーションシップファイル:**

```
:ID,:START_ID(person),:END_ID(software),:TYPE,weight:Double
e1,"marko","lop",created,0.4
```

# RDF ロードデータ形式
<a name="bulk-load-tutorial-format-rdf"></a>

Resource Description Framework (RDF) データをロードするには、World Wide Web Consortium (W3C) によって指定されている次の標準形式のいずれかを使用できます。
+ N -Triples (`ntriples`) [https://www.w3.org/TR/n-triples/](https://www.w3.org/TR/n-triples/) の仕様より。
+ N-Quads (`nquads`) [https://www.w3.org/TR/n-quads/](https://www.w3.org/TR/n-quads/) の仕様より
+ RDF/XML (`rdfxml`) [https://www.w3.org/TR/rdf-syntax-grammar/](https://www.w3.org/TR/rdf-syntax-grammar/) の仕様より
+ Turtle (`turtle`) [https://www.w3.org/TR/turtle/](https://www.w3.org/TR/turtle/) の仕様より

**重要**  
すべてのファイルは、UTF-8 形式でエンコードする必要があります。  
Unicode 文字を含む N-Quads および N-Triples データの場合、`\uxxxxx` エスケープシーケンスがサポートされています。ただし、Neptune では正規化はサポートされていません。正規化が必要な値が存在する場合、クエリ中にバイトごとに一致することはありません。正規化の詳細については、[Unicode.org](https://unicode.org/faq/normalization.html) の[正規化](https://unicode.org)ページを参照してください。

**次のステップ**  
次に、ロード形式の詳細については、[例: Neptune DB インスタンスにデータをロードする](bulk-load-data.md) を参照してください。