Вернуть определенные свойства вершин в простой путь, используя Gremlin API cosmosDB - PullRequest
0 голосов
/ 30 октября 2018

Я выбираю вершину на основе свойства, а затем хочу найти все вершины, которые имеют ссылку в пути «вверх по течению» от начальной вершины. Что я могу сделать хорошо, но я хочу только вернуть идентификатор вершины и пару других свойств.

g.V('1').repeat(out('UPSTREAM')).until(outE('UPSTREAM').count().is(0)).simplepath()

Выше работает нормально, но как вернуть только те свойства, которые я хочу?

Я пробовал:

g.V('1').repeat(out('UPSTREAM')).until(outE('UPSTREAM').count().is(0)).simplepath().by('id').by('name')

но получите исключение

Error

Failed to execute query: g.V('1').repeat(out('UPSTREAM')).until(outE('UPSTREAM').count().is(0)).simplepath().by('id').by('name'): 
Error with status code: 499. Message: 
ActivityId : 5a41d663-b1f1-41a4-b11e-abd258f17b01 ExceptionType : 
GraphNotYetImplementedException ExceptionMessage :
Not Yet Implemented: ModulateBy(traversal) Source : 
Microsoft.Azure.Graphs GremlinRequestId : 5a41d663-b1f1-41a4-b11e-abd258f17b01 Context : graphcompute Scope : 
graphcmd-invoke GraphInterOpStatusCode : InvalidRequestArguments HResult : 0x80131500

1 Ответ

0 голосов
/ 30 октября 2018

simplePath() - это шаг фильтра, который просто фильтрует вершины, поэтому просто используйте valueMap(), project() и т. Д.:

g.V('1').
  repeat(out('UPSTREAM')).
    until(outE('UPSTREAM').count().is(0)).
  simplepath().
  valueMap('id','name')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...