哪些 .NET 兼容的圖形數據庫解決方案具有良好的業績記錄?
我正在尋找一個通用的圖形數據庫解決方案,它具有現有的 .NET 兼容基礎架構和經過驗證的跟踪記錄。
我在 Google 和 SO 上找到了幾個選項的連結,但沒有很多關於現實世界應用程序中現有實現和使用的資訊。
我還考慮過在文件數據庫(如RavenDB或MongoDB)和專用三重儲存或 RDBMS(如 SQL)之間使用混合,並擴充數據儲存以支持我想要的功能。然而,這可能是相當多的工作,我希望其他人已經完成了。
我看過的:
- Trinity - 這是由 Microsoft 製作的,文獻表明它聽起來很棒,但我找不到下載連結,並且發布頁面顯示“Trinity 軟體包目前僅用於 Intranet 訪問。”。
- db4o - 這是一個物件導向的數據庫,原生支持 .NET 和 Java。它似乎作為圖形數據庫銷售,但我不確定“圖形”結構/操作是隱式還是顯式(或者它是否提供比任何其他文件數據庫更多的功能)。
- TinkerPop - 這個項目看起來正是我正在尋找的,但 github 原始碼似乎只在 Java 中。這張來自 graph-database.org 的幻燈片討論了 .NET 版本,但我找不到它們。
- CloudGraph - 這聽起來不錯,但似乎不存在。
- GiraffeDB - “GiraffeDB 是 .NET 框架 4.0 的強大圖形數據庫系統,能夠以高效且可訪問的方式表示複雜的語義”“正在規劃中”。
- AllegroGraph 4.7 - 這似乎相當成熟(支持 SPARQL 和 Prolog 以及許多客戶端介面),但是是封閉原始碼。我顯然會對一個我沒有聽說過的閉源項目持懷疑態度。
還有一些看起來很有前途的 Java 項目(HyperGraphDB和Neo4j,但我還沒有看到任何現有的 .NET 集成。我並不完全反對使用 Java 解決方案並自己做那些跑腿的工作,但再一次,我更喜歡一個經過驗證的解決方案,它可以為我節省最多的時間。
www.neo4j.org 有幾個功能強大的 .NET 客戶端庫,請參閱<http://docs.neo4j.org/chunked/snapshot/tutorials-rest.html>,讓您可以從 .NET 內部訪問它。您可能想在 groups.google.com/group/neo4j/ 上提出更多問題
/彼得
嘗試在 Mongo 中實現圖形數據庫是一個之前嘗試過的兔子洞。
請參閱來自 TinkerPop 使用者組的此消息:
- <https://groups.google.com/d/msg/gremlin-users/_zweYGxR8wM/0AUu-UoqTRIJ>
Microsoft 的 Trinity graph 是一個內部項目,無法下載:
- <http://research.microsoft.com/en-us/projects/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 客戶端之一:
- <http://docs.neo4j.org/chunked/snapshot/tutorials-rest.html>
您甚至可以通過其內置的 Gremlin 外掛在 Neo4j 伺服器上執行 TinkerPop 的 Gremlin:
- <http://docs.neo4j.org/chunked/stable/gremlin-plugin.html>
更新:還有 Blueprints.NET - <https://github.com/Vanaheimr/Blueprints.NET>