В моем бизнес-заявлении говорится, что мне нужно добавить произвольное количество четко определенных (AKA не динамических, неизвестных) атрибутов для определенных типов узлов. Я почти уверен, что, хотя может быть 30 или 40 различных атрибутов, узел будет , вероятно, имеет не более 4 или 5 из них. Конечно, будут угловые случаи ...Есть ли преимущества для внедрения синглонов в Нео?
В этом контексте я в основном использую атрибут «как атрибут», который нужен для бизнеса, а не в смысле Neo4J.
Ожидается, что я сообщу, какие узлы имеют какие атрибуты. Например, мне, возможно, придется сообщить, какие узлы имеют атрибуты «задержания», «приостановки» или «двойного секретного испытательного срока».
Один из способов - просто иметь массив соответствующих атрибутов для каждого объекта. Но для каждого запроса потребуется поиск всех узлов. Или я мог бы создавать явные атрибуты на каждом узле. Теперь они могут быть проиндексированы. Я серьезно не рассматриваю ни один из этих подходов.
Другой способ - реализовать каждый атрибут в качестве одноэлементного узла Neo и разрешить многим (десятки тысяч?) Других узлов относиться к этим узлам. Эта реализация будет иметь 10 000 узлов, но 40 000 отношений.
Наконец, узлы атрибутов могут быть созданы и использованы конкретными узлами сущности по мере необходимости. В этом случае, если 10 000 объектов имели в среднем 4 атрибута, у меня было бы всего 50 000 узлов.
Как я печатаю это, я понимаю, что во втором случае у меня все еще есть 40 000 отношений; «правда» ситуации не изменилась.
Есть ли причина, чтобы избежать реализации «singleton»? Я мог бы установить временные отметки о взаимоотношениях. Но они не будут проиндексированы ...
ооооо хороший. –