Я играю с titan db (бэкэнд cassandra и es). Я отправляю запросы на сервер gremlin через модуль gremlin-javascript в nodejs. Мне удалось написать вершины getOrInsert в titan, используя graph.traversal().V().has(idKey,idVal).tryNext().orElseGet{ graph.addVertex(T.label,"product","product_id",991);graph.tx().commit();
Но проблема, с которой я столкнулся, заключается в том, как добавить ребро между двумя вершинами. Обычно мы делаем в gremlin
a=graph.traversal().addVertex(...some properties);
b=graph.traversal().addVertex(...some properties);
a.addEdge("someEdgeType",b);
Я обнаружил, что есть модуль grex, который полезен, поскольку он поддерживает
// JavaScript
var query = gremlin();
var bob = query.var(g.addVertex({ name: 'Bob' }));
var alice = query.var(g.addVertex({ name: 'Alice' }));
query(g.addEdge(bob, alice, 'likes', { since: 'now' }));
Я не могу использовать модуль grex (он поддерживает 2.0), так как я использую gremlin 3.0.1 и формат написания запросов изменился (я думаю!).
Мой вариант использования: у меня должна быть возможность отправлять запросы гремлина на удаленный сервер гремлина.
Есть ли какой-либо другой модуль, похожий на grex, чтобы упростить создание запросов? Как мне создавать ребра, запрашивая сервер gremlin?
g.V(245764248).next().addEdge("somerelation",g.V(245764248).next()).tx().commit();
отношение создается, но не фиксируется. Невозможно понять, почему. - person palash kulshreshtha   schedule 03.05.2016