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()
的方式来删除标签而不删除顶点。
答案 0 :(得分:2)
您将在[1]的Apache TinkerPop文档中找到此文本
“这是因为TinkerPop不允许在创建顶点后更改顶点标签。”
根据TinkerPop参考文档和实现,不允许在创建顶点标签后更改它。据我所知,大多数(即使不是全部)启用TinkerPop的图形数据库都对它感到荣幸。
您发现的示例是直接连接(不是通过Gremlin Server样式的连接)时对Neo4J的自定义支持的一部分,在该位置中可以直接操纵顶点对象。
如果您需要可编辑标签的概念,建议您改用属性。在按属性而不是按标签进行查找方面,最终结果将大致相同,并且更加便于携带。
[1] http://tinkerpop.apache.org/docs/current/reference/#_graphml_reader_writer