свойства свободных узлов при использовании apo c .nodes.group () - PullRequest
0 голосов
/ 20 марта 2020

У меня есть набор узлов, которые выглядят следующим образом:

dalle {"ident": "A-1-1-1", "networkId": 1, "numberId": 1, "floor ": 1," room ": 1," building ":" A "," buildingId ": 1}

Я хочу сгруппировать свои узлы, поэтому я делаю эту команду:

CALL apoc.nodes.group(['dalle'], ['building', 'floor', 'room'])
YIELD nodes, relationships
RETURN nodes, relationships

Результат, который я получил, действительно хорош, за исключением одной детали, я потерял некоторые свойства, мои узлы теперь:

{"floor": 3, "count_ *": 1, "building": "C "," комната ": 1}

Почему я теряю свойства?

Я пытался обновить узлы, чтобы установить некоторые свойства обратно, как это:

CALL apoc.nodes.group(['dalle'], ['building', 'floor', 'room'])
YIELD nodes, relationships
FOREACH(n IN nodes | SET n.ident=n.building+n.floor)
RETURN nodes, relationships

, но это ничего не меняет в моем результате запроса.

спасибо!

1 Ответ

0 голосов
/ 21 марта 2020

Вы должны прочитать документацию для процедуры apo c .nodes.group , чтобы убедиться, что это действительно правильная вещь для вас.

Эта процедура возвращает виртуальные узлы и отношения . Поскольку виртуальные узлы и отношения на самом деле не находятся в БД, предложение SET на них не работает.

Если вы хотите, чтобы в виртуальных узлах отображалось больше свойств, то вы бы нужно добавить их в список свойств, которые вы передаете в процедуру. Например: ['building', 'floor', 'room', 'ident'].

...