DSE Graphのデータ型
DSE Graphのデータ型について説明します。
DSE Graphには多くのデータ型があり、Cassandra CQLのデータ型と連動しています。
DSE Graphのデータ型 | 説明 |
---|---|
bigint | 64ビット符号付きlong |
blob | 任意数のバイト(検証なし)で、base64文字列として表示される |
boolean | trueまたはfalse |
decimal | 可変精度の10進数 注: DataStaxでは、通貨を取り扱う際は、intに、またはintからシリアライズする通貨クラスを使用するか、10進数データ型を使用することをお勧めします。
|
double | 64ビットIEEE-754の浮動小数点数 |
duration | 時間分はミリ秒 |
float | 32ビットIEEE-754の浮動小数点数 |
inet | IPv4形式またはIPv6形式のIPアドレス文字列で、python-cqlドライバーとCQLネイティブ・プロトコルで使用される |
int | 32ビット符号付き整数 |
linestring | 地理空間検索に使用される(ダブル....ポイント) |
point | 地理空間検索に使用される(ダブルx、ダブルy) |
polygon | 地理空間検索に使用される(ダブル....ポイント) |
smallint | 2バイト整数 |
text | 文字列またはUTF-8エンコード文字列 |
timestamp | 8バイトでエンコードされた、エポック以降の日付および時刻 |
uuid | 標準UUID形式のUUIDまたはtimeuud形式 |
varint | 任意精度の整数 |
timestampデータ型は有効なCassandraタイムスタンプとして指定する必要があります。
johnDoe.addEdge('rated', beefBourguignon, 'timestamp', '2014-01-01T00:00:00.00Z', 'stars', 5, 'comment', 'Pretty tasty!')
3つのgeospatialデータ型、point、linestring、およびpolygonには、地理空間的形状で検索されるデータが格納されます。pointは、
point
という名前のあらかじめ定義されたプロパティ・キーを使用して作成されます。graph.addVertex(label,'author','name','Jamie Oliver','gender','M','point',Geo.point(1,2))このときグラフ探索が作成され、ポイントが特定の円形内にあるかどうかを判定します。
// Geo.distance is (x,y,radius) gremlin> g.V().has('point',Geo.inside(Geo.distance(0,0,10))).valueMap()指定された円形のボリューム範囲内に含まれる頂点を返します。多角形を使用して頂点を決めることもできます。
// Geo.distance is (x,y,radius) gremlin> g.V().has('point',Geo.inside(Geo.polygon(0.0,0.0,0.0,10.0,10.0,10.0,0.0,0.0))).valueMap()類似したグラフ探索を構成して、特定のlinestringが存在するかどうか、または定義した円形または多角形内にpolygonが存在するかどうかを判定できます。