Удаление ярлыка из Vertex

Amazon Neptune поддерживает несколько меток для вершины. Хотя я могу добавить новый ярлык в вершину, я не смог найти способ удалить его.

я узнал что

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

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

не поддерживается в AWS Neptune.


Также пытаюсь drop() ярлыки как свойства не работают.

Документация Нептуна гласит:

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

Но таким образом вы можете только добавить метку ничего об удалении метки.

Я ищу какой-то способ, как removeLabel() удалить метку, не удаляя вершину.

1 ответ

Решение

Вы найдете этот текст в документации Apache TinkerPop по адресу [1]

"Это потому, что TinkerPop не позволяет изменять метку вершины после ее создания".

Возможность изменять метку вершины после ее создания запрещена согласно справочной документации и реализации TinkerPop. Насколько я знаю, это выполняется большинством, если не всеми, графическими БД с поддержкой TinkerPop.

Пример, который вы нашли, является частью пользовательской поддержки Neo4J при подключении напрямую (не через стиль соединения Gremlin Server), где объектом вершины можно напрямую манипулировать.

Если вам нужна концепция редактируемой метки, я бы предложил вместо этого использовать свойство. Чистый результат будет примерно одинаковым с точки зрения поиска по свойствам в сравнении с ярлыками и гораздо более переносимым.

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

Другие вопросы по тегам