cypher学习2--语法

子句

Clauses - Cypher Manual (neo4j.com)

读取子句

这些子句包括从数据库读取数据的子句。

Cypher 查询中的数据流是具有键值对的无序映射串行,键值对是查询中的变量与从数据库派生的值之间的一组可能的绑定。此集合由查询的后续部分进行优化和扩充。

MATCH

指定要在数据库中搜索的模式。

OPTIONAL MATCH

指定在数据库中搜索的模式,同时用于模式的缺失部分。nulls

 

 

映射子句

这些子句定义要在结果集中返回的表达式。返回的表达式都可以使用 AS 进行别名化。

 

读取sub子句

作为读取子句的部分

 

 

编写子句

表达式学习

examples of allowed expressions in Cypher

常规

  • 变量  n  (字符串)
  • 属性  n.property
  • 动态属性 n[‘prop’]   ,rel[n.a+n.b]
  • 参数  $param
  • 列表表达  [n, n.proper, n['p'], $para]
  • 函数调用   length(p),nodes(p)
  • 聚合函数   avg(x.prop) ,count(*)
  • 路径模式   (a)-[r]->(b)(a)-[r]-(b)(a)--(b)(a)-->()<--(b).
  • 操作符  1+2  3<4
  • 子查询表达式   COUNT {}COLLECT {}EXISTS {}CALL {}.
  • 正则表达式   a.name =~ 'Tim.*'
  • 条件表达式
  • None
数值

INTEGERFLOAT  INTEGER0x    INTEGER0o   

字符串

STRING 

布尔

BOOLEANtruefalse

 条件表达式

简单CASE

语法

CASE test
  WHEN value [, value]* THEN result
  [WHEN ...]
  [ELSE default]
END
  
名字描述

test

一个表达式。

value

一个表达式,其结果将与 进行比较。test

result

如果匹配,则作为输出返回的表达式valuetest

default

如果没有与测试表达式匹配的值,则要返回的表达式。

 

 

 

 

 

 

 

 

 通用CASE

CASE
  WHEN predicate THEN result
  [WHEN ...]
  [ELSE default]
END

  

predicate

谓词是计算结果为值的表达式。 在这种情况下,将测试谓词以找到有效的替代方法。BOOLEAN

 

 

 

CASE表达式和后续子句

表达式的结果可用于设置节点或关系的属性。

 

 

 

posted @ 2024-04-23 20:37  zzl14  阅读(52)  评论(0)    收藏  举报