Я пытаюсь выполнить скрипт gremlin через https для удаленного экземпляра JanusGraph.Я отфильтровал свою проблему в той части, где я пытаюсь добавить ребро, используя переменные вершины.Я пытаюсь добавить две вершины, назначить результаты переменной и использовать их для добавления ребра.Кроме того, я также стараюсь избегать однострочного сценария, например g.V().addV(..).aaddV(..).addE(..)
, из-за логики программы, стоящей за сценарием
В консоли gremlin (удаленный сеанс) работает следующий gremlin
def graph=ConfiguredGraphFactory.open("ga");
def g = graph.traversal();
v1=g.addV('node1');
v2=g.addV('node2');
v1.addE('test').to(v2);
Но когда я пытаюсь сделать то же самое по протоколу https (выданному серверу compose-janusgraph), я получаю ошибкуЯ добавил .iterate()
к addV()
, и вершины добавляются, если я удаляю линию addE(..)
.Но когда я пытаюсь
{"gremlin":"def graph=ConfiguredGraphFactory.open('ga');
def g = graph.traversal();
v1=g.addV('node16').property('name','testn16').iterate();
v2=g.addV('node17').property('name','testn2').iterate();
v1.addE('test18').to(v2);
g.tx().commit()"}
, я получаю исключение
Стратегии обхода завершены, и обход больше не может модулироваться "," Exception-Class ":" java.lang.IllegalStateException "
Также обратите внимание, что я объединяю весь gremlin в одну строку перед отправкой по curl. Я разделил их на новые строки здесь для удобства чтения. Любая помощь будет полезна. -Спасибо