我有一个图,我想跟着包含匹配一个顶点上的属性边缘。例如。
vertex -------edge ---------> vertex
vertValue: 123 vert: 123 vertValue: 463
因此,在上述情况下,说我从第一个顶点,我想跟进具有财产“VERT”等于它的“vertValue”的边缘。
我设法让使用管理遵循边缘where
查询:
g.V(id).as('verts')
.outE().values('vert')
.where(eq('verts'))
.by('vertValue')
问题是我想回到实际的边缘对象。然而,正如我需要在边缘的“VERT”价值做“其中”,在查询我做了values('vert')
所以结果我得到的就是我的价值测试,而不是边缘对象。我想要做的事,如:
g.V(id).as('verts')
.outE()
.where(eq('verts'))
.by('vertValue','vert')
为了比较“vertValue”的顶点,对边缘“VERT”的价值。但我似乎无法找到一种方法,在其中的“输入”值指定by
。
编辑:尝试:
g.V("95c4a57a-9262-45b7-a905-8cca95d3ebb6").as('v').
outE().
where(eq('v')).
by('vert').
by('vertValue')
返回一个错误:
小鬼查询执行错误:选择一个:获取投影:路径的提供的遍历或属性名称()不映射到一个值。
g.V("95c4a57a-9262-45b7-a905-8cca95d3ebb6").as('v').
outE().
where(eq('v')).
by('vertValue').
by('vert')
返回一个空数组!
你有非常接近的解决方案。它的:
g.V(id).as('v').
outE().
where(eq('v')).
by('vert').
by('vertValue')