Ссылка на свойство в запросе Gremlin - PullRequest
0 голосов
/ 09 января 2019

Я пытаюсь сделать запрос, который выглядит примерно так:

g.V('myId').as('me').out('member').hasLabel('myLabel').in('member').has('identifier', 'me.identifier')

Где me.identifier будет изменен на что-то, что действительно работает. Я просто понятия не имею, как ссылаться на значение свойства «идентификатор»

1 Ответ

0 голосов
/ 09 января 2019

Давайте сначала рассмотрим, что ваш запрос:

g.V('myId').as('me').
  out('member').hasLabel('myLabel').
  in('member').has('identifier', 'me.identifier')

говорит по-английски: "найдите вершину с id из myId, затем пересеките исходящие ребра 'member' в вершины, которые имеют метку 'myLabel', затем переместите входящие ребра 'member' в вершины, которые имеют значение свойства 'me.identifier' для свойства 'identifier' '

Теперь, может быть, это не совсем то, что вы хотите. По какой-то причине я понял, что вы хотите: "найти вершину с id из 'myId', затем пересечь исходящие ребра 'member' до вершин, которые имеют метку 'myLabel', а затем пересечь входящие ребра 'member' к вершинам, которые имеют id myId ", в этом случае это:

g.V('myId').
  out('member').hasLabel('myLabel').
  in('member').hasId('myId')

Но затем я также понял, что вы, возможно, захотите: «найти вершину с id в myId», затем переместить исходящие ребра «члена» в вершины, которые имеют метку «myLabel», затем пройти через входящие » ребра члена к вершинам, которые имеют свойство identifier с тем же значением, что и свойство 'identifier' начальной вершины с 'myId' ', в этом случае это:

g.V('myId').as('me').
  out('member').hasLabel('myLabel').
  in('member').as('them').
  where('them', eq('me')).
    by('identifier')
...