3

我想将多个参数传递给 Neo4j 4.0 浏览器,同时确保正确解释参数值(int、date)的类型。我尝试使用Cypher shell 命令的语法:

  1. 使用冒号语法paramName: paramValue允许传递多个参数,但它们的类型被隐式转换(日期到字符串,整数到浮点数):

    :param d: date('2020-03-07'), x: 1
    

    结果:

    {
      "d": "date('2020-03-07')",
      "x": 1.0
    }
    
  2. 使用箭头语法,我可以正确定义这两个参数,但它需要单独的:param命令:

    :param d => date('2020-03-07')
    :param x => 1
    :params
    

    结果:

    {
      "d": "2020-03-07",
      "x": 1
    }
    

我的许多查询都使用大量参数——有没有办法使用单个命令正确传递所有参数?

(有一个相关的问题,neo4j:What is the syntax to set cypher query parameters in the browser interface?,但是,答案没有考虑关于类型的问题。)

4

1 回答 1

3

:param您可以使用“解构”在单个命令中创建具有正确类型的多个参数。

例如,要获取dx使用正确的类型:

:param [{d, x}] => {RETURN date('2020-03-07') AS d, 1 AS x}

使用:help params浏览器中的命令获取更多信息。

于 2020-03-07T23:11:13.350 回答