Нежелательное поведение при перезагрузке измененных узлов в aws-neptune - PullRequest
0 голосов
/ 13 февраля 2019

Я использую массовый загрузчик для загрузки данных из CSV-файлов на S3 в кластер Neptune DB.Данные загружены успешно.Однако, когда я перезагружаю данные с измененными значениями свойств некоторых узлов, новое значение не заменяет старое, а скорее добавляется к нему, превращая его в список значений, разделенных запятой.Например:

Загруженные начальные значения:

~id,~label,ip:string,creationTime:date
2,user,"1.2.3.4",2019-02-13

Если я перезагружаю этот узел с другим ip:

2,user,"5.6.7.8",2019-02-13

Затем я запускаю следующий обход: g.V(2).valueMap() и получение: ip=[1.2.3.4, 5.6.7.8], creationTime=[2019-02-13]

Хотя такое поведение может быть полезным в некоторых случаях, в большинстве случаев оно нежелательно.Я хочу, чтобы новое значение заменило старое.Я не смог найти в документации никаких ссылок на поведение загрузчика в случае перезагрузки узлов, и в запросе API нет соответствующего параметра для настройки.Как я могу перезагрузить узлы, перезаписывая существующие?

1 Ответ

0 голосов
/ 20 февраля 2019

в настоящее время загрузчик Neptune использует Set кардинальность.Чтобы обновить существующее свойство, лучше всего использовать Gremlin через конечную точку HTTP или WS.

В Gremlin вы можете указать, что вы хотите использовать единичное количество элементов (таким образом, заменяя, а не добавляя к значению свойства).Примером может быть

g.V('2').property(single,"ip","5.6.7.8")

Надеюсь, это поможет, Кельвин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...