Этот вопрос относится к Gremlin 3.0.2 (я связан с этим, так как Titan еще не продвинулся выше 1.0.0).Добавление края между двумя несвязанными вершинами
Я пытаюсь добавить ребро удаленно между двумя вершинами, которые не имеют (известного) отношения и идентификаторы которых (то есть «ключи»?) Не известны заранее. Хотя в Gremlin 3.2 можно было бы просто сделать
:> g.V().has('propertykey', 'value1').as('o').V().has('propertykey','value2').addE('edgelabel').to('o')
это держит меня застрял в Gremlin 3.0.2. То, что я пытался до сих пор (:
:> g.V().has('propertykey', 'value1').next().addOutE('edgelabel', g.V().has('propertykey', 'value2').next())
завершается с сообщением
No signature of method: com.thinkaurelius.titan.graphdb.vertices.CacheVertex.addOutE() is applicable for argument types: (java.lang.String, com.thinkaurelius.titan.graphdb.vertices.CacheVertex, java.lang.String, java.lang.String) values: [edgelabel, v[24776]]
То же самое сообщение об ошибке появится, если один изменяет второй параметр addOutE
к g.V(24776).next()
Глядя на метод подписи AddEdge его. показывает, что он ожидает строку для ключа второй вершины, но
> g.V().has('fbid', 'fbid_13').next().addOutE('edgelabel', '24776')
терпит неудачу, а также, о том, что
No signature of method: com.thinkaurelius.titan.graphdb.vertices.CacheVertex.addOutE() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String, java.lang.String) values: [edgelabel, 24776]
Итак, как достичь этого с помощью Gremlin 3.0.2?