深度遍历Orientdb

时间:2017-07-13 09:49:10

标签: orientdb traversal depth

如何在Orientdb中获取图形的深度遍历。 使用这里的文档是我尝试过的,但是当我运行时,我在这里得到一个错误是查询。

EXPLAIN SELECT FROM (TRAVERSE any("Edge1") FROM P_H WHILE $depth <= 3) WHERE p ='SP00000000001';

目标是得到相当于这个Neo4j查询:

MATCH (n:Node{NodeID:"SP00000000001"})-[:Edge1*1..3]-(d) RETURN Distinct d, n

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

最简单的方法是使用MATCH语句:http://orientdb.com/docs/2.2.x/SQL-Match.html

 MATCH
   {class:Node, as:n, where:(NodeID = "SP00000000001") -EdgeClass- {as:d, while:($depth < 3), where: ($matched.n != $currentMatch)} }
 RETURN d, n 

RETURN $elements如果您想要展开顶点