Cypherクエリは、SETOFレコードを返すag_catalog
のcypher
関数を使用して構築されます。
Cypher()
cypher()
関数は、渡されたCypherクエリを実行します。
構文
cypher(graph_name, query_string, parameters)
パラメーターの説明
パラメーター名 | 説明 |
graph_name | Cypherクエリのターゲットグラフ。 |
query_string | 実行するCypherクエリ。 |
parameters | 準備されたステートメントのパラメーターのオプションのマップ。 デフォルト値は NULL です。 |
説明
Cypherクエリが結果を返さない場合でも、レコード定義を定義する必要があります。
戻り値
関数はレコードのセットを返します。
例
SELECT * FROM cypher('graph_name', $$
/* Write Cypher query here */
$$) AS (result1 agtype, result2 agtype);
説明
$$
は、Cypher関数内で次の形式で使用できます。
SELECT * FROM cypher('graph_name', $my_cypher$
/* Specify the Cypher query that contains $$ here */
$my_cypher$) AS (result1 agtype, result2 agtype);
式でのCypherの使用
Cypherを式の一部として使用することはできません。 代わりにサブクエリを使用します。
SELECT句
SELECT句でCypherを独立した列として呼び出すことはできません。 ただし、Cypherは条件の一部として使用できます。
次の操作は実行できません。
SELECT
cypher('graph_name', $$
MATCH (v:Person)
RETURN v.name
$$);
サンプル結果:
ERROR: cypher(...) in expressions is not supported
LINE 3: cypher('graph_name', $$
^
HINT: Use subquery instead if possible.