如何忽略 cypher (neo4j) 中 java 存储过程的产量值?

Posted

技术标签:

【中文标题】如何忽略 cypher (neo4j) 中 java 存储过程的产量值?【英文标题】:How do I ignore the yield value from a java stored procedure in cypher (neo4j)? 【发布时间】:2016-07-23 04:05:28 【问题描述】:

我有一个 CYPHER 语句,它首先几乎匹配我图中的每个节点。

MATCH (n:node) CALL procedure(n) YIELD node RETURN node

这会破坏我的记忆(在 python 中),因为响应太大了。如果我不需要或不想要过程的产生值,是否可以使用 cypher 告诉 neo4j 不要返回它?

当我尝试 YIELD NULL RETURN NULL 或类似变体之类的东西时,我得到了错误。

【问题讨论】:

【参考方案1】:

你试过了吗

MATCH (n:node) CALL procedure(n) YIELD node RETURN count(node)

结果集只是一个整数。

【讨论】:

【参考方案2】:

根据我在 Neo4J 存储过程方面的经验,您必须承认该过程的 YIELD,但您不一定必须使用它。例如:

MATCH (n:node) CALL procedure(n) YIELD node return null limit 1;

限制 1 是为了防止无论过程返回多少结果都返回 null。

【讨论】:

以上是关于如何忽略 cypher (neo4j) 中 java 存储过程的产量值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Cypher只在Neo4j中获得朋友的朋友

如何优化Neo4J Cypher查询?

如何优化 Neo4J Cypher 查询?

如何在neo4j Cypher中获取列表的子集

Neo4j:如何删除与 cypher 的特定关系?

neo4j cypher:如何更改关系类型