Can tinkerpop interact with datomic?

164 views
Skip to first unread message

Kenneth Miller

unread,
Feb 26, 2014, 11:21:31 PM2/26/14
to gremli...@googlegroups.com
As short as the title is, that's exactly my question. Also, if anybody knows about this all the better-can bulbs use much of datomic's temporal capabilities? If it can't can someone explain how I can extend it so that it does?

Joshua Shinavier

unread,
Feb 27, 2014, 12:51:24 AM2/27/14
to gremli...@googlegroups.com
You can indeed.  Check out FluxGraph:


As a bonus, FluxGraph is one of the persistent Graph impls which is compatible with GraphSail, so you can use it as an RDF triple store.

Must defer to a Bulbs expert for your second question.

HTH.

Josh



On Wed, Feb 26, 2014 at 11:21 PM, Kenneth Miller <kennetha...@gmail.com> wrote:
As short as the title is, that's exactly my question. Also, if anybody knows about this all the better-can bulbs use much of datomic's temporal capabilities? If it can't can someone explain how I can extend it so that it does?

--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

James Thornton

unread,
Feb 27, 2014, 1:50:48 AM2/27/14
to gremli...@googlegroups.com
On Wed, Feb 26, 2014 at 10:21 PM, Kenneth Miller <kennetha...@gmail.com> wrote:
As short as the title is, that's exactly my question. Also, if anybody knows about this all the better-can bulbs use much of datomic's temporal capabilities? If it can't can someone explain how I can extend it so that it does?

Hi Kenneth -

Yes, you can use Datomic's temporal capabilities via Bulbs/Rexster Gremlin scripts. 

See the Bulbs/Rexster Gremlin docs for how to work with custom Gremlin scripts...
Here's an overview on how to use custom Gremlin scripts with Bulbs Models:
And here's an overview on how to use server-side Gremlin scripts with Bulbs...
Davy Suvee is the author of FluxGraph. See his FOSDEM 2013 talk on FluxGraph's temporal capabilities...
See also...
And use the Gremlin Google Group search interface and query for "datomic" to see past discussions.

Note that the Davy's original repo hasn't been updated for TinkerPop 2.5; however, there are some forks that have been updated for more recent versions...
- James


 

Kenneth Adam Miller

unread,
Feb 27, 2014, 3:48:38 PM2/27/14
to gremli...@googlegroups.com
Oh my god, you guys are amazing!

@Joshua
Ok, so I had already seen fluxgraph, but I don't know how to actually add fluxgraph capbility to tinkerpop-as in installation directions. I had seen that datablend had forked the tinkerpop repository and added some datomic code, but that it was wayyy behind the actual tinkerpop repository itself. So I didn't know how to proceed, or if it was useful.

Also, I tried putting in some datomic configuration into my rexster.xml file, but the server threw an exception when loading up. I also don't know what graphsail is...

Here's a slice of my rexster.xml as it applies to fluxgraph/datomic:

@James
Not sure if I have to use a data model in order to be able to write my scripts (it would be nice for efficiency reasons if I could separate the models into distinct indices, right now the queries I use are over all nodes), but currently I get an exception when I try to add_proxy in order to make a model usable. I opened an issue on github, maybe we could work it out here?

I'm currently editing a forked revision of your bulbs repository in order to do a pull request when I'm done with the doc addition :)


--
You received this message because you are subscribed to a topic in the Google Groups "Gremlin-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/gremlin-users/SolXnD1-F7k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to gremlin-user...@googlegroups.com.

Kenneth Adam Miller

unread,
Feb 28, 2014, 1:18:51 AM2/28/14
to gremli...@googlegroups.com
Wait, I need to be a bit more clear about what I am still running into... And by the way, thanks a lot for the help!

@Joshua
I'm not completely sure how to use fluxgraph to work with rexster. I just realized that I could compile it and package it with maven, but I still don't know how to run it based just on the jars that are now in /target. I also found the new versions that were mentioned and I cloned and compiled, but when I ran package one of the tests failed.

The github gist I posted has to do with what I think, which is once I get fluxgraph working, I'm supposed to edit a configuration file, rexster.xml in my rexster folder that should allow rexster to connect to a datomic graph file once the fluxgraph capability has been added to it (?). Either that, or fluxgraph is a standalone, in which case I don't know what the proper fully qualified class name is... (java -jar fails, and there's no main function in the fluxgraph repo itself).

There's no instructions on how to use fluxgraph on the repository. Can anyone explain?

@James
How do I get the data models thing to work? It fails currently following the examples that are in the bulbs docs...

Also, when I looked over your documentation in your actual repository, it doesn't reflect what is shown at the website right now. There's plenty of stuff that I could have seen by just checking out the code that I wouldn't have looking at the public facing website. Did you know this? I'm pretty sure you did, so I guess it might be better if you describe to me what to tackle in regards to the docs; I can't edit your website bulbflow.com... I don't think I see docs/quickstart/rexster.rst at all anywhere on the site...

Stephen Mallette

unread,
Feb 28, 2014, 7:13:54 AM2/28/14
to gremli...@googlegroups.com
Kenneth,

You will need to use this FluxGraphConfiguration in your rexster.xml:


There's an example at the top.  You'll also need to be wary of the version of Rexster you use with this.  Check the poms of whatever branch you are working with to be sure it is compatible with the version of Rexster you intend to use.  For instance, there is definitely a breaking change in Rexster configuration in 2.5.0, so using that version is not possible without minor change to the FluxGraphConfiguration class.  To use it, copy the jar and related dependencies to rexster's lib or ext directory which will put them in the classpath and make them available to Rexster.  The rest should be as simple as updating rexster.xml with your FluxGraph config and starting rexster.

Stephen


You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.

Kenneth Adam Miller

unread,
Feb 28, 2014, 10:39:36 AM2/28/14
to gremli...@googlegroups.com
Awesome, thanks so much!

Kenneth Miller

unread,
Feb 28, 2014, 8:34:01 PM2/28/14
to gremli...@googlegroups.com
Actually, now that I have looked through the network trace like James Thorton said, I found some repositories like fluxgraph that had some additional commits meant to update them to use a much more recent tinkerpop blueprints API. I would like to stay as up to  date as possible, but when I checked out each of the following two forks:


I get very similar error output when running mvn package:

The respective surefire-reports file referenced contains the following:

TEST-com.jnj.fluxgraph.FluxGraphTest.xml     -    https://gist.github.com/anonymous/d8d3e742963d6a51b1d8     -      IllegalArgumentException: It is not possible to set a property on a non-current version of the element
com.jnj.fluxgraph.FluxGraphTest.txt                -    https://gist.github.com/anonymous/542c03e1ce5633f044f7

I don't know how to solve this in order to get fluxgraph working at more recent versions of its dependencies... Can someone help? possibly someone that helped write these repos?
Reply all
Reply to author
Forward
0 new messages