Невозможно добавить ребра в Janusgraph (cql-es) через соединение с веб-сокетом, используя драйвер Tinkerpop gremlin 3.3.1 - PullRequest
0 голосов
/ 05 ноября 2018

Добавление, удаление, обновление вершин - это хорошо, но при попытке добавить ребра я получаю следующее исключение, в котором добавление ребер не поддерживается. Кто-нибудь может посоветовать, как добавить ребра при использовании удаленного клиента? Заранее спасибо.

java.lang.IllegalStateException: дополнения Edge не поддерживаются в org.apache.tinkerpop.gremlin.structure.Vertex $ Exceptions.edgeAdditionsNotSupported (Vertex.java:175) в org.apache.tinkerpop.gremlin.structure.util.reference. .ReferenceVertex.addEdge (ReferenceVertex.java:47)

Ссылка на код: https://gist.github.com/ptclarke/45472fa5c268a6e8441e4c35615194aa

1 Ответ

0 голосов
/ 05 ноября 2018

Объект Vertex, возвращенный из удаленного запроса, отсоединяется от графика и является неизменным, поэтому, если вы попытаетесь сделать это:

Vertex v = g.V(id).next()
v.addEdge(...)

произойдет сбой, когда вы пытаетесь добавить ребра к неизменному объекту, который не имеет связи с удаленным графом. Вы должны использовать Gremlin, чтобы добавить свои ребра, а не работать с возвращенными объектами напрямую:

g.V(id).addE(...).to(...)
...