Hi, Just use fetch plan https://github.com/orientechnologies/orientdb/wiki/OrientDB-REST#get---query.
On Wed, Mar 26, 2014 at 1:38 PM, MrFT <[email protected]> wrote: > Hello, > > I have a question about querying 'hierarchical' data in a graph. > > Let's assume I have a Person( name ) class, an EdgeClass 'owns', and a > Bicycle( color, type ) class. > Let's assume than John owns 2 bicycles: ( 'red', 'mountain bike' ) and ( > 'blue', 'recumbent bicycle' ) > > I found out about the expand function, so in order to get a person with > the 2 types of bicycles, I could query: > > select name, > outE()[ @class = 'owns' ].inV().type as bicycletypes > from Person > > And if I do > select name, > outE()[ @class = 'owns' ].inV().type as bicycletypes > from Person > > I get something like: > { > "result": [ > { > "@type": "d", > "@rid": "#-2:1", > "@version": 0, > "name": "John", > "bicycletypes": [ 2 ] > } > ], > "notification": "Query executed in 0.03 sec. Returned 1 record(s)" > } > > But I would like to have something like: > { > "result": [ > { > "@type": "d", > "@rid": "#-2:1", > "@version": 0, > "name": "John", > * "bicycletypes": [ "recumbent bicycle", "mountain bike" ]* > } > ], > "notification": "Query executed in 0.03 sec. Returned 1 record(s)" > } > > And even better would be: > { > "result": [ > { > "@type": "d", > "@rid": "#-2:1", > "@version": 0, > "name": "John", > * "bicycles": [ { "color": "red", "type": "recumbent bicycle" > }, * > *{ "color": "red", "type": **"mountain bike" } * > * ]* > } > ], > "notification": "Query executed in 0.03 sec. Returned 1 record(s)" > } > > When I try to get a similar result, for example with the following query: > select *{* "name": name, "bicycles": outE()[ @class = 'owns' ].inV() *}*as > expandedperson > from Person > I get > {"name":"_NOT_PARSED_","bicycles":"_NOT_PARSED_"} > > or something else I tried > select *, expand( outE()[ @class = 'owns' ].inV() ) as bicycles > from Person > > doesn't work either. > > > > *So, my question isn (if possible using OrientDB SQL queries) * > > - *can something like this be done in a single query, and if so, how? > *(I guess not currently?) > - > *Are there plans to make such a thing possible in the future? I would > really love to be able to do these things. Something similar to the > highlighted syntax would rock :) * > - > *Are there 'workarounds' that I can use for now (with the least possible > amount of queries)? * > > > Thanks again for all your help getting me started. > > > -- > > --- > 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. > -- Best regards, Andrey Lomakin. Orient Technologies the Company behind OrientDB -- --- 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.
