12.1.2 グラフ構成のオプション

次の表に、すべてのグラフ構成に共通するJSONフィールドを示します。

表12-1 グラフ構成JSONフィールド

フィールド 説明 デフォルト
name string グラフの名前。 必須
array_compaction_threshold number [グラフが更新用に最適化されている場合にのみ関連]デルタログを新規配列に圧縮するタイミングを決定するために使用されるしきい値。エンジンmin_array_compaction_threshold値より小さい場合は、かわりにmin_array_compaction_thresholdが使用されます 0.2
attributes object グラフ・データの読取りおよび書込みに必要な追加属性。 null
edge_id_strategy enum[no_ids, keys_as_ids, unstable_generated_ids] このグラフのエッジに使用するID戦略を示します。指定しない(またはnullに設定されている)場合、戦略は、ロード中に、またはデフォルト値を使用して決定されます。 null
edge_id_type enum[long] エッジIDのタイプ。これをlongに設定するには、エッジ・プロバイダのIDがグラフ間で一意である必要があります。これらのIDはグローバルIDとして使用されます。これをnullに設定(または省略)すると、異なるエッジ・プロバイダ間でIDの繰返しが許可され、PGXにより、エッジに対してグローバルに一意のIDが自動的に生成されます。 null
edge_providers オブジェクトの配列 このグラフのエッジ・プロバイダのリスト。 []
error_handling object エラー処理構成。 null
external_stores オブジェクトの配列 外部文字列プロパティが存在する外部ストアの指定。 []
jdbc_url string RDBMSインスタンスを指すJDBC URL null
keystore_alias string データベースへの接続時に使用するキーストアの別名。 null
loading object 使用するロード固有の構成。 null
local_date_format 文字列の配列 local_dateプロパティのロードおよび格納時に使用するlocal_date形式の配列。形式の文字列の詳細は、DateTimeFormatterを参照してください []
max_prefetched_rows integer resultsetデータベースの各ラウンドトリップ中にプリフェッチされた行の最大数。 10000
num_connections integer RDBMS表との間でデータの読取りおよび書込みを行う接続の数。 <no-of-cpus>
optimized_for enum[read, updates] グラフで、読取り集中型のシナリオや高速更新のために最適化されたデータ構造を使用するかどうかを示します。 read
password string データベースに接続する際に使用するパスワード。 null
point2d string 空白で区切られた浮動小数点値としての経度と緯度。 0.0 0.0
redaction_rules オブジェクトの配列 リダクション・ルールの配列。 []
rules_mapping オブジェクトの配列 ユーザーおよびロールへのリダクション・ルールのマッピング。 []
schema string RDBMSオブジェクトの読取りまたは書込みに使用するスキーマ null
time_format 文字列の配列 時間プロパティのロードおよび格納時に使用するtime形式。形式の文字列に関するドキュメントは、DateTimeFormatterを参照してください。 []
time_with_timezone_format 文字列の配列 時間(タイムゾーン付き)プロパティをロードおよび格納する際に使用する時間(タイムゾーン付き)の形式。形式の文字列の詳細は、DateTimeFormatterを参照してください。 []
timestamp_format 文字列の配列 タイムスタンプ・プロパティのロードおよび格納時に使用するタイムスタンプ形式。形式の文字列の詳細は、DateTimeFormatterを参照してください。 []
timestamp_with_timezone_format 文字列の配列 タイムスタンプ(タイムゾーン付き)プロパティをロードおよび格納する際に使用するタイムスタンプ(タイムゾーン付き)の形式。形式の文字列の詳細は、DateTimeFormatterを参照してください。 []
username string RDBMSインスタンスに接続する際に使用するユーザー名。 null
vector_component_delimiter character ベクトル・プロパティの様々なコンポーネント用の区切り文字。 ;
vertex_id_strategy enum[no_ids, keys_as_ids, unstable_generated_ids] このグラフの頂点に使用するID戦略を示します。指定しない(またはnullに設定されている)場合、戦略は自動的に検出されます。 null
vertex_id_type enum[int, integer, long, string] vertex IDのタイプ。同種のグラフで指定されていない(またはnullに設定されている)場合、デフォルトで特定の値(データの元によって異なる)に設定されます。 null
vertex_providers オブジェクトの配列 このグラフの頂点プロバイダのリスト。 []

ノート:

グラフ構成で指定されたデータベース接続フィールドは、基礎となるデータ・プロバイダ構成でこれらのフィールドを指定しない場合のデフォルトとして使用されます。

プロバイダ構成JSONファイルのオプション

プロバイダ構成を使用して、各プロバイダのデータに関するメタ情報を指定できます。プロバイダ構成には、プロバイダ・データに関する次の情報が含まれます。

  • データの場所: ファイル、複数ファイルまたはデータベース・プロバイダ
  • プロパティに関する情報: プロパティの名前とタイプ

表12-2 プロバイダ構成JSONファイルのオプション

フィールド 説明 デフォルト
format enum[pgb, csv, rdbms] プロバイダ形式。 必須
name string エンティティ・プロバイダ名。 必須
attributes object グラフ・データの読取りおよび書込みに必要な追加属性。 null
destination_vertex_provider string このエッジ・プロバイダに使用される入力頂点プロバイダの名前。 null
error_handling object エラー処理構成。 null
has_keys boolean 指定されたエンティティ・データにキーがあるかどうかを示します。 true
key_type enum[int, integer, long, string] キーのタイプ。 long
keystore_alias string データベースへの接続時に使用するキーストアの別名。 null
label string このプロバイダからロードされたエンティティのラベル。 null
loading object ロード固有の構成。 null
local_date_format 文字列の配列 local_dateプロパティのロードおよび格納時に使用するlocal_date形式の配列。形式の文字列に関するドキュメントは、DateTimeFormatterを参照してください。 []
password string データベースに接続する際に使用するパスワード。 null
point2d string 空白で区切られた浮動小数点値としての経度と緯度。 0.0 0.0
props オブジェクトの配列 このエンティティ・プロバイダに関連付けられたプロパティの指定。 []
source_vertex_provider string このエッジ・プロバイダに使用される出力頂点プロバイダの名前。 null
time_format 文字列の配列 時間プロパティのロードおよび格納時に使用する時間形式。形式の文字列に関するドキュメントは、DateTimeFormatterを参照してください。 []
time_with_timezone_format 文字列の配列 時間(タイムゾーン付き)プロパティをロードおよび格納する際に使用する時間(タイムゾーン付き)の形式。形式の文字列に関するドキュメントは、DateTimeFormatterを参照してください。 []
timestamp_format 文字列の配列 タイムスタンプ・プロパティのロードおよび格納時に使用するタイムスタンプ形式。形式の文字列に関するドキュメントは、DateTimeFormatterを参照してください。 []
timestamp_with_timezone_format 文字列の配列 タイムスタンプ(タイムゾーン付き)プロパティをロードおよび格納する際に使用するタイムスタンプ(タイムゾーン付き)の形式。形式の文字列に関するドキュメントは、DateTimeFormatterを参照してください。 []
vector_component_delimiter character ベクトル・プロパティの様々なコンポーネント用の区切り文字。 ;

プロバイダ・ラベル

プロバイダ構成のlabelフィールドを使用すると、プロバイダからロードされたエンティティのラベルを設定できます。labelが指定されていない場合、プロバイダからのすべてのエンティティに、プロバイダの名前のラベルが付けられます。2つの異なるプロバイダに同じラベルを設定できるのは、プロパティが厳密に同じ(名前とタイプが同じ)場合だけです。

プロパティ構成

プロバイダ構成のpropsエントリは、次のJSONフィールドを含むオブジェクトです。

表12-3 プロパティ構成

フィールド 説明 デフォルト
name string プロパティの名前を指定します。 必須
type enum[boolean, integer, vertex, edge, float, long, double, string, date, local_date, time, timestamp, time_with_timezone, timestamp_with_timezone, point2d] プロパティのタイプ。

ノート:

dateは非推奨です。かわりに、local_date/time/timestamp/time_with_timezone/timestamp_with_timezoneのいずれかを使用します。
vertex/edgeは、vertex_id_type/edge_id_typeフィールドで指定されているタイプのプレースホルダです。
必須
aggregate enum[identity, group_key, min, max, avg, sum, concat, count] [現在サポートされていません]どの集計関数を使用しても、常に頂点キーによって集計が行われます。 null
column value プロパティ・データを保持する列の名前または索引(0から開始)。指定しない場合、ローダーはプロパティ名を列名として使用しようとします(CSV形式のみ)。 null
default value データ・ソースで指定されていない場合、このプロパティに割り当てられるデフォルト値。date型の場合: 文字列はyyyy-MM-dd HH:mm:ssでフォーマットされます。デフォルトが存在しない場合(null)、存在しないプロパティにはデフォルトのJava型(プリミティブ)または空の文字列(string)または01.01.1970 00:00 (date)が含まれます。 null
dimension integer プロパティのディメンション。 0
drop_after_loading boolean [現在サポートされていません]集計にのみ使用されるヘルパー・プロパティを示します。これはロード後に削除されます false
field value プロパティ・データを保持するJSONフィールドの名前。ネストはドット区切りで示されます。ドットを含むフィールド名を使用できますが、この場合、バックスラッシュを使用してドットをエスケープし、あいまいさを解決する必要があります。厳密に指定されているオブジェクトのみがロードされ、存在しない場合はデフォルト値が使用されます。 null
format 文字列の配列 プロパティの形式の配列。 []
group_key string [現在サポートされていません]プロパティ/キーがグループ化式の一部である場合にのみ使用できます。 null
max_distinct_strings_per_pool integer [string_pooling_strategyindexedの場合のみ関連]プーリングを停止するまでのプロパティごとの個別の文字列数。制限に達すると、例外がスローされます。nullに設定すると、グローバルPGX構成からのデフォルト値が使用されます。 null
stores オブジェクトの配列 このプロパティが存在する場所を示すストレージ識別子のリスト。 []
string_pooling_strategy enum[indexed, on_heap, none] 使用する文字列プール戦略を示します。nullに設定すると、グローバルPGX構成からのデフォルト値が使用されます。 null

ロード構成

loadingエントリは、次のフィールドを含むJSONオブジェクトです。

表12-4 ロード構成

フィールド 説明 デフォルト
create_key_mapping boolean trueの場合、ロード中に、エンティティ・キーと内部IDの間のマッピングが準備されます。 true
filter string [現在サポートされていません]フィルタ式 null
grouping_by 文字列の配列 [現在サポートされていません]アグリゲータに使用されるエッジ・プロパティの配列。頂点の場合、IDのみを使用できます(デフォルト) []
load_labels boolean 使用可能な場合にエンティティ・ラベルをロードするかどうか。 false
strict_mode boolean trueに設定すると、ローダーで入力ファイルに関する問題(無効な形式、繰返しキー、欠落フィールド、不一致、その他潜在的なエラーなど)が発生した場合は常に例外がスローされ、ERRORレベルでログに記録されます。falseに設定すると、ローダーでロード・フェーズ中のメモリー使用量が削減されますが、入力ファイルが不規則である場合は予期しない動作が発生する可能性があります。 true

エラー処理構成

error_handlingエントリは、次のフィールドを含むJSONオブジェクトです。

表12-5 エラー処理構成

フィールド 説明 デフォルト
on_missed_prop_key enum[silent, log_warn, log_warn_once, error] 欠落しているプロパティ・キーに対するエラー処理。 log_warn_once
on_missing_vertex enum[ignore_edge, ignore_edge_log, ignore_edge_log_once, create_vertex, create_vertex_log, create_vertex_log_once, error] 頂点データ・ソース内のエッジの欠落した出力頂点または入力頂点に対するエラー処理。 error
on_parsing_issue enum[silent, log_warn, log_warn_once, error] 不正なデータ解析に対するエラー処理。silent、log_warnまたはlog_warn_onceに設定すると、ロードの続行が試行されます。解析に関する問題にはリカバリできないものもあり、ロードが終了される場合もあります。 error
on_prop_conversion enum[silent, log_warn, log_warn_once, error] プロパティ・タイプが指定されたものとは異なる場合のエラー処理。ただし、強制できます。 log_warn_once
on_type_mismatch enum[silent, log_warn, log_warn_once, error] プロパティ・タイプが指定されたものとは異なる場合のエラー処理。ただし、強制できません error
on_vector_length_mismatch enum[silent, log_warn, log_warn_once, error] 適切なディメンションのないベクトル・プロパティに対するエラー処理。 error

ノート:

on_missing_vertexエラー処理構成でサポートされる設定は、ignore_edgeのみです。