You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypher中单独使用的大括号代表什么含义?

Cypher中大括号的单独使用场景解析

1. RETURN/WITH子句中构造映射(Map)

你示例里的这类{key: value, key2: value2}写法,是用来创建自定义的映射(Map)对象,把多个属性、计算值打包成一个键值对集合,作为单个字段返回或传递给后续子句。

比如第一个示例里的:

{name: p.name, label: head(labels(p))} AS person

这行语句会把p节点的name属性,以及它的第一个标签(通过head(labels(p))获取)组合成一个Map,返回时这个person字段会是类似{"name": "Alice", "label": "Person"}的结构化数据,方便后续处理或精简返回结果。

第二个示例里的:

{ name : r1.name, labelId: r1.labelId, type: type(r1)  } as r1
{ name : r2.name, labelId: r2.labelId, type: type(r2)  } as r2

同样是构造Map,不过是把关系r1/r2的指定属性和关系类型(type(r1)获取关系类型名)封装起来,替代原本返回的完整关系对象,只保留业务需要的字段,减少返回的数据量。

2. 关系匹配中的:{}写法

而MATCH (e:Entity)-[r1:{}]-(t1:Entity)里的[:{}],是用来匹配任意类型的关系。

在Cypher中,关系的标准写法是[:关系类型](比如[:FRIENDS_WITH]),如果写成[:{}],表示不限制关系的类型——只要节点e和t1之间存在关系,不管是什么类型,都会被匹配到。这和省略关系类型的写法-[r1]-是等价的,只是写法不同而已。


内容的提问来源于stack exchange,提问作者Frisia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:05:13