variables - Neo4J 在 Cypher 中创建临时变量

标签 variables neo4j cypher neo4jclient

所以我的顶级问题是我试图返回MERGE是否导致创建新节点。

为了做到这一点,我想我可以创建一个简单的临时 bool 值,使用 ON CREATE 将其设置为 TRUE

我想象它是如何工作的:

MERGE(: Person {id:'Tom Jones'})
WITH false as temp_bool
ON CREATE set temp_bool = true
RETURN temp_bool

显然这是行不通的。

我正在寻找一种在 Cypher 查询中创建任意临时值的方法,并且能够最终返回这些变量。

谢谢

最佳答案

你可以做你想做的事,具体方法如下(结合我的第一个答案,加上@cybersam的补充)。您只需使用您创建然后删除的节点属性来执行此操作,而不是像您一直在尝试的那样使用未绑定(bind)的变量。

MERGE(tom:Person {id:'Tom Jones'})
ON CREATE set tom.temp_bool = true
ON MATCH set tom.temp_bool = false
WITH tom, tom.temp_bool AS result
REMOVE tom.temp_bool
RETURN result;

关于variables - Neo4J 在 Cypher 中创建临时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28375229/

相关文章:

javascript - 设置变量时破坏游戏代码

neo4j - Cypher Query - 返回每个匹配关系的权重和总权重

c++ - 枚举变量默认值?

sql - 将COUNT() sql查询的结果保存到powershell中的变量中

java - 加载大图时 Neo4j 内核崩溃

neo4j:根据现有属性设置不同的属性

Neo4j:在 Cypher 中使用 Log 函数

python - neomodel:如何在 StructuredNode 对象之间共享索引

引号中的 Python 变量值

neo4j - Cypher 从给定源节点获取 "unique longest simple (acyclic)"路径