微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

密码:YIELD有什么用?

如何解决密码:YIELD有什么用?

我尝试了解在Cypher请求中使用YIELD。

例如:

CALL db.labels() YIELD label
WHERE label CONTAINS 'User'
RETURN count(label) AS numLabels

但是我不明白为什么我必须在什么时候使用它。 有人可以解释一下我的用途是什么,什么时候必须使用它?

解决方法

您应阅读CALLYIELD的{​​{3}}。

以下是文档中的一些摘要:

大多数过程返回带有固定结果集的记录流 字段,类似于运行Cypher查询返回的流的方式 记录。 YIELD子句用于明确选择 可用结果字段作为新绑定的变量从以下位置返回 程序调用给用户或由用户进行进一步处理 剩余的查询。因此,为了能够使用YIELD,名称 (和类型)输出参数需要事先知道。每 产生的结果字段可以选择使用别名重命名(即 resultFieldName AS newName)。受过程约束的所有新变量 调用被添加到当前绑定的变量集中 范围。如果过程调用尝试重新绑定以前的版本,则是错误的 绑定变量(即,过程调用不能隐藏变量 之前已绑定到当前范围中。)

在较大的查询中,从过程调用返回的记录带有 可以使用WHERE子句进一步过滤明确的YIELD 后跟一个谓词(类似于WITH…{WHERE……)。

如果被调用过程声明了至少一个结果字段,则YIELD可能 通常不会省略。但是,YIELD始终可以在 独立过程调用。在这种情况下,将产生所有结果字段 作为从过程调用到用户的新绑定变量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。