16.1.4.5 フラット・ファイル(FLAT_FILE)
フラット・ファイル形式は、2つの記述ファイル(頂点用とエッジ用)を含むテキスト・ファイル形式です。各ファイルは、次の形式のプロパティのリストで構成されます。
vertices.opv vertex_ID, key_name, value_type, value, value, value <V-1> <V-1, VPK-1> <V-1, VPT-1> [<V-1, VP-1> <V-1, VP-1> <V-1, VP-1>] ... <V-1> <V-1, VPK-N> <V-1, VPT-1> [<V-1, VP-N> <V-1, VP-N> <V-1, VP-N>] <V-2> <V-2, VPK-1> <V-2, VPT-1> [<V-2, VP-1> <V-2, VP-1> <V-2, VP-1>] ... <V-2> <V-2, VPK-N> <V-2, VPT-N> [<V-2, VP-N> <V-2, VP-N> <V-2, VP-N>] ... <V-V> <V-V, VPK-N> <V-V, VPT-N> [<V-V, VP-N> <V-V, VP-N> <V-V, VP-N>]
edges.ope edge_ID, source_vertex_ID, destination_vertex_ID, edge_label, key_name, value_type, value, value, value <E-1> <V-1, VG-1> <E-1, EL-1> <E-1, EPK-1> <E-1, EPT-1> [<E-1, EP-1> <E-1, EP-1> <E-1, EP-1>] ... <E-1> <V-N, VG-N> <E-1, EL-N> <E-1, EPK-N> <E-1, EPT-N> [<E-1, EP-N> <E-1, EP-N> <E-1, EP-N>] <E-2> <V-1, VG-1> <E-2, EL-1> <E-2, EPK-1> <E-2, EPT-1> [<E-2, EP-1> <E-2, EP-1> <E-2, EP-1>] ... <E-2> <V-N, VG-N> <E-2, EL-N> <E-2, EPK-N> <E-2, EPT-N> [<E-2, EP-N> <E-2, EP-N> <E-2, EP-N>] ... <E-E> <V-N, VG-N> <E-E, EL-N> <E-E, EPK-N> <E-E, EPT-N> [<E-E, EP-N> <E-E, EP-N> <E-E, EP-N>]
フラット・ファイル形式を使用する際の特別な考慮事項
- 特定の頂点またはエッジにプロパティが定義されていない場合、キー名のかわりに
%20
が使用されます。Vertices: 1,%20,,,, Edges: 1,2,1,"label",%20,,,,
- 数値でも日付でもない値は最初のフィールドに含まれ、数値は2番目、日付は3番目に含まれます。
- 次に、PGXプロパティ・タイプとフラット・ファイル
value_type
の間のマッピングを示します。表16-3 PGXプロパティ・タイプとフラット・ファイル
value_type
の間のマッピングPGXプロパティ・タイプ フラット・ファイルvalue_type STRING
1
INTEGER
2
FLOAT
3
DOUBLE
4
DATE
5
LOCAL_DATE
5
TIME
5
TIMESTAMP
5
TIME_WITH_TIMEZONE
5
TIMESTAMP_WITH_TIMEZONE
5
BOOLEAN
6
LONG
7
POINT2D
20
0ノート:
フラット・ファイル形式のグラフをPGXにロードする場合は、グラフ構成を使用して、適切なTemporal型または空間型を検索します。 - フラット・ファイル形式の標準では、カンマが唯一有効な区切り文字として定義されているため、グラフ構成で設定されたすべての区切り文字は無視され、カンマがかわりに使用されます。
- 文字列を引用符で囲むことはできませんが、一部の文字には次のエンコーディングが必要となります。
- '%' -> '%25'
- '\t' -> '%09'
- ' ' -> '%20'
- '\n' -> '%0A'
- ',' -> '%2C'
- グラフをフラット・ファイル形式で格納する場合、頂点ラベルは無視されます。また、グラフにエッジ・ラベルがない場合、かわりに空の文字列("")が格納されます。
- フラット・ファイル形式を使用してグラフを並列してロードする場合は、特定の頂点またはエッジに関するすべての情報が同じパーティションに含まれている必要があり、そうでない場合は予期しない動作が発生する可能性があります。
例16-6 フラット・ファイル・テキスト形式のグラフ
次の例は、フラット・ファイル・テキスト形式でエンコードされた、それぞれdouble
プロパティとstring
プロパティを持つ4つの頂点(1、2、3および4)、およびそれぞれboolean
プロパティとdate
プロパティを持つ3つの頂点で構成されるグラフを示しています。
vertices.opv: 1,doubleProp,4,,8.0, 1,stringProp,1,foo,, 2,doubleProp,4,,4.3, 2,stringProp,1,bar,, 3,doubleProp,4,,6.1, 3,stringProp,1,bax,, 4,doubleProp,4,,17.78, 4,stringProp,1,f00,,
edges.ope: 1,2,1,label,boolProp,6,false,, 1,2,1,label,dateProp,5,,,1985-10-18%2010:00:00 2,3,2,label,boolProp,6,true,, 2,3,2,label,dateProp,5,,,1961-12-30%2014:45:14 3,3,4,label,boolProp,6,false,, 3,3,4,label,dateProp,5,,,2001-01-15%2007:00:43
親トピック: プレーン・テキスト形式