Graph database for .NET
C#Java.NetMonoGraph DatabasesC# Problem Overview
I've been designing an application, based on .NET/Mono framework, which should make an heavy use of the shortest-path in a graph theories and I would like to use a native solution to traverse the nodes of the graph, instead of implementing surrogate solutions which would be hardly maintainable and would massively affect performances.
I've found an application which would be perfect for my scope: neo4j.
Unfortunately, this application is purely written in Java code and it's not portable to .NET, because of the massive differences between the two architectures.
Is anyone out there knows if is it there any port of neo4j or a similar solution for .NET?
C# Solutions
Solution 1 - C#
I'm surprised no one has mentioned Fallen-8, which is like the "Neo4J" for the .NET platform (open source too).
Solution 2 - C#
There is db4o database engine.
Solution 3 - C#
Since Neo4j started to get REST support things have evolved a bit, there's now two different .Net REST clients in the works:
Solution 4 - C#
BrightstarDB from Codeplex. BrightstarDB is an open source, fast, embeddable, and scalable NoSQL database for the .NET platform with code-first data model generation.
Solution 5 - C#
Microsoft is also working on one - Trinity
Edit 1:
I just recently came across this repository. I haven't looked at the code or used it yet, but it has .NET interfaces for:
- BluePrints
- Rexster
- Pipes
These utilities can be used to connect with multiple Graph Databases including neo4j and OrientDB. For more information also look at TinkerPop.
Solution 6 - C#
Now you can download and test for free the DEX graph database with .NET API released on July 2011 by Sparsity Technologies, at:
http://www.sparsity-technologies.com/dex_downloads
and How to build your 1st graph database with .NET ? Explained at Dzone:
http://architects.dzone.com/articles/how-build-your-first-net-graph
Rgds
Solution 7 - C#
DEX high performance graph database has a dedicated .Net API so it may be of help to integrate it with your architecture. You can downlad it here
Solution 8 - C#
I'm surprised no one has mentioned QuickGraph, a very mature and feature packed graph library for NET. It has multiple graph representations and plenty of algorithms.
Solution 9 - C#
Solution 10 - C#
The only thing available right now are bindings for Clojure, JRuby, Jython and Python. However, probably the JRuby REST API to Neo4j, http://github.com/andreasronge/neo4j/tree/2840b4c3d58e0250fdc31b63b11ac941ea944ba6/test/rest, would be the best bet for now.
Solution 11 - C#
This is a fairly old question, but as I stumbled upon it I suppose others will too.
There is a client for .Net and Neo4j http://hg.readify.net/neo4jclient/wiki/Home
and an API for Cypher http://mtranter.com/2013/09/21/cypher-net-a-neo4j-cypher-api/
Solution 12 - C#
Found this link on the Neo4j mailing list this morning (I think, I can't seem to find it again):
http://www.thewebsemantic.com/2010/06/03/neo4j-on-net-3-5/
It essentially let's you compile java to .net and then you can just reference the newly created assembly.
Haven't tried it yet but I am planning on it soon.
Solution 13 - C#
Neo4Net is also under development: http://neo4net.codeplex.com/
Solution 14 - C#
The guys at http://www.webling.com are also working on a native .NET graph database to power their Web Apps. I don't think it's released publicly yet, but it looks like it's got momentum.
Solution 15 - C#
They have named it CloudGraph and it will be launched at http://www.cloudgraph.com.
Solution 16 - C#
Please, look at the new .net version of DEX in www.sparsity-technologies.com .