2016-09-10 2 views
3

mit Ich bin mit der Fahrzeughistorie Datenbank zu projizieren Orientdb Studio 2.2.8, und ich möchte projizieren alle Datensätze der automobile Klasse, die von Kia gemacht werden.Traverse aus der Verwendung der Aufzeichnungen in Orientdb

Das Schema für die Datenbank sieht wie folgt aus:

(Automobile) --isModel--> (Model) --isMake--> (Make)

wo Automobile, Model und Make Eckpunkte und isModel und isMake Kantentypen sind.

Ich möchte eine Traverse Anweisung verwenden ein gleichwertiges Ergebnis eingestellt zurückzukehren, wie ich von diesem Befehl erhalten:

Select expand(in('isMake').in('isModel')) from Make where name = "Kia"

, deren Ergebnis ...

+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ 
|# |@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...| 
+----+--------+---------+---------+---------+---------+---------+---------+---------+---------+---------+ 

Ich habe versucht, läuft dies:

Select 
    from (traverse in from Make while $depth <= 2) 
    where name = "Kia" 

Ich bekomme nur einen Datensatz zurück, und es ist nicht von der Automobilklasse, wie ich es erwartet habe. Es ist von 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]| 
+----+-------+------+----+-------------------------------------+----------------------------+ 

Grundsätzlich möchte ich eine Traverse von Make beginnen verwenden, um die drei Kia Automobile in der Datenbank zu projizieren.

Antwort

3

Können Sie das versuchen?

SELECT FROM (TRAVERSE in() 
FROM (SELECT FROM Make where name='Kia')) 
WHERE @class='Automobile' 
Verwandte Themen