私はOrientDb Studio 2.2.8automobile
で Vehicle History データベースを使用しており、 によって作成されたクラスのすべてのレコードを投影したいと考えていKia
ます。
データベースのスキーマは次のようになります。
(Automobile) --isModel--> (Model) --isMake--> (Make)
ここでAutomobile
、 、Model
、およびMake
は頂点でありisModel
、 、およびisMake
はエッジ タイプです。
traverse ステートメントを使用して、次のコマンドから取得した同等の結果セットを返したいと考えています。
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"
返されたレコードは 1 つだけですが、期待していたように Automobile クラスではありません。メイクからです。
+----+-------+------+----+-------------------------------------+----------------------------+
|# |@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
起亜自動車の 3 台をデータベースに投影したいと考えています。