Function: GetAncestors
Parameters: rid
select * from (traverse out('IsChildOf') from " + rid + ") where $depth >= 1 order by $path"select *, GetAncestors(@rid) as Ancestors from Person order by Nameselect expand(Ancestors) from (select GetAncestors(@rid) as Ancestors from Person order by name)
select *, GetAncestors(@rid) as Ancestors from Person order by Name{ "result": [ { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [ ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:1", "@version": 0, "rid": "#22:1", "Name": "Bob", "Ancestors": [ "#22:0" ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:2", "@version": 0, "rid": "#22:2", "Name": "Dave", "Ancestors": [ "#22:0" ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:3", "@version": 0, "rid": "#22:3", "Name": "Chad", "Ancestors": [ "#22:1", "#22:0" ], "@fieldTypes": "rid=x" } ], "notification": "Query executed in 0.296 sec. Returned 4 record(s)"}{ "result": [ { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:1", "@version": 0, "rid": "#22:1", "Name": "Bob", "Ancestors": [ { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [], "@fieldTypes": "rid=x" } ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:2", "@version": 0, "rid": "#22:2", "Name": "Dave", "Ancestors": [ { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [], "@fieldTypes": "rid=x" } ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:3", "@version": 0, "rid": "#22:3", "Name": "Chad", "Ancestors": [ { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:1", "@version": 0, "rid": "#22:1", "Name": "Bob", "Ancestors": [ "#22:0" ], "@fieldTypes": "rid=x" } ], "@fieldTypes": "rid=x" } ], "notification": "Query executed in 0.296 sec. Returned 4 record(s)"}select expand(Ancestors) from (select GetAncestors(@rid) as Ancestors from Person order by name)
{ "result": [ { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [ ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [ ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:1", "@version": 0, "rid": "#22:1", "Name": "Bob", "Ancestors": [ "#22:0" ], "@fieldTypes": "rid=x" }, { "@type": "d", "@rid": "#-2:0", "@version": 0, "rid": "#22:0", "Name": "Frank", "Ancestors": [ ], "@fieldTypes": "rid=x" } ], "notification": "Query executed in 0.287 sec. Returned 4 record(s)"}select *, GetAncestors(@rid).include("name") as Ancestors from Person order by Name
{ "result": [ { "@type": "d", "@rid": "#12:0", "@version": 4, "@class": "Person", "name": "Anna", "in_IsChildOf": [ "#13:1" ], "Ancestors": [ ], "@fieldTypes": "in_IsChildOf=g" }, { "@type": "d", "@rid": "#12:1", "@version": 3, "@class": "Person", "name": "Mario", "out_IsChildOf": [ "#13:1" ], "in_IsChildOf": [ "#13:4" ], "Ancestors": [ { "@type": "d", "@version": 0, "name": "Anna" } ], "@fieldTypes": "out_IsChildOf=g,in_IsChildOf=g,Ancestors=z" }, { "@type": "d", "@rid": "#12:2", "@version": 3, "@class": "Person", "name": "Luca", "in_IsChildOf": [ "#13:0" ], "out_IsChildOf": [ "#13:4" ], "Ancestors": [ { "@type": "d", "@version": 0, "name": "Mario" }, { "@type": "d", "@version": 0, "name": "Anna" } ], "@fieldTypes": "in_IsChildOf=g,out_IsChildOf=g,Ancestors=z" }, { "@type": "d", "@rid": "#12:3", "@version": 4, "@class": "Person", "name": "Andrea", "out_IsChildOf": [ "#13:0" ], "Ancestors": [ { "@type": "d", "@version": 0, "name": "Luca" }, { "@type": "d", "@version": 0, "name": "Mario" }, { "@type": "d", "@version": 0, "name": "Anna" } ], "@fieldTypes": "out_IsChildOf=g,Ancestors=z" } ], "notification": "Query executed in 0.06 sec. Returned 4 record(s)"}--
---
You received this message because you are subscribed to a topic in the Google Groups "OrientDB" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/orient-database/4ltzMIfg7rk/unsubscribe.
To unsubscribe from this group and all its topics, send an email to orient-databa...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and all its topics, send an email to orient-database+unsubscribe@googlegroups.com.