Hi,
outE(String) is in Gremlin 0.8-SNASPHOT, not Gremlin 0.7.
Note at the bottom of the main Wiki page: "Gremlin documentation is up to date
with the current Gremlin codebase, not with the latest Gremlin release."
I do this so its easier for me to maintain documentation. The documentation for
Gremlin 0.7 is in the doc/wiki directory of the distribution.
If you still want to use Gremlin 0.7, do this:
engine.eval("v.outE[[label='KNOWS']].inV >> results");
Finally, I would recommend using Groovy in your codebase instead of JSR 223
ScriptEngine. Groovy and Java work seamlessly together and its so much
handier/cleaner/faster than through JSR 223. See:
https://github.com/tinkerpop/gremlin/wiki/Using-Gremlin-through-Groovy
Hope that helps,
Marko.
http://markorodriguez.com
On Feb 21, 2011, at 9:15 AM, Alfredas Chmieliauskas wrote:
> Dear all,
>
> I have the following code:
>
> ScriptEngine engine = new GremlinScriptEngineFactory().getScriptEngine();
> List<Vertex> results = new ArrayList<Vertex>();
> engine.getBindings(ScriptContext.ENGINE_SCOPE).put("g", getGraph());
> engine.getBindings(ScriptContext.ENGINE_SCOPE).put("v", getVertex(startNode));
> engine.getBindings(ScriptContext.ENGINE_SCOPE).put("results", results);
> try {
> engine.eval(v.outE('KNOWS').inV >> results");
> } catch (ScriptException e) {
> logger.error(e.getMessage(), e);
> }
>
> ....produces the following error:
>
>
> ERROR javax.script.ScriptException:
> groovy.lang.MissingMethodException: No signature of method:
> com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jVertex.outE() is
> applicable for argument types: (java.lang.String) values: [KNOWS]
> Possible solutions: outE(groovy.lang.Closure), dump(),
> use([Ljava.lang.Object;), getAt(java.lang.String),
> getAt(java.lang.String), with(groovy.lang.Closure)
> javax.script.ScriptException: javax.script.ScriptException:
> groovy.lang.MissingMethodException: No signature of method:
> com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jVertex.outE() is
> applicable for argument types: (java.lang.String) values: [KNOWS]
> Possible solutions: outE(groovy.lang.Closure), dump(),
> use([Ljava.lang.Object;), getAt(java.lang.String),
> getAt(java.lang.String), with(groovy.lang.Closure)
> at
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:117)
> at
> com.tinkerpop.gremlin.jsr223.GremlinScriptEngine.eval(GremlinScriptEngine.java:36)
> at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
> at
> com.tinkerpop.gremlin.jsr223.GremlinScriptEngine.eval(GremlinScriptEngine.java:32)
> at
> alfredas.springdatagraph.template.domain.AbstractRepository.findAllByGremlin2(AbstractRepository.java:94)
> at alfredas.springdatagraph.template.App.<init>(App.java:84)
> at alfredas.springdatagraph.template.App.main(App.java:93)
> Caused by: javax.script.ScriptException:
> groovy.lang.MissingMethodException: No signature of method:
> com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jVertex.outE() is
> applicable for argument types: (java.lang.String) values: [KNOWS]
> Possible solutions: outE(groovy.lang.Closure), dump(),
> use([Ljava.lang.Object;), getAt(java.lang.String),
> getAt(java.lang.String), with(groovy.lang.Closure)
> at
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:318)
> at
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:111)
> ... 6 more
> Caused by: groovy.lang.MissingMethodException: No signature of method:
> com.tinkerpop.blueprints.pgm.impls.neo4j.Neo4jVertex.outE() is
> applicable for argument types: (java.lang.String) values: [KNOWS]
> Possible solutions: outE(groovy.lang.Closure), dump(),
> use([Ljava.lang.Object;), getAt(java.lang.String),
> getAt(java.lang.String), with(groovy.lang.Closure)
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at Script1.run(Script1.groovy:43)
> at
> org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:315)
> ... 7 more
>
>
> And the alternative method:
>
> Gremlin.compile("outE('KNOWS').inV)";
>
> gives:
>
> Exception in thread "main" groovy.lang.MissingMethodException: No
> signature of method: Script1.outE() is applicable for argument types:
> (java.lang.String) values: [KNOWS]
> Possible solutions: run(), run(), dump(), use([Ljava.lang.Object;),
> putAt(java.lang.String, java.lang.Object), with(groovy.lang.Closure)
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
> at Script1.run(Script1.groovy:22)
> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:576)
> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:614)
> at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
> at groovy.lang.GroovyShell$evaluate.call(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at com.tinkerpop.gremlin.Gremlin.compile(Gremlin.groovy:70)
> ....
>
> Any ideas?
>
> Alfredas
> _______________________________________________
> Neo4j mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
_______________________________________________
Neo4j mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user