bricaud / graphexp

Interactive visualization of the Gremlin graph database with D3.js
Apache License 2.0
780 stars 215 forks source link

Fix child traversal error in query #104

Closed dboreham closed 1 year ago

slastrina commented 1 year ago

This fixed works great, thanks @dboreham

slastrina commented 1 year ago

@bricaud, it doesnt look like much traction in this repo anymore sadly, but this fix is worth bringing into master. on 0.62 janugraph this change fixed traversals after the first node.

this is the exception it fixed:

request {"gremlin":"nodes = g.V(3919249552).as(\"node\").both().as(\"node\").select(all,\"node\").unfold().valueMap().with(WithOptions.tokens).fold().inject(g.V(3919249552).valueMap().with(WithOptions.tokens)).unfold()\nedges = g.V(3919249552).bothE()\n[nodes.toList(),edges.toList()]"}
{
  "message": "The child traversal of [GraphStep(vertex,[3919249552]), PropertyMapStep(value)] was not spawned anonymously - use the __ class rather than a TraversalSource to construct the child traversal",
  "Exception-Class": "java.lang.IllegalStateException",
  "exceptions": [
    "java.lang.IllegalStateException"
  ],
  "stackTrace": "java.lang.IllegalStateException: The child traversal of [GraphStep(vertex,[3919249552]), PropertyMapStep(value)] was not spawned anonymously - use the __ class rather than a TraversalSource to construct the child traversal\n\tat org.apache.tinkerpop.gremlin.process.traversal.Bytecode.convertArgument(Bytecode.java:302)\n\tat org.apache.tinkerpop.gremlin.process.traversal.Bytecode.flattenArguments(Bytecode.java:287)\n\tat org.apache.tinkerpop.gremlin.process.traversal.Bytecode.addStep(Bytecode.java:94)\n\tat org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal.inject(GraphTraversal.java:1289)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)\n\tat org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:188)\n\tat org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)\n\tat org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)\n\tat Script312.run(Script312.groovy:1)\n\tat org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:676)\n\tat org.apache.tinkerpop.gremlin.groovy.jsr223.GremlinGroovyScriptEngine.eval(GremlinGroovyScriptEngine.java:378)\n\tat javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:233)\n\tat org.apache.tinkerpop.gremlin.groovy.engine.GremlinExecutor.lambda$eval$0(GremlinExecutor.java:272)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:748)\n"
}
bricaud commented 1 year ago

ok, then I will take some time this week to check and include it in the master. Thanks

slastrina commented 1 year ago

ok, then I will take some time this week to check and include it in the master. Thanks

Cheers mate, i think theres still one issue remaining, looks like on 0.62 with gremlin 3.4 the vertex properties don't populate, edges are working fine though