从顶点移除标签

时间:2019-01-03 09:33:38

标签: gremlin amazon-neptune

Amazon Neptune支持一个顶点的多个标签。虽然我可以向顶点添加新标签,但是我找不到删除它的方法。

我发现

vertex.addLabel('human')
vertex.removeLabel('human')

http://tinkerpop.apache.org/docs/current/reference/#_multi_label

AWS Neptune不支持


还尝试使用drop()标签,例如属性无法正常工作。

海王星documentation说:

gremlin> g.addV('label1').property(id, 'customid')
gremlin> g.addV('label2').property(id, 'customid')
gremlin> g.V('customid').label()
==>label1::label2

但是那样一来,您只能添加与删除标签无关的标签。

我正在寻找一种类似removeLabel()的方式来删除标签而不删除顶点。

1 个答案:

答案 0 :(得分:2)

您将在[1]的Apache TinkerPop文档中找到此文本

“这是因为TinkerPop不允许在创建顶点后更改顶点标签。”

根据TinkerPop参考文档和实现,不允许在创建顶点标签后更改它。据我所知,大多数(即使不是全部)启用TinkerPop的图形数据库都对它感到荣幸。

您发现的示例是直接连接(不是通过Gremlin Server样式的连接)时对Neo4J的自定义支持的一部分,在该位置中可以直接操纵顶点对象。

如果您需要可编辑标签的概念,建议您改用属性。在按属性而不是按标签进行查找方面,最终结果将大致相同,并且更加便于携带。

[1] http://tinkerpop.apache.org/docs/current/reference/#_graphml_reader_writer