Я ищу решение общей базы данных графов, имеющее существующую .NET-совместимую инфраструктуру и проверенную репутацию.
Я нашел ссылки на несколько вариантов в Google и SO, но не так много информации о существующих реализациях и обычаях в реальных приложениях.
Я также рассмотрел использование гибрида между DB документа (например RavenDB или MongoDB), а также выделенный трехмерный магазин или RDBMS (например, SQL) и увеличение хранилища данных для поддержки требуемой функциональности. Однако это, вероятно, довольно много работы, и я надеюсь, что кто-то еще это сделал уже.
На что я смотрел:
-
Trinity - Это сделано Microsoft, и литература делает это здорово, но я не мог найти ссылку для загрузки, и На странице Release говорится: "Пакет Trinity теперь доступен только для доступа к интрасети".
-
db4o - это объектно-ориентированная БД с собственной поддержкой как .NET, так и Java. Кажется, он продается в виде графического DB, но я не уверен, что структура/операции "graph" неявные или явные (или если он предлагает больше, чем любой другой документ db).
-
TinkerPop - Этот проект похож на то, что я ищу, но источники github, похоже, только на Java. В этом слайдшоу из graph-database.org обсуждаются версии .NET, но я не смог их найти.
-
CloudGraph - Звучит здорово, но, похоже, не существует.
-
GiraffeDB - "GiraffeDB - мощная система баз данных графов для .NET framework 4.0, способная эффективно и доступно представлять сложную семантику" в настоящее время проходит планирование".
-
AllegroGraph 4.7 - Это выглядит довольно зрелым (поддерживающим SPARQL и Prolog с несколькими клиентскими интерфейсами), но закрытым исходным кодом. Я, очевидно, буду скептически относиться к проекту с закрытым исходным кодом, о котором я ничего не слышал.
Есть также несколько проектов Java, которые выглядят довольно многообещающими (HyperGraphDB и Neo4j, но я тоже не видел никакой интеграции .NET. Я не совсем против того, чтобы использовать Java-решение и сам заниматься этой работой, но я бы предпочел, чтобы проверенное решение сэкономило мне больше всего времени.