I am missing something in trying to construct a query with subqueries.
Building in small iterations, I have a query which returns the proper
result for 'Organizations a user is a member of, and Organizations that are
members of that Organization'
User -> Member Of -> Organization
Organization -> Member Of -> Organization
this query is:
select from (traverse in(member_of) from (traverse out(member_of) from
#51:24 while $depth <= 1)) where @class instanceof 'Organization'
Now I want to add 'all things owned by the organizations in this set', so I
try:
select from (traverse out(owns) from (select from (traverse in(member_of)
from (traverse out(member_of) from #51:24 while $depth <= 1)) where @class
instanceof 'Organization') while $depth <= 1)
This is where it falls apart. Adding the out(owns) traversal somehow
expands the set of Organizations to include organizations not returned by
the subquery. This is easily visible with the result set of the first query
versus the second query (adding a where for @class instanceof Organization
to the second)
orientdb {db=Corganizations}> select from (traverse in(member_of) from
(traverse out(member_of) from #51:24 while $depth <= 1)) where @class
instanceof 'Organization'
----+-------+---------+----+----+-----+-----+------+------+-------+-------+-------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
# |@RID |@CLASS |lft |rgt |state|zip |city |rental|country|status
|onshore|beast_id|category|oilfield|red_days|offshore|parent_id|show_data|short_key|address2
|out_owns |delete_fl|yellow_da|default_u|remote_na|show_asse|phone
|show_devi|abbreviat|reference|in_member|contact_e|show_comm|asset_id_|show_disp|out_membe|contact_n|asset_typ|show_help|billing_s|map_base_|default_l|show_disp|asset_nam|show_flee|timezone
|show_basi|show_shel|show_main|share_com|map_overl|show_qual|show_eng_|show_cust|auto_acce|rfid_time|allow_ass|show_filt|last_seen|allow_map|filter_pr|user_time|show_adva|enable_fi|show_unas|rental_da|allow_edi|last_seen|remote_ac|show_last|image
|show_map_|asset_pro|created_a|logout_ur|share_ass|history_d|rental_sy|address1
|name
|share_not|show_last|remote_ac|default_m|remote_ac|remote_ac|show_last|allow_mul|remote_ac|history_d|autocreat|integrati|descripti
----+-------+---------+----+----+-----+-----+------+------+-------+-------+-------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
0 |#22:12 |Organi...|12 |25 |TX |75039|Irving|false |USA |enable
|false |6 |2 |false |14 |false |1 |false |
|Suite ...|[size=59]|0 |28 |/map | |true
|972-76...|true |GF | |[size=8] | |false |
|false |[size=1] | |1,2 |true |non bi...|
|en |false | |false |Americ...|false |false |true
|true | |false |false |false |false |4.0
|true |true |21 |false | |15 |false
|true |true | |false |10 | |false
|6_Geof...|true |--- []
|2008-0...|https:...|false |7 | |222
We...|Geofor...|false |false | |false | |
|false |false | |1 |false |false |Ops po...
1 |#22:33 |Organi...|15 |16 | | | |null |
|disable|null |43 |1 |false |14 |null |6
|false |null | |null |1 |28 |/map
|null |true | |true |TEST ACC | |null |
|false |null |null |[size=1] |Brando...|1,2 |true
|non bi...|null |null |null |null |null
|Americ...|false |false |false |false |null |false
|false |false |true |4.0 |true |true |21
|null |null |0 |false |true |false |null
|false |10 |null |false |null |false |--- []
|2008-1...|null |false |null |null | |test
a...|false |null |null |false |null |null |false
|false |null |null |null |null |test
2 |#22:100|Organi...|17 |18 | | | |null |
|disable|null |117 |1 |false |14 |null |6
|false |null | |[size=4] |1 |28 |/map |
|true | |true |GF-SAL | |null |
|false | |null |[size=1] | |1,2 |true |non
bi...|null |null |null | |null |Americ...|false
|false |false |false |null |false |false |false
|false |4.0 |true |true |21 |null | |10
|false |true |false |null |false |10 |null
|false |null |false |--- []
|2009-0...| |false |null |null |
|Geofor...|false |null |null |false |null |null
|false |false |null |null |null |null |
3 |#22:137|Organi...|19 |20 | | | |false | |enable
|false |166 |1 |false |14 |false |6 |false |
| |[size=1] |0 |28 |/map | |true
| |true |GFINV-NEW| |null | |false |
|false |[size=1] | |1,2 |true |billing |
|en |false | |false |Americ...|false |false
|false |false |null |false |false |false |false |4.0
|true |true |21 |false | |0 |false
|true |false | |false |10 | |false
|null |false |--- []
|2009-0...| |false |7 | |
|Geofor...|false |false | |false | |
|false |false | |1 |false |false |
4 |#22:171|Organi...|21 |22 | | | |null |
|disable|null |207 |1 |false |14 |null |6
|false |null | |[size=5] |0 |28 |/map |
|true | |true |GF-XFER | |null |
|false | |null |[size=1] | |1,2 |true
|billing |null |null |null | |null
|Americ...|false |false |false |false |null |false
|false |false |false |4.0 |true |true |21
|null | |0 |false |true |false |null
|false |10 |null |false |null |true |--- []
|2009-0...| |false |null |null |
|Geofor...|false |null |null |false |null |null
|false |false |null |null |null |null |
5 |#22:177|Organi...|23 |24 | | | |false | |enable
|false |213 |1 |false |14 |false |6 |false |
| |[size=...|0 |28 |/map | |true
| |true |GF-TEST | |[size=2] | |true |
|false |[size=1] | |1,2 |true |billing |
|en |false | |false |Americ...|false |false |true
|true |null |false |false |false |true |4.0
|true |true |21 |false | |0 |true
|true |false | |true |10 | |true |null
|true |--- []
|2009-0...| |true |7 | |
|Geofor...|false |false | |false | | |true
|false | |1 |false |false |
----+-------+---------+----+----+-----+-----+------+------+-------+-------+-------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
6 item(s) found. Query executed in 0.029 sec(s).
Versus
orientdb {db=Corganizations}> select from (traverse out(owns) from (select
from (traverse in(member_of) from (traverse out(member_of) from #51:24
while $depth <= 1)) where @class instanceof 'Organization') while $depth <=
1) where @class instanceof 'Organization'
----+-------+---------+----+----+-----+-----+------+------+-------+-------+-------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
# |@RID |@CLASS |lft |rgt |state|zip |city |rental|country|status
|onshore|beast_id|category|oilfield|red_days|offshore|parent_id|show_data|short_key|address2
|out_owns |delete_fl|yellow_da|default_u|remote_na|show_asse|phone
|show_devi|abbreviat|reference|in_member|fax
|show_comm|asset_id_|show_disp|out_membe|contact_n|asset_typ|show_help|billing_s|map_base_|default_l|show_disp|asset_nam|show_flee|timezone
|contact_e|show_basi|show_shel|show_main|share_com|map_overl|show_qual|show_eng_|show_cust|auto_acce|rfid_time|allow_ass|show_filt|last_seen|allow_map|filter_pr|user_time|show_adva|enable_fi|show_unas|rental_da|allow_edi|last_seen|remote_ac|show_last|image
|show_map_|asset_pro|created_a|logout_ur|share_ass|history_d|rental_sy|updated_a|address1
|name
|share_not|show_last|remote_ac|default_m|remote_ac|remote_ac|show_last|allow_mul|remote_ac|history_d|autocreat|integrati|descripti
----+-------+---------+----+----+-----+-----+------+------+-------+-------+-------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
0 |#22:12 |Organi...|12 |25 |TX |75039|Irving|false |USA |enable
|false |6 |2 |false |14 |false |1 |false |
|Suite ...|[size=59]|0 |28 |/map | |true
|972-76...|true |GF | |[size=8] |null |false |
|false |[size=1] | |1,2 |true |non bi...|
|en |false | |false |Americ...| |false
|false |true |true | |false |false |false
|false |4.0 |true |true |21 |false | |15
|false |true |true | |false |10 |
|false |6_Geof...|true |--- []
|2008-0...|https:...|false |7 | |null |222
We...|Geofor...|false |false | |false | |
|false |false | |1 |false |false |Ops po...
1 |#22:10 |Organi...|1 |6432|ca |12345|ns |false |us |enable
|false |1 |2 |false |14 |false |0 |true |
|canada |[size=1] |0 |28 |/map | |true
|123-45...|true |SYSROOT | |[size=...|123-45...|false
|null |false |null |Georg |1,2 |true |billing |
|en |true |null |true |US/Cen...|ramsay...|false
|false |false |false |null |false |false |true
|false |4.0 |true |true |21 |false | |0
|false |true |false | |false |10 |
|false |null |false |--- []
|2008-0...|https:...|false |7 | |2008-0...|ns
|System...|false |false | |false | |
|false |false | |1 |false |false |Root A...
2 |#22:33 |Organi...|15 |16 | | | |null |
|disable|null |43 |1 |false |14 |null |6
|false |null | |null |1 |28 |/map
|null |true | |true |TEST ACC | |null |null
|false |null |null |[size=1] |Brando...|1,2 |true
|non bi...|null |null |null |null |null |Americ...|
|false |false |false |false |null |false |false
|false |true |4.0 |true |true |21 |null
|null |0 |false |true |false |null |false |10
|null |false |null |false |--- []
|2008-1...|null |false |null |null |null |
|test a...|false |null |null |false |null |null
|false |false |null |null |null |null |test
3 |#22:100|Organi...|17 |18 | | | |null |
|disable|null |117 |1 |false |14 |null |6
|false |null | |[size=4] |1 |28 |/map |
|true | |true |GF-SAL | |null |null
|false | |null |[size=1] | |1,2 |true |non
bi...|null |null |null | |null |Americ...|
|false |false |false |false |null |false |false
|false |false |4.0 |true |true |21 |null |
|10 |false |true |false |null |false |10
|null |false |null |false |--- []
|2009-0...| |false |null |null |null |
|Geofor...|false |null |null |false |null |null
|false |false |null |null |null |null |
4 |#22:137|Organi...|19 |20 | | | |false | |enable
|false |166 |1 |false |14 |false |6 |false |
| |[size=1] |0 |28 |/map | |true
| |true |GFINV-NEW| |null |null |false |
|false |[size=1] | |1,2 |true |billing |
|en |false | |false |Americ...| |false
|false |false |false |null |false |false |false
|false |4.0 |true |true |21 |false | |0
|false |true |false | |false |10 |
|false |null |false |--- []
|2009-0...| |false |7 | |null |
|Geofor...|false |false | |false | |
|false |false | |1 |false |false |
5 |#22:171|Organi...|21 |22 | | | |null |
|disable|null |207 |1 |false |14 |null |6
|false |null | |[size=5] |0 |28 |/map |
|true | |true |GF-XFER | |null |null
|false | |null |[size=1] | |1,2 |true
|billing |null |null |null | |null |Americ...|
|false |false |false |false |null |false |false
|false |false |4.0 |true |true |21 |null |
|0 |false |true |false |null |false |10
|null |false |null |true |--- []
|2009-0...| |false |null |null |null |
|Geofor...|false |null |null |false |null |null
|false |false |null |null |null |null |
6 |#22:177|Organi...|23 |24 | | | |false | |enable
|false |213 |1 |false |14 |false |6 |false |
| |[size=...|0 |28 |/map | |true
| |true |GF-TEST | |[size=2] |null |true |
|false |[size=1] | |1,2 |true |billing |
|en |false | |false |Americ...| |false
|false |true |true |null |false |false |false
|true |4.0 |true |true |21 |false | |0
|true |true |false | |true |10 |
|true |null |true |--- []
|2009-0...| |true |7 | |null |
|Geofor...|false |false | |false | | |true
|false | |1 |false |false |
----+-------+---------+----+----+-----+-----+------+------+-------+-------+-------+--------+--------+--------+--------+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------+---------
7 item(s) found. Query executed in 0.022 sec(s).
Note that #22:10, the Organization that doesn't belong in the second set,
has an in(member_of) edge from #22:12 (which has an in(member_of) from
#51:24, but that shouldn't expand from doing an out(owns) traversal on the
set of 6 organizations returned by in inner subquery, unless I'm completely
misunderstanding how subqueries work. An explanation of my failure would be
greatly appreciated.
bougyman
--
---
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.