smartcaveman
smartcaveman

Reputation: 42276

What .NET-compatible graph database solution(s) have a proven track record?

I am looking for a generic graph database solution that has existing .NET-compatible infrastructure and a proven track record.

I've found links to several options on Google and SO, but not a lot of information on existing implementations and usages in real-world applications.

I've also considered using a hybrid between a document DB (like RavenDB or MongoDB) and a dedicated Triple Store or RDBMS (like SQL), and augmenting the data store in order to support the functionality I want. However, this is probably quite a bit of work, and my hope is that someone else has done it already.

What I've looked at:

There are also a few Java projects that look pretty promising (HyperGraphDB and Neo4j, but I haven't seen any existing .NET integration of either. I'm not completely opposed to using a Java solution and doing that legwork myself, but once again, I'd prefer a proven solution that saves me the most time.

Upvotes: 31

Views: 5334

Answers (6)

Neil
Neil

Reputation: 7437

2017 update: Cosmos DB now provides a good hybrid graph database solution in Azure. Cosmos DB used to be called Document DB until the Build conference in April 2017, when Microsoft announced graph and other capabilities. So you can use it as a classic document database, and you can now store your data as a graph and query it using TinkerPop/Gremlin. From .NET, you can query it using the Microsoft.Azure.Graphs API.

If you need to run outside of Azure, then you'll need to look at other options like Neo4j.

Upvotes: 2

ubaid
ubaid

Reputation: 148

Trinity is available for public now- http://www.graphengine.io/

Upvotes: 2

bbqchickenrobot
bbqchickenrobot

Reputation: 3709

New/recent/unmentioned discovery: VelocityDB which is a native .net implementation!

Upvotes: 3

Pere
Pere

Reputation: 134

Another option is DEX from Sparsity Technologies, that provides a native .NET API:

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

that you can download from:

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

Upvotes: 0

espeed
espeed

Reputation: 4824

Trying to implement a graph database in Mongo is a rabbit hole that's been tried before.

See this message from the TinkerPop user group:

Microsoft's Trinity graph is an internal project not available for download:

Neo4j Server (http://neo4j.org) paired with Romiko and Tatham's .NET client (http://hg.readify.net/neo4jclient/wiki/Home) is a popular combination.

Neo4j scales to more than 32 billion nodes (http://blog.neo4j.org/2011/03/neo4j-13-abisko-lampa-m04-size-really.html), and it has an active user group (https://groups.google.com/forum/?fromgroups#!forum/neo4j).

And Neo4j Server is very similar to TinkerPop's Rexster.

In fact Peter Neubauer is one of the co-founders of both Neo4j and TinkerPop, and both projects have very similar APIs. So if TinkerPop is exactly what you want, except for the Java, then go with Neo4j Server and one of its .NET clients:

You can even run TinkerPop's Gremlin on Neo4j Server via its built-in Gremlin Plugin:

UPDATE: There is also Blueprints.NET - https://github.com/Vanaheimr/Blueprints.NET

Upvotes: 14

Peter Neubauer
Peter Neubauer

Reputation: 6331

there are several capable .NET client libs for www.neo4j.org, see http://docs.neo4j.org/chunked/snapshot/tutorials-rest.html that let you access it from inside .NET. You might want to ask more questions on groups.google.com/group/neo4j/

/peter

Upvotes: 2

Related Questions