Вот пример использования двух шагов объединения для создания вершин, если они не существуют, а затем добавления ребра. Обратите внимание, что в этом примере я использовал собственные идентификаторы. Возможно, вам понадобится использовать другую схему с JanusGraph, но это общий шаблон, который вы можете использовать. Есть и другие способы написать это, но, надеюсь, это поможет вам начать.
g.V('v1').fold().coalesce(unfold(),addV('test').property(id,'v1')).
V('v2').fold().coalesce(unfold(),addV('test').property(id,'v2')).
addE('myedge').to(V('v1'))