2015-08-29 4 views
1

Как добавить новое свойство динамически к существующему узлу? Здесь я хотел бы присвоить ключ и значение динамически для моего запроса chypher. Любые предложения будут высоко оценены :)Добавить свойства в Neo4j Динамически

ответ

3

Вы можете создать карту с парами значений ключей и добавить пары с SET.

Пример 1: Объявлять, сотрет другие

WITH {name:"Kenny", age:10} as kv 
MATCH (n:Person {uid:"123-fff"}) SET n = kv 

Пример 2: Append свойства, заменит значение существующих ключей:

WITH {name:"Kenny", age:10} as kv 
MATCH (n:Person {uid:"123-fff"}) SET n += kv 

В идеале вы должны пройти кВ в качестве параметров запроса , поэтому json, отправленный для запроса, будет примерно таким:

{ 
    "statements": [ 
    { 
     "statement": "MATCH (n:Person) SET n += {kv}", 
     "params": { 
     "kv": { 
      "name": "kenny", 
      "age": 10 
     } 
     } 
    } 
    ] 
} 
+0

Спасибо за ответ. Мой сценарий: я переношу данные из РСУБД в Neo4j. У меня есть данные, установленные в 2 файлах Csv. Первый datset создает узлы, а второй набор данных имеет еще несколько свойств, и эти свойства должны быть добавлены к существующим узлам ... – BDR

+0

Это не должно быть проблемой, можете ли вы разместить 2 или 3 строки вашего csv, чтобы я мог видеть, как свойства должны отображаться в запросе Cypher? –

+0

«Имя», «Значение», «mo_I'd» \ n Страна, США, 678 \ n страна, Канада, 2234 \ n страна, Индия, 4536 – BDR

Смежные вопросы