May 20, 2010 at 11:15 PM

Well, I am glad that the community is starting this effort. Neo4j looks like an excellent product, and one that is lacking in the .NET world.

Is it possible that down the road we'll get a C# port of Neo4j? I assume that the demand is not there yet, but it is possible that with the existence of this wrapper, and hopefully its adoption in the .net community, we'll see a push for it.

I will give the wrapper a try and will communicate back my experience. However, I do need (not surprising) the next series of deliverables.


May 24, 2010 at 11:11 PM

Yay...my first comment  :-)

Thanks. I've been a big fan of Neo4j in the Java world, and have really wanted it for the .Net world, so I figured I'd take this on.

So, is there a priority list of features you need so you can get up and running?  Are you wanting to use the API at the JSon object level, or with full Node and Relationship objects?

I've been just going through the list of APIs in order by category (node stuff, relationship stuff, index stuff, traversal stuff).  But if you need a subset of API calls that'll get you up and running, I'd be more than willing to write them in that order. 


May 26, 2010 at 1:12 AM

Hello jconwell,

This is great stuff. Thanks for taking this project on. I am very excited about the possibilities of graph databases and neo4j's REST interface.

I am most interested in Relationships and Traversals and dealing with them on the Node object and Relationship object level (to answer your question above).

So, show can I help?



May 27, 2010 at 5:01 PM


Thanks for replying.

I am in the process of writing up the specs for the project I intend to use this for. I have used Neo4J in Java project in the past, however it was in a different space so it's not clear I will be using the exact same APIs.

I am pretty sure I will be wanting to use the node, relationship apis. But there are parts of the project where the json level will be enough.

I will update with more details as the specs clarify.


May 28, 2010 at 8:45 PM
Edited May 28, 2010 at 8:48 PM

Hey David,

I just checked in code for managing relationships on nodes.  I've got it working on all the service levels (REST, JSON, and object).  I've also got the Node, Relationship, and their base class PropertyContainer checked in.  I don't have any documentation yet, but for examples of how to use the Node and Relationship objects, look at the NodeObjectTests class.  I'm starting work on the traversal logic next.

Also, if your looking to help, for a first step I'd love if you did a code review and checked to see if I'm doing anything stupid, or if there are any optimizations I should look at, or just in general if you have any architectural suggestions.  All feedback is welcome.



May 28, 2010 at 8:47 PM

Hey Casmrv,

Just to let you know, I've got the relationship REST apis checked in.  I'm going to start working on the traversal calls next

Jun 15, 2010 at 5:26 PM

Ok - I just got the latest version (I was out for the last 2.5 weeks). It seems there is a fair amount of usable APIs in there.
Are you still working on this?

Jun 15, 2010 at 11:39 PM

Yup...I'm still working on it.  My server's HD crashed along with all my code, apache install, neo4j java goodness.  So, I'm in the process of building out a new dev server with all the needed software.

I've also been in talks with another guy who was working on his own version of a .Net wrapper, so we are looking at each other's code to see if it would be best to merge the code and fill in any gaps.  

I'll post when I have more updates

Jun 25, 2010 at 3:55 PM

Just to let everyone know, my dev server is back up and running (took way longer than I thought it would).  I'm getting to work on the traversal functionality.

Aug 18, 2010 at 8:16 PM

Hi there,

Just downloaded this and fired up the Neo4jRestSharpUI project, and straight away it bombed out in the Neo4jRestSharp.Neo4jObjectServices.CreateRelationship method because the toNode was null.

I then noticed that the code to create the nodes in the first place was commented out, so it was never going to work without those lined uncommented. So I uncommented them, but found they were coded to an older version of the CreateNode method that would allow you to pass in a Node on the constructor. The latest version doesn't pass one in, so I was starting to think should I go down the path of trying to fix this thing myself second guessing what I should do...

At that point I went down the path of running the unit tests. They all bombed out initially because I'd installed neo4j already, and your SetupFixture method expects that the installed service was created by the unit test. Anyway, I commented out all of the SetupFixture and SetupTearDown so that it would always use the service I installed rather than install and uninstall neo4j on every test run. Then it all worked!

Will now start playing with it in earnest for a side project I'm working on. However, just thought I'd let you know of these issues I came across so you can hopefully fix it in the next release.

Which is going to be when do you think...? Also, let me know if you would like any assistance from me to help fill in some missing pieces...

Cheers, Dave