You can use the "instanceof" operator: WHERE @this instanceof Node
Lvc@ On 28 January 2015 at 19:04, Chris Whalen <[email protected]> wrote: > I am developing a system where (for example): > > *Vertices* > Entity extends V > Document extends Entity > Node extends Entity > Country extends Node > Language extends Node > ... more vertices can be created during run time but they all extend from > the core Entity class or another class that already exists > > *Edges* > ContainedIn extends E > > For example, I want to get a tree structure from a root vertex (17:0) > using the 'ContainedIn' edge. I only want the vertexes that are of the > 'Node' type. That mean I want back any Node, Country, or Language, or any > other vertex that has Node as a parent. If there was only a known set of > possible types, I would simply put in a where clause that checks against a > list of @class types. Unfortunately, since new classes can and will be > created by the end user I might not know all the classes that inherit from > Node. > > *What I know can be done:* > select @rid, Id, Name_ENG, $path from (traverse in('ContainedIn') from > 17:0 where $depth < 4) where @class in ["Node", "Language", "Country"] > > *What I would like to do:* > select @rid, Id, Name_ENG, $path from (traverse in('ContainedIn') from > 17:0 where $depth < 4) where *@class inheritsFrom "Node"* > > Does anyone have any recommendations on how to build such a query? > > -- > > --- > You received this message because you are subscribed to the Google Groups > "OrientDB" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
