谓词函数

更新时间:2025-01-09 07:26:34

谓词是布尔函数,对于给定的一组输入返回真或假的值。它们通常用于在查询的WHERE部分过滤子图。

Exists(Property)

如果exists()函数中指定的属性存在于节点、关系或映射中,则返回true。这与EXISTS子句不同。

语法

exists(property)

返回值

Agtype布尔值。

参数说

名称

描述

名称

描述

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(Path)

如果Exists(path)中指定的路径已存在,则返回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)
  • 本页导读 (1)
  • Exists(Property)
  • Exists(Path)