openCypher データモデル
Neptune openCypher エンジンは Gremlin と同じプロパティグラフモデルに基づいて構築されます。特に、次のことに注意してください。
すべてのノードには 1 つ以上のラベルがあります。ラベルなしでノードを挿入すると、
vertexという名前のデフォルトラベルが付きます。ノードのラベルをすべて削除しようとすると、エラーがスローされます。リレーションシップとは、1 つのリレーションシップタイプを持ち、2 つのノード間に単方向接続を形成するエンティティです (つまり、ノードの 1 つからもう 1 つに)。
ノードとリレーションシップは両方ともプロパティを持つことができますが、そうする必要はありません。Neptune は、ゼロのプロパティを持つノードとリレーションシップをサポートしています。
Neptune はメタプロパティをサポートしていません。メタプロパティも openCypher 仕様に含まれていません。
Grumlin を使用して作成された場合は、グラフ内のプロパティを複数値にすることができます。つまり、ノードまたはリレーションシッププロパティには、1 つの値だけでなく、さまざまな値のセットを設定できます。Neptune は openCypher セマンティクスを拡張して、複数値のプロパティを正常に処理します。
サポートされているデータ型については、openCypher データ形式 を参照してください。ただし、現在、Array プロパティ値を openCypher グラフに挿入することはお勧めしていません。同様に、バルクローダーを使用して配列プロパティ値を挿入できます。現在の Neptune openCypher リリースでは、単一のリスト値ではなく、複数の値を持つプロパティのセットとして扱われます。
このリリースでサポートされるデータ型のリストを次に示します。
BoolByteShortIntLongFloat(プラスマイナスインフィニティと NaN を含みますが、INF は含まれません)Double(プラスマイナスインフィニティと NaN を含みますが、INF は含まれません)DateTimeString