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

31

我正在寻找一种通用的图形数据库解决方案,它具有现有的.NET兼容基础设施和经过验证的记录。

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

我还考虑使用文档DB(例如RavenDBMongoDB)和专用三元组存储或RDBMS(如SQL)之间的混合体,并增强数据存储以支持所需的功能。然而,这可能需要相当大量的工作,我的希望是有人已经完成了。

我看过的东西:

  • Trinity - 这是由Microsoft制作的,文献使其听起来很棒,但我找不到下载链接,发布页面说“Trinity包目前仅适用于内部网络访问。”。

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

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

  • CloudGraph - 这听起来很棒,但似乎不存在。

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

  • AllegroGraph 4.7 - 这似乎已经非常成熟(支持SPARQL和Prolog,并带有许多客户端接口),但它是闭源的。对于我从未听说过的闭源项目,我显然会持怀疑态度。

  • 还有一些Java项目看起来非常有前途(HyperGraphDBNeo4j),但我没有看到这两者的现有.NET集成。我并不完全反对使用Java解决方案并自己完成这项工作,但再一次,我更希望使用经过验证的解决方案以节省时间。

    6个回答

    14

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

    参见TinkerPop用户组的这条留言:

    微软的Trinity图是一种内部项目,无法下载:

    Neo4j Server (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。因此,如果除了Java之外,TinkerPop正是你想要的,那么就选择Neo4j Server及其.NET客户端之一:


    你有没有任何成功使用这个技术栈的项目参考? - smartcaveman

    3

    新的/最近的/未提及的发现: VelocityDB 是一种本地的 .net 实现!


    2

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

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


    2

    0

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接