6.8.3.1 すべてのプロパティの選択のサポート

SELECT v.*を使用して、変数vにバインドする頂点またはエッジのすべてのプロパティを選択できます。次に例を示します。

SELECT label(n), n.* FROM MATCH (n) ORDER BY "number", "name"

実行時に、問合せ出力は次のようになります。

+-----------------------------+
| label(n) | number | name    |
+-----------------------------+
| Account  | 1001   | <null>  |
| Account  | 2090   | <null>  |
| Account  | 8021   | <null>  |
| Account  | 10039  | <null>  |
| Person   | <null> | Camille |
| Person   | <null> | Liam    |
| Person   | <null> | Nikita  |
| Company  | <null> | Oracle  |
+-----------------------------+

ラベル式を使用して、指定した頂点ラベルまたはエッジ・ラベルに属するプロパティを選択できます。次に例を示します。

SELECT label(n), n.* FROM MATCH (n:Person) ORDER BY "name"

前述の問合せは、指定されたPersonラベルのすべてのプロパティを取得します。

+--------------------+
| label(n) | name    |
+--------------------+
| Person   | Camille |
| Person   | Liam    |
| Person   | Nikita  |
+--------------------+

複数の変数を使用してすべてのプロパティを選択した場合、列名が重複しないようにPREFIXを指定することもできます。次に例を示します。

SELECT n.* PREFIX 'n_', e.* PREFIX 'e_', m.* PREFIX 'm_'
FROM MATCH (n:Account) -[e:transaction]-> (m:Account)
ORDER BY "e_amount"

問合せの出力は次のようになります。

+--------------------------------+
| n_number | e_amount | m_number |
+--------------------------------+
| 10039    | 1000.0   | 8021     |
| 8021     | 1500.3   | 1001     |
| 8021     | 3000.7   | 1001     |
| 2090     | 9900.0   | 10039    |
| 1001     | 9999.5   | 2090     |
+--------------------------------+