额外的 Cypher 特性
虽然 GQL 标准 纳入了 Cypher® 中的许多功能,但 Cypher 仍包含一些不属于 GQL 且目前尚无 GQL 等效替代方案的额外特性。本页面介绍了这些 Cypher 特性。
子查询
| Cypher 特性 | 描述 |
|---|---|
在单独的内部事务中执行 |
|
用于根据子查询返回的行创建一个列表。 |
|
用于计算子查询返回的行数。 |
|
用于发现图中是否存在至少一个指定的模式。 |
动态查询
在 Cypher 中可以动态引用节点标签、关系类型、属性和 CSV 列。这允许进行更灵活的查询,并降低 Cypher 注入的风险。(有关 Cypher 注入的更多信息,请参阅 Neo4j 知识库 → 防御 Cypher 注入)。
| Cypher 特性 | 描述 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
函数
图函数
| Cypher 特性 | 描述 |
|---|---|
返回具有给定元素 ID 的图引用。仅在 |
|
返回给定名称的图引用。仅在复合数据库上的 |
|
列出当前数据库中图的名称。 |
|
返回与图关联的属性 |
列表函数
| Cypher 特性 | 描述 |
|---|---|
返回一个包含 |
|
返回一个 |
|
返回一个 |
|
返回一个包含指定范围内所有 |
|
对 |
|
返回一个 |
|
返回一个 |
|
返回 |
|
将值组成的 |
|
将 |
|
将 |
|
将 |
数值函数
| Cypher 特性 | 描述 |
|---|---|
返回给定的 |
|
返回一个介于 0(含)到 1(不含)之间的随机 |
|
返回四舍五入到最接近 |
|
返回 |
谓词函数
| Cypher 特性 | 描述 |
|---|---|
如果谓词对给定 |
|
如果在给定 |
|
如果谓词对给定 |
|
检查 |
|
如果谓词对给定 |
|
如果谓词对给定 |
标量函数
| Cypher 特性 | 描述 |
|---|---|
返回 |
|
返回 |
|
返回 |
|
返回一个包含 |
|
生成一个随机 UUID。 |
|
返回 |
|
返回 |
|
返回给定表达式求值结果的最精确值类型的 |
空间函数
| Cypher 特性 | 描述 |
|---|---|
返回一个 2D 或 3D 点对象,该对象由笛卡尔坐标系或 WGS 84 地理坐标系中的两个或三个坐标值给定。 |
|
返回一个表示同一坐标参考系中任意两点之间距离的 |
|
如果提供的点在两个提供的点定义的边界框内,则返回 true。 |
字符串函数
| Cypher 特性 | 描述 |
|---|---|
返回一个 |
|
返回一个 |
|
返回通过在给定的定界符处分割给定 |
|
返回给定 |
时间段函数
| Cypher 特性 | 描述 |
|---|---|
以天为单位计算 |
|
以月为单位计算 |
|
以秒为单位计算 |
即时时间函数
| Cypher 特性 | 描述 |
|---|---|
使用实时时钟返回当前的 |
|
使用语句时钟返回当前的 |
|
使用事务时钟返回当前的 |
|
使用事务时钟返回当前的 |
|
给定纪元开始后的秒数和纳秒数,创建一个 |
|
给定纪元开始后的毫秒数,创建一个 |
|
使用实时时钟返回当前的 |
|
使用语句时钟返回当前的 |
|
使用事务时钟返回当前的 |
|
使用指定的单位将给定的时间值截断为 |
|
使用实时时钟返回当前的 |
|
使用语句时钟返回当前的 |
|
使用事务时钟返回当前的 |
|
使用指定的单位将给定的时间值截断为 |
|
使用实时时钟返回当前的 |
|
使用语句时钟返回当前的 |
|
使用事务时钟返回当前的 |
|
使用指定的单位将给定的时间值截断为 |
|
使用实时时钟返回当前的 |
|
使用语句时钟返回当前的 |
|
使用事务时钟返回当前的 |
|
使用指定的单位将给定的时间值截断为 |
索引
| Cypher 特性 | 描述 |
|---|---|
Neo4j 的默认索引。支持大多数类型的谓词。 |
|
解析操作 |
|
解析关于空间 |
|
仅解析节点标签和关系类型谓词(即它们无法解析任何过滤属性的谓词)。 |
|
支持在 |
|
通过将节点或属性表示为多维空间中的向量,实现相似度搜索和复杂的分析查询。 |
|
Cypher 允许使用索引提示来影响规划器生成执行计划。索引提示通过 |