有没有办法在Cypher中设置参数?

时间:2019-10-10 17:12:09

标签: neo4j cypher cypher-shell

我有一个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并确保后续的{{1} }会返回被赋予“ xyz”属性的节点?

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

TIA

1 个答案:

答案 0 :(得分:1)

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

Here是合并的提取请求。