Orientdb:遍历不能产生正确的输出

时间:2016-02-18 13:24:32

标签: orientdb traversal graph-databases

有人能告诉我如何在遍历中获取所有节点和边缘吗?

例如,如果我运行以下查询:

select from (TRAVERSE in(), inE() FROM (SELECT FROM Example_Class WHERE @rid = #13:187))

结果每次都会改变。

要求:从特定节点获取所有无序节点和边缘(上例中的#13:187)。

1 个答案:

答案 0 :(得分:0)

检索从特定节点遍历图形时遇到的边和节点的一种方法,比如NODE,正在使用查询:

> traverse outE(), inV() from NODE 

这是一个例子。首先,让我们运行out()来检索遇到的节点(这里是开始(#11:11)和结束(#11:15));结果行给出边信息:

> traverse out() from #11:11

----+------+------+-----+-------+-------
#   |@RID  |@CLASS|label|in_E3  |out_E3 
----+------+------+-----+-------+-------
0   |#11:11|Circle|4    |[#15:2]|[#15:4]
1   |#11:15|Circle|8    |[#15:4]|null   
----+------+------+-----+-------+-------

这里的图片是:(#11:11) - [#15:4]> (#11:15)

现在让我们制定查询,以便结果集的行包括节点和边:

> traverse outE(), inV() from #11:11

----+------+------+-----+-------+-------+------+------
#   |@RID  |@CLASS|label|in_E3  |out_E3 |in    |out   
----+------+------+-----+-------+-------+------+------
0   |#11:11|Circle|4    |[#15:2]|[#15:4]|null  |null  
1   |#15:4 |E3    |4>8  |null   |null   |#11:15|#11:11
2   |#11:15|Circle|8    |[#15:4]|null   |null  |null  
----+------+------+-----+-------+-------+------+------