Thanks, 

I found out that in OrientStudio there is an option enabled by default 
called 'shallow collection' which probably does that.

So don't forget to disable that option !


Could it be *dis*abled by default? I think that would be more intuitive...




Op woensdag 26 maart 2014 12:38:21 UTC+1 schreef MrFT:
>
> 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.

Reply via email to