Моделирование альтернатив и производительности при обходе древовидной структуры в Neo4J

#neo4j #tree-traversal #data-modeling

#neo4j #обход дерева #моделирование данных

Вопрос:

Я смоделировал древовидную структуру, используя базу данных графов Neo4J. Все узлы представляют категорию с характерным именем. Поэтому мне приходится очень часто пересекать свое дерево от корня до определенного узла / категории. К какому узлу зависит от списка, поступающего в качестве входных данных. Этот список содержит строки, представляющие имена категорий от корня до целевого узла.

Интересно, было бы эффективно хранить эти имена как типы ребер вместо свойства name в конкретных узлах. Я подумал, что, когда я это делаю, Neo4J не нужно искать подходящее свойство name каждого дочернего узла каждый раз, когда он продвигается на шаг глубже в дереве. Вместо этого Neo4J может искать имя на карте, содержащей исходящие ребра.

Что вы думаете?

Ответ №1:

Звучит разумно. Сколько у вас разных имен? Если это просто категории, их не должно быть миллионов.

Вы загрузили свои данные в график и провели сравнение производительности между обоими подходами? Является ли это критичным для производительности в вашем графике?