Thank you @Lvc@, that's a great improvement! Can I ask you which computational complexity we can expect from this?
select out('Friend')[67] from #31:40 Is it a O(1) or O(N) where N is the number of edges outgoing from the vertex? Another question: select out('Friend')[name='MONA'] from #31:40 uses indexes? On Thursday, December 19, 2013 1:05:36 PM UTC+1, Lvc@ wrote: > > Hi all, > in "develop" branch I've just committed a new powerful feature: allow to > filter collections in chain. To understand it let's go to a couple of > examples. > > *Examples* > > *Example 1: Get the first friend of mine* > > You can get it by using: > > select expand( out ) from ( > select out('Friend') from Profile where name = 'Luca' > ) limit 1 > > But now you can also do this: > > select out('Friend')*[0]* from Profile where name = 'Luca' > > Much easier and faster on execution! > > *Example 2: from GratefulDeadConcerts database traverse all the out() > connection and get the first song called 'MONA'* > > select from ( > select expand( out() ) from V > ) where name = 'MONA' and type = 'song' limit 1 > > @rid @version @class name in_followed_by song_type performances > typeout_followed_byout_sung_byout_written_by > #9:6<http://localhost:2480/studio/index.html#/database/GratefulDeadConcerts/browse/edit/9:6>19VMONA[2]cover1song[2][1][1] > Executed in 0.455 seconds. > > Now let's use the new way: > > select expand( out()*[name='MONA'][type='song']* ) from V > > @rid @version @class name in_followed_by song_type performances > typeout_followed_byout_sung_byout_written_by > #9:6<http://localhost:2480/studio/index.html#/database/GratefulDeadConcerts/browse/edit/9:6>19VMONA[2]cover1song[2][1][1] > Executed in 0.106 seconds. > > Note last execution, in this case, is 4x faster! > > Squared brackets [] allows: > - filtering by one index, example out()[0] > - filtering by multiple indexes, example out()[0,2,4] > - filtering by ranges, example out()[0-9] > - filtering by equal conditions (only equals is supported), example > out()[@class = 'Person'] > > Brackets [] can be chained, in this case it's like filtering by AND > operator. Look at the Example 2. > > For more information about the issue: > https://github.com/orientechnologies/orientdb/issues/1888 > > > Luca Garulli > CEO at Orient Technologies > the Company behind OrientDB > http://about.me/luca.garulli > > -- --- 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 orient-database+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.