I agree with what you are saying, and I actually completely understand the decisions you've made with Titan. Having said that, I do have some problems not the least of which is using graph databases outside of Java, even in Clojure its awkward so naturally in any non JVM language its even worse.
I agree with what you are saying, and I actually completely understand the decisions you've made with Titan. Having said that, I do have some problems not the least of which is using graph databases outside of Java, even in Clojure its awkward so naturally in any non JVM language its even worse.
At the moment Rexster is really the only way to use most graph databases outside java, and then you hit the other huge problem, compatibility. Every Blueprints "compatible" database has a different subset of functions, and there is nothing Rexster can do to bridge the gap. Honestly, I know that i'm not the only person who has been waiting for someone who has the time and vision to pull off what you are creating right now, in your shoes, with your goals i'd have done the same thing. Yet, because of the specific goals of your project, and their divergence from the Blueprints model, you fracture the ability of third parties to leverage the Tinkerpop stack as a compatibility layer. I'm currently writing software on top of Rexster, and the amount of tests, code revisions, and patches i've had to write to get titan working are significant. I'm more than happy to support titan, and i'm having a hard time expressing both my personal opinion of titan which can be summed up as "FINALLY" with what i see as the larger problem of different database developers supporting wildly divergent subsets of the Blueprints graph model.
On a final note, from the perspective of someone building upon Rexster, what differences will your traversal queries provide over the Rexster gremlin plugin?
I agree with what you are saying, and I actually completely understand the decisions you've made with Titan. Having said that, I do have some problems not the least of which is using graph databases outside of Java, even in Clojure its awkward so naturally in any non JVM language its even worse.Can you elaborate on this point?
At the moment Rexster is really the only way to use most graph databases outside java, and then you hit the other huge problem, compatibility. Every Blueprints "compatible" database has a different subset of functions, and there is nothing Rexster can do to bridge the gap. Honestly, I know that i'm not the only person who has been waiting for someone who has the time and vision to pull off what you are creating right now, in your shoes, with your goals i'd have done the same thing. Yet, because of the specific goals of your project, and their divergence from the Blueprints model, you fracture the ability of third parties to leverage the Tinkerpop stack as a compatibility layer. I'm currently writing software on top of Rexster, and the amount of tests, code revisions, and patches i've had to write to get titan working are significant. I'm more than happy to support titan, and i'm having a hard time expressing both my personal opinion of titan which can be summed up as "FINALLY" with what i see as the larger problem of different database developers supporting wildly divergent subsets of the Blueprints graph model.The two primary things that Titan does not support are:1) Global Vertex/Edge iteration2) Edge retrieval by idBoth are design decision, the former to avoid OOM and the latter in the interest of performance. The latter is hurting Rexster compatibility and I am currently designing a work around.Are those two missing features the reason for your efforts or am I missing something?
On a final note, from the perspective of someone building upon Rexster, what differences will your traversal queries provide over the Rexster gremlin plugin?No difference. It basically allows you to send a gremlin query into the titan cluster and get the answer back. This will be much faster.
Does the URL you referenced return meaningful JSON when you first
start Rexster (prior to accessing with bulbs/thunderdome/dog house)?
I find it strange that you can:
> access and manipulate the graph with the doghouse gremlin interface, but when I try to connect with bulbs or thunderdome I get error messages.
I do assume that you mean your Titan graph there.
I'd guess that something was wrong in the <http> section of your rexster.xml but you
say that you can access other configured graphs without issue.
Do you find any error messages in the terminal you are running Rexster from
as you make these requests?
what about error messages at startup (titan usually is pretty explicit in its output if there are problems
at start of rexster)?
forgetting the gremlin extension for a moment,
does the titan graph work if you access it via the standard REST API
at startup (like
http://localhost:8182/graphs/test-titan/vertices/{some-id})?
Given your error, it looks like a compatibility issue with bulbs/titan:
SystemError: ({'status': '500', 'transfer-encoding': 'chunked', 'server': 'grizzly/2.2.18', 'connection': 'close', 'date': 'Thu, 14 Feb 2013 16:35:52 GMT', 'content-type': 'text/html;charset=ISO-8859-1'}, '<html><body><h1>Internal Error</h1></body></html>')
SystemError: ({'status': '500', 'transfer-encoding': 'chunked', 'server': 'grizzly/2.2.18', 'connection': 'close', 'date': 'Thu, 14 Feb 2013 16:49:02 GMT', 'access-control-allow-origin': '*', 'content-type': 'application/json;charset=UTF-8'}, '{"message":"Could not commit transaction due to exception during persistence","error":"Could not commit transaction due to exception during persistence"}')