すべてのプロダクト
Search
ドキュメントセンター

PolarDB:Cypherクエリ形式

最終更新日:Jan 20, 2025

Cypherクエリは、SETOFレコードを返すag_catalogcypher関数を使用して構築されます。

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.