我要基于属性选择一个顶点,然后要查找从起始顶点到路径“上游”中具有链接的所有顶点。我可以做的很好,但是我只想返回顶点ID和其他几个属性。
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
答案 0 :(得分:2)
simplePath()
是一个过滤步骤,它仅过滤顶点,因此只需使用valueMap()
,project()
等:
g.V('1').
repeat(out('UPSTREAM')).
until(outE('UPSTREAM').count().is(0)).
simplepath().
valueMap('id','name')