在gremlin groovy脚本引擎初始化期间,如何用janus图形导入替换tinkerpop导入?
我使用janus插件以以下方式初始化gremlin脚本引擎:在gremlin groovy脚本引擎初始化期间,如何用janus图形导入替换tinkerpop导入?,gremlin,janusgraph,javascript-engine,groovyscriptengine,Gremlin,Janusgraph,Javascript Engine,Groovyscriptengine,我使用janus插件以以下方式初始化gremlin脚本引擎: GremlinScriptEngineManager engineManager = new DefaultGremlinScriptEngineManager(); engineManager.addPlugin(JanusGraphGremlinPlugin.instance()); engine = engineManager.getEngineByName("gremlin-groovy"); 引擎通常使用一些janus元素
GremlinScriptEngineManager engineManager = new DefaultGremlinScriptEngineManager();
engineManager.addPlugin(JanusGraphGremlinPlugin.instance());
engine = engineManager.getEngineByName("gremlin-groovy");
引擎通常使用一些janus元素(例如,multiplity.ONE2MANY
)评估查询:
。。。但对于查询:
qu = "mgmt.makePropertyKey('"+TEST_PROPERTY_KEY+"')"
+ ".dataType(String.class).cardinality(Cardinality.SINGLE).make();";
我得到:
MissingPropertyException: No such property: SINGLE for class: org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality
脚本引擎似乎试图使用org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality
,而不是janus oneorg.janusgraph.core.Cardinality
PS:如果我在查询中使用类的全名org.janusgraph.core.Cardinality.SINGLE
,或者只使用Cardinality
枚举的值(例如,justSINGLE
),那么一切都可以正常工作
如何删除tinkerpop导入或强制脚本引擎使用插件中的janus导入。。。或者改变小精灵的查询是有意义的 在控制台中,您可以执行以下操作:
gremlin> import org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality as Card
gremlin> Card
==>class org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality
但我认为出于某种原因,这对小精灵脚本引擎不起作用。我不认为我们已经暴露了在那里使用别名的能力
我认为您必须使用完整的类名
org.janusgraph.core.Cardinality.SINGLE
。当然,我想知道为什么要这样做模式修改。通常,模式修改是管理功能,您可以在GremlinScriptEngine
之外处理,更直接地在代码中或作为脚本在控制台中处理。在控制台中,您可以执行以下操作并别名:
gremlin> import org.apache.tinkerpop.gremlin.structure.VertexProperty.Cardinality as Card
gremlin> Card
==>class org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality
但我认为出于某种原因,这对小精灵脚本引擎不起作用。我不认为我们已经暴露了在那里使用别名的能力
我认为您必须使用完整的类名org.janusgraph.core.Cardinality.SINGLE
。当然,我想知道为什么要这样做模式修改。通常,模式修改是管理功能,您可以在GremlinScriptEngine
之外处理,更直接地在代码中或作为脚本在控制台中处理