#neo4j #tree-traversal #data-modeling
#neo4j #обход дерева #моделирование данных
Вопрос:
Я смоделировал древовидную структуру, используя базу данных графов Neo4J. Все узлы представляют категорию с характерным именем. Поэтому мне приходится очень часто пересекать свое дерево от корня до определенного узла / категории. К какому узлу зависит от списка, поступающего в качестве входных данных. Этот список содержит строки, представляющие имена категорий от корня до целевого узла.
Интересно, было бы эффективно хранить эти имена как типы ребер вместо свойства name в конкретных узлах. Я подумал, что, когда я это делаю, Neo4J не нужно искать подходящее свойство name каждого дочернего узла каждый раз, когда он продвигается на шаг глубже в дереве. Вместо этого Neo4J может искать имя на карте, содержащей исходящие ребра.
Что вы думаете?
Ответ №1:
Звучит разумно. Сколько у вас разных имен? Если это просто категории, их не должно быть миллионов.
Вы загрузили свои данные в график и провели сравнение производительности между обоими подходами? Является ли это критичным для производительности в вашем графике?