根据Edge的属性的值遍历图 |东方数据库

Graph traversal based on value of property of Edge | OrientDB

我有一个图表,它保存了一个 firm.It 的云基础设施的拓扑结构,它由称为对象(机器)的顶点和称为 link 的边组成(表示机器是如何 linked这些 link 相互之间不断变化,因为一台机器可以根据需要连接到不同的机器)。

create class Object extends V

create class link extends E

对象顶点表示机器具有存储机器配置的属性。

create property Object.ram long

create property Object.mem long

create property Object.cpu_core long

"link"边links机器一起组成一个topology.It是从一台机器到另一台机器的出站边。它有两个基于时间的 属性 startTime,表示在两台机器之间创建此边的时间,endTime 最初是无穷大,如果我们需要关闭此边则更新,表示两台机器现在不再 linked.

create property link.startTime long

create property link.endTime long

create property link.l_id string

我想从一个对象(顶点)遍历到所有连接的对象,在 link(边缘)属性 上施加条件,同时遍历一段时间说 t,应该是 startTime <= t <= 结束时间。

例如Topology(请点击link) 我想使用 startTime > 1488965393 和 endTime < 1498965393 的 link 边从节​​点 rid #21:0 向下遍历到所有边。我对 OrientDB 很陌生,无法找出可能的 SQL命令相同。

伪查询(可能的话找类似的东西):

SELECT *  FROM (TRAVERSE out('link') FROM #21:0 while startTime > 1488965393 and endTime < 1498965393) 

我能够形成一个产生所需输出的查询

SELECT id FORM (TRAVERSE out() FROM #21:0 WHILE (creationTime<= 1488965393 AND endTime >= 1488965393 AND @class='link')) WHERE @class= 'Object'