2
场景:查找哪个是员工体验最多的职位顶点出现边缘WorkedAs
并且边缘属性为workedForYears
具有该经验在那个工作年内。如何从一个顶点获得边缘属性的最大值的边缘
我用
g.V().has('EmployeeId','1234').outE('WorkedAs').values('workedForYears').max()
这将返回我的整数。有什么办法可以获得优势吗?
场景:查找哪个是员工体验最多的职位顶点出现边缘WorkedAs
并且边缘属性为workedForYears
具有该经验在那个工作年内。如何从一个顶点获得边缘属性的最大值的边缘
我用
g.V().has('EmployeeId','1234').outE('WorkedAs').values('workedForYears').max()
这将返回我的整数。有什么办法可以获得优势吗?
您可以使用order().by().limit(1)
模式而不是max()
,因此您不会将遍历中的项目转换为整数。
g.V().has('EmployeeId','1234').outE('WorkedAs').as('e') \
.order().by('workedForYears', decr).limit(1).select('e')
注意,我使用的as()
步骤(As Step docs)标记在的Gremlin遍历一个特定的点。然后在其他处理之后,您可以使用select()
跳回到该特定点。
你不需要跳回到“e”,你实际上仍然在“e”。 –
噢谢谢Jason,但是这会影响处理时间,考虑到我在1000个以上边缘的较大规模上进行处理,因为我们使用的是限制步骤,它存储了来自订单的所有1000个结果并给予我们第一个结果。尽管在这种情况下,如果一个员工做了1000个我刚刚问过的工作,这样我就可以在数据上使用1000个以上的边 –