У меня есть структура данных графа, подобная RDF, т.е. состоящая из узлов (сущностей), которые соединены ребрами (свойствами, отношениями) разных типов. Пользователь выберет узел в этом графе (миллионы узлов, сотни миллионов ребер), и я ищу быстрый способ отобразить «близость» выбранного узла (то есть один или два уровня узлов, из которых - это путь через набор возможных заданных отношений к первоначально выбранному узлу).
Я провел небольшое исследование и наткнулся на RDF-специализированные хранилища троек и более общие базы данных графов, такие как neo4j и allegro. Кроме того, существуют промежуточные продукты, такие как jena и sesame.
Вы бы порекомендовали тройное хранилище или базу данных на графах для повышения эффективности запросов к ближайшим подключенным узлам? Здесь играет роль промежуточное программное обеспечение? Я понимаю, что в любом случае хранение полного графика в памяти, вероятно, будет выгодным.
Александр