Dgraphレコードのプロパティ・タイプ

ここでは、Oracle Endeca Serverおよびデータ・インジェストWebサービスのDgraphプロセスでサポートされるプロパティ・タイプの書式について説明します。

次の表に、標準属性を作成する場合にOracle Endeca ServerのDgraphプロセスによって使用されるプロパティ・タイプをリストします。
Dgraphプロパティ名 プロパティ・タイプ
mdex:string XMLとして有効な文字列を表します。
mdex:int 32ビット符号付き整数を表します。
mdex:long 64ビット符号付き整数を表します。
mdex:double 浮動小数点値を表します。
mdex:boolean ブール値を表します。
mdex:time ミリ秒単位に解決される時刻を表します。
mdex:dateTime ミリ秒単位に解決される日時を表します。
mdex:duration ミリ秒単位に解決される時間の長さを表します。
mdex:geocode 緯度と経度のペアを表します。

プロパティのタイプは、レコード要素のtype XML属性で指定されます。作成される標準属性のデフォルト・タイプは、特に指定のないかぎり、mdex:stringです。関連付けられた標準属性のタイプとは異なるタイプを指定する既存の標準属性の割当ては、基礎となるput-record機能に従って成功または失敗します。

タイプは、属性の初期作成時にのみ、Endeca Serverによって確認されます。属性がすでに存在する場合にタイプが指定されると、Endeca Serverではそれを無視して、Endeca Serverに存在するこの属性のタイプと一致するかどうかのタイプ確認を追加で行うことはありません。

不適切なプロパティ値およびタイプによるエラー

プロパティ・タイプごとに適切な値タイプを指定する必要があります。たとえば、次の例のように、double値(19.99など)をmdex:intプロパティに割り当てようとすると、解析エラーを示すingestFaultが返されます。
Error applying updates: Unable to parse property value "19.99" for property "NumInStock" 
with type "mdex:int" on record FactSalesID:569

属性値が一致しないと、Unable to parse property valueエラーが返されますが、これには、ブール値の大文字と小文字を間違って使用した場合("FALSE""false"のかわりに指定するなど)も含まれます。

同様に、間違ったタイプが指定された割当てが追加された場合にも、タイプの不一致が検出されます。バルク・ロード中にタイプの不一致が発生すると、Dgraphでは次のエラーを生成して、それをレスポンス・チャネル経由でバルク・ロード・クライアントに返します。
Expected an assignment of type <type> for property <propertyName>, but got type <type> instead.
Change your schemas so that the type for this property is the same for your ingest pipeline and the dgraph.

このエラーが原因でバルク・ロードは失敗し(Dgraphログで確認できます)、クライアントは前述のエラーを受信します。