グラフ表の形状

目的

グラフ表の形状は、パターン一致の結果を表形式に変換する方法を定義します。これは、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.namen.name AS nameの略です。

結果は次のとおりです。

NAME       HEIGHT_IN_FEET
---------- --------------
Alice              5.5777