MATCH (v:player)-->(n) where n.name starts with "A" return v.name
上述语句语法形式上与 cypher 完全一致,对于变量 n 来说,并不需要知道具体的 tag 来取属性,实际上很多查询场景中也并不能知道具体的 tag,所以我认为这种需求是成立的。
但当初的实现中存在一个问题,如果是多 tag 实体且不同 tag 有同名属性,这种语法是有歧义的。当时定的方案是用户必须显式地指定 tag 以消除查询歧义,故在之后的版本模糊取属性不再支持且一部分 cypher 语言表达能力也丧失了。
Using WITH, you can manipulate the output before it is passed on to the following query parts. The
manipulations can be of the shape and/or number of entries in the result set.
One common usage of WITH is to limit the number of entries that are then passed on to other MATCH
clauses.