Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing TinkerGraph's jar in Gremlin 3 plug in #14

Open
dseguy opened this issue Mar 24, 2016 · 5 comments
Open

Missing TinkerGraph's jar in Gremlin 3 plug in #14

dseguy opened this issue Mar 24, 2016 · 5 comments

Comments

@dseguy
Copy link

dseguy commented Mar 24, 2016

Hi

I compiled the plug-in on OSX, for Gremlin 3. I installed it on Neo4j 2.3.2.

I tried the following query, in order to test the Subgraph step.

subGraph = g.E().has("atom", "String").subgraph('String').cap('String').next();

I get this error :
Gremlin error : javax.script.ScriptException: java.lang.RuntimeException: GraphFactory could not find [org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph] - Ensure that the jar is in the classpath

I don't think I should get such an error for such a simple query.

Follow up :
If I remove '.cap('String').next()' and replace it with 'iterate()' it does something. Later, I can't access the subgraph :

sg = subGraph.traversal(standard());
sg.V().count();

I get this error :
Gremlin error : javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.traversal() is applicable for argument types: (org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource$Builder) values: [org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource$Builder@798d41e7]

Is this a problem in my queries or in the gremlin plugin ?
Damien.

@dkuppitz
Copy link
Member

The subgraph() step uses TinkerGraph when it build the subgraph. Did you try to also put the tinkergraph-gremlin-*.jar into the plugin directory?

@dseguy
Copy link
Author

dseguy commented Mar 29, 2016

Hi Daniel,

Thanks for your help :)
I cloned the titandb repository, built it with maven (successfully).
Then, I found tinkergraph-gremlin-3.0.1-incubating.jar which I moved to plugins/gremlin/
That was the only jar with tinkergraph and gremlin I could find.

Now, I get this in the neo4j logs :
2016-03-29 14:55:26.590+0200 WARN java.lang.NoClassDefFoundError: Could not initialize class org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph

Obviously, I didn't find the right tinkergraph Jar or put it in the right folder. Any hint?

@MarcoAbi
Copy link

Hello dseguy.

Supposing that you modified the config files as described in the wiki.
You should put in the plugins/gremlin folder all the jars that the project depends from. Try to copy/paste all the jars that the build produced (you may find them in target folder).
Hope it helps

Best Marco.

@dkuppitz
Copy link
Member

You'll need at least 3.1.1. Version 3.0.1 didn't support Neo4j 2.3.2. You should build TinkerPop to get that jar file:

https://github.com/apache/incubator-tinkerpop/tree/3.1.1-incubating

@dseguy
Copy link
Author

dseguy commented Mar 29, 2016

Tinkerpop != titandb, of course. Lemme try this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants