グラフ表の形状
目的
グラフ表の形状は、パターン一致の結果を表形式に変換する方法を定義します。これは、COLUMNS
句を使用して実行します。
構文
graph_table_shape::=
COLUMNS句
目的
COLUMNS句を使用すると、グラフ・パターン一致の結果を、頂点やエッジなどのグラフ・オブジェクトではなく通常のデータ値のみが含まれる通常の表に変換する投影を定義できます。
構文
graph_table_columns_clause::=
graph_table_column_definition::=
セマンティクス
構文的には、COLUMNS
句はキーワードCOLUMNS
で始まり、その後に左カッコ、1つ以上のgraph_table_column_definition
のカンマ区切りリストおよび右カッコが続きます。
各graph_table_column_definition
は、任意の値式を使用して単一の出力列を定義します。値式には、頂点とエッジのプロパティ値にアクセスするなど、グラフ・パターンの頂点とエッジへの参照を含めることができます。
オプションの別名AS
column_name
は、列の名前を指定します。別名は、値式がプロパティ参照の場合にのみ省略でき、その場合、別名はデフォルトでプロパティ名に設定されます。
制限事項
値式には集計が含まれない場合があり、グループ参照度が許可されていないため、数量子で囲まれた変数を参照できません。
例
例1
次の例では、各人の名前と、メートル単位の高さに3.281を乗算して高さ(フィート)を戻します:
SELECT * FROM GRAPH_TABLE ( students_graph MATCH (n IS person|person_ht) COLUMNS (n.name, n.height * 3.281 AS height_in_feet) ) ORDER BY name;
前述の問合せでは、COLUMNS
句によって2つの列が定義されています。n.name
はn.name AS name
の略です。
結果は次のとおりです。
NAME HEIGHT_IN_FEET ---------- -------------- Alice 5.5777