Рекомендация: как указать тип вершины для домена в базе данных графа
При построении графа обычно необходимо указать "тип" вершин. Концептуально я вижу, что это можно сделать, применив метку или свойство вершины к каждой вершине (например, Боб, Метка: Человек) или, альтернативно, связав вершину с другой вершиной типа (т.е. Боб --IS A-> Человек).
Чтобы найти список всех вершин типа 'Man', я могу написать гремлиновые запросы, которые работают для обоих этих подходов. Но что такое лучшая практика?
1 ответ
Рекомендация. Сохраняйте простоту своей модели данных и убедитесь, что она совместима с эффективным индексированием в базовой базе данных графов. На уровне TinkerPop не существует единого решения, подходящего для всех.
Это действительно зависит от вашей модели данных, а также от возможностей индексирования базовой базы данных, не говоря уже о том, как данные на самом деле сериализуются на диске. В конечном счете, все сводится к тому, как вы ожидаете запросить свой график, и к той производительности, которую вы хотите достичь.
При этом люди обычно используют метки вершин, иногда используемые в сочетании с type
собственность какая-то. Разработчики графиков должны иметь возможность предоставлять эффективные индексы для ответа на такой запрос. Он также должен дать более простую модель графа, что важно учитывать.
В зависимости от размера вашего графика, вы можете столкнуться с проблемами производительности при моделировании типов с вершинами, так как man
вершина типа может быстро стать суперузлом.