如何在OrientDB中获取可用的连接顶点

如何在OrientDB中获取可用的连接顶点,orientdb,Orientdb,我有一个例子:我想从一个基顶点得到所有连接的顶点(包括中间顶点) 例如,下图所示的图表 我想从vertex(“giggs”)查询所有连接的顶点,还想查询连接的路径。例如:“吉格斯”->“192.168.0.1”->“罗纳尔多”->“192.168.0.2”->“veri”。我使用的查询如下: MATCH {class: ic, as: s, where: (title = 'giggs')}.(outE(){where: 'some condition'}.inV().inE(){where:

我有一个例子:我想从一个基顶点得到所有连接的顶点(包括中间顶点)

例如,下图所示的图表

我想从vertex(“giggs”)查询所有连接的顶点,还想查询连接的路径。例如:“吉格斯”->“192.168.0.1”->“罗纳尔多”->“192.168.0.2”->“veri”。我使用的查询如下:

MATCH {class: ic, as: s, where: (title = 'giggs')}.(outE(){where: 'some condition'}.inV().inE(){where: 'some condition'}.outV()){class: %s, as: t, while: ($depth <= 5), where: ($matched.s != $currentMatch)} RETURN $paths
匹配{class:ic,as:s,其中:(title='giggs')}。(outE(){where:'some condition'}.inV().inE(){where:'some condition'}.outV()){class:%s,as:t,while:($depth试试这个:

TRAVERSE both() FROM (SELECT EXPAND(s) FROM (MATCH {CLASS:ic, AS:s, WHERE:(name='giggs')} RETURN s))
希望能有帮助


关于

谢谢Bonizzi。如果我使用遍历,我如何在边上添加搜索条件?因为我需要添加约束,因为零件边与我的查询条件匹配。我浏览了官方文档(),看起来我只能在顶点上添加条件。但是如果我错了,请告诉我。你能给我一个例子吗?THX示例:匹配{class:ic,as:s,其中:(title='giggs')}(outE(){where:'发生时间介于日期('2018-01-01 00:00:00',yyyy-MM-dd HH:MM:ss')和日期('2018-01-27 00:00:00,'yyyy-MM-dd HH:MM:ss')之间。)inV().inE(){where:'发生时间介于日期('2018-01-01-01-01 00:00:00:00','YYYYYYYY MM-dd HH:MM:ss')之间。}{class:%s,as:t),其中:($matched.s!=$currentMatch)}返回$path,其边缘条件类似于“发生时间介于日期('2018-01-01 00:00:00','yyyy-MM-dd HH:MM:ss')和日期('2018-01-27 00:00:00','yyyy-MM-dd HH:MM:ss')。