述語は、特定の入力セットに対して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)