我有以下遍历,表明所选顶点有14个标记为“跟随”的边。
g.V().has('user','email','me@email.com').project('name','email','follow-edges').by('name').by('email').by(outE().hasLabel('follows').project('id','inV').by('id').by('inV'))
会产生以下结果:
[{
"name": "David",
"email": "me@email.com",
"follow-edges": 14}]
但是当我想设计“跟随” Edge的ID和inV ID时,我只能得到一个结果项。
g.V().has('user','email','david@me.com').project('name','email','follow-edges').by('name').by('email').by(outE().hasLabel('follows').project('edge-id', 'inV-id').by('id').by('inV'))
结果:
[{
"name": "David",
"email": "me@email.com",
"follow-edges": {
"edge-id": "ccc06183-f4ca-410d-9c3c-9d2dfd93f5f0",
"inV-id": "f4703a07-f42d-46f9-86be-7f5440f07f12"
}}]
我期望获得所选顶点的所有“跟随”边的列表。与Stephen Mallette at this link给出的答案类似。
有人知道为什么这不起作用吗?
答案 0 :(得分:1)
您需要减少by()
中匿名遍历的对象流-请注意我添加的fold()
:
g.V().has('user','email','david@me.com').
project('name','email','followedges').
by('name').
by('email').
by(outE().hasLabel('follows').
project('edge-id', 'inV-id').
by('id').
by('inV').fold())
我认为“ inV”是一个实际属性,并且您并不是要获取边缘的“顶点”。如果您要获取“顶点”,则需要by(inV().id())
。