Datomic blueprints implementation #238

wants to merge 19 commits into


None yet

3 participants


No description provided.


Thanks for your contribution. I just gave a quick glance to review this pull request from a Blueprints API implementation consistency perspective. One thing I noticed here:


The Element setProperty method should throw an IllegalArgumentException if the value is not a valid type expected by the underlying graph. If I'm following the diff right, the IllegalArgumentException is thrown by way of a call from here:


Is that correct?


That is correct. Just tested it out to make sure:

Vertex davy = graph.addVertex(null);
davy.setProperty("name",new Test());

Exception in thread "main" java.lang.IllegalArgumentException: Object type com.tinkerpop.blueprints.pgm.impls.datomic.Test not supported
at com.tinkerpop.blueprints.pgm.impls.datomic.util.DatomicUtil.mapJavaTypeToDatomicType(DatomicUtil.java:54)
at com.tinkerpop.blueprints.pgm.impls.datomic.util.DatomicUtil.createKey(DatomicUtil.java:85)
at com.tinkerpop.blueprints.pgm.impls.datomic.util.DatomicUtil.existingAttributeDefinition(DatomicUtil.java:76)
at com.tinkerpop.blueprints.pgm.impls.datomic.util.DatomicUtil.createAttributeDefinition(DatomicUtil.java:59)
at com.tinkerpop.blueprints.pgm.impls.datomic.DatomicElement.setProperty(DatomicElement.java:84)
at com.tinkerpop.blueprints.pgm.impls.datomic.Test.main(Test.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)

@datablend datablend closed this Apr 11, 2012
@datablend datablend reopened this Apr 11, 2012

I would love to see this get merged in


I think we should consider options for getting Datomic into mainline after we release 2.1 in the coming weeks. Please let me know if you think there is anything we need to think about or consider in terms of doing that.


Not a lot I guess. The only disadvantage I can think off is that people need to manually install the datomic dependency.


after a number of discussions on tinkerpop-contributors, it appears we've basically decided to keep your blueprints implementation separate from the mainline of blueprints development. is it ok to close this pull request?

from there it would be cool to collaborate with you to build rexster configuration classes in your repos. i think i could do that pretty quickly for you if you can talk to me a little bit about what the configuration options are.


Ok. Will close this pull request and create a new repository specifically for FluxGraph.

@datablend datablend closed this Oct 10, 2012

will FluxGraph cover both the mongodb and dataomic implementations?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment