首页 > 解决方案 > 有没有办法在 Cypher 中设置参数?

问题描述

我有一个 LOAD_CSV 密码脚本,用于创建和设置节点和边的属性。

我想在运行时(即当我这样做时cat mycypher.cql | cypher-shell -u xxxx -p xxx)添加一个参数,以便在节点上设置一个关键属性——就像这样:

LOAD CSV WITH HEADERS FROM $MY_CSV AS row
MERGE (a:abcLabel {abcId: toInteger(row.abc_id), extraProp: $EXTRA_PROPERTY})
ON CREATE SET
    abc.name = row.abc_name
MERGE (b:bcdLabel {bcdId: toInteger(row.bcd_id), extraProp: $EXTRA_PROPERTY})
ON CREATE SET
    etc ....

现在,知道我不能使用类似 shell 的参数,但是有没有办法设置 $EXTRA_PROPERTY 和 $MY_FILE 以便我可以针对单独的数据集重新运行 cql 并确保后续MATCH (:abcProperty {extraLabel: "xyz"})将返回给定的节点“xyz”属性?

原则上这将是完全自动化和模板化的,所以我永远不会手动加载。

TIA

标签: neo4jcyphercypher-shell

解决方案


即将发布的 1.2 版cypher-shell将支持命令行选项--param,这将允许您指定 Cypher 参数。

是合并的拉取请求。


推荐阅读