如何将多个参数传递给 Neo4j 浏览器

How to pass multiple parameters to the Neo4j Browser

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

的语法
  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
    }
    

我的许多查询都使用大量参数 -- 有没有一种方法可以使用单个命令正确传递所有参数?

(有一个相关问题,,但是,答案没有考虑类型问题。)

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

例如,要获得具有正确类型的 dx

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

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