Добавьте ребро, если не существует, используя gremlin - PullRequest
0 голосов
/ 21 сентября 2018

Я использую космографический дБ в лазури.

Кто-нибудь знает, есть ли способ добавить ребро между двумя вершинами, только если его не существует (используя запрос графа гремлина)?

Я могу сделать это при добавлении вершины, но не с ребрами.Я взял код, чтобы сделать это от здесь :

g.Inject(0).coalesce(__.V().has('id', 'idOne'), addV('User').property('id', 'idOne'))

Спасибо!

1 Ответ

0 голосов
/ 21 сентября 2018

Можно делать с ребрами.Шаблон концептуально аналогичен вершинам и центрируется вокруг coalesce().Используя «современный» игрушечный граф TinkerPop для демонстрации:

gremlin> g.V().has('person','name','vadas').as('v').
           V().has('software','name','ripple').
           coalesce(__.inE('created').where(outV().as('v')),
                    addE('created').from('v').property('weight',0.5))
==>e[13][2-created->5]

Здесь мы добавляем грань между «vadas» и «ripple», но только если она еще не существует.ключ здесь - проверка в первом аргументе coalesce().

...