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

PolarDB:述語関数

最終更新日:Jan 23, 2025

述語は、特定の入力セットに対してtrueまたはfalseを返すブール関数です。 これらは、クエリのWHERE部分のサブグラフを除外するために最も一般的に使用されます。

Exists (プロパティ)

exists() は、指定されたプロパティがノード、リレーションシップ、またはマップに存在する場合、trueを返します。 これはEXISTS句とは異なります。

構文

exists(property)

戻り値

agtypeブール値。

Parameters

パラメーター

説明

property

頂点またはエッジのプロパティ

SELECT *
FROM cypher('graph_name', $$
     MATCH (n)
     WHERE exists(n.surname)
     RETURN n.first_name, n.last_name
$$) as (first_name agtype, last_name agtype);

surnameプロパティを含むノードをフィルターします。 サンプル結果:

 first_name | last_name 
------------+-----------
 'John'	    | 'Smith'
 'Patty'    | 'Patterson'
(2 rows)

存在する (パス)

指定されたパスが既に存在する場合、Exists (パス)trueを返します。

SELECT *
FROM cypher('graph_name', $$
     MATCH (n)
     WHERE exists((n)-[]-({name: 'Willem Defoe'}))
     RETURN n.full_name
$$) as (full_name agtype);

Willem Defoeに関連付けられているノードをフィルタリングします。 サンプル結果:

   full_name  
----------------
 'Toby Maguire'	    
 'Tom Holland'    
(2 rows)