Как передать несколько параметров в браузер Neo4j - PullRequest
2 голосов
/ 07 марта 2020

Я бы хотел передать несколько параметров в браузер Neo4j 4.0, убедившись, что тип значений параметров (int, date) интерпретируется правильно. Я попытался использовать синтаксис команд оболочки Cypher :

  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: Каков синтаксис для установки параметров запроса шифрования в интерфейсе браузера? , однако ответы не учитывают проблемы, связанные с типы.)

1 Ответ

2 голосов
/ 08 марта 2020

Вы можете создать несколько параметров с правильными типами в одной команде :param, используя «destructuring».

Например, чтобы получить d и x с правильными типами:

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

Используйте команду :help params в браузере для получения дополнительной информации.

...