哪些与.NET兼容的图形数据库解决方案具有可靠的跟踪记录?

时间:2012-07-02 18:29:24

标签: .net nosql graph-databases

我正在寻找一个通用图形数据库解决方案,该解决方案具有与.NET兼容的基础架构和可靠的跟踪记录。

我在Google和SO上找到了几个选项的链接,但没有关于现实应用程序中现有实现和用法的大量信息。

我还考虑过使用文档数据库(如RavenDBMongoDB)和专用的三重存储或RDBMS(如SQL)之间的混合,并扩充数据存储以支持我想要的功能。然而,这可能是相当多的工作,我的希望是其他人已经完成了它。

我看过的内容:

  • Trinity - 这是由微软制作的,文献听起来很棒,但我找不到下载链接,而发布页面上写着“Trinity包目前用于内部网访问只有“。

  • db4o - 这是一个面向对象的数据库,本机支持.NET和Java。它似乎作为图形数据库销售,但我不确定“图形”结构/操作是隐式还是显式(或者它是否提供比任何其他文档数据库更多)。

  • TinkerPop - 这个项目看起来正是我正在寻找的,但github源似乎只是在Java中。这个slideshare from graph-database.org讨论了.NET版本,但我找不到它们。

  • CloudGraph - 听起来不错,但似乎不存在。

  • GiraffeDB - “GiraffeDB是一个功能强大的.NET框架4.0图形数据库系统,能够以高效且易于访问的方式表示复杂的语义”目前正在进行规划“。

  • AllegroGraph 4.7 - 这似乎相当成熟(支持SPARQL和Prolog以及许多客户端接口),但它是封闭源代码。我显然对一个我没有听说过的闭源项目持怀疑态度。

还有一些看起来很有前途的Java项目(HyperGraphDBNeo4j,但我还没有看到任何现有的.NET集成。我并不完全反对使用Java解决方案,并自己做了这项工作,但我再次,我更喜欢一个经过验证的解决方案,可以节省我最多的时间。

6 个答案:

答案 0 :(得分:14)

尝试在Mongo中实现图形数据库是一个以前尝试过的兔子洞。

请参阅TinkerPop用户组的此消息:

Microsoft的Trinity图是一个无法下载的内部项目:

Neo4j服务器(http://neo4j.org)与Romiko和Tatham的.NET客户端(http://hg.readify.net/neo4jclient/wiki/Home)配对是一种流行的组合。

Neo4j扩展到超过320亿个节点(http://blog.neo4j.org/2011/03/neo4j-13-abisko-lampa-m04-size-really.html),并且它有一个活动用户组(https://groups.google.com/forum/?fromgroups#!forum/neo4j)。

Neo4j Server与TinkerPop的Rexster非常相似。

事实上,Peter Neubauer是Neo4j和TinkerPop的联合创始人之一,两个项目都有非常相似的API。因此,如果TinkerPop正是你想要的,除了Java,那么请使用Neo4j Server和它的一个.NET客户端:

你甚至可以通过内置的Gremlin插件在Neo4j服务器上运行TinkerPop的Gremlin:

更新:还有Blueprints.NET - https://github.com/Vanaheimr/Blueprints.NET

答案 1 :(得分:3)

新/最近/未提及的发现:VelocityDB这是一个原生的.net实现!

答案 2 :(得分:2)

www.neo4j.org有几个功能强大的.NET客户端库,请参阅http://docs.neo4j.org/chunked/snapshot/tutorials-rest.html,允许您从.NET内部访问它。您可能想在groups.google.com/group/neo4j /

上提出更多问题

/彼得

答案 3 :(得分:2)

三位一体现在可供公众使用 - http://www.graphengine.io/

答案 4 :(得分:1)

2017更新:Cosmos DB现在在Azure中提供了一个很好的混合图形数据库解决方案。 Cosmos DB曾被称为Document DB,直到2017年4月的Build会议,当时微软公布了图形和其他功能。因此,您可以将其用作经典文档数据库,现在可以将数据存储为图形并使用TinkerPop / Gremlin进行查询。从.NET,您可以使用Microsoft.Azure.Graphs API查询它。

如果您需要在Azure之外运行,那么您需要查看其他选项,例如Neo4j。

答案 5 :(得分:0)

另一个选择是来自Sparsity Technologies的DEX,它提供了一个原生的.NET API:

http://www.sparsity-technologies.com/dex

您可以从以下网址下载:

http://www.sparsity-technologies.com/dex_downloads