2016-06-27 7 views
1

позволяет сказать, что существуют два узла А и В,версирования отношения между узлами в Neo4j

(A)-[r]-(B) 

г имеет свойство «вес», то есть мера зависимости А на В, скажем.

Величина веса часто изменяется, и я хочу изменить значение веса. Возможно ли установить новую связь между двумя одинаковыми узлами и добавить свойство ['valid': true] в связи, созданном последним?

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

https://twitter.com/ikwattro/status/746997161645187072

Но, свойство веса между двумя узлами A и B, естественно, принадлежит отношения между ними. Как использовать узел для поддержания веса?

РЕДАКТИРОВАТЬ:

Пример: Пусть узел с меткой: фрукты, и В узел метки: ЛицО Далее, пусть г связь между этими двумя, с этикеткой: Liking , и свойство «веса» r является мерой того, сколько человек B любит фрукты A.

Весовое свойство r постоянно меняется, и требуется, чтобы версия этого свойства была со временем.

ответ

2

Я думаю, что это зависит от двух вещей: Частота weight обновлений и запросов вы будете запускать на версированную weights:

  1. Если вы ожидаете низковато количество обновлений, и если только держать их для справки , вы можете использовать одно отношение и хранить старые значения в свойстве (например, карте или даже строке).

  2. Если вы ожидаете небольшого количества обновлений и если вы хотите регулярно запрашивать данные, было бы разумно использовать новые отношения для каждого обновления.

  3. Если weight часто меняется, и вам действительно нужно получить доступ к данным (т. Е. Собрать миллионы весовых значений для миллионов фруктов), я бы не сохранил его в neo4j. Используйте простую таблицу MySQL с PersonID, FruitID, weight, timestamp или другим хранилищем данных. Храните только последнее значение в neo4j.

Я использую как 2. и 3. много и даже несмотря 3. звучит излишество обычно это просто реализовать до тех пор, как вы только «аутсорсинг» структурированные данные с четкими запросами.

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