我将gremlin-console连接到gremlin-server,后端使用janusGraph。
我想用multiplicity重新创建edgeLabel所以我用removeEdgeLabel()
命令将脚本发送到gremlin-server以删除标签“hasNext”:
graph_creation_script="""
tx = graph.newTransaction();
g.V().drop().iterate();
g.E().drop().iterate();
g.tx().commit()
tx = graph.newTransaction();
a = tx.addVertex(label, "A");
b = tx.addVertex(label, "B");
tx.commit()
mgmt = graph.openManagement()
mgmt.getEdgeLabel("hasNext").remove()
// mgmt.makeEdgeLabel("hasNext").multiplicity(ONE2ONE).make()
//a.addEdge("hasNext",b);
mgmt.commit()
"""
:> @graph_creation_script
然后我将mgmt.getEdgeLabel("hasNext").remove()
行注释掉,并从makeEdgeLabel(...)
行中删除评论符号,以使用multiplicity(ONE2ONE)
创建新标签:
...
// mgmt.getEdgeLabel("hasNext").remove()
mgmt.makeEdgeLabel("hasNext").multiplicity(ONE2ONE).make()
...
我收到错误:
Adding this property for key [~T$SchemaName] and value [rt▲hasNext] violates a uniqueness constraint [SystemIndex#~T$SchemaName]
所以似乎标签没有从架构中删除,但为什么会这样呢?
答案 0 :(得分:0)
最后,我按命令删除所有架构/图形内容:
./bin/janusgraph.sh stop
./bin/janusgraph.sh clean
并且明确地定义了JanusGraph在gremlin-console中的操作:
:remote connect tinkerpop.server conf/remote.yaml
==>Configured localhost/10.11.221.123:8182
graph = JanusGraphFactory.open("conf/janusgraph-cassandra-es.properties")
g = graph.traversal()
答案 1 :(得分:0)
不确定,您现在需要这个答案,但是请您尝试一下
mgmt.getEdgeLabel('Bad_Name').remove()
我必须在
之后关闭图形连接mgmt.commit()
当我再次检查时,边缘标签不存在。请让我知道它是否也适合您。我正在使用Janusgraph 0.3.0。