如何在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
任何帮助将不胜感激
答案 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
如果您想要展开顶点