В каталоге товаров есть статьи. Каждая статья имеет определенные c свойства. Эти свойства, такие как материал, размер, форма и т. Д. c. разделяются некоторыми статьями, например, инструмент доступен в 3 размерах (6 ", 8", 10 ") и 2 материалах (304, 316). В каталоге теперь вы найдете 6 записей для каждой версии возможная комбинация 1. Это будет очень быстро подниматься, когда вы добавляете другое свойство, например, Voltage (230, 400, 500), поскольку у вас теперь есть 18 записей. Я размышляю, стоит ли мне сохранять свойства в узлах, чтобы у меня было 18 узлов для каждое свойство, например
(n:Tool {name:"X", voltage:"230", size:"6"})
, и поиск узлов для поиска свойств, чтобы найти нужный узел или, если я попытаюсь установить эти ключевые свойства как узлы, и подключить узлы инструмента к узлам свойств, например,
(n:Tool {name:"X"}) -[:HAS_SIZE]- (s:Size {size:"6"})
(n) -[:HAS_VOLTAGE]- (v:Voltage {voltage:"230"}) a.s.o.
и попробуйте найти узел X по следующим путям. У этих последних опций также может быть прелесть, что я мог бы заполнить поля формы всеми доступными опциями, выбрав, например, все узлы напряжения.
Последний может привести ко многим узлам и отношениям, и когда число увеличивается, например, имея 20 узлов свойств, я не уверен, как найти мой узел X? Тогда запрос может выглядеть как
* 10 10 *
Это станет очень большими запросами.
Может быть, у кого-то есть ссылка на статью / пост, где показан базовый c макет для такой модели данных? Спасибо!