gpt4 book ai didi

neo4j - 密码查询以动态匹配 apoc 调用中的参数

转载 作者:行者123 更新时间:2023-12-01 09:33:56 24 4
gpt4 key购买 nike

我正在使用以下结构的查询

MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE mnode.minimum <= $data[mnode.checkagainst])

其中 data 类似于 {checkparam1: 24}。这对我来说是:我要检查最小值的参数名称位于节点中。

一切正常,但是当我构建 apoc 之类的东西时

MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE mnode.minimum <= apoc.date.toYear($data[mnode.checkagainst]))

它告诉我

Failed to invoke function `apoc.date.toYears`: Caused by: java.lang.NullPointerException

我怀疑我不能依赖 apoc 调用中的“来自查询内存的信息”,因为当我手动填写 mnode.checkagainst 的值时,就像

MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE mnode.minimum <= apoc.date.toYear($data['checkparam1']))

apoc 调用有效。不确定这是否是预期的行为?

有什么解决方法的建议吗?

最佳答案

apoc.date.toYear($data[mnode.checkagainst])如果有任何调用将产生该错误mnode缺少 checkagainst属性(property)。

以下(部分)查询应该只生成所有节点都具有 checkagainst 的路径属性(并通过 <= 测试):

MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE
mnode.checkagainst IS NOT NULL &&
mnode.minimum <= apoc.date.toYears($data[mnode.checkagainst]))

关于neo4j - 密码查询以动态匹配 apoc 调用中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com