2

我无法从文档中理解这个例子:

START david=node(1)
MATCH david--otherPerson-->()
WITH otherPerson, count(*) as foaf
WHERE foaf > 1
RETURN otherPerson

在 WITH 行中 otherPerson 和 count(*) 做了什么?

4

1 回答 1

3

您在这里看到的是两个由 with 连接的查询。With 作为第一个查询的返回和第二个查询的“开始”。它设置的是传递的上下文的一部分。

normally you would have
START david=node(1)
MATCH david--otherPerson-->()
RETURN otherPerson, count(*) as foaf

然后在您的调用代码中进行过滤。

with 可以直接在 cypher 中开始下一个查询,它只能看到 with 部分中声明的内容,在这种情况下:otherPerson 和 foaf 第一个查询的其他标识符和数据不再可用。

于 2012-05-06T02:25:33.963 回答