密码查询以动态匹配 apoc 调用中的参数
Cypher query to dynamically match parameter in apoc call
我正在使用以下结构的查询
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调用里面依赖"information from the query memory",因为当我手动填写mnode.checkagainst
的值时喜欢
MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE mnode.minimum <= apoc.date.toYear($data['checkparam1']))
apoc 调用有效。不确定这是否是预期的行为?
有什么解决方法的建议吗?
如果 mnode
缺少 checkagainst
属性.
,apoc.date.toYear($data[mnode.checkagainst])
调用将产生该错误
以下(部分)查询应仅生成所有节点都具有 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]))
我正在使用以下结构的查询
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调用里面依赖"information from the query memory",因为当我手动填写mnode.checkagainst
的值时喜欢
MATCH path=((:Start)-[:NEXT*..100]->(n))
WHERE ALL(mnode IN nodes(path)
WHERE mnode.minimum <= apoc.date.toYear($data['checkparam1']))
apoc 调用有效。不确定这是否是预期的行为?
有什么解决方法的建议吗?
如果 mnode
缺少 checkagainst
属性.
apoc.date.toYear($data[mnode.checkagainst])
调用将产生该错误
以下(部分)查询应仅生成所有节点都具有 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]))