小编pal*_*lom的帖子

在gremlin groovy脚本引擎初始化期间,如何用janus-graph导入替换tinkerpop导入?

我用janus-plugin初始化gremlin-script-engine:

GremlinScriptEngineManager engineManager = new DefaultGremlinScriptEngineManager();
engineManager.addPlugin(JanusGraphGremlinPlugin.instance());
engine = engineManager.getEngineByName("gremlin-groovy");
Run Code Online (Sandbox Code Playgroud)

引擎通常使用一些janus元素(例如Multiplicity.ONE2MANY)来评估查询:

qu = "mgmt.makeEdgeLabel('"+ TEST_EDGE_LABEL+"').multiplicity(ONE2MANY).make();";
engine.evalWithManagementTransaction(qu);
Run Code Online (Sandbox Code Playgroud)

...但是对于查询:

qu = "mgmt.makePropertyKey('"+TEST_PROPERTY_KEY+"')"
        + ".dataType(String.class).cardinality(Cardinality.SINGLE).make();";
Run Code Online (Sandbox Code Playgroud)

我得到:

MissingPropertyException: No such property: SINGLE for class: org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality
Run Code Online (Sandbox Code Playgroud)

似乎脚本引擎尝试使用 org.apache.tinkerpop.gremlin.structure.VertexProperty$Cardinality而不是janus one org.janusgraph.core.Cardinality

PS:如果我在查询中使用类的全名org.janusgraph.core.Cardinality.SINGLE或仅Cardinality枚举值(例如SINGLE),则一切正常。

如何删除tinkerpop导入或强制脚本引擎从插件中使用janus导入...还是更改gremlin查询有意义?

javascript-engine gremlin groovyscriptengine janusgraph

1
推荐指数
1
解决办法
280
查看次数

如何在 Gremlin 服务器上使用 ferma OGM?

你能告诉我 - 是否可以在 Gremlin 服务器上使用 OGM FERMA 框架(TinkerPop 3.2.6,后端有 JanusGraphDB)?

现在我使用 gremlin 客户端以这种方式向 G-server 发送查询:

GryoMapper mapper = GryoMapper.build().addRegistry(JanusGraphIoRegistry.getInstance()).create();
MessageSerializer serializer = new GryoMessageSerializerV1d0(GryoMapper.build().addRegistry(JanusGraphIoRegistry.getInstance()));

/* Create gremlin cluster... */
Cluster cluster = Cluster.build("123.22.22.111").port(8182).serializer(serializer).create();
Client client = cluster.connect();
ResultSet res = client.submit("g.V().label()");
Run Code Online (Sandbox Code Playgroud)

...因此我不知道如何直接获得图形实例(如在 ferma 教程中):

FramedGraph fg = new DelegatingFramedGraph(graph, true, types);
Run Code Online (Sandbox Code Playgroud)

... 使用遍历来获取 ferma 注释类的实例。

tinkerpop gremlin-server janusgraph

0
推荐指数
1
解决办法
545
查看次数