2

I'd like to repeat a bit of a traversal in gremlin, like this:

g.V(1).repeat(out()).times(1)

using the goblin package for python, and the default titan11 install (which is, I think, titan+casssandra+gremlin+elasticsearch but, well, this stuff is confusing).

In python I write more or less the exact same thing as above, after doing some special imports:

from gremlin_python import statics
from gremlin_python.process.graph_traversal import __
statics.load_statics(globals())

# ... lots of other badass async python stuff and some networkx stuff etc

sg = g.V(seed_id).repeat(out()).times(1)

(see https://github.com/mikedewar/graphLearning/blob/master/conditional_traversal.py#L107 for all the other bits and bobs if you think it might help)

When I iterate over the sg traversal using goblin I get a Java error from, I think, gremlin:

goblin.exception.GremlinServerError: 597: No signature of method: org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal.times() is applicable for argument types: (java.lang.Long) values: [1]
Possible solutions: toSet(), size(), min(), take(int), sleep(long), is(java.lang.Object)

So I think maybe it doesn't like the integer I pass to it.

Please help! I'd like to be able to repeat stuff in gremlin.

Mike Dewar
  • 10,945
  • 14
  • 49
  • 65

1 Answers1

2

This is a bug in the old Groovy translator implementation that is provided with Goblin in order to provide backwards compatibility with GraphSON version 1. It was causing all integers to be serialized as longs. Because the times method signature expects an integer, this was resulting in an error. I fixed it with this commit. This fix will be included in the next release. For now, please install from Github:

pip install git+https://github.com/ZEROFAIL/goblin.git

I understand that you were unsure of the source of this problem, but maybe in the future a Github issue would be a better place to start.

davebshow
  • 66
  • 3
  • thanks! I honestly thought it was my bad; didn't want to crud up your repo with issues that are really user error (for which I clearly abuse stack overflow...) – Mike Dewar Nov 07 '16 at 20:02