使用 Traverse from 投影 OrientDB 中的记录
Using Traverse from to project the records in OrientDB
我在 OrientDb Studio 2.2.8 中使用车辆历史数据库,我想投影 automobile
class 的所有记录] 由 Kia
制作。
数据库的架构如下所示:
(Automobile) --isModel--> (Model) --isMake--> (Make)
其中 Automobile
、Model
和 Make
是顶点,isModel
和 isMake
是边类型。
我想使用 遍历语句 到 return 一个等效的结果集,因为我从这个命令得到:
Select expand(in('isMake').in('isModel')) from Make where name = "Kia"
其结果是...
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|# |@RID |@CLASS |color |convertib|out_isMod|trailerHi|emissions|safety |out_Purch|VIN |
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|0 |#17:1441|Automo...|White |true |[#24:1...|false |2016-0...|2014-0...|[#23:5...|840CDC...|
|1 |#17:1576|Automo...|Maroon |true |[#24:1...|false |2010-0...|2004-0...|[#23:5...|E71761...|
|2 |#17:1503|Automo...|Dark Gray|true |[#24:1...|false |2009-0...|2016-1...|[#23:5...|FAEB6F...|
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
我试过运行这个:
Select
from (traverse in from Make while $depth <= 2)
where name = "Kia"
我只得到一张唱片 returned,它不是汽车 class 的,就像我预期的那样。它来自 Make。
+----+-------+------+----+-------------------------------------+----------------------------+
|# |@RID |@CLASS|name|in_isMake |out_Sold |
+----+-------+------+----+-------------------------------------+----------------------------+
|0 |#15:612|Make |Kia |[#25:1767,#25:2036,#25:2067,#25:2131]|[#22:5153,#22:5383,#22:5655]|
+----+-------+------+----+-------------------------------------+----------------------------+
基本上,我想使用从 Make
开始的遍历来投影数据库中的三辆起亚汽车。
你能试试这个吗?
SELECT FROM (TRAVERSE in()
FROM (SELECT FROM Make where name='Kia'))
WHERE @class='Automobile'
我在 OrientDb Studio 2.2.8 中使用车辆历史数据库,我想投影 automobile
class 的所有记录] 由 Kia
制作。
数据库的架构如下所示:
(Automobile) --isModel--> (Model) --isMake--> (Make)
其中 Automobile
、Model
和 Make
是顶点,isModel
和 isMake
是边类型。
我想使用 遍历语句 到 return 一个等效的结果集,因为我从这个命令得到:
Select expand(in('isMake').in('isModel')) from Make where name = "Kia"
其结果是...
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|# |@RID |@CLASS |color |convertib|out_isMod|trailerHi|emissions|safety |out_Purch|VIN |
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
|0 |#17:1441|Automo...|White |true |[#24:1...|false |2016-0...|2014-0...|[#23:5...|840CDC...|
|1 |#17:1576|Automo...|Maroon |true |[#24:1...|false |2010-0...|2004-0...|[#23:5...|E71761...|
|2 |#17:1503|Automo...|Dark Gray|true |[#24:1...|false |2009-0...|2016-1...|[#23:5...|FAEB6F...|
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+
我试过运行这个:
Select
from (traverse in from Make while $depth <= 2)
where name = "Kia"
我只得到一张唱片 returned,它不是汽车 class 的,就像我预期的那样。它来自 Make。
+----+-------+------+----+-------------------------------------+----------------------------+
|# |@RID |@CLASS|name|in_isMake |out_Sold |
+----+-------+------+----+-------------------------------------+----------------------------+
|0 |#15:612|Make |Kia |[#25:1767,#25:2036,#25:2067,#25:2131]|[#22:5153,#22:5383,#22:5655]|
+----+-------+------+----+-------------------------------------+----------------------------+
基本上,我想使用从 Make
开始的遍历来投影数据库中的三辆起亚汽车。
你能试试这个吗?
SELECT FROM (TRAVERSE in()
FROM (SELECT FROM Make where name='Kia'))
WHERE @class='Automobile'